function checkForm(thisform,aFields,aFieldHeading,aNumOnly,aPwdMatch) {
	for (i=0; i < aFields.length; i++) {
		strElementName = aFields[i];
		strHeadingName = aFieldHeading[i];
		inputType = eval("thisform." + strElementName + ".type");
		if (!inputType) inputType = "radio";
		//alert(strElementName + " - " + inputType);
		if (inputType == "select-one") {
			if (eval("thisform." + strElementName + ".options[thisform." + strElementName + ".selectedIndex].value.length") == 0)  {
				alert(strHeadingName + " is required to proceed.");
				eval("thisform." + strElementName + ".focus()");
				return false;
			}
		}
		else if (inputType == "text" || inputType == "textarea" || inputType.toLowerCase() == "password" || inputType.toLowerCase() == "file") {
			//alert(strElementName.substr(0,5));
			var strText = eval("thisform." + strElementName + ".value");
			strText = strText.trim();
			if (strText.length == 0) {
				alert("'" + strHeadingName + "' is required to proceed.");
				eval("thisform." + strElementName + ".focus()");
				return false;
			}
			//alert(strText.toLowerCase().indexOf("email"));
			if (strText.toLowerCase().indexOf("email") != -1 && !isValidEmail(eval("thisform." + strElementName + ".value"))) {
				alert("You must enter a valid Email address to proceed.");
				eval("thisform." + strElementName + ".focus()");
				eval("thisform." + strElementName + ".select()");
				return false;
			} 
			if (aNumOnly){
				if (in_array(aNumOnly,strElementName) && isNaN(eval("thisform." + strElementName + ".value"))) {
					alert(strHeadingName + " must be a valid number to proceed.");
					eval("thisform." + strElementName + ".focus()");
					eval("thisform." + strElementName + ".select()");
					return false;
				}
			}
			if (strText.indexOf("&") != -1 || strText.indexOf("=") != -1) {
				alert(strHeadingName + " must not have these characters: '&' or '='.");
				eval("thisform." + strElementName + ".focus()");
				eval("thisform." + strElementName + ".select()");
				return false;
			}
		}
		else {
			if (!getRadioButtonValue(eval("thisform." + strElementName))) {
				alert(strHeadingName + " is required to proceed.");
				eval("thisform." + strElementName + "[0].focus()");
				return false;
			}
		}
	}
	if (aPwdMatch) {
		if (eval("thisform." + aPwdMatch[0] + ".value") != eval("thisform." + aPwdMatch[1] + ".value")) {
			alert("Passwords must match to proceed.");
			eval("thisform." + aPwdMatch[0] + ".focus()");
			eval("thisform." + aPwdMatch[0] + ".select()");
			return false;
		}
	}
	return true;
}
function getRadioButtonValue (radio) {   
	var strOut = false;
	for (var i = 0; i < radio.length; i++) {
		if (radio[i].checked) { 
			strOut = radio[i].value;
			break; 
		}
    }
    return strOut;
}
function in_array(aArray,strToFind) {
	strOut = false;
	for (var i=0;i<aArray.length;i++) {
		if (aArray[i] == strToFind) {
			strOut = true;
			break;
		}
	}
	return strOut;
}
String.prototype.trim = function() {

 // skip leading and trailing whitespace
 // and return everything in between
  return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");

}

//email check function
function isValidEmail(address) {
	if (address.indexOf('@') < 3 || address.indexOf('.') == -1) return false;
	var name = address.substring(0, address.indexOf('@'));
	var domain = address.substring(address.indexOf('@') + 1);
	if (name.indexOf('(') != -1 || name.indexOf(')') != -1 || name.indexOf('<') != -1 || name.indexOf('>') != -1 || name.indexOf(',') != -1 || name.indexOf(';') != -1 || name.indexOf(':') != -1 || name.indexOf('\\') != -1 || name.indexOf('"') != -1 || name.indexOf('[') != -1 || name.indexOf(']') != -1 || name.indexOf(' ') != -1) return false;
	if (domain.indexOf('(') != -1 || domain.indexOf(')') != -1 || domain.indexOf('<') != -1 || domain.indexOf('>') != -1 || domain.indexOf(',') != -1 || domain.indexOf(';') != -1 || domain.indexOf(':') != -1 || domain.indexOf('\\') != -1 || domain.indexOf('"') != -1 || domain.indexOf('[') != -1 || domain.indexOf(']') != -1 || domain.indexOf(' ') != -1) return false;
	return true;
}
function ArrayAppend(array,value) {
	var a = array;
	position = a.length - 1;
	a[position] = value;
	return a;
}
