$(document).ready(function(){
	//global vars
	var form = $("#form1");
	var Name = $("#txtName");
	var NameInfo = $("#NameInfo");
	var Address = $("#txtAddress");
	var AddressInfo = $("#AddressInfo");
	var Telephone = $("#txtNumber");
	var NumberInfo = $("#NumberInfo");
	
	//On blur
	Name.blur(validateName);
	Address.blur(validateEmail);
	Telephone.blur(validatePhone);
	//On key press
	Name.keyup(validateName);
	Telephone.keyup(validatePhone);

	//On Submitting
	form.submit(function(){
		if(validateName() & validateEmail() & validatePhone())
			return true
		else
			return false;
	});
	
	//validation functions
	function validateEmail(){
		//testing regular expression
		var a = $("#txtAddress").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 email
		if(filter.test(a)){
			Address.removeClass("error");
			AddressInfo.text("");
			AddressInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			Address.addClass("error");
			AddressInfo.text("Please enter a valid e-mail address");
			AddressInfo.addClass("error");
			return false;
		}
	}
	function validateName(){
		//if it's NOT valid
		if(Name.val().length < 4){
			Name.addClass("error");
			NameInfo.text("Please enter a name with more than 3 letters");
			NameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Name.removeClass("error");
			NameInfo.text("");
			NameInfo.removeClass("error");
			return true;
		}
	}
	function validatePhone(){
		//if it's NOT valid
		if(Telephone.val().length < 4){
			Telephone.addClass("error");
			NumberInfo.text("Please enter a phone number with more than 3 numbers");
			NumberInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			Telephone.removeClass("error");
			NumberInfo.text("");
			NumberInfo.removeClass("error");
			return true;
		}
	}
	
});
