function cancel(id, del) {
	del = (typeof del != 'undefined' ? del : false);
	var text = $('textarea#comment_'+id).val();
	text = jQuery.trim(text);
	$('div#comment_'+id).html(text);
	$('span#edit_'+id).html('<a href="javascript:edit('+id+','+del+');" id="'+id+'" class="edit">ред.</a>');
}

function save(id,del) {
	del = (typeof del != 'undefined' ? del : false);

	$('span#edit_'+id).html('<img src="/templates/themes/default/css/images/ajax-loader.gif"/>');

	$.post("/comments/ajax/"+id, { text: $('textarea#comment_'+id).val() }, function(msg) {
		cancel(id,del);
		$('div#comment_'+id).html(msg);
		$.jGrowl("Изменения сохранены", { header: 'Внимание!',theme:  'ok'});
	});
}

function del(id) {
	if (!confirm('Будет удален этот комментарий и вся ветка, начинающаяся здесь. Продолжить?'))
		return;

	$('span#edit_'+id).html('<img src="/templates/themes/default/css/images/ajax-loader.gif"/>');

	$.post("/comments/delete/"+id, { text: $('textarea#comment_'+id).val() }, function(msg){
		cancel(id);
		$('div#comment_'+id).parent().parent().html(msg);
		$.jGrowl("Комментарий удален", { header: 'Внимание!',theme:  'ok'});
	});
}

function edit(id, del){
	del = (typeof del != 'undefined' ? del : false);

	showEditArea();
	showToolbar();

	function showEditArea() {
		var html = $('div#comment_'+id).html();
		html = jQuery.trim(html).replace(/<br\s*?\/?>/gi, "");
		$('div#comment_'+id).html('<textarea rows="4" id="comment_'+id+'" style="width:100%;">'+html+'</textarea>');
	}
	function showToolbar() {
		html = '<a href="javascript:save('+id+','+del+');" class="edit_end">принять</a> <a href="javascript:cancel('+id+','+del+');" class="edit_cancel">отменить</a>';
		if (del)
			html += ' <a href="javascript:del('+id+');" class="edit_delete">удалить</a>';
		$('span#edit_'+id).html(html);
	}
}

$(function(){	
	$(".reply").click(function() {
		var idComment = $(this).attr('id'),
			idCurrentComment = $("#lvl").val(),
			divCurrentForm = $('.reply_'+idCurrentComment),
			divNextForm = $('.reply_'+idComment);

		if (idCurrentComment === idComment){
			divCurrentForm.toggle('slow');
			return;
		}

		if (divCurrentForm.is(':hidden'))
			divCurrentForm.toggle('slow');

		divNextForm.css('display','none')
			.html(divCurrentForm.html())
			.toggle('slow');

		divCurrentForm.html('');
		$("#lvl").val(idComment);
	});

	$("a.c_is_voted").click(function(){
		$.jGrowl("Вы уже голосовали за этот комментарий", {
			header: 'Внимание!',
			theme: 'error'
		});
	});

	$("a.c_is_your").click(function(){
		$.jGrowl("Вы не можете голосовать за свой комментарий", {
			header: 'Внимание!',
			theme: 'error'
		});
	});

	function send(){
		if ($("#c_text").val() == ""){
			$.jGrowl("Вы еще ничего не написали", { header: 'Внимание!',theme:  'error'});
		}else { document.F.submit();}
	}

	$(".reply_no").click(function(){
		$.jGrowl("Только авторизованные пользователи могут оставлять комментарии", { header: 'Внимание!',theme:  'error'});
	});
});

function c_vote(id, type) {
	var the_id = id; 

	var a = $('a#c'+the_id);
	var a_pid = a.parent();
	var vote_field = $("#c_vote"+the_id);
	
	vote_field.html("<img src='/templates/themes/default/css/images/ajax-loader.gif'/>");
	a_pid.find("img#up").attr('src','/templates/themes/default/css/images/up_no.png');
	a_pid.find("img#down").attr('src','/templates/themes/default/css/images/down_no.png');
	a_pid.find("a.c_vote_down a.c_vote_up").remove();
	
	vote_field.parent().append("<img src='/templates/themes/default/css/images/up_no.png'> ");
	vote_field.parent().append("<img src='/templates/themes/default/css/images/down_no.png'>");
	
	$.ajax({
		type: "POST",
		url: "/voting/comment/"+type+"/"+the_id,
		success: function(msg){
			vote_field.html(msg);
		}
	});

	$.jGrowl("Ваш голос учтен.", { header: 'Спасибо!', theme: 'ok'});
}

function send() {
	if ($("#c_text").val() == ""){
		$.jGrowl("Вы еще ничего не написали", { header: 'Внимание!',theme:  'error'});
		return;
	}

	document.F.submit();
}

function getFilter(el){
	$('#comments div.comment').addClass('hidden');

	$('#user_list input:checked').each(function() {
		$('#comments').find('.comment[data-user=' + this.value + ']').removeClass('hidden');
	});
}


