
$(document).ready(function(){
	//global vars
	var form = $("#OrderAkk");
	var form1 = $("#editForm");
	var form2 = $("#PasswordForm");
	var form3 = $("#authForm");	
	var form4 = $("#Newsletters");
	var form5 = $("#OrderForm");
	var form6 = $("#OrderContact");
	var form7 = $("#VoteForm");
	var name = $("#user_name_reg");
	var email = $("#user_email_reg");
	var message = $("#message");
	var surname = $("#user_surname_reg");
	var smi = $("#user_smi_typ");
	var smititle = $("#user_smi_title");
	var position = $("#user_position");
	var web = $("#user_web");
	var phone = $("#user_phone_reg");
	var agree = $("#agree");
	var pass1 = $("#user_pass_reg");
	var captcha = $("#p_captcha");	
	var pass2 = $("#user_pass1_reg");
	var passold = $("#user_passold_reg");
   var captcha_keystring = $("#captcha_keystring");
	
	//On blur
	name.blur(validateName);
	surname.blur(validateSurname);
	smi.blur(validateSmi);
	smititle.blur(validateSmiType);
	position.blur(validatePosition);
	web.blur(validateWeb);
	email.blur(validateEmail);
	phone.blur(validatePhone);
	captcha.blur(validateCaptcha);
	pass1.blur(validatePass1);
	pass2.blur(validatePass2);
	passold.blur(validatePass3);
	//On key press
	name.keyup(validateName);
	phone.keyup(validatePhone);
	captcha.keyup(validateCaptcha);
	pass1.keyup(validatePass1);	
	pass2.keyup(validatePass2);
	passold.keyup(validatePass3);


	//On Submitting
	form.submit(function(){
		if(validateName() & validateSurname() & validateSmi()  & validateSmiType()& validatePosition()& validateWeb()  & validatePhone() & validateEmail() &  validateCaptcha())
			return true
		else
			return false;
	});
	
	form1.submit(function(){
		if(validateName() & validateSurname() & validateCity() & validatePhone())
			return true
		else
			return false;
	});
	
	
		form2.submit(function(){
		if(validatePass1() & validatePass2() & validatePass3())
			return true
		else
			return false;
	});
	
	
		form3.submit(function(){
		if(validatePass3() & validateEmail())
			return true
		else
			return false;
	});
			form4.submit(function(){
		if(validateEmail())
			return true
		else
			return false;
	});
	
	
		form5.submit(function(){
		if(validateMessage())
			return true
		else
			return false;
	});
			
			form6.submit(function(){
		if(validateMessage()& validateEmail()& validateCaptcha())
			return true
		else
			return false;
	});
			
			form7.submit(function(){
		if(validateCaptcha()& validateEmail() & validateAgree())
			return true
		else
			return false;
	});
			
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#user_email_reg").val();
		
		var filter = /^[a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*/;
		//if it's valid email
		if(filter.test(a)){
			email.removeClass("error");		
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");			
			return false;
		}
	}
	function validateName(){
		//if it's NOT valid
		if(name.val().length < 4){
			name.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			name.removeClass("error");					
			return true;
		}
	}
	

	
	function validateSurname(){
		//if it's NOT valid
		if(surname.val().length < 4){
			surname.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			surname.removeClass("error");					
			return true;
		}
	}
	
	
	
		function validateSurname(){
		//if it's NOT valid
		if(surname.val().length < 4){
			surname.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			surname.removeClass("error");					
			return true;
		}
	}
	
	function validateCaptcha(){
			
		//are NOT valid
			if(captcha.val().length < 6){
			captcha.addClass("error");	
			return false;
		}
		
		
		else{
			captcha.removeClass("error");					
			return true;
		}
	}
	
	
	function validatePhone(){
		//if it's NOT valid
		if(phone.val().length < 11){
			phone.addClass("error");				
			return false;
		}
		//if it's valid
		else{
			phone.removeClass("error");					
			return true;
		}
	}
	
	
	function validateAgree(){
		//if it's NOT valid
		if( document.VoteForm.agree.checked == false ){
			 alert ( "Вы не согласились с условиями голосования!" );						
			return false;
		}
		//if it's valid
		else{
			agree.removeClass("error");					
			return true;
		}
	}
	
	
		function validateSmi(){
		//if it's NOT valid
		if(smi.val().length < 2){
			smi.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			smi.removeClass("error");					
			return true;
		}
	}
	
	
		function validateSmiType(){
		//if it's NOT valid
		if(smititle.val().length < 2){
			smititle.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			smititle.removeClass("error");					
			return true;
		}
	}
	
			function validatePosition(){
		//if it's NOT valid
		if(position.val().length < 2){
			position.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			position.removeClass("error");					
			return true;
		}
	}
	
	function validateWeb(){
		//testing regular expression
		var a = $("#user_web").val();
		
		var filter = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
		//if it's valid url
		if(filter.test(a)){
			web.removeClass("error");		
			return true;
		}
		//if it's NOT valid
		else{
			web.addClass("error");			
			return false;
		}
	}
	
		function validateMessage(){
		//if it's NOT valid
		if(message.val().length < 2){
			message.addClass("error");				
			return false;
		}
		//if it's valid
		else{
			message.removeClass("error");					
			return true;
		}
	}
	
	
	
		function validatePass3(){
		//if it's NOT valid
		if(passold.val().length < 6){
			passold.addClass("error");	
			
			return false;
		}
		//if it's valid
		else{
			passold.removeClass("error");					
			return true;
		}
	}
	
	
	function validatePass1(){
		var a = $("#user_pass1_reg");
		var b = $("#user_pass_reg");

		//it's NOT valid
		if(pass1.val().length <6){
			pass1.addClass("error");
				return false;
		}
		//it's valid
		else{			
			pass1.removeClass("error");		
			validatePass2();
			return true;
		}
	}
	function validatePass2(){
	
		//are NOT valid
		if( pass1.val() != pass2.val() ){
			pass2.addClass("error");		
			return false;
		}
		//are valid
		else{
			pass2.removeClass("error");		
			return true;
		}
	}
	

	
	
});


