function formValidator(){
	// Make quick references to our fields	
	var fullname = document.getElementById('fullname');
	var company = document.getElementById('company');
	var address = document.getElementById('address');
	var city = document.getElementById('city');
	var states = document.getElementById('states');
	var postal = document.getElementById('postal');
	var email = document.getElementById('email');
	var message = document.getElementById('message');	
		
	// Check each input in the order that it appears in the form!	
	if (isEmpty(fullname, "Required field empty, Please enter your fullname")) { return false; }
	if (isEmpty(company, "Required field empty, Please enter your company name")) { return false; }
	if (isEmpty(address, "Required field empty, Please enter your address")) { return false; }
	if (isEmpty(city, "Required field empty, Please enter your city")) { return false; }
	if (isEmpty(states, "Required field empty, Please enter your states")) { return false; }
	if (isEmpty(postal, "Required field empty, please enter your postal code")) { return false; }
	if (isEmpty(email, "Required field empty, please enter your email address")) { return false; }
	if (isEmpty(message, "Required field empty, please enter your message")) { return false; }
	
	if(isNumeric(postal, "Please enter a valid postal code")){				
		if(emailValidator(email, "Please enter a valid email address")){
			return true;
			}			
		}	
	return false;		
}

function isEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);		
		elem.focus(); 	
		return true;
	}
	return false;
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		elem.value = "";
		return false;
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

