var error_mess_comment_text = 'Вы не написали текст сообщения.';
var server_file = '/ajax_request/';
$(document).ready(function(){

	$('#user_email_comments').blur( function(){
			autoreg_check_user_email($(this).val(), 'user_email_comments', 'comments');
	});
	
	$('#mess').blur( function(){
		if (check_field($(this)))
			$('#error_mess_mess').show().html(error_mess_comment_text);
		else
		{
			$('#error_mess_mess').hide().html('');
			error_red_disable($(this));
		}
	});
	
	$('#pass_user_email_comments').blur( function(){
	
		var email = jQuery.trim($('#user_email_comments').val());
		var pass = jQuery.trim($(this).val());
		
		$('#error_mess_user_email_comments').hide().html('');
		error_red_disable($(this));

		if (check_field($(this)))
			$('#error_mess_user_email_comments').show().html(error_mess_pass_user_email);
		else
		{
			var user_check = check_user_by_email_and_pass (email, pass);
			if (user_check == 1) {
				$('#error_mess_user_email_comments').show().html(error_mess_login_pass);
			}
			else if (user_check == 2)
			{
				$('#error_mess_user_email_comments').show().html(error_mess_not_active.replace(/user_email/, email).replace(/link_id/, 'send_reg_confirm_comments'));
			}
		}
	});
	
	jQuery.listen('click', '#send_reg_confirm_comments', function() {
		var mess_block = $('#error_mess_user_email_comments');
		var mail = $('#user_email_comments').val();
		autoreg_mail_confirm (mess_block, mail);
		return false;
	});

	jQuery.listen('click', '#send_reg_confirm_comments_mess', function() {
		var mess_block = $('#send_reg_confirm_comments_block');
		var mail = $('#user_email_comments').val();
		autoreg_mail_confirm (mess_block, mail);
		return false;
	});
	
	$('#name_user_email_comments').blur( function(){
		if (check_field($(this)))
			$('#error_mess_user_email_comments').show().html(error_mess_user_email_2);
		else 
		{
			$('#error_mess_user_email_comments').hide().html('');
			error_red_disable($(this));
		}
	});
	
	jQuery.listen( 'mouseup', '#add_comment', function(){
		add_comment ($(this), 'new');
		return false;
	});
	
	$('#check_agreement_user_email_comments').click( function(){
		if($(this).attr("checked") == false) $('#error_mess_agreement_check_agreement_user_email_comments').show()
		else $('#error_mess_agreement_check_agreement_user_email_comments').hide()
	});
	
	jQuery.listen( 'click', '.delete_comment_ajax', function(){
		delete_comment (this);
		return false;
	});
	

	function delete_comment (obj) {
	
		var obj = obj;
		var comment_id = $(obj).attr('id');
		var atype = $('#atype').val();
		
		$.ajax({
				async: true,
				type: 'post',
				data: {
					delete_comment_id: comment_id,
					atype: atype,
					server_function: 'delete_comment',
					server_class: 'comments_v3'
					},
				url: server_file,
				success: function(data) {
					if (data == 1) {
					
						close_window ();
						
						var id_only = comment_id.replace("delete_comment_", "");
						$('#comment_'+id_only).fadeOut('slow');
					}
					else if (data == 3)
					{
						$('#window_text').html('Не возможно удалить комментарий.<br>Время удаления данного комментария истекло.<div style="padding-left: 90px; text-align: center; padding-top: 2em;"> <div class="button_v2" style="margin-left: 1.4em"><div class="button_resize_v2 button_options_v2"><a href="#" onclick="close_window (); return false;">OK</a></div><div class="cross_white_bg_v2 button_t_l_v2"></div> <div class="cross_white_bg_v2 button_t_r_v2"></div> <div class="cross_white_bg_v2 button_b_r_v2"></div> <div class="cross_white_bg_v2 button_b_l_v2"></div> </div></div>');
					}
					
				}
			});
	}
	
	function add_comment (but, type, comment_reply_id)
	{
		var but = but;
		var type = type;
		var comment_reply_id = comment_reply_id;
		
		var vars_arr = check_form_v3('comments');
		
		var vars = vars_arr['vars'];
		var objects = vars_arr['objects'];
		var error = vars_arr['error'];
		var error_objects = vars_arr['error_objects'];
		var error_type = vars_arr['error_type'];
		
		$('#error_mess_user_email_comments').hide().html('');
		
		if (error_objects['mess'] && error_type['mess'] == 'check_field') $('#error_mess_mess').show().html(error_mess_comment_text);
		
		if (error_objects['name_user_email_comments'] && error_type['name_user_email_comments'] == 'check_field') $('#error_mess_user_email_comments').show().html(error_mess_user_email_2);
		
		if (error_objects['user_email_comments'] && error_type['user_email_comments'] == 'check_field') $('#error_mess_user_email_comments').show().html(error_mess_user_email_2);
		if (error_objects['user_email_comments'] && error_type['user_email_comments'] == 'email_check') $('#error_mess_user_email_comments').show().html(error_mess_user_email_wrong_format);
		
		if (error_objects['pass_user_email_comments'] && error_type['pass_user_email_comments'] == 'check_field') $('#error_mess_user_email_comments').show().html(error_mess_pass_user_email);
		else if ($('#pass_user_email_comments').hasClass('comments'))
		{
			var user_check = check_user_by_email_and_pass (vars['user_email_comments'], vars['pass_user_email_comments']);
			if (user_check == 1) {
				$('#error_mess_user_email_comments').show().html(error_mess_login_pass);
				error = true;
			}
			else if (user_check == 2)
			{
				$('#error_mess_user_email_comments').show().html(error_mess_not_active.replace(/user_email/, vars['user_email_comments']).replace(/link_id/, 'send_reg_confirm_comments'));
				error = true;
			}
		}
		
		vars['parent_comment'] = comment_reply_id;
		
		if (error == 0) {
			
			loading_nice_form('show', 'comments');
			//loading_textarea ('show', objects['mess'].parent());
			
			$('.comments').attr("disabled",true);
			but.attr("disabled",true);
			
			$.ajax({
				async: true,
				type: 'post',
				data: {
					vars: vars,
					server_function: 'add_comment',
					server_class: 'comments_v3'
					},
				url: server_file,
				dataType: 'json',
				success: function(data) {

					loading_nice_form('hide', 'comments');

					if (data['error'] == false)
					{
						$(data['msg']).appendTo('#comments_list').fadeIn(400);

						objects['mess'].addClass('gr');
						objects['mess'].val(objects['mess'].next().val());
						objects['mess'].height('');
						
						if (type == 'reply') {
							cancel_reply_button ();
						}
						
						if (data['new_form']) $('#comment_form_block').html(data['new_form']);
						$('#count_comments').val(data['count_comments']);
						
						$('#name_block_user_email_comments').hide();
						$('#name_user_email_comments').val('');
						
						$('#pass_block_user_email_comments').show();
						$('#pass_user_email_comments').val('').next().show();
						
						if (data['new_form']) $('#comment_form_block').html(data['new_form']);
						$('#count_comments').val(data['count_comments']);

					}
					else
					{
						var return_error_mess = '';
						jQuery.each(data['error_field'], function(i, field) {
							return_error_mess = return_error_mess+field
						});
						
						$('#error_mess_user_email_comments').show().html(return_error_mess);
					
					}
					$('.comments').attr("disabled",false);
					but.attr("disabled",false);
					//loading_textarea ('hide');
				}
			});
			
		}
		
	}
	
	function cancel_reply_button () {
		var comment_form = $("#comment_form");
		$(comment_form).hide();
		$("#comments_list").after(comment_form.slideDown(200));
		$('#cancel_reply').hide();
		$('#add_comment_reply').hide();
		$('#add_comment').show();
	}
	
	jQuery.listen( 'click', '.reply', function(){
		var comment_form = $("#comment_form");
		comment_form.hide();
		comment_form.appendTo($(this).parents().eq(4)).slideDown(200);
		$('#cancel_reply').show();
		$('#add_comment').hide();
		$('#add_comment_reply').show();
		return false;
	});
	
	jQuery.listen( 'click', '#cancel_reply_button', function(){
		cancel_reply_button ();
		return false;	
	});
	
	function cancel_reply_button () {
		var comment_form = $("#comment_form");
		$(comment_form).hide();		
		$("#comments_list").after(comment_form.slideDown(200));
		$('#cancel_reply').hide();
		$('#add_comment_reply').hide();
		$('#add_comment').show();
	}
	
	jQuery.listen( 'mouseup', '#add_comment_reply', function(){
		var comment_reply_id = $('#comment_form').prev().attr('id');
		add_comment ($(this), 'reply', comment_reply_id);
		return false;
	});
	
	jQuery.listen( 'click', '.comment_spam', function(){

			var link = $(this);
			var id = $(this).attr('id').replace("spam_", "");
			
			$.ajax({
				async: true,
				type: 'post',
				data: {
					id: id,
					server_function: 'comment_spam',
					server_class: 'comments_v3'
					},
				url: server_file,
				success: function(data) {
						if (data !== false) {
						link.parent().html('<span class="comment_spam gr">Пожаловаться на спам</span>'); }
					}
			});
			
			return false;
	});
	
});

function close_window () {
	var d = document.getElementById('modal_window');
	d.parentNode.removeChild(d);
}

function modal_window_delete (id) {
	var id = id;
	var modal_window_block = document.getElementById('modal_window_block');
	var wind = '<div class="modal_window" id="modal_window"><div class="window_bg"></div><div class="window"><div class="window_content_block" id="window_text">Вы уверены что хотите удалить этот комментарий?<br><div style="padding-left: 90px; text-align: center; padding-top: 2em;"> <div class="button_v2"><div class="button_resize_v2 button_options_v2"><a href="http://okna.ua/calc.php?id_price=610" class="delete_comment_ajax" id="delete_comment_'+id+'">Удалить</a></div><div class="cross_white_bg_v2 button_t_l_v2"></div> <div class="cross_white_bg_v2 button_t_r_v2"></div> <div class="cross_white_bg_v2 button_b_r_v2"></div> <div class="cross_white_bg_v2 button_b_l_v2"></div> </div><div class="button_v2" style="margin-left: 1.4em"><div class="button_resize_v2 button_options_v2"><a href="http://okna.ua/calc.php?id_price=610" onClick="close_window (); return false;">Отмена</a></div><div class="cross_white_bg_v2 button_t_l_v2"></div> <div class="cross_white_bg_v2 button_t_r_v2"></div> <div class="cross_white_bg_v2 button_b_r_v2"></div> <div class="cross_white_bg_v2 button_b_l_v2"></div> </div></div></div></div></div>';
	modal_window_block.innerHTML = wind;
	return false;
}
