//
// Main verification routine for forms.
//
// The idea here, is to have a single entry point that can switch based
// on the actual form.  As the formmail script uses a "required" form field,
// then it should be fairly easy to parse the comma separated list of
// required fields.
//
function verify() {
	form = document.forms[0];
	if (form.required.value == null || form.required.value == "") {
		if (verify_form(form)) {
			form.submit();
		} else {
			return false;
		}
	} else if (verify_main(form)) {
		alert("Form Submitted");
		form.submit();
	} else {
		return false;
	}
}

//
// This function verifies a form based on known fields, and not by
// a hidden value 'required'
//
function verify_form(form) {
	// This should only be done for complex forms.
	return false;
}

//
// This function parses the "required" hidden field to verify that the
// required fields are filled in.  It doesn't verify that they have the
// correct syntax.  It would also be good to send the form through
// another parser to look for common fields (such as zip codes) to
// verify that they have the correct format.
//
function verify_main(form) {
   message = "The following fields must be completed: \n";
   var i = 0;
   var str = form.required.value;
   var arr = str.split(',');
   for (x in arr) {
	var record = arr[x].split(':');
//	alert("record: " + record[0] + " outputs: " + record[1]);
	for (i = 0; i < form.length; i++) {
		if (form.elements[i].name == record[0]) {
			if(form.elements[i].value == "") {
				message = message + "\n\t" + record[1];
//			} else {
//				alert(form.elements[i].value);
			}
		}
	}
   }

   // alert if fields are empty and cancel form submit
   if (message == "The following fields must be completed: \n") {
	return true;
   } else {
	message = message + "\n\nPlease complete the fields and resubmit\n";
	alert(message);
	return false;
   }
}
