function validateForm(theForm) {
	with (theForm) {
		requiredFields = {
			"firstname" : "Please provide a First Name.",
			"lastname" : "Please provide a Last Name.",
			"email" : "Please provide a valid Email Address.",
			"phoneHome" : "Please provide a valid Home Phone",
			"address" : "Please provide a valid Street Address",
			"city" : "Please provide a valid City",
			"state" : "Please provide a valid State",
			"zip" : "Please provide a valid Zip/Postal Code"
		}

		for (key in requiredFields) {
			if (isEmpty(elements[key])) {
				elements[key].focus();
				alert(requiredFields[key]);
				return false;
			}
		}

		if (!isGoodEmail(email)) {
			alert("Please provide a valid Email address.");
			email.focus();
			return false;
		}


		return true;
	}
}

function validateReferralForm(theForm) {
	with (theForm) {
		requiredFields = {
			"fromFirstName" : "Please provide a first name.",
			"fromLastName" : "Please provide a last name.",
			"fromEmail" : "Please provide a valid email address.",
			"fromEmail2" : "Please retype the email address.",
			"rFirstName" : "Please provide the referred person's first name.",
			"rLastName" : "Please provide the referred person's last name.",
			"rEmail" : "Please provide the referred person's email address.",
			"rEmail2" : "Please retype the referred person's email address."
		}

		for (key in requiredFields) {
			if (isEmpty(elements[key])) {
				elements[key].focus();
				alert(requiredFields[key]);
				return false;
			}
		}
		

		if (!isGoodEmail(fromEmail)) {
			alert("Please provide valid email addresses.");
			fromEmail.focus();
			return false;
		}

		else if (fromEmail.value != fromEmail2.value) {
			fromEmail2.focus();
			alert("Emails do not match.");
			return false;
		}
		
		
		if (!isGoodEmail(rEmail)) {
			alert("Please provide valid email addresses.");
			rEmail.focus();
			return false;
		}

		else if (rEmail.value != rEmail2.value) {
			rEmail2.focus();
			alert("The referred person's email addresses do not match.");
			return false;
		}

		return true;
	}
}


function validateUnsubForm(theForm) {
	with (theForm) {
		requiredFields = {
			"unsubEmail" : "Please provide a valid Email address."
		}

		for (key in requiredFields) {
			if (isEmpty(elements[key])) {
				elements[key].focus();
				alert(requiredFields[key]);
				return false;
			}
		}
		if (!isGoodEmail(unsubEmail)) {
			alert("Please provide a valid Email address.");
			unsubEmail.focus();
			return false;
		}

		return true;
	}
}



function validateVIPRegisterForm(theForm) {
	with (theForm) {
		requiredFields = {
			"firstname" : "Please provide your First Name.",
			"lastname" : "Please provide your Last Name.",
			"address1" : "Please provide your Address.",
			"city" : "Please provide your City.",
			"state": "Please provide your State.",
			"zip" : "Please provide your Zip Code.",
			"phonePrimary" : "Please provide a valid Phone Number.",
			"email" : "Please provide a 3 valid Email address."
		}

		for (key in requiredFields) {
			if (isEmpty(elements[key])) {
				elements[key].focus();
				alert(requiredFields[key]);
				return false;
			}
		}

		if (!isValidCode(zip,"99999") && !isValidCode(zip,"99999-9999") && !isPostalCode(zip)) {
			alert("Please provide a valid Zip Code.");
			zip.focus();
			return false;
		}

		else if (!isGoodEmail(email)) {
			alert("Please provide a valid Email address.");
			email.focus();
			return false;
		}
		else if (email.value != emailConfirm.value) {
			alert("Please confirm your Email address correctly.");
			emailConfirm.focus();
			return false;
		}


		return true;

	}

}