
function onAddCommentSubmit( uid ){
	var obj_class 	= $(".form_"+uid+" .object_class").val();
	var obj_id 		= $(".form_"+uid+" .object_id").val();
	var body 		= $(".form_"+uid+" .body").val();
	var code 		= $(".form_"+uid+" .code").val();
	var image_id 	= $(".form_"+uid+" .image_id").val();
	var limit 		= $(".form_"+uid+" .limit").val();
	var sort 		= $(".form_"+uid+" .sort").val();
	var last_id		= $(".form_"+uid+" .last_id").val();
	var default_block = 'last_comments';
		
	if( !obj_class || !obj_id || !image_id){
		showErrors(uid, 'Ошибка! Обновите страницу.');
	}
	if ( !body || body=='' ) {
		showErrors(uid, 'Вы забыли написать комментарий.');
	}
	if ( (/^\s+$/).test(body) ) {
		showErrors(uid, 'Комментарий не может состоять из пробелов.');
	}
	if ( !code ) {
		showErrors(uid, 'Не указан защитный код.');
	}
	if( $('div#last_comments').css('display') == 'none' ){
		limit = 0;
		sort = 0;
		default_block = 'all_comments';
	}
	
	if(obj_class && obj_id && body && code){
		$(".form_"+uid+" .error-message").hide();
		$(".form_"+uid+" .error-message").empty('');
		
		$(".form_"+uid+" :input").attr("disabled", true);
		CursorView('progress');
		
		$.getJSON(
			'/comments/add.html',
			{
				'body':body,
				'object_class':obj_class,
				'object_id':obj_id,
				'code':code,
				'image_id':image_id,
				'limit': limit,
				'sort': sort,
				'clast_id': last_id
			},
			function(data,textStatus){
				$(".form_"+uid+" :input").removeAttr("disabled", "");
				CursorView();
				
				if(textStatus != 'success'){
					showErrors(uid, 'Ошибка! Обновите страницу.');
					return false;
				}
				
				var msg = data['msg'];
				var img_code = data['img_code'];
				var status = data['status'];
				if(status=='success'){
					$(".form_"+uid+" .last_id").attr('value', data['clast_id']);
					if(default_block == 'last_comments'){
						$('div#'+default_block).empty();
					}
					if( data['comments_count'] > limit && $('div#show_ac_link').css('display') == 'none' ){
						$('div#show_ac_link').show();
					}
					if( data['comments_count'] && $('div#showStat').css('display') != 'none' ){
						showStat('', 1);
					}
					generateComments(data, default_block);
					updateCaptcha(img_code, 'comment_image_id', 'comment_captcha');
					$(".form_"+uid+" .body").val('');
					$(".form_"+uid+" .code").val('');
				} else {
					showErrors(uid, msg);
					updateCaptcha(img_code, 'comment_image_id', 'comment_captcha');
					$(".form_"+uid+" .code").val('');
				}
			}
		);
	}
	return false;
}

function showErrors( uid, msg ){
	var html = $(".form_"+uid+" .error-message").html();
	$(".form_"+uid+" .error-message").show();
	$(".form_"+uid+" .error-message").html(html+msg+'<br />');
}

function get_comments(block, uid, limit, sort, clear){
	var obj_class 	= $(".form_"+uid+" .object_class").val();
	var obj_id 		= $(".form_"+uid+" .object_id").val();
	var now 		= new Date();
	
	CursorView('progress');
	
	$.getJSON(
		'/comments/list_comments.html',
		{
			'object_class': obj_class,
			'object_id': obj_id,
			'limit': limit,
			'sort': sort,
			'time': now.toString()
		},
		function(data,textStatus){
			CursorView();
			
			if(textStatus != 'success'){
				showStat('Ошибка при загрузки комментариев');
			}
			if( !clear ){
				showBlock(block);
			}
			if( clear ) {
				$('div#'+block).html('');
			}
			generateComments(data, block);
		}
	);
	return false;
}
	
function showBlock(block){
	if(block == 'all_comments'){
		$('a#up_last_comments').show();
		$('a#down_last_comments').show();
		$('div#all_comments').show();
		$('div#show_stat').empty();
		$('div#last_comments').empty();
		$('div#all_comments').empty();
		$('div#last_comments').hide();
		$('a#show_acu_switch').html('обновить');
		$('a#show_acd_switch').show();
	} else {
		$('a#up_last_comments').hide();
		$('a#down_last_comments').hide();
		$('div#all_comments').hide();
		$('div#all_comments').empty();
		$('div#last_comments').show();
		$('a#show_acu_switch').html('показать все');
		$('a#show_acd_switch').hide();
	}
}
	
function showStat(stat, clear){
	var str;
	if(clear){
		$( 'div#show_stat' ).hide();
		$( 'div#show_stat' ).empty();
		return false;
	}
	$('div#show_stat').show();
	$('div#show_stat').html(stat);
}