jQuery(document).ready
(
	function()
	{
	
		$(".buttons_card").mouseover(function(){$(this).css("color","#557FFF");})	
		$(".buttons_card").mouseout(function(){$(this).css("color","#000000");$(this).css("border-color","#a4a4a4");})
		$(".buttons_card").mousedown(function(){$(this).css("color","#0055FF");$(this).css("border-color","#0055FF");})
		$(".buttons_card").mouseup(function(){$(this).css("color","#557FFF");$(this).css("border-color","#a4a4a4");})
		
		
		function blockForm(formName,text)
		{
			$('#'+formName).block({ 
			message: '<strong>'+text+'</strong>', 
			css: { border: '1px solid #AAAAFF' },
			overlayCSS:  {backgroundColor: '#C3C3C3', opacity:0.6}
			});
		}

		function unblockForm(formName)
		{
			$('#'+formName).unblock();
		}
		
		function ClearFields()
		{
			$("#EnterForm #user_pass").clearFields();
			$("#EnterForm #user_login").clearFields();			
		}
		
		function goodEnter()
		{						
			
			//alert("щас покажу форму выхода");
			//$("#EnterForm").remove();
			ClearFields();
			$("#EnterForm").css("display","none");;
			$("#ExitForm").css("display","block");
			$("#loading_enter").css("display","none");
			//$("#load_good").css("display","block");
			window.location.reload(true);						
		}
		
		//ClearFields();
		
		function goodExit()
		{						
			
			//alert("щас покажу форму выхода");
			$("#ExitForm").css("display","none");
			$("#EnterForm").css("display","block");
			
			$("#loading_enter").css("display","none");
			//$("#load_good").css("display","block");
			window.location.reload(true);							
		}
		
		function errorLoadEnter()
		{						
			$("#EnterForm").remove();			
			$("#loading_enter").css("display","none");
			//$("#load_error").css("display","block");		
		}
		
		function errorLoadExit()
		{						
			$("#ExitForm").remove();			
			$("#loading_enter").css("display","none");
			//$("#load_error").css("display","block");			
		}
		
		jQuery.validator.addMethod("check_login_pass", function(user_login_pass, element)
		{	
		return user_login_pass.match(/^[a-zA-Z0-9][a-zA-Z0-9\-\_]{2,18}$/);
		}, "Поле заполнено не корректно."
		);
		
		$("#EnterForm").validate({
	  	submitHandler: function(form) {
	  	//alert("Нажали ");
   	    $(form).ajaxSubmit(options);
	    },
	    onkeyup: false,
	    focusInvalid: false,
	    focusCleanup: true,
	  	rules: 
			{			
			user_login: {required: true, minlength: 3, maxlength: 20, check_login_pass: true},			
			user_pass: {required: true, minlength: 3, maxlength: 20, check_login_pass: true}
			},
	    messages: 
			{
				user_login:
				{					
			        required: "Не заполнено поле 'Логин'<br>",			        
			        minlength: "Длина поля 'Логин' от 3 символов<br>",
			        maxlength: "Длина поля 'Логин' до 20 символов<br>"								        
				},
				user_pass:
				{
					required: "Не заполнено поле 'Пароль'<br>",
					minlength: "Длина поляя 'Пароль' от 3 символов<br>",
					maxlength: "Длина 'Пароль' до 20 символов<br>"
				}
			},						
	    errorPlacement: function(error, element) 
			{
			  
		      var er = element.attr("name");
		      //alert(er);
		      //$("#EnterForm").find("#error"+er).css("display","block");
		      //$("#info_enter").css("display","none");
		      //$("#RegistrationForm").find("#error"+er).text("");
		      //error.appendTo($("#EnterForm").find("#error"+er));			  	     	  
			}
		});	 
					
		var options = { 
	    //target: "#output",
	    method: "POST",
	    datatype: "json",
	    beforeSubmit: function ()
					{				
					//alert("Перед передачей");
					
					blockForm("EnterForm",'<strong>Проверка...</strong>');									
					}, // функция, вызываемая перед передачей
		requestHeaders: [ 'Cookie', document.cookie ],
		beforeSend: function ()
					{
					//alert("Перед отправкой данных");									
					}, 
	    success: function (dataResult,textstatus)
					{
					unblockForm("EnterForm");
					//alert("test");				
					//alert(dataResult);
					dataResult=eval('(' + dataResult + ')');
					errorView(dataResult);												
					}, // функция, вызываемая при получении ответаerrorView
	    notsuccess: errorLoadEnter,
	    timeout: 5000 // тайм-аут
	  };
	  
	  $("#ExitForm").validate({
	  	submitHandler: function(form) {
   	    $(form).ajaxSubmit(options_2);
	    }
		});	 
					
		var options_2 = { 
	    //target: "#output",
	    method: "POST",
	    datatype: "json",
	    beforeSubmit: function ()
					{				
					//alert("Перед передачей");
					
					 blockForm("ExitForm",'<strong>Выход...</strong>');
														
					}, // функция, вызываемая перед передачей
		beforeSend: function ()
					{
				 	//$("#loading_enter").css("display","block");
					//alert("Перед отправкой данных");									
					}, 
	    success: function (dataResult,textstatus)
					{
					unblockForm("ExitForm");
					//$("#loading_enter").css("display","none");					
					//alert(dataResult);
					dataResult=eval('(' + dataResult + ')');
					errorView_2(dataResult);												
					}, // функция, вызываемая при получении ответаerrorView
	    notsuccess: errorLoadExit,
	    timeout: 5000 // тайм-аут
	  };
	  
		$("#user_login").focus(function()
			{							
				$("#error_enter").text("");				
			}
		)

		$(".button_enter").click
	  	(
		  	function()
		    {
		    //alert("Вход");
			$("#EnterForm").submit(); 
	    	return false;
			}
	  	)
	  	
	  	$(".button_exit").click
	  	(
		  	function()
		    {
		    //alert("Выход");
			$("#ExitForm").submit(); 
	    	return false;
			}
	  	)
	  	
	function errorView(dataArray)
	{jQuery.each(dataArray, function()
		{			
			var elName = this.value;
			var elText = this.error_text;
			//alert(elName);
			//alert(elText);
			if((elName!="") && (elName!="final_result") && (elName!="user_login"))
		    {		
		    	$("#info_enter").css("display","none");
				$("#"+elName).css("display","block");
				$("#"+elName).html(elText);						
		    }
		    if(elName=="user_login")
		    {$("#label_user_login").text(elText);}
								    					   		    
		    if((elName=="final_result") && (elText!="false"))
		    {goodEnter();}
	    }
	);}
	
	function errorView_2(dataArray)
	{jQuery.each(dataArray, function()
		{			
			var elName = this.value;
			var elText = this.error_text;
					    					   		    
		    if((elName=="final_result") && (elText!="false"))
		    {goodExit();}
	    }
	);}
				
	}	
);
