var commentCounter = 0;
replyCloneVar = 0;

function doReply(thisObject, resourceId)
{
	var replyToObject = jQuery(thisObject).parent().parent().parent().parent();
	var replyClone = jQuery('#replyCommentClone-' + resourceId).clone();

	// increase comment counter id
	commentCounter += 1;
	var replyToComment = 'reply_comment_to_' + jQuery(thisObject).attr('href') + commentCounter;

	// get replay to nickname and set it
	var replyToName = replyToObject.find('.name-from').html();
	replyClone.find('span.name-to').append(replyToName);

	// set correct comment id and insert it into HTML
	replyClone.attr('id', replyToComment);
	jQuery(replyToObject).after(replyClone);

	// set replay to input field
	var inputField = replyClone.find('input[name=replayto]');
	inputField.val(jQuery(thisObject).attr('href')); 
	
	// set new captcha
	var captchaField = replyClone.find('input[name=captcha]');
	if (captchaField.size())
	{
		replyClone.find('img.captcha').trigger('click');
	}
	
	// display replay comment
	jQuery('#' + replyToComment).show('blind', 1111);
	
	return false;	
}

function tranformComment(responseText, statusText, xhr, $form)
{
	resourceId = $form.find('input[name=resource]').val();
	
	if (jQuery(responseText).attr('id') == 'errors')
	{
		var errorTexts = new Array;
		errorTexts = jQuery(responseText).children().children();

		// delete old errors
		$form.find('p.error').remove();
		$form.find('li.err').removeClass('err');
		
		errorTexts.each(function()
		{
			var treeElement = $form.find('[name=' + jQuery(this).attr('id') + ']');
			
			// display error
			treeElement.after('<p class="error">' + jQuery(this).html() + '</p>');
			treeElement.parent().addClass('err');
		});
		$form.find('img.captcha').trigger('click');
	}
	else
	{
		mainAddingBlock = $form.parent().parent();

		if ($form.attr('id') != 'reply-form-clone')
		{
            mainCommentClone = jQuery('#comment-main-clone-' + resourceId).clone();
			commentCounter += 1;

			mainCommentClone.attr('id', 'comment-main_' + commentCounter);
			mainAddingBlock.before(mainCommentClone);

			var addButton = mainCommentClone.find('.add_comment');
			var commentText = mainCommentClone.find('textarea[name=comment]');
			var commentForm = mainCommentClone.find('form');
			var captchaField = mainCommentClone.find('input[name=captcha]');

			if (captchaField.size())
			{
				mainCommentClone.find('img.captcha').trigger('click');
			}
			addButton.click(function()
			{
				commentForm.ajaxSubmit({ success: tranformComment });
				return false;
			});

			mainCommentClone.attr('id', 'comment-main');
			mainCommentClone.show('blind', 1111);
		}
		
		addedCommentHTML = jQuery(responseText).children();
		mainAddingBlock.attr('id', '');
		
		mainAddingBlock.fadeOut(1000);
		if (jQuery(responseText).attr('id') == 'need_approve')
		{
			var pupopApprove = new alertPopupHelper('alert', 'comment_will_show_after_approve', 'asdasdsa', 'close_popup_alert');
			pupopApprove.dialog();
		}

		setTimeout('mainAddingBlock.html("").append(addedCommentHTML);', 800);
		setTimeout("mainAddingBlock.fadeIn('slow');", 800);
	}
}

jQuery(function()
{
	jQuery('.add_comment').live('click', function()
	{
		var formObject = jQuery(this).parents('form');
		formObject.ajaxSubmit({ success: tranformComment });

		return false;
	});
	jQuery('input[name=nickname]').live('click', function()
	{
		if (jQuery(this).val() == phrases['comment_quest'])
		{
			jQuery(this).val('');
		}
	}).live('blur', function()
	{
		if (jQuery.trim(jQuery(this).val()) == '')
		{
			jQuery(this).val(phrases['comment_quest']);
		}
	});
	
	jQuery('span.comment-chat').each(function()
	{
		var contactId = jQuery(this).text();	
		var parent = jQuery(this).parent().find('img');
		
		jQuery(parent).bind('click', {contactId:contactId}, function(e)
		{
			openChat(e.data.contactId);
		});
	});
});

