function validate_form(thisform)
{
	with (thisform){
		
		if (validate_required(fName,"You must provide a First Name.")==false){
			fName.focus();
			return false;
		}else if (validate_required(lName,"You must provide a Last Name.")==false){
			lName.focus();
			return false;
		}else if (validate_phone(phone)==false){
			phone.focus();
			return false;	
		}else if (validate_email(email,"You must provide a valid email address.")==false){
			email.focus();
			return false;
		}else if (validate_zipcode(zipcode,"You must provide a valid zipcode.")==false){
			zipcode.focus();
			return false;
		}else{
			return true;	
		}
	}				  
}

function validate_zipcode(field,alerttxt){
	with(field){
		if(isNaN(parseInt(field.value))){
			alert(alerttxt);
			field.style.background = 'Yellow';
			return false;
		}else if(!field.value.length == 5){
			alert(alerttxt);
			field.style.background = 'Yellow';
			return false;		
		}else{
			return true;	
		}
	}
}

function validate_email(field,alerttxt){
	with (field){
		
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		
		if (apos<1||dotpos-apos<2){
			alert(alerttxt);
			field.style.background = 'Yellow';
			return false;
		}else{
			return true;
		}
	}
}

function validate_required(field,alerttxt){
	with (field){
		if (value==null||value==""){
			alert(alerttxt);
			field.style.background = 'Yellow';
			return false;
		}else{
			return true;
		}
	}
}

function validate_phone(field) {
	var errorMsg = "";
	var stripped = field.value.replace(/[\(\)\.\-\ ]/g, '');    
	with (field){
		if (field.value == "") {
			errorMsg = "You didn't enter a phone number.\n";
			alert(errorMsg);
			field.style.background = 'Yellow';
			return false;
		} else if (isNaN(parseInt(stripped))) {
			errorMsg = "The phone number contains illegal characters.\n";
			alert(errorMsg);
			field.style.background = 'Yellow';
			return false;
		} else if (!(stripped.length == 10)) {
			errorMsg = "The phone number is the wrong length. Make sure you included an area code.\n";
			alert(errorMsg);
			field.style.background = 'Yellow';
			return false;
		}else{
			return true;	
		}
	}
}