// JavaScript Document

function checkForm(){
	if (document.request.name.value.length == 0)
		{alert("You must enter a name.");
		document.request.name.focus();
		return false;}
	else if (document.request.address.value.length == 0)
		{alert("You must enter an address.");
		document.request.address.focus();
		return false;}
	else if (document.request.city.value.length == 0)
		{alert("You must enter a city.");
		document.request.city.focus();
		return false;}
	else if (document.request.st.selectedIndex == 0)
		{alert("You must select a state.");
		document.request.st.focus();
		return false;}
	else if (checkZip(document.request.zip.value) == false)
		{alert("You must enter a valid zip code.");
		document.request.zip.focus();
		return false;}
	else if (checkPhone(document.request.hPhone.value) == false)
		{alert("You must enter a valid home phone number.");
		document.request.hPhone.focus();
		return false;}
	else if (checkPhone(document.request.wPhone.value) == false)
		{alert("You must enter a valid work phone number.");
		document.request.wPhone.focus();
		return false;}
	else if (checkContact() ==  false)
		{return false;}
	else if (contactEmail() == false)
		{return false;}
	else if (checkAppt() == false)
		{return false;}
	else if (document.request.dayOfWeek.selectedIndex == 0)
		{alert("You must select a preferred day of the week");
		document.request.dayOfWeek.focus();
		return false;}
	else if (document.request.month.selectedIndex == 0)
		{alert("You must select a preferred month.");
		document.request.month.focus();
		return false;}
	return true;
}

function checkZip(Zip) {
	var re = /^\d{5}(-\d{4})?$/;
	return re.test(Zip);
}

function checkPhone(num) {
	var re = /^\d{3}-\d{3}-\d{4}$/;
	return re.test(num);
}

function checkEmail(email) {
	re = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	return re.test(email);
}

function checkContact() {
	if (document.request.contactPhone.checked == false && document.request.contactEmail.checked == false)
		{alert("You must select a preferred contact method.");
		document.request.contactPhone.focus();
		return false;}
}

function checkAppt() {
	if (document.request.morningAppt.checked == false && document.request.afternoonAppt.checked == false && document.request.anyAppt.checked == false)
	{alert("You must select a preferred appointment time.");
	document.request.morningAppt.focus();
	return false;}
}

function contactEmail() {
	if (document.request.contactEmail.checked == true)
	{if (checkEmail(document.request.email.value) == false)
		{alert("You must enter a valid email address to be contacted via email.");
		document.request.email.focus();
		return false;}
	}
}
