var canReply = true;
var param = 0;
var allow = false;
var form = null;
var cm_parent = null;
var cm_author = null;
var cm_email = null;
var cm_text = null;
var comment_area = null;
var level = -1;
var field = 0;

function reply(element)
{
	var oldParent = form.up();
	var newParent = element.up();
	if ((oldParent != undefined) && (newParent != undefined))
	{
		oldLevel = level;
		level = element.rel;
		element.rel = oldLevel;
		cm_text.value = '';
		var link = element.remove();
		newParent.update(form.remove());
		oldParent.update(link);
		if (cm_parent != undefined)
			cm_parent.value = newParent.id.substr(3);
		oldParentUp = oldParent.up();
		if (oldParentUp.className == 'cm')
			oldParentUp.style.backgroundColor = '#ffffff';
		newParentUp = newParent.up();
		if (newParentUp.className == 'cm')
			newParentUp.style.backgroundColor = '#f0f0f0';
	}
}

function sendReply()
{
	canReply = false;
	for (var i = 0; i < form.elements.length; i++)
		form.elements[i].disabled = true;
	new Ajax.Request('/request/comments.php', {
		parameters: {
			param: param,
			allow: allow,
			field: field,
			parent: cm_parent.value,
			author: cm_author.value,
			email: cm_email.value,
			text: cm_text.value,
			level: level,
			add: 1
		},
		onComplete: function(transport){
			if (transport.responseText)
			{
				var replyTo = form.up().up();
				if (replyTo.id == 'comment_area')
				{
					var children = replyTo.childElements()
					replyTo = children[children.length - 4];
					replyTo.insert({before: transport.responseText});
					var newComment = replyTo.previous();
				}
				else
				{
					replyTo.insert({after: transport.responseText});
					var newComment = replyTo.next();
				}
				new Effect.Appear(newComment, {
					duration: 1,
					queue: 'end'
				});
				if (level > -1)
					reply($('cm_0').down());
				else
					cm_text.value = '';
				for (var i = 0; i < form.elements.length; i++)
					form.elements[i].disabled = false;
				canReply = true;
			}
		}
	});
}

function loadComments()
{
	Event.observe(window, 'load', function(){
		var comment_area = $('comment_area');
		comment_area.update(getText('loading') + ' <img src="/img/loading.gif" alt="" />');
		new Ajax.Request('/request/comments.php', {
			parameters: {
				param: param,
				allow: allow,
				field: field
			},
			evalScripts: true,
			onSuccess: function(transport){
				comment_area.update(transport.responseText);
				form = $('cm_form');
				cm_parent = $('cm_parent');
				cm_author = $('cm_author');
				cm_email = $('cm_email');
				cm_text = $('cm_text');
				FrutMiniTextArea('cm_text');
			}
		});
	});
}