var cite_messages_ar=$A(); 
var downloaded_comments=$A(); 
function init_multi_comments(blogposts_id)
{
	$('hide_comments_href_'+blogposts_id).show();
	$('show_comments_href_'+blogposts_id).hide();
	$('add_comments_href_'+blogposts_id).hide();
	form_comments=$('comments.add');
	output_div=$('comments_blog_'+blogposts_id);
	if (form_comments)
		form_comments.blogposts_id.value=blogposts_id;
	if (downloaded_comments.indexOf(blogposts_id)==-1)
		downloaded_comments.push(blogposts_id);
	output_div.setAttribute('comments_downloaded',1);
}
function hide_comments_block(blogposts_id)
{
	$('hide_comments_href_'+blogposts_id).hide();
	$('show_comments_href_'+blogposts_id).show();
	$('add_comments_href_'+blogposts_id).hide();
	output_div=$('comments_blog_'+blogposts_id);
	output_div.hide();
}
function add_params_to_url( url, query_str )
{
	return ( url.indexOf('?')==-1 ) ? (url + '?' + query_str) : (url + '&' + query_str);
}
function show_comments_block(blogposts_id)
{
	if (typeof(blogposts_id)=='undefined' || !blogposts_id)
	    return false;
	if (typeof(on_load)=='undefined' || !on_load)
	{
		return false;
	}
	show_all_add_comments_buttons();
	output_div=$('comments_blog_'+blogposts_id);
	if (output_div.getAttribute('comments_downloaded'))
	{
		output_div.show();
	}
	else
	{
		var vals = $H({'blogposts_id': blogposts_id});
		vals['query_str'] = add_params_to_url(this_page_url, 'show_comments_of='+blogposts_id);
		var data = getRequest({'form': 'comments.list', 'vals': vals.toQueryString()}, '/forms.php');
		output_div.innerHTML=data.html;	
	}
	init_multi_comments(blogposts_id);
	output_tr_id='add_common_comment'+blogposts_id;
	move_and_init_tinymce(output_tr_id, 'add'+output_tr_id, true);
}
function show_all_add_comments_buttons()
{
	downloaded_comments.each(function(blogposts_id){
		$('add_comments_href_'+blogposts_id).show();
	});
}
function cite(comments_id, username, posttime)
 {
 	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
 	if (!my_userid)
 	{
 		alert('Вы должны авторизоваться прежде чем оставлять комментарии!');
 		return;
 	}
 	//addNewComment('comment_'+comments_id, comments_id, username)
 	
 	text=$('comments_'+comments_id+'_message').innerHTML;
 	text=replaceAll('<p>', text, '');
 	text=replaceAll('</p>', text, '');
 	text=replaceAll('<P>', text, '');
 	text=replaceAll('</P>', text, '');
	text=replaceAll('<BR>', text, '');
	text=replaceAll('<br>', text, '');
	text='<font color="#696"><span class="citation">"'+text+'" ['+username+', '+posttime+']</span></font>&nbsp;<br>&nbsp;';
	var cur_text=tinyMCE.activeEditor.getContent();
	cur_text=cur_text+text;
	if (!window.tiny_mce_visible)
	{
		move_and_init_tinymce('comment_'+comments_id, 'cite_comment_'+comments_id, true)
		tinyMCE.activeEditor.onInit.add(function(ed) {
	        tinyMCE.execCommand('mceSetContent', false, cur_text); 
	        tinyMCE.activeEditor.onInit.remove();
	      });	
	}
	else 
		tinyMCE.execCommand('mceSetContent', false, cur_text);
 	cite_messages_ar.push(comments_id);
 }

 function editComment_multiple_case(id, output_tr_id)
 {
 	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
 	editComment(id, output_tr_id);
 	show_all_add_comments_buttons();
 }
function editComment(id, output_tr_id)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
	var vals = $H({'id': id}).toQueryString();
	var res = getRequest({'form': 'comments.getinfo', 'vals': vals}, '/forms.users.php');
	if (typeof(res.data)=='undefined' || typeof(res.data.comments_id)=='undefined' || !res.data.comments_id)
		return false;
	form=$('comments.add');
	
	move_and_init_tinymce(output_tr_id, 'edit_'+output_tr_id, false)
	tinyMCE.activeEditor.onInit.add(function(ed) {
        tinyMCE.execCommand('mceSetContent', false, res.data.message); 
        tinyMCE.activeEditor.onInit.remove();
      });
    if (window.tiny_mce_visible==true)
	{
		$(output_tr_id+'_reply_text').innerHTML='<b>Изменение комментария</b>';
		window.prev_reply_text_id=output_tr_id+'_reply_text';
	}
	form.comments_id.value=res.data.comments_id;
}

function reply_multiple_case(output_tr_id, parent_id, parent_subject, id, com_type)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
	Form.getInputs($('comments.add'), 'hidden', com_type)[0].value=id;
	reply(output_tr_id, parent_id, parent_subject);
	show_all_add_comments_buttons();
}

function cite_multiple_case(comments_id, username, posttime, id, com_type)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
	Form.getInputs($('comments.add'), 'hidden', com_type)[0].value=id;
	cite(comments_id, username, posttime);
}
function addNewComment_multiple_case(output_tr_id, id, com_type)
{
	if (typeof(on_load)=='undefined' || !on_load)
	{
		return false;
	}
	Form.getInputs($('comments.add'), 'hidden', com_type)[0].value=id;
	addNewComment(output_tr_id+id);
	show_all_add_comments_buttons();
	$('add_comments_href_'+id).hide();
}
function reply(output_tr_id, parent_id, parent_subject)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
	if (!my_userid)
	{
		alert('Вы должны авторизоваться прежде чем оставлять комментарии!');
		return;
	}
	move_and_init_tinymce(output_tr_id, 'add_'+output_tr_id, false);
	
	if (window.tiny_mce_visible==true)
	{
		$(output_tr_id+'_reply_text').innerHTML='<b>Ответ для: '+parent_subject+'</b>';
		window.prev_reply_text_id=output_tr_id+'_reply_text';
	}
	form=$('comments.add');
    form.parent_id.value=parent_id;
}
/*
action - type of operation (add, edit, reply, cite + output_div.id) 
*/
function move_and_init_tinymce(output_tr_id, action, do_not_hide)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		window.move_tiny_mce_output_tr_id=output_tr_id;
		window.move_tiny_mce_action=action;
		window.move_tiny_mce_do_not_hide=do_not_hide;
		return false;
	}
	form=$('comments.add');
	//----Clear all parameters
	if (window.prev_reply_text_id)
		$(window.prev_reply_text_id).innerHTML='';
	if (action!='add')
		window.prev_reply_text_id=false;
	form.parent_id.value='';
	form.comments_id.value='';
	//tinyMCE.execCommand('mceSetContent', false, ''); 
	//----remove tinyMCE
	tinyMCE.execCommand('mceRemoveControl', false, 'mce_content' );
	//----move form to needed location (or to invisible div)
	var output_div=$(output_tr_id);
	if (window.comments_last_operation==action && window.tiny_mce_visible==true && !do_not_hide)
	//if (output_div.innerHTML!='')
	{
		$('add_comment_div').appendChild(form);
		window.tiny_mce_visible=false;
	}
	else {
		output_div.appendChild(form);
		window.tiny_mce_visible=true;
	}
	window.comments_last_operation=action;
	form.focusFirstElement();
	//----load tinyMCE
  	tinyMCE.execCommand('mceAddControl', false, 'mce_content');
  	//tinyMCE.execInstanceCommand("mce_content", "mceFocus");
}
function addNewComment(output_tr_id, parent_id, parent_subject)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
	if (!my_userid)
	{
		alert('Вы должны авторизоваться прежде чем оставлять комментарии!');
		return;
	}
	move_and_init_tinymce(output_tr_id, 'add'+output_tr_id, false);
}

function onBeforeSubmit(form)
{
	form.message.value = tinymce_get_content('mce_content');	
}
function Hide(id, value)
{
	var vals = $H({'value': value, 'id': id, 'type': com_type}).toQueryString();
	var data = getRequest({'form': 'comments.hide', 'vals': vals}, '/forms.users.php');
	if (data.ok)
		document.location.href=deleteMarkersFromUrl(document.location.href);
}
function AddComment(form)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
	if ($('submit_button').disabled)
		return false;
	onBeforeSubmit(form);
	if (is_tinymce_message_empty(form.message.value))
	{
		alert('Вы не можете добавить пустой комментарий');
		return false;
	}
	var url=deleteMarkersFromUrl(document.location.href);
	var need_reload=false;
	
	if (form.blogposts_id.value && this_page_url)
	{
		url_without_markers = add_params_to_url(this_page_url, 'show_comments_of='+form.blogposts_id.value);
		url = url_without_markers + '#blogposts'+form.blogposts_id.value;
		href = document.location.href.substr( document.location.href.indexOf('/',7) );
		if (href == url_without_markers || href==url)
			need_reload=true;
	}
	if (form.comments_id.value)
	{
		getRequest({'form': 'comments.edit', 'vals': Form.serialize(form)}, '/forms.users.php');

		document.location.href=url;
		if (need_reload)
			document.location.reload(true);
	}
	else
	{
		$('submit_button').disabled=true;
		data = getRequest({'form': 'comments.add', 'vals': Form.serialize(form)}, '/forms.users.php');
		if (data.res==0) {
			alert('Пользователь занес Вас в "черный список", поэтому Вы не можете добавить комментарий!');
		}
		else {
			document.location.href = url;
			if (need_reload)
				document.location.reload(true);
		}
	}
}
function DeleteComment(id)
{
	if (typeof(on_load)=='undefined' || !on_load || !window.tiny_mce_inited)
	{
		return false;
	}
    if (window.confirm('Вы уверены, что хотите удалить комментарий?'))
    {
	    var vals = $H({'id': id, 'type': com_type}).toQueryString();
		var data = getRequest({'form': 'comments.delete', 'vals': vals}, '/forms.users.php');
		
		document.location.href=deleteMarkersFromUrl(document.location.href);
	};
}