function validate_required(field,alerttxt) {
	with (field) {
		if (value==null || value=="") {
			alert(alerttxt);
			return false;
		} else {
			return true;
		}
	}
}

function validate_select(field,alerttxt) {
	with (field) {
		if (field.selectedIndex==0) {
			alert(alerttxt);
			return false;
		} else {
			return true;
		}
	}
}

function validate_other(field,alerttxt,field2) {
	if ((field.options[field.selectedIndex].value)=="Other" && (field2.value==null || field2.value=="")) {
		alert(alerttxt);
		return false;
	} else {
		return true;
	}
}

function validate_zip(field,alerttxt) {
	with (field) {
		var zipExp = /^\d{5}(-\d{4})?$/;
		if (!(value.match(zipExp))) {
			alert(alerttxt);
			return false;
		} else {
			return true;
		}
	}
}


function validate_phone(field,alerttxt) {
	with (field) {
		var phoneExp = /^\(?\d{3}\)?[-\s.]?\d{3}[-.]\d{4}$/;
		if (!(value.match(phoneExp))) {
			alert(alerttxt);
			return false;
		} else {
			return true;
		}
	}
}

function validate_email(field,alerttxt) {
	with (field) {
		var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,6}$/;
		if (!(value.match(emailExp))) {
			alert(alerttxt);
			return false;
		} else {
			return true;
		}
	}
}

function validate_radio(field,alerttxt) {
	myOption = -1;
	for (i=field.length-1; i > -1; i--) {
		if (field[i].checked) {
			myOption = i; i = -1;
		}
	}
	if (myOption == -1) {
		alert(alerttxt);
		return false;
	}
}

function validate_form(thisform) {
	with (thisform) {
		if (validate_required(realname,"Please enter your name.  (This is a required field.)")==false) {
			realname.focus();return false;
		} else if (zip.value!=null && zip.value!="" && validate_zip(zip,"Please verify that you have correctly entered your 5- or 9-digit ZIP code in the form \"XXXXX\" or \"XXXXX-XXXX\".")==false) {
			zip.focus();return false;
		} else if (phone.value!=null && phone.value!="" && validate_phone(phone,"Please verify that you have correctly entered your 10-digit phone number.  Valid formats include \"(XXX) XXX-XXXX\", \"XXX-XXX-XXXX\", and \"XXX.XXX.XXXX\".")==false) {
			phone.focus();return false;
		} else if (validate_email(email,"Please verify that you have correctly entered your email address.  (This is a required field.)")==false) {
			email.focus();return false;
		} else if (validate_required(comments,"Please include comments.  (This is a required field.)")==false) {
			comments.focus();return false;
		} else {
			return true;
		}
	}
}

