function validate(contact){
	stop_process = 'no';
	for(i=0;i<document.contact.elements.length;i++){
		if(document.contact.elements[i].name.substr((document.contact.elements[i].name.length - 4),4) == '_req'){
			name2chk = document.contact.elements[i].name.substr(0,(document.contact.elements[i].name.length - 4));
			chkObj = document.getElementById(name2chk);
			if(name2chk == 'state'){
				if(chkObj.selectedIndex < 1){
					name2get = name2chk + '_lbl';
					chkObj_label = document.getElementById(name2get).innerHTML;
					alert(document.getElementById(name2get).innerHTML + " is required.");
					stop_process = 'yes';
					break;
				}
			} else {
				if(isAllSpaces(chkObj.value)){
					name2get = name2chk + '_lbl';
					chkObj_label = document.getElementById(name2get).innerHTML;
					alert(document.getElementById(name2get).innerHTML + " is required.");
					stop_process = 'yes';
					break;
				}
			}
		}
		if(document.contact.elements[i].name == 'email'){
			chkObj = document.getElementById('email');
			if(!isEmail(document.getElementById('email').value)){
				alert(document.getElementById('email_lbl').innerHTML + " does not appear to be valid.");
				stop_process = 'yes';
				break;
			}
		}
	}
	if(document.getElementById("message_regarding").type == 'select-one'){
		idx = document.getElementById("message_regarding").selectedIndex;
		document.contact.subject.value = document.getElementById("message_regarding").options[idx].value;
	}
	if(stop_process == 'yes'){
		return false;
	}
	return true;
}