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("rx_name","You did not enter your Friend's Name.\nPlease enter your Friend's Name in the box provided.","1");
defineRequired("rx_email","You did not enter your Friend's Email Address.\nPlease enter your Friend's Email Address 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 == "rx_email") { 
							if (checkEmail(objElement.value)) {
								blnFail = false;
								}
							else {
								alert("You did not enter a valid Email Address.\nPlease enter your Friend's 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;
	}