function moveForm(id){
	$('#comment_form').remove();
	$('#reply_form_'+id).html(commentForm);
	$('#comment_form .parent_id').val(id);
	$('#comment_form .field-comment').focus();
}

function moveFormWithQuote(id){
	$('#comment_form').remove();
	$('#reply_form_'+id).html(commentForm);
	$('#comment_form .parent_id').val(id);
	$('#comment_form .field-comment').focus();
	$('#comment_form .field-comment').text( '[quote]'+$('#mess_'+id).find('.m').text()+'[/quote]\n' );
}

$(function(){
	
	commentForm = $('#reply_form_0').html();
	
	$("#comments_0 li.firstlevel:odd").addClass('comment-item-hi');
	
	$(".comment-item .report").live('click', function(e){
		e.preventDefault();
		if(confirm('Отправить жалобу?'))
		{
			$.ajax({ type:"POST", url:"/comments/core/report"+$(this).attr('href') });
			$(this).parent().append( $('<span/>').addClass('reported').text('жалоба отправлена') );
			$(this).remove();
		}
	});
	
	$("#comment_form #btns .preview").live('click', function(){
		var form = $(this).closest('form[name=comment_form]');
		var content = $(form).find(".field-comment").val();
		if(content!='')
		{
			$("#comment_form #btns .preview").attr('disabled', true).val('').addClass('btn_act'); 
			$.ajax({ type:"POST", url:"/comments/core/preview", data:{ content:content }, dataType:"html", success:function(msg){
				var data = $.parseJSON(msg);
				$(form).find('.preview-comment').html(data.msg).show();
				$("#btns .preview").attr('disabled', false).val('предпросмотр').removeClass('btn_act');
			}});
		}
	});
	
	$("#comment_form #btns .post").live('click', function(){
		var form = $(this).closest('form[name=comment_form]');
		var content = $(form).find(".field-comment").val(), 
			 parent_id = $(form).find(".parent_id").val(), 
			 target_id = $(form).find(".target_id").val(), 
			 object_type = $(form).find(".object_type").val(),
			 captcha_inp = $(form).find(".captcha-input").val(),
			 captcha_id = $(form).find(".captcha-id").val(),
			 uname = $(form).find(".uname").val();
			 
		if(content!='')
		{
			$("#btns .post").attr('disabled', true).val('').addClass('btn_act'); 
			$.ajax({ type:"POST", url:"/comments/core/post", data:{ content:content, parent_id:parent_id, target_id:target_id, object_type:object_type, uname:uname, captcha:{input:captcha_inp, id:captcha_id} }, dataType:"html", success:function(msg){
				var data = $.parseJSON(msg);
				
				if(data.err!=null && data.cid!=null)
				{
					$('#captcha-pic').attr('src', '/images/captcha/'+data.cid+'.png');
					$('#captcha-id').val(data.cid);
					
					$(form).find(".err").text(data.err).show();
					$("#btns .post").attr('disabled', false).val('опубликовать').removeClass('btn_act');
					return;
				}
				
				if($('#captcha-pic'))
				{
					$('#captcha-pic').attr('src', '/images/captcha/'+data.cid+'.png');
					$('#captcha-id').val(data.cid);
				}
				
				$(form).find(".err").text('').hide();
				$(form).find(".captcha-input").val('');
				$(form).find('.preview-comment').html('').hide();
				$(form).find(".field-comment").val('');
				$("#btns .post").attr('disabled', false).val('post comment').removeClass('btn_act');
				
				// инфобокс с именем юзера и датой поста
				var info_div = $("<div/>").addClass("com_info");
				var u_ico = $("<span/>").addClass("ico_u").text('');
				//var u_a = $("<a/>").attr("href", "").text(data.username);
				var u_a = $("<span/>").text(data.username);
				var uname = $("<span/>").addClass("uname").append($(u_a));
				var posted = $("<span/>").addClass("posted").text(data.posted);
				
				var info = $(info_div).append($(u_ico)).append($(uname)).append($(posted));
				
				// ссылка - ответить на коммент
				var a_add =  $('<a/>').addClass('answer')
				 							 .attr('onclick','moveForm("'+data.id+'"); return false;')
											 .attr('href','?id='+data.target_id+'&reply_to='+data.id+'#comment_'+data.id)
											 .text('ответить');
				
				var mess = $("<div/>").addClass("mess").html(data.content).append( $('<div/>').append($(a_add)));
				
				// бокс для новых (дочерних) комментов
				var ul = $("<ul/>").attr("id", "comments_"+data.id);
				
				// плейсхолдер для формы коммента
				var div_form = $('<div/>').addClass('reply_form').attr('id', 'reply_form_'+data.id);
				
				var div_clear = $('<div/>').addClass('clear');
				
				// родитель для всех
				var li = $("<li/>").addClass("comment-item");
				if(parent_id==0) $(li).addClass("firstlevel");
				
				$(li).append(info)
					  .append($(mess))
					  .append($(ul))
					  .append($(div_form))
					  .append($(div_clear))
					  .appendTo('#comments_'+parent_id);
					  
				var com_nn_box = $('.comments_box .com_num .com_nn');
				
				var com_nn = Number($(com_nn_box).html())+1;
				
				$(com_nn_box).text(com_nn);
				$('.comments_box .com_num .com_word').text((com_nn>1 ? 'comments' : 'comment'));
				
				$('.comments_box .reply_form').html('');
			}});
		}
	});
});
