function checkForm(thisform,aFields,aFieldHeading,aNumOnly,aPwdMatch) {
	for (i=0; i < aFields.length; i++) {
		inputType = eval("thisform." + aFields[i] + ".type");
		if (inputType == "select-one") {
			if (eval("thisform." + aFields[i] + ".options[thisform." + aFields[i] + ".selectedIndex].value.length") == 0)  {
				alert(aFieldHeading[i] + " is required to proceed.");
				eval("thisform." + aFields[i] + ".focus()");
				return false;
			}
		}
		else if (inputType == "text" || inputType == "textarea" || inputType.toLowerCase() == "password" || inputType.toLowerCase() == "file") {
			//alert(aFields[i].substr(0,5));
			if (eval("thisform." + aFields[i] + ".value.length") == 0) {
				alert(aFieldHeading[i] + " is required to proceed.");
				eval("thisform." + aFields[i] + ".focus()");
				return false;
			}
			if (aFields[i].substr(0,5).toLowerCase() == "email" && !isValidEmail(eval("thisform." + aFields[i] + ".value"))) {
				alert("You must enter a valid Email address to proceed.");
				eval("thisform." + aFields[i] + ".focus()");
				eval("thisform." + aFields[i] + ".select()");
				return false;
			} 
			if (aNumOnly){
				if (in_array(aNumOnly,aFields[i]) && isNaN(eval("thisform." + aFields[i] + ".value"))) {
					alert(aFieldHeading[i] + " must be a valid number to proceed.");
					eval("thisform." + aFields[i] + ".focus()");
					eval("thisform." + aFields[i] + ".select()");
					return false;
				}
			}
		}
		else {
			if (!getRadioButtonValue(eval("thisform." + aFields[i]))) {
				alert(aFieldHeading[i] + " is required to proceed.");
				eval("thisform." + aFields[i] + "[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;
}
//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;
}

