function checkForm(form,length) {
	var whichsection = "";
	var alertMsg = "Please ensure all the following questions are completed."+ "\n\n\n";
	var gotErrorMsg = false;
	var error = "";
	var temperror = "";
	var i;
	var count = 0;
	
	for (i = 0; i < length; i++) {
		var checkType = form.elements[i].name.substring(0,2);
		var fieldName = form.elements[i].name.substring(2);
		if (checkType == "r_") {
			error = form.elements[i].value;
			if (require(form,length,fieldName,error) != "") {
				alertMsg = alertMsg + require(form,length,fieldName,error);
				gotErrorMsg = true;
			}
		} else if (checkType == "e_") {
			error = form.elements[i].value;
			if (email(form,length,fieldName,error) != "") {
				alertMsg = alertMsg + email(form,length,fieldName,error);
				gotErrorMsg = true;
			}
		} else if (checkType == "i_") {
			error = form.elements[i].value;
			if (integer(form,length,fieldName,error) != "") {
				alertMsg = alertMsg + integer(form,length,fieldName,error);
				gotErrorMsg = true;
			}
		} else if (checkType == "a_") {
			error = form.elements[i].value;
			if (ipayamount(form,length,fieldName,error) != "") {
				alertMsg = alertMsg + ipayamount(form,length,fieldName,error);
				gotErrorMsg = true;
			}
		}
	}
	if (gotErrorMsg == true) {
		alert(alertMsg);
		return false;
	} else {
		return true;
	}
}

function require(form,length,fieldName,error) {
	var errorMsg = "";
	var y;
	var selectOption;
	var choose = false;
	for (y = 0; y < length; y++) {
		if (form.elements[y].name == fieldName) {
			if (form.elements[y].type == "radio") {
				for (z = 0; z < length; z++) {
					if ((form.elements[z].name == fieldName) && (form.elements[z].checked == true)) {
						choose = true;
					}
				}
				if (choose == false) {
					errorMsg = error + "\n";
				}
			} else if (form.elements[y].type == "checkbox" && form.elements[y].checked == false) {
				errorMsg = error + "\n";
			} else if (form.elements[y].type == "select-one" && form.elements[y].options[form.elements[y].selectedIndex].value == "") {
				errorMsg = error + "\n";
			} else if (form.elements[y].type != "radio" && form.elements[y].type != "checkbox" && form.elements[y].type != "select-one" && form.elements[y].value == "") {
				errorMsg = error + "\n";
			}
			break;
		}
	}
	return(errorMsg);
}

function email(form,length,fieldName,error) {
	var errorMsg = "";
	var y;
	var input;
	var x;
	var character;
	var at = false;
	var dot = false;
	
	for (y = 0; y < length; y++) {
		if (form.elements[y].name == fieldName && form.elements[y].value != "") {
			input = form.elements[y].value.toString();
			for (x = 0; x < input.length; x++) {
				character = input.substring(x, x + 1)
				if ((character >= "A" && character <= "Z") || (character >= "a" && character <= "z") || (character == "@") || (character == ".") || (character == "_") || (character == "-") || (character >= "0" && character <= "9")) {
					if (character == "@") {
						at = true;
					}
					if (character == ".") {
						dot = true;
					}
				}
   			}
			if ((at != true) || (dot != true)) {
				errorMsg = error + "\n";
			}
			break;
		}
	}
	return(errorMsg);
}

function integer(form,length,fieldName,error) {
	var errorMsg = "";
	var y;
	var input;
	var x;
	var character;
	var isInt = true;
	for (y = 0; y < length; y++) {
		if (form.elements[y].name == fieldName && form.elements[y].value != "") {
			input = form.elements[y].value.toString();
			for (x = 0; x < input.length; x++) {
				character = input.substring(x, x + 1)
				if (character >= "0" && character <= "9") {
					isInt = true;
				} else {
					isInt = false;
				}
   			}
			if (isInt == false) {
				errorMsg = error + "\n";
			}
			break;
		}
	}
	return(errorMsg);
}

function checkNumber(form,length,fieldName) {
	for (z = 0; z < length; z++) {
		if (form.elements[z].name == fieldName && form.elements[z].value != "") {
			if (integer(form,length,fieldName,'Yes') != "") {
				alert("Please key in numeric only.");
				form.elements[z].value = "";
				form.elements[z].focus();
			} else if (form.elements[z].value <= 0 || form.elements[z].value > 5) {
				alert("Number must be in range 1 - 5.");
				form.elements[z].value = "";
				form.elements[z].focus();
			} else {
				for (y = 0; y < length; y++) {
					if (form.elements[y].value != "" && form.elements[y].value == form.elements[z].value && form.elements[y].name != form.elements[z].name) {
						alert("Number repeated.");
						form.elements[z].value = "";
						form.elements[z].focus();
					}
				}
			}
		}
	}
}

function ipayamount(form,length,fieldName,error) {
	var errorMsg = "";
	var y;
	var input;
	var x;
	var character;
	var isInt = true;
	var isDot = false;
	for (y = 0; y < length; y++) {
		if (form.elements[y].name == fieldName && form.elements[y].value != "") {
			input = form.elements[y].value.toString();
			for (x = 0; x < input.length; x++) {
				character = input.substring(x, x + 1);
				if ((character >= "0" && character <= "9") || (character == ".")) {
					if ((isDot == true) && (character == ".")) {
						isInt = false;
					} else if ((isDot == false) && (character == ".")) {
						isDot = true;
					}
				} else {
					isInt = false;
				}
   			}
			if (isInt == false) {
				errorMsg = error + "\n";
			}
			break;
		}
	}
	return(errorMsg);
}