var Comments = {
	
	URL: 'http://www.forsym.net/',
	ID: [],
	formID: 0,	/* id комментария, к которому прицеплена форма комментария */
	
	loadID: function()
	{
		var li = $('table[@id^=li]');
		var reNum = /[^0-9]/g;
		for (var i=0; i<li.length; i++)
		{
			var id = parseInt(li[i].id.replace(reNum,''));
			Comments.ID.push(id);
			Comments.addReplyLink(id);
			Comments.addFromLink(id);
		}
	},
	
	addFromLink: function(id)
	{
		var reply = $('#li'+id).find('span.replyTo');
		var replyTo = parseInt(reply.html());
		if (replyTo > 0)
		{
			var i = parseInt($('#li'+replyTo).find('td.cNum').find('a').html());
			if (!isNaN(i))
			{
				var name = $('#li'+replyTo).find('td.cName').html();
				var a = '<a href="#c'+replyTo+'">' + (lang == 0 ? 'Ответ на ['+i+'] от <strong>' : 'Reply to ['+i+'] from <strong>') + name + '</strong></a>';
				reply.parent().append(a);
				reply.remove();
			}
		}
	},
	
	addReplyLink: function(id)
	{
		$('#li'+id).after('<p id="liMenu'+id+'" class="cMenu"><a href="#" onclick="Comments.showCForm('+id+');return false;">'+(lang == 0 ? 'Ответить' : 'Reply')+'</a></p>');
	},
	
	hideCForm: function()
	{
		Comments.showCForm(0);
		$('#commentFormContainer').css('display','none');
		$('#addComment').css('display','block');
	},
	
	showCForm: function(id)
	{
		$('#commentForm')[0].reset();
		if (id > 0)
		{
			$('#liMenu'+id).after('<div id="commentFormContainer'+id+'" class="formContainer"></div>');
			
			if (Comments.formID == 0)
			{
				$('#commentFormContainer'+id).append($('#commentFormContainer').children());
			}
			else
			{
				$('#commentFormContainer'+id).append($('#commentFormContainer'+Comments.formID).children());
				$('#commentFormContainer'+Comments.formID).remove();
				$('#liMenu'+Comments.formID).css('display','block');
			}	
			Comments.formID = id;		
			$('#liMenu'+id).css('display','none');
			$('#addComment').css('display','block');
			$('#commentFormContainer').css('display','none');
			$('#btnSubmit').attr('value', (lang == 0 ? 'Ответить' : 'Post Comment'));
		}
		else
		{
			if (Comments.formID != 0)
			{
				$('#commentFormContainer').append($('#commentFormContainer'+Comments.formID).children());
				$('#liMenu'+Comments.formID).css('display','block');
				Comments.formID = 0;
			}
			$('#commentFormContainer').css('display','block');
			$('#addComment').css('display','none');
			$('#btnSubmit').attr('value', (lang == 0 ? 'Добавить' : 'Post Comment'));
		}
		$('#replyTo').attr('value', id);
	},
	
	addComment: function(json)
	{
		var i = Comments.ID.length + 1;
		var comment = '<table id="li'+json['id']+'" class="cBlock" cellspacing="0" cellpadding="0">';
		comment += '<tr><td class="cName">'+json['name']+'</td><td class="cNum"><a name="c'+i+'">'+i+'</a></td><td class="cDate">'+json['date']+'</td><td class="cAnswer"><span class="replyTo" style="display:none">'+json['reply']+'</span></td></tr>';
		comment += '<tr><td></td><td class="cComment" colspan="3">'+json['comment']+'</td></tr>';
		comment += '</table>';
		$('#commentList').append(comment);
		Comments.ID.push(json['id']);
		Comments.addReplyLink(json['id']);
		Comments.addFromLink(json['id']);
		$('#antispam').attr('src', Comments.URL+'antispam.php?user='+(Math.round(Math.random()*65535)));
	},
	
	Submit: function()
	{
		var form = $('#commentForm')[0];
		var name = form.author.value;
		var email = form.email.value;
		var comment = form.comment.value;
		var captcha = form.captcha.value;
		var reply = form.replyTo.value;
		var lang = form.lang.value;
		var post_id = form.postId.value;
			$.getJSON("http://www.forsym.net/_ajax/postcomment.php", {post_id:post_id, name:name, email:email, comment:comment, captcha:captcha, reply:reply, lang:lang}, function(json){
			if (json['error'])
			{
				alert(json['error']);
			}
			else
			{
				Comments.addComment(json);
				Comments.hideCForm();
			}
		});
	}
}

$(document).ready(function()
{
	Comments.loadID();
});