var loadTags = false;
var messError = "<br>&nbsp; Ошибка загрузки!";
var messPost = "Отправка сообщения...";
var messLoad = "Загрузка...";

incPic = 1;
incUrl = 1;

function addPicture() {
	var vpic = '';
	var vtext = '';
	if (arguments.length == 2) {
		vpic = arguments[0];
		vtext = arguments[1];
	}
	var imgField = '';
	imgField += '<div id="pic_'+incPic+'" class="sm addImg">';
	imgField += 'изображение на компьютере<br><input type="file" name="file_'+incPic+'" id="file_'+incPic+'" size="45" value="'+vpic+'">&nbsp; &nbsp; ';
	imgField += '<a href="#" onClick="return addPicture();">Еще...</a> | <a href="#" onClick="return delPicture('+incPic+');">Удалить</a><br>';
	imgField += 'описание<br><input type="text" name="textp_'+incPic+'" id="textp_'+incPic+'" size="50" maxlength="225" style="width: 100%" value="'+vtext+'">';
	imgField += '<br>&nbsp;<br></div>';
	new Insertion.Bottom('picFields', imgField);
	incPic++;
	return false;
}

function delPicture(pid) {
	picDiv = $('pic_'+pid);
	if (picDiv) { picDiv.parentNode.removeChild(picDiv); picDiv = false; }
	return false;
}

function addUrl() {
	var vurl = 'http://';
	var vtext = '';
	if (arguments.length == 2) {
		vurl = arguments[0];
		vtext = arguments[1];
	}
	var imgField = '';
	imgField += '<div id="url_'+incUrl+'" class="sm addImg">';
	imgField += 'изображение в интернете<br><input type="text" name="url_'+incUrl+'" id="url_'+incUrl+'" size="55" value="'+vurl+'">&nbsp; &nbsp; ';
	imgField += '<a href="#" onClick="return addUrl();">Еще...</a> | <a href="#" onClick="return delUrl('+incUrl+');">Удалить</a><br>';
	imgField += 'описание<br><input type="text" name="textu_'+incUrl+'" id="textu_'+incUrl+'" size="50" maxlength="225" style="width: 100%" value="'+vtext+'">';
	imgField += '<br>&nbsp;<br></div>';
	new Insertion.Bottom('urlFields', imgField);
	incUrl++;
	return false;
}

function delUrl(pid) {
	urlDiv = $('url_'+pid);
	if (urlDiv) { urlDiv.parentNode.removeChild(urlDiv); urlDiv = false; }
	return false;
}

// tab menu --------------------------
function menuToggle(cat) {
	$('cats').toggle();
	$('tags').toggle();
	tabToggle('tabcats', 'tabtags');
	if (!loadTags) getTags(cat);
	return false;
}

// tags
function getTags(cat) {
	var url = '/inc/getTags.cgi';
	var pars = 'cat='+cat+'&rand=' + Math.random();
	var myAjax = new Ajax.Updater(
		{success: 'tags'},
		url,
		{method: 'get', parameters: pars, onComplete: showTagsOk, onFailure: showTagsError}
	);
}

function showTagsOk(request) {
	loadTags = true;
}

function showTagsError(request) {
	var elem = $('tags');
	if (elem) elem.innerHTML = messError;
}

// TAB
function tabToggle() {
	for (var i = 0; i < arguments.length; i++) {
		if (!Element.hasClassName(arguments[i], 'showtab')) {
			Element.addClassName(arguments[i], 'showtab');
		}
		else {
			Element.removeClassName(arguments[i], 'showtab');
		}
	}
}

function tabClose() {
	for (var i = 0; i < arguments.length; i++) {
		if (Element.hasClassName(arguments[i], 'showtab')) {
			Element.removeClassName(arguments[i], 'showtab');
		}
	}
}

function tabOpen() {
	for (var i = 0; i < arguments.length; i++) {
		if (!Element.hasClassName(arguments[i], 'showtab')) {
			Element.addClassName(arguments[i], 'showtab');
		}
	}
}

// tab add --------------------------
function addToggle(tab) {
	$('adda').hide();
	$('addi').hide();
	$('addk').hide();
	Element.show(tab);
	tabClose('tabadda', 'tabaddi', 'tabaddk');
	tabOpen('tab'+tab);
	return false;
}

// reply -------------------------
var addCommentOk = true;

function addComment() {
	var elem = $('poststatus');
	Element.show('poststatus');
	if (elem) elem.innerHTML = messPost;

	var url = '/inc/addMess.cgi';
	var pars = 'level='+$('level').value+'&cat='+$('cat').value+'&id='+$('id').value+'&parent='+$('parent').value+'&message='+encodeURIComponent($('message').value)+'&rand=' + Math.random();

	if (!$('message').value) {
		if (elem) elem.innerHTML = 'Введите текст сообщения';
		return false;
	}
	var myAjax = new Ajax.Updater(
		{success: 'none'},
		url,
		{method: 'get', parameters: pars, onComplete: showaddCommentOk, onFailure: showaddCommentError}
	);
	return false;
}

function changeColor(obj, r, g, b) {
	if ((r == 255) && (g == 255) && (b == 255)) return true;
	var d = 10;
	r = (r + d > 255) ? 255 : r + d;
	g = (g + d > 255) ? 255 : g + d;
	b = (b + d > 255) ? 255 : b + d;
	if ((r == 255) && (g == 255)) b = 255;
	if ((r == 255) && (b == 255)) g = 255;
	if ((g == 255) && (b == 255)) r = 255;
	obj.style.background = "rgb("+r+","+g+","+b+")";
	setTimeout(function() {changeColor(obj, r, g, b)}, 100);
}

function showaddCommentOk(request) {
	var parentid = $('parent').value;
	if (addCommentOk) {
		var mess = request.responseText;
		if (mess.length > 50) {
			var elemmess = $('maket_'+parentid);
			elemmess.innerHTML = mess + elemmess.innerHTML;
			var table = elemmess.getElementsByTagName('table');
			var obj = table[0];
			if (obj) setTimeout(function() {changeColor(obj, 130, 180, 200)}, 100);
		} else {
			window.alert('Ошибка!');
		}
		$('message').value = '';
		var elem = $('poststatus');
		if (elem) elem.innerHTML = '';
		Element.hide('poststatus');
		replyCommentCancel();
	}
	addCommentOk = true;
}

function showaddCommentError(request) {
	addCommentOk = false;
	var elem = $('poststatus');
	if (elem) elem.innerHTML = 'Ошибка :(';
}


function replyComment(cat, id, parentid, username, level) {
	replyCommentCancel();
	var CommentForm = '';
	CommentForm += '<div id="popDiv" style="margin-left: '+24*(level+1)+'px;"><form name="commentForm" id="commentForm" method="post" onsubmit="return addComment();">';
	CommentForm += '<input type="hidden" name="level" value="'+level+'" id="level">';
	CommentForm += '<input type="hidden" name="parent" value="'+parentid+'" id="parent">';
	CommentForm += '<input type="hidden" name="cat" value="'+cat+'" id="cat">'
	CommentForm += '<input type="hidden" name="id" value="'+id+'" id="id">'
	CommentForm += '<table class="comment" border="0" cellpadding="0" cellspacing="5"  width="100%"><tbody><tr><td>';
	CommentForm += username ? 'Ответ на комментарий <b>'+username+'</b>:' : 'Ваш комментарий:';
	CommentForm += '<br><textarea cols="104" rows="4" id="message" name="message"></textarea>';
	CommentForm += '</td></tr><tr><td> &nbsp; <input value="Отправить" type="submit"> &nbsp; <span id="poststatus" style="display:none;"></span></td><td></td></tr>';
	CommentForm += '</tbody></table></form></div>';

	var elem = $('maket_'+parentid);
	elem.innerHTML = CommentForm + elem.innerHTML;
	setTimeout("document.forms['commentForm'].message.focus();", 100);

	return false;
}

function replyCommentCancel() {
	popDiv = $('popDiv');
	if (popDiv) { popDiv.parentNode.removeChild(popDiv); popDiv = false; }
	return false;
}

// favorite -------------------------
function Favorite(mode, subcat, vid) {
	var elem = $('fav_'+vid);
	if (elem) elem.innerHTML = messLoad;

	var url = '/inc/favorite.cgi';
	var pars = 'mode='+mode+'&id='+vid+'&subcat='+subcat+'&rand=' + Math.random();
	var myAjax = new Ajax.Updater(
		{success: 'fav_'+vid},
		url,
		{method: 'get', parameters: pars}
	);
	return false;
}
