// <!--
var submitcancel = false;
function fieldisblank(s)
{
	for(var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
	}
	return true;
}

function formverify(f)
{
	var msg;
	var empty_fields = "";
	var errors = "";
	
	if (submitcancel) return true;
	for(var i = 0; i < f.length; i++) {
		var e = f.elements[i];
		if (((e.type == "text") || (e.type == "textarea")) && e.required) {
			if ((e.value == null) || (e.value == "") || fieldisblank(e.value)) {
				empty_fields += "\n        "
				if (e.prettyname != null)
					empty_fields += e.prettyname;
				else
					empty_fields += e.name;
				continue;
			}
			if (e.numeric || (e.min != null) || (e.max != null)) {
				var v = parseFloat(e.value);
				if (isNaN(v) || ((e.min != null) && (v < e.min)) || ((e.max != null) && (v > e.max))) {
					errors += "- The field " + e.prettyname + " must be a number";
					if (e.min != null)
						errors += " that is not less than " + e.min;
					if (e.max != null && e.min != null)
						errors += " and not greater than " + e.max;
					else if (e.max != null)
						errors += " that is not greater than " + e.max;
					errors += ".\n";
				}
			}
		}
	}
	if (!empty_fields && !errors) return true;
	msg =  "____________________________________________________________\n\n";
	msg += "The form was not submitted due to the following error(s).\n";
	msg += "Please correct these error(s) and re-submit.\n";
	msg += "____________________________________________________________\n\n";
	if (empty_fields) {
		msg += "- The following required field(s) are empty:" + empty_fields + "\n";
		if (errors) msg += "\n";
	}
	msg += errors;
	alert(msg);
	return false;
}
// -->

/*
<script language="JavaScript1.1" src="formverify.js"></script>
<FORM onSubmit="
	this.firstname.required = true;
	this.phonenumber.required = true;
	this.zip.min = 0;
	this.zip.max = 99999;
	return formverify(this);
">
Name: <input type=text name="firstname"><br>
Zip: <input type=text name="zip"><br>
Phone: <input type=text name="phonenumber"><br>
<input type=submit></form>
*/
