var aryRequired = new Array();
var intArrayCount = 0;
var required = "0";

function defineRequired(strElementName, strDisplayMessage, setFlag) {
	var objRequired = new Object();
	objRequired.ElementName = strElementName;
	objRequired.DisplayMessage = strDisplayMessage;
	objRequired.Flag = setFlag;
	aryRequired[intArrayCount] = objRequired;
	intArrayCount++;
	}

defineRequired("name", "Oops! You did not enter a Name.\nPlease enter your Name in the box provided.", "1");
defineRequired("email", "Oops! You did not enter an Email Address.\nPlease enter your Email Address in the box provided.", "1");
defineRequired("subject", "Oops! You did not select a Subject.\nPlease select the appropriate Subject from the box provided.", "1");
defineRequired("comments", "Oops! You did not enter any Comments.\nPlease enter your Questions or Comments in the box provided.", "1");

function checkEmail(strData) {
	var posAt = strData.indexOf("@")
	var strName = strData.substring(0, posAt)
	var strDomain = strData.substring(posAt+1, strData.length)
	var posDot = strDomain.indexOf(".")
	var strSubDomain = strDomain.substring(posDot+1,strDomain.length)

	if (strName == "" || strDomain == "" || posDot < 1 || strSubDomain == "") return false;
	else return true;
	}

function checkForm(objForm) {
	//-- web tv bug fix
	if (navigator.userAgent.indexOf("WebTV") == -1) {

		//-- details check	
		for (var i = 0; i < aryRequired.length; i++) {
			if (aryRequired[i].Flag == 1) {
				var blnFail = true;
				var objElement = eval("objForm." + aryRequired[i].ElementName);
				if (objElement.length && !objElement.type && document.images) {
					//looping through element array
					for (var x = 0; x < objElement.length; x++) {
						if (objElement[x].checked && objElement[x].value != "") {
							blnFail = false;
							}
						}
					}
				else {
					if (objElement.value != "") {
						if (aryRequired[i].ElementName == "email") { 
							if (checkEmail(objElement.value)) {
								blnFail = false;
								}
							else {
								alert("You did not enter a valid Email Address.\nPlease enter your Email Address in the box provided.");
								objElement.focus();
								return false;
								}
							}
						else { blnFail = false; }
						}
					}
				}
			if (blnFail) {
				alert(aryRequired[i].DisplayMessage);
				if (objElement.length && !objElement.type) objElement[0].focus();
				else objElement.focus();
				return false;
				}
			}
		// all elements passed, submit form 
		}
	return true;
	}