// checks if address is required and populated
function addressCondition() {
	var form = document.contactForm;
	if (form.f_Angus_Donors.checked==true || form.f_Angus_Herd_Sires.checked==true || form.f_Hereford_Donors.checked==true || form.f_Hereford_Herd_Sires.checked==true) {
		if (isNotEmpty(form.c_Address1)) {
			if (isNotEmpty(form.c_City)) {
				if (isNotEmpty(form.c_State)) {
					if (isNotEmpty(form.c_Zip)) {
						return true;
					}
				}
			}
		}
    } else {
        return true;
	}
}

// validates that the field value string has one or more characters in it
function isNotEmpty(elem) {
	var str = elem.value;
    var re = /.+/;
	var thisField = elem.name.substring(2, 100);
    if (!str.match(re)) {
		if (elem.name=="e_Email") {
			alert("Please fill in the E-mail field.");
			setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
			return false;
		} else {
			alert("Please fill in the " + thisField + " field.");
			setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
			return false;
		}
    } else {
        return true;
    }
}

// validates that the entry is formatted as an e-mail address
function isEmailAddr(elem) {
	var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Please verify the e-mail address format.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

function focusElement(formName, elemName) {
    var elem = document.forms[formName].elements[elemName];
    elem.focus();
    elem.select();
// styling for unvalidated fields
//	elem.style.border = "4px solid #F00";
}

// batch validation router
function validateForm(form) {
    if (isNotEmpty(form.a_Name)) {
//		if (isNotEmpty(form.b_Ranch)) {
//			if (isNotEmpty(form.d_Phone)) {
				if (isNotEmpty(form.e_Email)) {
					if (isEmailAddr(form.e_Email)) {
						if (addressCondition()) {
							
// require address only on checked field(s)
							if (form.f_Angus_Donors.checked!=true && form.f_Angus_Herd_Sires.checked!=true && form.f_Hereford_Donors.checked!=true && form.f_Hereford_Herd_Sires.checked!=true && isNotEmpty(form.g_Comments)) {
								return true;
//							if (isNotEmpty(form.g_Comments)) {
//								return true;
							} else if (form.f_Angus_Donors.checked==true || form.f_Angus_Herd_Sires.checked==true || form.f_Hereford_Donors.checked==true || form.f_Hereford_Herd_Sires.checked==true) {
								return true;
							}
							
// ALWAYS require address
//							if (isNotEmpty(form.c_Address)) {
//								if (isNotEmpty(form.c_City)) {
//									if (isNotEmpty(form.c_State)) {
//										if (isNotEmpty(form.c_Zip)) {
//											return true;
//										}
//									}
//								}
//							}

						}
					}
				}
//			}
//		}
    }
    return false;
}
