var answer_comments_id = new Array();
var TreeComWysiwyg = false;

function answer_comments( id ){

	if( !answer_comments_id[ id ] )
		{
			answer_comments_false();			
			document.getElementById( "tree_comments_form-" + id ).innerHTML = form_test;
			answer_comments_id[ id ] = 1;
			document.getElementById( "addcomments_form" ).innerHTML = "";
			document.getElementById( "cancel_answer" ).style['display'] = "";
			document.getElementById( "cancel_answer" ).innerHTML = "<input type=\"button\" onClick=\"answer_comments( '" + id + "' ); return false;\" class=\"bbcodes\" value=\"Отменить\" /><input type=\"hidden\" name=\"answer_id\" value=\"" + id + "\">";
			if( document.getElementById( "dle_recaptcha" ) != null ) CaptchaReload();
			if( TreeComWysiwyg === true ) TinyMCEInit();
		}
			else
		{
			CancelAnswer();
		}
}

function CancelAnswer(){
	
	answer_comments_false();
	document.getElementById( "addcomments_form" ).innerHTML = form_test;
	document.getElementById( "cancel_answer" ).style['display'] = "none";
	if( document.getElementById( "dle_recaptcha" ) != null ) CaptchaReload();
	
	if( TreeComWysiwyg === true ) TinyMCEInit();
	
}

function answer_comments_false(){

	var com_search = document.getElementById( "dle-content" );
	var com_answer = com_search.getElementsByTagName( "div" );
	var count_com = com_answer.length;
	for( var i = 0; i < count_com; i++ )
		{
			
			if( com_answer[ i ] != null )
				{
					if( /tree_comments_form-[0-9]/i.exec( com_answer[ i ].id ) != null )
						{
							com_answer[ i ].innerHTML = "";
							var answer_id = com_answer[ i ].id.match( /[0-9]{1,50}/ );
							answer_comments_id[ answer_id[ 0 ] ] = 0;
							delete( answer_id );
						}
				}
		}
}

function ComPage( page, news, link_tpl ){
	
	CancelAnswer();
	if( document.getElementById( "status-nav-com" ) != null )
		{
			document.getElementById( "status-nav-com" ).innerHTML = "<img src=\"/templates/" + dle_skin + "/images/comments/horizont-ajax.gif\" border=\"0\" alt=\"Загрузка\" align=\"absmiddle\" />";
		}
	
	$.ajax({
		url: "/engine/ajax/treecomments/com-navigation.php",
		data: "cstart=" + page + "&news=" + news + "&link_tpl=" + link_tpl,
		success: function( data ){
			$( "#tree-comments" ).html( data );
			window.location = "#comment";
		},
		dataType: "html",
		type: "POST"
	});
}

function TreeAddComments(){

	var Url = "";
	var form = document.getElementById( "dle-comments-form" );
    ShowLoading( "" );
	
	if ( dle_wysiwyg == "yes" )
		{
			document.getElementById( "comments" ).value = tinyMCE.get( "comments" ).getContent();
			Url += "&editor_mode=wysiwyg";
		} 
	
	for( var i=0; i < form.elements.length; i++ )
		{
			var ElementForm = form.elements[i];
			switch( ElementForm.type ){
				
				case "checkbox": {
					if( ElementForm.checked == true )
						{
							Url += "&" + ElementForm.name + "=" + ElementForm.value;
						}
					break
				}
				
				default: {
					Url += "&" + ElementForm.name + "=" + ElementForm.value;
					break
				}
			}
		}
		
	$.ajax({
		url: dle_root + "engine/ajax/treecomments/addcomments.php",
		data: Url,
		success: function( data ){
			
			HideLoading( "" );			
			if( /script language/i.exec( data ) == null )
				{
					if( form.answer_id )
						{
							$( "#tree_comments_form-" + form.answer_id.value ).html( data );
							document.getElementById( "button_answer_to_" + form.answer_id.value ).innerHTML = "";
						}
							else
						{
							var new_id = Math.floor( Math.random() * ( 100 - 5 + 1 ) ) + 5;
							var Element = document.createElement( "div" );
							document.getElementById( "tree-comments-list" ).appendChild( Element );
							Element.id = "new_comment_" + new_id;
							$( "#" + Element.id ).html( data );
						}
						
					if( document.getElementById( "dle-ajax-comments" ) != null )
						{
							var DelElement = document.getElementById( "dle-ajax-comments" );
							DelElement.parentNode.removeChild( DelElement );
						}
						
					if( form.answer_id )
						{
							var ObjCom = document.getElementById( "tree_comments_form-" + form.answer_id.value );
							ObjCom.id = "tree_comments_result-" + form.answer_id.value;
							form.answer_id = "";
							CancelAnswer();
						}
						
					if( dle_group == 5 )
						{
							form.name.value = "";
							form.mail.value = "";
						}
					
					form.comments.value = "";
					CaptchaReload();
				}
					else
				{
					var new_id = Math.floor( Math.random() * ( 100 - 5 + 1 ) ) + 5;
					var Element = document.createElement( "div" );
					document.getElementById( "tree-comments-list" ).appendChild( Element );
					Element.id = "new_comment_" + new_id;
					$( "#" + Element.id ).html( data );
					CaptchaReload();
				}
		},
		dataType: "html",
		type: "POST"
	});
}

function TreeDeleteComments( id, hash ){

	DLEconfirm( dle_del_agree, dle_confirm, function(){
		ShowLoading( "" );
		$.get( dle_root + "engine/ajax/deletecomments.php", { id: id, dle_allow_hash: hash }, function( r ){
			HideLoading( "" );
			CancelAnswer();
			r = parseInt( r );
			if( !isNaN( r ) )
				{
					$( "html" + ( !$.browser.opera ? ",body" : "" ) ).animate( { scrollTop: $( "#comment-id-" + r ).offset().top - 70 }, 700 );
					setTimeout( function(){ $( "#comment-id-" + r ).hide( "blind", {}, 1400 ) }, 700 );
				}
	
		});

	});
}

function TreeComEdit( id, area ){
	if( !ajax_comm_edit( id, area ) ) setTimeout( "TreeComFombj()", 1000 );
}

function TreeComFombj(){
	fombj = document.getElementById( "dle-comments-form" );
	setTimeout( "TreeComFombj()", 1000 );
}

var TreeRecapthaKey = "";
var TreeRecapthaTheme = "";
var TreeRecapthaLang = "";
function TreeRecaptcha( key, theme, lang ){
	if( key != null ) TreeRecapthaKey = key;
	if( theme != null ) TreeRecapthaTheme = theme;
	if( lang != null ) TreeRecapthaLang = lang;
	Recaptcha.create( TreeRecapthaKey, "dle_recaptcha", {
		theme: TreeRecapthaTheme,
		lang:  TreeRecapthaLang,
	});
}

function CaptchaReload(){
	
	var rndval = new Date().getTime(); 
	if( document.getElementById( "dle-captcha" ) != null )
		{
			var form = document.getElementById( "dle-comments-form" );
			document.getElementById( "dle-captcha" ).innerHTML = "<img src=\"/engine/modules/antibot.php?rndval=" + rndval + "\" alt=\"Включите эту картинку для отображения кода безопасности\" border=\"0\" onclick=\"CaptchaReload(); return false;\" style=\"cursor: pointer;\" width=\"120\" height=\"50\" />";
			form.sec_code.value = "";
			form.sec_code.focus();
		}
	else if( document.getElementById( "dle_recaptcha" ) != null )
		{
			TreeRecaptcha();
			// Так как рекапча может долго грузиться, подождём одну секунду, можно больше конечно поставить :)
			setTimeout( function(){
				if( document.getElementById( "recaptcha_response_field" ) != null ) document.getElementById( "recaptcha_response_field" ).focus();					 
			}, 1000 );
		}
}
