// Warwick's formmail.pl uses the following case-sensitive keys:
//   realname -> the name the email will be from
//   email -> the addr the email will be from
// Coded by David Terracino (davet@citlink.net)
function getCookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}
function setCookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}
function validateForm(formObj) {
	var reqFields = formObj.required.value.split(",");
	var reqFlags = new Array(reqFields.length);
	var bErrorsFound = false;
	for (var i = 0; i < reqFields.length; i++) {
		fieldValue = eval ("formObj." + reqFields[i] + ".value");
		if (fieldValue == "") {
			reqFlags[i] = false;
			bErrorsFound = true;
		} else {
			reqFlags[i] = true;
		}
	}
	if (!bErrorsFound) {
		formObj.required.value = "";
		return true;
	}
	msg = "The following errors were found during the form submission:\n\n"
	for (i = 0; i < reqFlags.length; i++) {
		if (!reqFlags[i]) {
			msg += reqFields[i] + "\t \tField must be completed\n";
		}
	}
	msg += "\nPlease fix the above errors and then resubmit the form.";
	msg += "\nThank you for your cooperation."
	alert(msg);
	return false;
}
function saveFormCookie(formObj) {
	var expdays = 30;
	var today   = new Date();
	var expires = new Date(today.getTime() + (expdays * 86400000));
	var cookieFields = formObj.cookie.value.split(",");
	for (var i = 0; i < cookieFields.length; i++) {
		setCookie(cookieFields[i], eval("formObj." + cookieFields[i] + ".value"), expires);
	}
	formObj.cookie.value = "";
	return;
}
function loadFormCookie(formObj) {
	var cookieFields = formObj.cookie.value.split(",");
	for (var i = 0; i < cookieFields.length; i++) {
		cookieValue = getCookie(cookieFields[i]);
		if (cookieValue)
			eval("formObj." + cookieFields[i] + ".value = cookieValue");
	}
}
function doSubmit (formObj) {
	if (!validateForm(formObj)) return false;
	saveFormCookie(formObj);
	return true;
}
