/***************************/
//@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 credits please!					
/***************************/

$(document).ready(function(){
	//global vars
	var form = $("#request");
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	var address = $("#address");
 	var addressInfo = $("#addressInfo");
 	
	//On blur 
 	name.blur(validateName);
  	email.blur(validateEmail);
 	address.blur(validateAddress);
  	//On key press
	name.keyup(validateName);
 	email.keyup(validateEmail);
	address.keyup(validateAddress);
 	
	//On Submitting
					  
	form.submit(function(){
						 
		if(validateName() & validateEmail() &  validateAddress() )
			return true;
		else
			return false;
	});
	
	function validateAddress(){
		//if it's NOT valid
		if(address.val().length < 1){
			address.addClass("error");
			addressInfo.text("Please enter your Message !");
			addressInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			address.removeClass("error");
			addressInfo.text("");
			addressInfo.removeClass("error");
			return true;
		}
	} 
	
 	function validateName(){
		//if it's NOT valid
		if(name.val().length < 1){
			name.addClass("error");
			nameInfo.text("Please enter your  name !");
			nameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{
			name.removeClass("error");
			nameInfo.text("");
			nameInfo.removeClass("error");
			return true;
		}
	}
	function validateEmail(){
		//testing regular expression
		var a = $("#email").val();
		var filter =  /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

		//if it's valid email
		if(filter.test(a)){
			email.removeClass("error");
			emailInfo.text("");
			emailInfo.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			email.addClass("error");
			emailInfo.text("Enter valid e-mail Id  !");
			emailInfo.addClass("error");
			return false;
		}
	}
  	
});
