$(document).ready(function() {
		
	// Globals to make referencing easier
	var form = $("#contact");
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	var phone = $("#phone");
	var phoneInfo = $("#phoneInfo");
	var time = $("#callTime");
	var timeInfo = $("#callTimeInfo");

	
	function validateName(){
		
		var nameString = name.val();
		var strippedName = nameString.replace(/\s/g, "");
		// If it is invalid
		if(strippedName.length < 3) {
			name.addClass("error");
			nameInfo.text("Please enter your name.");
			nameInfo.addClass("error");
			return false;
		}
		else
		{
			name.removeClass("error");
			nameInfo.text("");
			nameInfo.removeClass("error");
			return true;
		}
	}
	
	function validatePhone(){
		
		var phoneString = phone.val();
		var phoneRegex = /^\D?\d{3}\D?\D?\d{3}\D?\d{4}$/;
		if(phoneRegex.test(phoneString) == true) {
			// Valid result
			phone.removeClass("error");
			phoneInfo.text("");
			phoneInfo.removeClass("error");
			return true;
		}
		else
		{
			phone.addClass("error");
			phoneInfo.text("Please enter a valid phone number (including area code) where we can contact you.");
			phoneInfo.addClass("error");
			return false;
		}
	}
	
	function validateTime(){
		
		var timeString = time.val();
		var strippedTime = timeString.replace(/\s/g, "");
		// If it is invalid
		if(strippedTime.length < 2) {
			time.addClass("error");
			timeInfo.text("Please enter the best time for us to contact you.");
			timeInfo.addClass("error");
			return false;
		}
		else
		{
			time.removeClass("error");
			timeInfo.text("");
			timeInfo.removeClass("error");
			return true;
		}
	}
	
	//On blur  
	name.blur(validateName);  
	phone.blur(validatePhone);
	time.blur(validateTime);
	
	//On key press  
	name.keyup(validateName);  
	phone.keyup(validatePhone);
	time.keyup(validateTime);
	
	//On Submitting  
	form.submit(function(){  
		if(validateName() & validatePhone() & validateTime()){
			return true;  
		}
		else
		{
			return false; 
		}
	});  
});



