function ValidatePhone (strField, oErrMsg) {

	// remove all non-digits
	var strDigits = strField.replace(/\D/g, "");

	// only thing that matters is the number of digits
	if (strDigits.length == 10) {		// good phone
		return true;}

	else if (strDigits.length == 7) {	// missing area code, perhaps
		oErrMsg.innerHTML = oErrMsg.innerHTML + "&#8226; Your Telephone Number Requires an Area Code<br>";
		return false;}

	else {	// really mangled phone
		oErrMsg.innerHTML = oErrMsg.innerHTML + "&#8226; Your Telephone Number Must Include an Area Code And Phone, Entered Any Way You Wish, As Long as There are 10 Digits.<br>";
		return false;}		
}

function ValidateEmail (strEmail, oErrMsg) {

	var strFilter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

	if (strFilter.test(strEmail)) {
		return true;}

	else {
		oErrMsg.innerHTML = oErrMsg.innerHTML + "&#8226; Your Email Appears to be Invalid<br>";
		return false;}
}

function ValidateForm (strEmail, strPhone, strErrorMsg, form) {

	var bolReturn = true;
	var oErrMsg = document.getElementById(strErrorMsg);

// need at least a phone or an email
	if ((strEmail.length == 0) && (strPhone.length == 0)) {
		oErrMsg.innerHTML = "&#8226; You Must Enter an Email Address or a Telephone, or Both";
		return false;}

	// we have at least one of them, so validate whatever we got
	oErrMsg.innerHTML = "";		// clear anything left from last try
	if (strEmail.length != 0) {
		bolReturn =  ValidateEmail (strEmail, oErrMsg);}

	if (strPhone.length != 0) {
		bolReturn = ValidatePhone (strPhone, oErrMsg) && bolReturn;}

	if (bolReturn) {
		oErrMsg.innerHTML = "Thank You. Your Request Has Been Submitted.";
		form.submit();
		form.reset();}
		
	return false;
}