$(document).ready(function(){
	//global vars
	var form = $("#customForm");
	var FName = $("#FName");
	var FNameInfo = $("#FNameInfo");
	var LName = $("#LName");
	var LNameInfo = $("#LNameInfo");
	var Address = $("#Address");
	var AddressInfo = $("#AddressInfo");
	var City = $("#City");
	var CityInfo = $("#CityInfo");
	var State = $("#State");
	var StateInfo = $("#StateInfo");
	var ZCode = $("#ZCode");
	var ZCodeInfo = $("#ZCodeInfo");
	var Make = $("#Make");
	var MakeInfo = $("#MakeInfo");
	var Model = $("#Model");
	var ModelInfo = $("#ModelInfo");
	var Year = $("#Year");
	var YearInfo = $("#YearInfo");
	var Eaddress = $("#Eaddress");
	var EaddressInfo = $("#EaddressInfo");
	
	//On blur
	FName.blur(validateFName);
	LName.blur(validateLName);
	Address.blur(validateAddress);
	City.blur(validateCity);
	State.blur(validateState);
	ZCode.blur(validateZCode);
	Make.blur(validateMake);
	Model.blur(validateModel);
	Year.blur(validateYear);
	Eaddress.blur(validateEaddress);
	//On key press
	FName.keyup(validateFName);
	LName.keyup(validateLName);
	Address.keyup(validateAddress);
	City.keyup(validateCity);
	State.keyup(validateState);
	ZCode.keyup(validateZCode);
	Make.keyup(validateMake);
	Model.keyup(validateModel);
	Year.keyup(validateYear);
	//On Submitting
	form.submit(function(){
		if(validateFName() & validateLName() & validateAddress() & validateCity() & validateState() & validateZCode() & validateMake() & validateModel() & validateYear() & validateEaddress())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEaddress(){
		//testing regular expression
		var a = $("#Eaddress").val();
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if it's valid Eaddress
		if(filter.test(a)){
			Eaddress.removeClass("error");
			EaddressInfo.text("*");
			EaddressInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			Eaddress.addClass("error");
			EaddressInfo.text("* Valid E-mail please!");
			EaddressInfo.addClass("error");
			return false;
		}
	}
	function validateFName(){
		//if it's NOT valid
		if(FName.val().length < 4){
			FName.addClass("error");
			FNameInfo.text("* We want first names with more than 3 letters!");
			FNameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			FName.removeClass("error");
			FNameInfo.text("*");
			FNameInfo.removeClass("error");
			return true;
		}
	}
	function validateLName(){
		//if it's NOT valid
		if(LName.val().length < 4){
			LName.addClass("error");
			LNameInfo.text("* We want last names with more than 3 letters!");
			LNameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			LName.removeClass("error");
			LNameInfo.text("*");
			LNameInfo.removeClass("error");
			return true;
		}
	}
	function validateAddress(){
		//if it's NOT valid
		if(Address.val().length < 5){
			Address.addClass("error");
			AddressInfo.text("* We want Address with more than 5 characters!");
			AddressInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Address.removeClass("error");
			AddressInfo.text("*");
			AddressInfo.removeClass("error");
			return true;
		}
	}
	function validateCity(){
		//if it's NOT valid
		if(City.val().length < 4){
			City.addClass("error");
			CityInfo.text("* We want City with more than 3 characters!");
			CityInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			City.removeClass("error");
			CityInfo.text("*");
			CityInfo.removeClass("error");
			return true;
		}
	}
	function validateState(){
		//if it's NOT valid
		if(State.val().length < 2){
			State.addClass("error");
			StateInfo.text("* Select State!");
			StateInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			State.removeClass("error");
			StateInfo.text("* State");
			StateInfo.removeClass("error");
			return true;
		}
	}
	function validateZCode(){
		//if it's NOT valid
		if(ZCode.val().length < 5){
			ZCode.addClass("error");
			ZCodeInfo.text("* Zip Code must have more than 3 digits!");
			ZCodeInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			ZCode.removeClass("error");
			ZCodeInfo.text("*");
			ZCodeInfo.removeClass("error");
			return true;
		}
	}
	function validateMake(){
		//if it's NOT valid
		if(Make.val().length < 2){
			Make.addClass("error");
			MakeInfo.text("* Select a Make!");
			MakeInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Make.removeClass("error");
			MakeInfo.text("* Make");
			MakeInfo.removeClass("error");
			return true;
		}
	}
	function validateModel(){
		//if it's NOT valid
		if(Model.val().length < 2){
			Model.addClass("error");
			ModelInfo.text("* Select a Model!");
			ModelInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Model.removeClass("error");
			ModelInfo.text("* Model");
			ModelInfo.removeClass("error");
			return true;
		}
	}
	function validateYear(){
		//if it's NOT valid
		if(Year.val().length < 2){
			Year.addClass("error");
			YearInfo.text("* Select a Year!");
			YearInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Year.removeClass("error");
			YearInfo.text("* Year");
			YearInfo.removeClass("error");
			return true;
		}
	}
});

   
