function hideObject(obj) {
	theStyle = ( obj.style ? obj.style : obj );
	if(theStyle.visibility != undefined){theStyle.visibility = "hidden"}
	if(theStyle.display != undefined){theStyle.display = "none"}
}

// ========== Показать/скрыть комментарий ============
//Лишние параметры, объявленные под контейнером ниже, будут убраны
function commentRep(id, quote, comment_thread, comment_page, image_id, album_id, curbox, commentext, commentalias) {
	var container = gebi("place_" + id);
	link_addComent = (container.innerHTML ? 1 : 0);
	commentRepHide();
	if (!container) return;

	if (link_addComent != 1) {
		var replyto = id;
		var author_mail = ActiveUserMail();
		var comment_id = id;
		var c_id = 'c_'+id;
		var from = 0;
		var to = id;

		//var obform = document.forms['frmAddComm'];
		//if(obform != undefined){
		//Подставить событие
		//obform.onsubmit = ...;
		//}
		var defaultusername = ActiveUserNick();
		if(commentalias){defaultusername = commentalias; }
		if(defaultusername == '') { defaultusername = author_mail; }

		container.innerHTML = "<div id=\"commentAddBlockId\"><div class=\"border_grey\">\
			<input type=hidden name=\"page\" value=\""+comment_page+"\">\
			<input type=hidden name=\"replyto\" value=\""+id+"\">\
			<input type=hidden name=\"thread\" value=\""+comment_thread+"\">\
			<input type=hidden name=\"author\" value=\""+author_mail+"\">\
			<input type=hidden name=\"id\" value=\""+image_id+"\">\
			<input type=hidden name=\"album\" value=\""+album_id+"\">\
			<input type=hidden name=\"alias\" id=\"com_alias\" value=\""+defaultusername+"\">\
			<table class=\"CommentForm\">\
				<tr>\
					<th>Текст:</th>\
					<td class=\"t100\"><textarea id=\"com_text\" name=\"comment\" cols=\"50\" rows=\"5\">" + (commentext ? commentext : (quote ? gebi("comment_text_" + id).value : "")) + "</textarea></td>\
				</tr>\
				<tr>\
					<th> </th>\
					<td class=\"button\"><input id=\"sub_but\" type=\"button\" value=\"Добавить\" onclick='AddComment(\""+to+"\",\""+comment_thread+"\", \""+author_mail+"\", \""+image_id+"\", \""+album_id+"\", \""+curbox+"\", \""+image_id+"\", \""+comment_id+"\", \""+c_id+"\");return false;' /><div><a onclick=\"return commentRepHide();\" href=\"#\">Закрыть</a></div></td>\
				</tr>\
				<tr>\
					<th> </th>\
					<td>\
						<div name=\"for_capcha_comment\" id=\"for_capcha_comment\" class=\"for_capcha\" style=\"visibility:hidden; left:0; top:0;\">\
							<a href=\"#\" onclick=\"hideObject(this.offsetParent); return false;\" id=\"wee11\" class=\"close\"><img src=\"http://img.mail.ru/mail/ru/images/blogs/close_help.gif\" width=\"7\" height=\"7\" alt=\"Закрыть\" /></a>\
							<div class=\"mb12\">Введите число на картинке</div>\
							<div class=\"mb2\"><img name=\"img_for_capcha_comment\" id=\"img_for_capcha_comment\" src=\"http://img.mail.ru/0.gif\" alt=\"\" /></div>\
							<div class=\"mb10\"><a href=\"#\" onclick=\"FreshCapchaComment();return false;\"><img src=\"http://img.mail.ru/r/foto2/ico_refresh.gif\" width=\"10\" height=\"12\" alt=\"\" class=\"refresh\" /></a><a href=\"#\" onclick=\"FreshCapchaComment();return false;\">Число не видно</a></div>\
							<input onkeydown='if (window.event) if (window.event.keyCode == 13) { AddComment(\""+to+"\",\""+comment_thread+"\", \""+author_mail+"\", \""+image_id+"\", \""+album_id+"\", \""+curbox+"\", \""+image_id+"\", \""+comment_id+"\", \""+c_id+"\"); return false; };' id=\"security_image_addcomment_answer\" type=\"text\" name=\"security_image_addcomment_answer\" value=\"\" class=\"mr5 input_text\" autocomplete=\"off\" /><input type=\"submit\" name=\"btn_ok\" value=\"ок\" id=\"gg12\" onclick='AddComment(\""+to+"\",\""+comment_thread+"\", \""+author_mail+"\", \""+image_id+"\", \""+album_id+"\", \""+curbox+"\", \""+image_id+"\", \""+comment_id+"\", \""+c_id+"\"); this.disabled = true ; return false;' class=\"input_submit\" />\
						</div>\
					</td>\
				</tr>\
			</table>\
			</div><br clear=\"all\" /></div>";
		document.forms['frmAddComm'].elements['comment'].focus();
	}
	return false;

}


function commentRepHide() {
	if (gebi("commentAddBlockId")) {
		gebi("commentAddBlockId").parentNode.removeChild(gebi("commentAddBlockId"));
	}
	return false;
}

// ========== Показать/скрыть комментарий ============


var need_capcha = NeedVoteCapcha();
var capcha_id = 0;
var check_capcha_result = 0;
var capcha_mark = 0;
var capcha_comment_id = 0;

function ClearCapchaParams() {
	capcha_id = 0;
	check_capcha_result = 0;
	var ob = gebi('security_image_answer');
	if(ob != undefined){ ob.value = '';}
	gebi("gg11").disabled = false;
}

function FreshVoteCapchaCallback(st,id) {
	if (st==1) {
		capcha_id=id;
		gebi('img_for_capcha').src = 'http://'+VideoPerlHost()+'/cgi-bin/get_image_photo?id='+capcha_id;
		var ob = gebi('for_capcha');
		ob.style.visibility = "visible";
		ob.style.display = "block";
		var ob=gebi('security_image_answer'); if(ob != undefined){ob.focus()};

		gebi("body_id").onclick=function hide_VoteCapcha (evt){
			var ob = gebi("for_capcha");
			if (ob)
			{
				evt = (evt) ? evt : ((window.event) ? event : null );
				elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
				if (elem.id!="img_for_capcha" && elem.id!="security_image_answer" && elem.tagName!="A") {hideObject(ob);gebi("body_id").onclick="";}
			}
		}
	} else {
		alert ('Не удалось сформировать картинку. Повторите пожалуйста ваш выбор.');
	}	  
}
function FreshVoteCapcha(mark) {
	//alert("mark="+mark+" capcha_mark="+capcha_mark);
	if(capcha_mark){
		mark = capcha_mark;
	}
	var st=ajax_call('perl_get_capcha_id',mark,FreshVoteCapchaCallback);
	return st;
}

function FreshCapchaCommentCallback(st,id) {
	if (st==1) {
		capcha_comment_id=id;
		gebi('img_for_capcha_comment').src = 'http://'+VideoPerlHost()+'/cgi-bin/get_image_photo?id='+capcha_comment_id;
		var ob = gebi('for_capcha_comment');
		ob.style.visibility = "visible";
		ob.style.display = "block";
		ob.style.position = "relative";
		var ob = gebi('security_image_addcomment_answer');
		if(ob != undefined){
			ob.value = '';
		}
		//ob.style.top = "-120px";
		ob.style.top = "0px";
		var ob=gebi('security_image_addcomment_answer'); if(ob != undefined){ob.focus()};
	} else {
		alert ('Не удалось сформировать картинку. Повторите пожалуйста ваш выбор.');
	}
	ShowSendButton('sub_but');
}
function FreshCapchaComment() {
	var st=ajax_call('perl_get_capcha_id',FreshCapchaCommentCallback);
	if(st == 1){HideSendButton('sub_but');};
	return st;
}

var vote_message_process = 'Запрос обрабатывается...';
var vote_message_thank = 'Спасибо, ваш голос принят';

function addVoteCallback (st,newrating,votescount,errorcode,errortext) {
	if (st==1) {
		voted=true;
		gebi('image_Rate').innerHTML=newrating;

		if (gebi('image_VotesCount'))
		gebi('image_VotesCount').innerHTML=votescount;

		gebi('vote_message').innerHTML=vote_message_thank;
	} else {
		if(errorcode && errortext)  alert('Проголосовать не получилось: '+errortext);
		
		if (errorcode==2 || errorcode==4 || errorcode==9 || errorcode==11) {
			voted=true;
			gebi('vote_message').innerHTML = errortext;
		}else if (errorcode==3) {
			alert('Неверно введён код защиты');
			ClearCapchaParams();
			var mark = capcha_mark;
			var st = FreshVoteCapcha(mark);
		}else{
			voted=true;
			gebi('vote_message').innerHTML='Проголосовать не получилось';
		}
	}
}

function addVote (mark, image_id, album_id) {
	var block_vote = BlockVote();
	
	rating+=mark;
	if (voted) {
		alert('Вы уже проголосовали за ролик');
		return;
	}
	
	if (block_vote) {
		alert('Вы не можете голосовать за собственный ролик');
		return;
	}
	
	var answer='';
	if(need_capcha){
		capcha_mark = mark;
		answer=gebi('security_image_answer').value;
		if(answer == '' || check_capcha_result != 1){
			var st = FreshVoteCapcha(mark);
		}
		return;
	}
	ClearCapchaParams();
	var st=ajax_call('perl_add_vote',mark,image_id,album_id,capcha_id,answer,addVoteCallback);
	if (!st) {
		alert('Проголосовать не получилось');
	} else {
		hideObject(gebi('image_Rate_Vote_Access'));
		gebi('vote_message').style.display='block';
		gebi('vote_message').innerHTML=vote_message_process;
	}
}

function CheckVoteCapcha() {
	var answer=gebi('security_image_answer').value;
	var mark = capcha_mark;
	var id = capcha_id;
	ClearCapchaParams();
	gebi('for_capcha').style.visibility = "hidden";
	var st = ajax_call('perl_add_vote',mark,CurrentImageId(),CurrentAlbumId(),id,answer,addVoteCallback);
	if (!st) {
		alert('Проголосовать не получилось');
	} else {
		hideObject(gebi('image_Rate_Vote_Access'));
		gebi('vote_message').style.display='block';
		gebi('vote_message').innerHTML=vote_message_process;
	}
	return st;
}

var SendButtonTimer;
var SendButtonTimerButtonID;
function HideSendButton(buttonID) {
	if(buttonID == undefined){buttonID = 'sub_but'}
	ob=document.getElementById(buttonID);
	if (ob != undefined) {
		ob.value = "Идет отправка";
		ob.disabled = true;
	}
	SendButtonTimerButtonID = buttonID;
	SendButtonTimer = setTimeout(function(){clearTimeout(SendButtonTimer);ShowSendButton(SendButtonTimerButtonID);},3000);
}

function ShowSendButton(buttonID) {
	if(buttonID == undefined){buttonID = 'sub_but'}
	ob=document.getElementById(buttonID);
	if (ob != undefined) {
		ob.value = "Добавить";
		ob.disabled = false;
		gebi("gg12").disabled = false;
	}
}

//Временные переменные для отладки. Часть Будут перенесно в AddCommentCallback, часть убито за ненадобностью
var last_replyto;
var last_thread;
var last_author;
var last_id;
var last_album;
var last_curbox;
var last_image_id;
var last_comment_id;
var last_c_id;
var last_capcha_id;
var last_answer;
var last_comment;
var last_userapprove;
function ClearTempVars() {
	last_replyto=0;
	last_thread=0;
	last_author=0;
	last_id=0;
	last_album=0;
	last_curbox=0;
	last_image_id=0;
	last_comment_id=0;
	last_c_id=0;
	last_capcha_id=0;
	last_answer='';
	last_comment='';
}

function AddCommentCallback(st,errorcode,errortext,ref) {
	if (st==1)
	{
		if(ref != undefined && ref != '')
		{
//				window.location.replace(ref);
			document.location = ref;
//				window.location.href = ref;	
			return;
		}
		else window.location.reload(true);
	}
	else
	{
		if(errorcode == 2 || errorcode == 3)
		{
			FreshCapchaComment();
			if(errorcode == 3){alert(errortext);};
			return;
		}
		if(errorcode == 4) {
			if(confirm(errortext)) {
				last_userapprove = 1;
				var ob = gebi('sub_but');
				if(ob){
					ob.onclick();
				}else{
					FreshCapchaComment();
				}
				return;
			}else{
				commentRepHide()
			};
			return;
		}
		if(errorcode == 5) {
			alert(errortext);
			commentRepHide()
			return;
		}
		alert('Добавить комментарий не получилось: '+errortext);
		ShowSendButton('sub_but');
		ClearTempVars();
	}
}

function AddComment(replyto, thread, author, id, album, curbox, image_id, comment_id, c_id) {
	var ob = gebi('com_text');
	if(ob == undefined){alert('Не найден комментарий.'); return;}
	if(ob.value == ''){alert('Необходимо заполнить комментарий перед отправкой'); return;}
	var comment = ob.value;
	//comment = comment.replace(/[\0-\u001F]/g,' ');
	comment = comment.replace(/[^\wА-я\u0021-\u007EёЁ]/g,' ');

	var com_alias = '';
	var ob = gebi('com_alias');
	if(ob != undefined){ com_alias = ob.value };
	
	//alert('Добавляем комментарий через ajax');
	//Заполняем временные переменные. Временное решение (см выше)
	last_replyto=replyto;
	last_thread=thread;
	last_author=author;
	last_id=id;
	last_album=album;
	last_curbox=curbox;
	last_image_id=image_id;
	last_comment_id=comment_id;
	last_c_id=c_id;
	last_capcha_id=capcha_id;
	last_answer=answer;
	last_comment=comment;

	var answer = '';
	ob = gebi('security_image_addcomment_answer');
	if(ob != undefined){
		answer=ob.value;
	}
	//alert('capcha_id='+capcha_comment_id+'  answer='+answer);
	var st=ajax_call('perl_add_comment',
		replyto, thread, author, id, album, curbox, image_id, comment_id, c_id,			
		capcha_comment_id, answer, comment, com_alias, '', last_userapprove, AddCommentCallback);
	if(st == 1){HideSendButton('sub_but');};
}

var deleted_comment_id = '';
function HideComments(ar_hidden_comments_id) {
	for (var i = 0; i < ar_hidden_comments_id.length; i++) {
		ob = gebi("tab"+ar_hidden_comments_id[i]);
		if(ob != undefined){
			ob.style.display = "none";
		}
	}
}

function DelCommentCallback(st,errorcode,errortext,str_hidden_comments_id){
	if (st==1) {
		var ar_hidden_comments_id = str_hidden_comments_id.split(/\s/);
		HideComments(ar_hidden_comments_id);
	} else {
		alert('Удалить комментарий не получилось: '+errortext);
	}
}

function DelComment(ob_id, image_id, album_id, comment_page)
{
	var lin_num=ob_id.substring(2, ob_id.length);
	//alert("image_id="+image_id+", album_id="+album_id+", lin_num="+lin_num+", comment_page="+comment_page+", delete_with_child="+delete_with_child);
	deleted_comment_id = lin_num;
	var delete_with_child = 1;
	var ob=gebi("with_child");
	delete_with_child = 0;
	if(ob != undefined){ delete_with_child = ob.checked ? 1 : 0; };
	var st=ajax_call('perl_del_comment', image_id, album_id, lin_num, comment_page, delete_with_child, DelCommentCallback);

	return st;
}

function DelCommentDialog(ob, image_id, album_id, comment_page) {
	var ob_id=ob.id;
	var check_f=document.getElementById("del_dialog");
	if (check_f)
	{
		check_f.parentNode.removeChild(check_f.parentNode.lastChild);
	}
	del_div=document.createElement("div");
	del_div.id="del_dialog";
	del_div.className="del_min";
	del_div.innerHTML="Удалить комментарий?<br><img src=http://img.mail.ru/0.gif width=1 height=5><br><input type=checkbox id=with_child>&nbsp;&nbsp;с&nbsp;вложенными&nbsp;комментариями<br><img src=http://img.mail.ru/0.gif width=1 height=7><br><input type=button value=' Да ' onclick='hideObject(this.parentNode); DelComment(\""+ob_id+'","'+image_id+'","'+album_id+'","'+comment_page+"\");'>&nbsp;&nbsp;<input type=button value=' Нет ' onclick='hide_CommentDialog();'>";
	ob.parentNode.appendChild(del_div);

	addHandler(document, 'click', function hide_CommentDialog (evt){
		var ob = gebi("del_dialog");
		if (ob)
		{
			evt = (evt) ? evt : ((window.event) ? event : null );
			elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
			if (elem.id!="del_dialog" && elem.tagName!="A" && elem.id!="with_child")
			{
				hideObject(ob);
				removeHandler(document, 'click', hide_CommentDialog);
			}
		}
	});
	return false;
}


function dis_but() {
	value=document.getElementById("com_text").value;
	sub_but=document.getElementById("sub_but");
	if (value) {
		sub_but.value = "Идет отправка";
		sub_but.disabled = true;
		return true;
	}else{
		return false;
	}
}

//добавить в блог
function show_dialog(sel_chb, e) {
	if (gebi('distDivCode')) hideDistribDiv();//скрываем див "Получить код"
	if(typeof(e)!="undefined"){
	e = e || window.event;
	cancelBubbling(e);
	}
	gebi('f2_gotoblogs').style.display = 'block';
	gebi('f2_gotoblogs').innerHTML="Разместить ролик в блоге<br /><img src=http://img.mail.ru/0.gif width=1 height=5><br /><nobr><input type=checkbox id=only_preview>Превью&nbsp;со&nbsp;ссылкой<\/nobr><br /><img src=http://img.mail.ru/0.gif width=1 height=5><nobr><br /><input type=checkbox id=with_border>Рамка<\/nobr><br /><img src=http://img.mail.ru/0.gif width=1 height=7><br /><nobr><input type=button value=\'Разместить\' onclick=\'go_in_blogs();\'>&nbsp;&nbsp;<input type=button value=\'Отменить\' onclick=\'gebi(\"f2_gotoblogs\").style.display = \"none\";\'><\/nobr>";
	addHandler(gebi('f2_gotoblogs'),'click', function(e) {
		cancelBubbling(e);
	});
}

addHandler(document,'click', function(e) {
		e = e || window.event; 
		if (e.button == 0) hide_show_dialog();
	});
	
function hide_show_dialog() {
	if(gebi('f2_gotoblogs')) gebi('f2_gotoblogs').style.display = 'none';
}

function simulateClick(id) { //для не ИЕ
	var evt = document.createEvent("MouseEvents");
	evt.initMouseEvent("click", true, true, window,0, 0, 0, 0, 0, false, false, false, false, 0, null);
	var cb = gebi(id); 
	if(cb) cb.dispatchEvent(evt);
}

function simulateClickIE(id) { //для ИЕ
	var evt = document.createEventObject();
	if (gebi(id)) gebi(id).fireEvent('onclick', evt);
}
//end добавить в блог

//показать-скрыть строку поиска в плеере
function openSearch() {
	var start_opacity = 0;
	var stop_opacity = 1;
	var step_opacity = 0.2;
	var t = 300;
	var interval = stop_opacity / step_opacity;
	var fr = t / interval; 
	var opacity = start_opacity;
	var el = $("searchInput");
	
	el.show();
	el.setOpacity(start_opacity);
	
	var w = setInterval(function() { 
		if(opacity <= stop_opacity) { 
			el.setOpacity(opacity);
			opacity += step_opacity;
			opacity = Math.round(opacity * 10) / 10 ;
			
		} else 	{
			clearInterval(w);			
		}
	}, fr);
}

function closeSearch() {
	var start_opacity = 1;
	var stop_opacity = 0;
	var step_opacity = 0.2;
	var t = 300;
	var interval = start_opacity / step_opacity;
	var opacity = start_opacity;
	var fr = t / interval; 
	var el = $("searchInput");
	
	var w = setInterval(function() { 
		if(opacity >= stop_opacity) { 
			el.setOpacity(opacity);
			opacity -= step_opacity;
			opacity = Math.floor(opacity * 10) / 10 ;
		} else 	{
			clearInterval(w);			
			el.hide();
		}
	}, fr);
}
						