$(function(){
	$('.txpCommentInputMessage').autogrow({
		maxHeight: 200,
		minHeight: 85,
		lineHeight: 20
	});
	
	$('#txpCommentSubmit').click(function(){
		var $data = $(':input, :checkbox, :hidden', '#comments-wrapper').serialize();
		var $form = $('#CommentsForm');
		var $errors = $('#CommentsError');
		var $overlay;
		var $wait;
		
		$.ajax({
			url: '/',
			type: 'post',
			dataType: 'json',
			data: $data,
			beforeSend: function(){
				$errors.text('').hide();
				$overlay = $('<div class="ajax-overlay"></div>').appendTo('#CommentForm');
				$wait = $('<div class="ajax-background"></div>').appendTo($overlay);
				$loader = $('<div class="ajax-wait"></div>').appendTo($overlay);
			},
			success: function($ret, $status){
				$overlay.remove();
				$wait.remove();
				
				if(!$ret.errors) {
					if($ret.status == 'OK'){
						if($("#Comments ul").length == 0) {
							$('<div id="Comments"><h2><img class="icon icomment" src="/img/0.gif"/>Комментарии:</h2>							<ol></ol></div>').insertBefore($form);
						}
						var $preview = $('<li></li>').appendTo('#Comments ol').hide();
						$preview.html($ret.html).slideDown(1000);
						$form.slideUp(1000);
					}
				} else {
					
					$.each($ret.error_msg, function(i, el){
						$('<p></p>').text(el).appendTo($errors);
					});	
					$errors.show('shake', {direction: 'up', duration: 140});
					
					if($ret.errors.name) {
						$('#name', $form).addClass('error');
					}
					if($ret.errors.email) {
						$('#email', $form).addClass('error');
					}
					if($ret.errors.message) {
						$('#message', $form).addClass('error');
					}					
				}
			}
		});
		return false;
	});
});