$(function(){
  
  $("div.popup-holder div.default-action span.dotted").bind("click", function(){
    var popup = $(this).closest('div.popup-holder');
    $("div.popup", popup).removeClass("hidden");
    if($(this).hasClass("enter")) $("div.action span.dotted.enter",popup).trigger("click");
    if($(this).hasClass("register")) $("div.action span.dotted.register",popup).trigger("click");

    $(document).bind("click.popup", function (e) {
        if ($(e.target).parents('div.popup-holder').length === 0) {
            $('.popup').addClass("hidden");
            $(document).unbind("click.popup");
        }
    });
  });

  $("div.popup div.action span.dotted").bind("click", function(){
    var popup = $(this).closest("div.popup");
    $("div.tab", popup).addClass("hidden");
    if($(this).hasClass("otherServices")){
      $("div.tab.otherServices", popup).removeClass("hidden");
    }
    if($(this).hasClass("register")){
      $("div.tab.register", popup).removeClass("hidden");
    }
    if($(this).hasClass("enter")){
      $("div.tab.enter", popup).removeClass("hidden");
    }
  });
  
  $('#complain-form').ajaxForm({
  	type: 'POST',
  	dataType: 'json',
  	beforeSerialize: function(form, opts)
  	{
	  	var userInfo = collectUserInfo();
	  	var info = "";
	  	info += "\nPlayerVersion: " + userInfo.playerVersion;
	  	info += "\nScreen: " + userInfo.screenWidth + "x" + userInfo.screenHeight;
	 	$('input[name=pageinfo]', form).val(info);
  	},
  	beforeSubmit: function(arr, form)
  	{
  		if(complainFormValid(form))
  		{	
  			$('input[type=submit]', form).attr('disabled', true);
  			$('.result', form).html('').hide();
  			$('.loader', form).removeClass('hidden');
  			return true;
  		}
  		return false;
	},
	success: function(response, status, x, form)
	{
		$('.loader', form).addClass('hidden');
		if(response.success)
		{
			$('.result', form).html("Письмо отправлено").show();
			setTimeout(function(){
				$('.result', form).hide();
				$('input[type=submit]', form).removeAttr('disabled');
				$('textarea', form).val("");
				$(document).trigger("click.popup");
			},2000);
		}
		else
		{
			$('.email_error', form).html("Введенный Email не существует").show();
			$('input[type=submit]', form).attr('disabled', false);
		}
	}
  });
});

function complainFormValid(form)
{
	var valid = true;
	var text = $('textarea', form).val();
	if (text.length == 0 || text == " ")
	{
		complainError('content', "Введите текст", form);
		valid = false;
	}
	else
	{
		clearComplainError('content', form);
	}
	
	var email = $('input[name=email]', form).val();
	if (email.length == 0)
	{
		complainError('email', "Введите email", form);
		valid = false;
	}
	else
	{
		if (!EmailChecker.check(email))
		{
			complainError('email', "Некорректный email", form);
			valid = false;
		}
		else
		{
			clearComplainError('email', form);
		}
	}
	return valid;
}

function complainError(field, message, form)
{
	$('.' + field + '_error', form).html(message).show();
	$('[name=' + field + ']', form).css({border: "1px inset #ff0000"});
}

function clearComplainError(field, form)
{
	$('.' + field + '_error', form).html('').hide();
	$('[name=' + field + ']', form).css({border: "1px inset #ccc"});
}
