function formValidator(){
	//alert("HERE!");
	// Make quick references to our fields
	var last_name  = document.getElementById('last_name');
	var phone = document.getElementById('phone');
	var state = document.getElementById('state');
	var email = document.getElementById('email');
	var browser=navigator.appName;
	var b_version=navigator.appVersion;
	var version=parseFloat(b_version);
	var ok = true;
	if (browser=="Microsoft Internet Explorer")  {
		last_name = form1.last_name;
		phone = form1.phone;
		state = document.forms["form1"].elements["state"];
		email = form1.email;

	} else {
		last_name = document.getElementById('last_name');
		phone = document.getElementById('phone');
		state = document.getElementById('state');
		email = document.getElementById('email');
	}

	if(isEmpty(last_name, "Please enter your name")){
		ok = false;
	}
	if (ok) {
		if ((phone.value.length < 5) || (email.value.length < 5) ) {
			ok = false;
			alert("Please enter a valid phone number or email address")
		} 
	}
	// now check that we have real values
	//if (ok) {
 	//	if ((phone.value.length > 3) ) {
	//		if(!isAlphanumeric(phone, "Please enter a valid phone number")){
	//			ok = false;
	//		}
	//	}
	//}
	if (ok) {
 		if ((email.value.length > 3) ) {
			if(!emailValidator(email, "Please enter a valid email address")){
				ok = false;
			}
		}
	}
	if (ok) {
		if (!madeSelection(state, "Please select your state") ) {
			ok = false;
		}
	}
 	if (browser=="Microsoft Internet Explorer")  {
		if (ok) {
 			event.returnValue = true;
 		} else {
 			event.returnValue = false;
 		}
 	} else {
 		return ok;
 		}
}

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

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 lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == "Please Select"){
		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;
	}
}

