function checkForm(){
	if(!document.getElementById){	return; }

	var requiredFields;
	var submitForm = true;
	var emailTest = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	
	if(document.getElementById('required')){
		requiredFields = document.getElementById('required').value.split(','); //creates an array based on the required fields specified in the "hidden" input value
	}

	//see if they have values
	for(i = 0; i<requiredFields.length; i++){
		if(document.getElementById(requiredFields[i]).value == ""){
			highlightField(requiredFields[i]);
			submitForm = false;
		}else{
			if(requiredFields[i] == "contact_email"){
				if(!emailTest.test(document.getElementById('contact_email').value)){
					submitForm = false;
					highlightField(requiredFields[i]);
				}else{
					document.getElementById(requiredFields[i]).className = "";
				}
			}else{
				document.getElementById(requiredFields[i]).className = "";	
			}
		}
	}
	
	if(!submitForm){
		alert("Please fill in all required fields.");		
		return false; 
	}
	
	return true;
}


function highlightField(fieldID){
	document.getElementById(fieldID).className = "empty";
}

function attachHandler(){
	if(!document.getElementById) { return; }
	if(document.getElementById("contact")){
		var contactForm = document.getElementById("contact");
		contactForm.onsubmit = function(){
			return checkForm();
		}
	}
}

addLoadEvent(attachHandler);