/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credit please!					
/***************************/

$(document).ready(function(){
	//global vars
	var form = $("#customForm");
	var FirstName = $("#FirstName");
	var FirstNameInfo = $("#FirstNameInfo");
	var LastName = $("#LastName");
	var LastNameInfo = $("#LastNameInfo");
	var Company = $("#Company");
	var CompanyInfo = $("#CompanyInfo");
	var JobTitle = $("#JobTitle");
	var JobTitleInfo = $("#JobTitleInfo");	
	var Email = $("#Email");
	var EmailInfo = $("#emailInfo");
	
	//On blur
	FirstName.blur(validateFirstName);
	LastName.blur(validateFirstName);
	Company.blur(validateCompany);
	JobTitle.blur(validateJobTitle);
	Email.blur(validateEmail);
	//On key press
	FirstName.keyup(validateFirstName);
	LastName.keyup(validateLastName);
	Company.keyup(validateCompany);
	JobTitle.keyup(validateJobTitle);
	//On Submitting
	form.submit(function(){
		if(validateFirstName() & validateEmail() & validateLastName() & validateCompany() & validateJobTitle())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#Email").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]{1,4}$/;
		//if it's valid email
		if(filter.test(a)){
			Email.removeClass("error");
			EmailInfo.text("Please type a valid email address!");
			EmailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			Email.addClass("error");
			EmailInfo.text("Please type a valid email address!");
			EmailInfo.addClass("error");
			return false;
		}
	}
	function validateFirstName(){
		//if it's NOT valid
		if(FirstName.val().length < 3){
			FirstName.addClass("error");
			FirstNameInfo.text("We want names with more than 2 letters!");
			FirstNameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			FirstName.removeClass("error");
			FirstNameInfo.text("What's your name?");
			FirstNameInfo.removeClass("error");
			return true;
		}
	}
	function validateLastName(){
		//if it's NOT valid
		if(LastName.val().length < 3){
			LastName.addClass("error");
			LastNameInfo.text("We want names with more than 2 letters!");
			LastNameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			LastName.removeClass("error");
			LastNameInfo.text("What's your name?");
			LastNameInfo.removeClass("error");
			return true;
		}
	}
	function validateCompany(){
		//if it's NOT valid
		if(Company.val().length < 1){
			Company.addClass("error");
			CompanyInfo.text("We want names with more than 1 letter!");
			CompanyInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Company.removeClass("error");
			CompanyInfo.text("What's your company name?");
			CompanyInfo.removeClass("error");
			return true;
		}
	}
function validateJobTitle(){
		//if it's NOT valid
		if(JobTitle.val().length < 3){
			JobTitle.addClass("error");
			JobTitleInfo.text("We want titles with more than 2 letters!");
			JobTitleInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			JobTitle.removeClass("error");
			JobTitleInfo.text("What's your Job Title?");
			JobTitleInfo.removeClass("error");
			return true;
		}
	}
});