function formValidator(){
	// Make quick references to our fields
	var name = document.getElementById('name');
	var email = document.getElementById('email');	
	var phone = document.getElementById('phone');	
	var spamChk = document.getElementById('spamChk');	
		
	// Check each input in the order that it appears in the form!
	if(noName(name, "Please enter your name!")){
	if(emailValidator(email, "Please enter a valid email address!")){
			if(isNumeric(spamChk, "This field is to avoid spam emails, please enter the answer to 7+2=?")){	
			if(spamCheck(spamChk)){
			return true;
			}
			}
	}
	}
	
	
	return false;
	
}



function noName(elem, helperMsg){
	if(elem.value == "Your name (required)"){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}


function spamCheck(elem){
	var spchk = elem.value;
	if(spchk == 9){
		return true;
	}else{
		alert("The sum of 7 and 2 is not equal to "+spchk+".");
		elem.focus();
		return false;
	}
}


function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}



function madeSelection(elem, helperMsg){
	if(elem.value == "Please Choose"){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

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;
	}
}
