function checkForm(formName){
	error=0
	reqError=""
	dateError=""
	emailError=""
	phoneError=""
	zipError=""
	thisForm=eval("document."+formName)
	for(i=0;i<thisForm.elements.length;i++){
		elementtype=thisForm.elements[i].type
		elementname=thisForm.elements[i].name
		elementclass=thisForm.elements[i].className
		elementid=thisForm.elements[i].id
		elementvalue=thisForm.elements[i].value
		elementvaluelength=thisForm.elements[i].value.length
		elementname=elementname.toLowerCase()
		if(elementclass.indexOf("req")!=-1){
				elementvalue = elementvalue.replace(" ","");
				if(elementvalue==""){
					error=1
					reqError="\t One or more of the required fields are not entered, please enter in the required fields \n"
					thisForm.elements[i].className="req_error_text"
				}else{
					thisForm.elements[i].className="req_text"
					CheckNonReq(true);
				}
		}else{
			if ((elementtype != "hidden") && (elementvalue != "")) {
				CheckNonReq(false);
			}
		}
	}
	if(error==1){
		strError="The following problems (highlighted in light blue) have been found with the information you entered:\n" + reqError + dateError + emailError + phoneError +zipError
		alert(strError);
		return false;
	}else{
		return true;
	}
}
function CheckNonReq(bolType){
	if(bolType==true){
		returnType="req_text"
	}else{
		returnType="text"
	}
	if(elementname.indexOf("date")!=-1){
		if(elementname.indexOf("x_")==-1){
			if(checkValidDate(elementvalue)!=true){
				error=1
				dateError="\t The Date you have entered is not formatted properly (mm/dd/yyyy)\n\t\t or is not valid\n"
				thisForm.elements[i].className="error_text"
				if(bolType==true){
					thisForm.elements[i].className="req_error_text"
				}else{
					thisForm.elements[i].className="error_text"
				}
			}else{
				thisForm.elements[i].className=returnType
			}
		}
	}
	if(elementname.indexOf("zip")!=-1){
		if((IsNumeric(elementvalue)!=true)||(elementvaluelength!=5)){
			error=1
			zipError="\t The Zip code you have entered is not formatted properly (5 digits)\n\t\t or is not valid\n"
			thisForm.elements[i].className="error_text"
			if(bolType==true){
				thisForm.elements[i].className="req_error_text"
			}else{
				thisForm.elements[i].className="error_text"
			}
		}else{
			thisForm.elements[i].className=returnType
		}
	}
	if(elementname.indexOf("phone")!=-1 || elementname.indexOf("membercell")!=-1){
		if(IsPhone(elementvalue)!=true){
			error=1
			phoneError="\t The phone you have entered is not numeric\n\t\t or is not valid\n"
			thisForm.elements[i].className="error_text"
			if(bolType==true){
				thisForm.elements[i].className="req_error_text"
			}else{
				thisForm.elements[i].className="error_text"
			}
		}else{
			thisForm.elements[i].className=returnType
		}
	}
	if(elementname.indexOf("email")!=-1){
		if(IsEmail(elementvalue)!=true){
			error=1
			emailError="\t The e-mail you have entered is not valid\n"
			thisForm.elements[i].className="error_text"
			if(bolType==true){
				thisForm.elements[i].className="req_error_text"
			}else{
				thisForm.elements[i].className="error_text"
			}
		}else{
			thisForm.elements[i].className=returnType
		}
	}
}
function setFormFunction(strFunction,strForm){
	thisForm=eval("document."+strForm)
	thisForm.W.value=strFunction
	thisForm.submit()
}
function checkValidDate(dateStr) {
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) {
        if (numDay > 30) { return false; }
    }
	for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
	if (dateYear.length != 4) { return false; }
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 1753) || (numYear > 9999)) { return false; }
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        if (div4 != 0) { return false; }
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    return true;
}
function IsEmail(emailAddress) {
     var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
     var regex = new RegExp(emailReg);
     return regex.test(emailAddress);
	return 1
}
function IsNumeric(sText){
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (v = 0; v < sText.length && IsNumber == true; v++){
		Char = sText.charAt(v);
		if (ValidChars.indexOf(Char) == -1){
			IsNumber = false;
		}
	}
	return IsNumber;
}
function IsPhone(sText){
	var ValidChars = "0123456789.-() +";
	var IsPhone=true;
	var Char;
	for (v = 0; v < sText.length && IsPhone == true; v++){
		Char = sText.charAt(v);
		if (ValidChars.indexOf(Char) == -1){
			IsPhone = false;
		}
	}
	return IsPhone;
}
function checkNumeric(evt){
    if (window.event){
      var KeyTyped = String.fromCharCode(window.event.keyCode);
      if (!IsNumeric(KeyTyped)){
		    window.event.keyCode = 0;
	    }
	  }
}
function fieldMask(maskType) {
	if (navigator.appName != 'Microsoft Internet Explorer'){
		event=arguments.callee.caller.arguments[0].target;
		event.onkeypress=function(event){
			var KeyTyped = event.which;
			if (KeyTyped==0 || KeyTyped==8){
				return true;
			}else{
				var srcObject = event.target;
				if(!subKeyMask(maskType,KeyTyped,srcObject)){
					return false;
				}
			}
		}
	}else{
		var KeyTyped = window.event.keyCode;
		var srcObject =  window.event.srcElement;
		if(!subKeyMask(maskType,KeyTyped,srcObject)){
			window.event.keyCode=0;
		}
	}
}
function subKeyMask(maskType,KeyTyped,srcObject){
	KeyTyped=String.fromCharCode(KeyTyped);
	var sMask = "01234567890";
    if (sMask.indexOf(KeyTyped) == -1){
		return false;
	}else{
		keyCount = srcObject.value.length;
		var tmpStr = "";
		switch(maskType ){
			case "date":
				switch (keyCount){
					case 1:
						tmpStr += srcObject.value;
						srcObject.value = tmpStr;
						break;
					case 2:
						srcObject.value += "/";
						break;
					case 5:
						srcObject.value += "/";
						break;
				}
				break;
			case "phone":
				keyEntered = KeyTyped;
				keyCount++;
				switch (keyCount){
					case 2:
						tmpStr += srcObject.value;
						srcObject.value = tmpStr;
						break;
					case 4:
						srcObject.value += "-";
						break;
					case 8:
						srcObject.value += "-";
						break;
				}
				break;
			case "SSN":
				keyEntered = KeyTyped;
				keyCount++;
				switch (keyCount){
					case 2:
						tmpStr += srcObject.value;
						srcObject.value = tmpStr;
						break;
					case 4:
						srcObject.value += "-";
						break;
					case 7:
						srcObject.value += "-";
						break;
				}
				break;
		}
		return true;
	}
}
function checkRadios() {
	var myElement = document.forms[0].elements;
	for(var i = 0 ; i < myElement.length ; ++i) {
		if(myElement[i].type == "radio") {
			var radiogroup = myElement[myElement[i].name]; // get the whole set of radio buttons.
			var itemchecked = false;
		for(var j = 0 ; j < radiogroup.length ; ++j) {
			if(radiogroup[j].checked) {
				itemchecked = true;
				break;
			}
		}
		if(!itemchecked) {
			alert("You must select a value for the radio button \n");
			if(myElement[i].focus)
				myElement[i].focus();
				return false;
			}
		}
	}
	return true;
}
function rightTrim( strValue ) {
	var objRegExp = /^([\w\W]*)(\b\s*)$/;
	if(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '$1');
	}
	return strValue;
}
function leftTrim( strValue ) {
	var objRegExp = /^(\s*)(\b[\w\W]*)$/;
	if(objRegExp.test(strValue)) {
		strValue = strValue.replace(objRegExp, '$2');
	}
	return strValue;
}
function ie5fix(){
	if (!Array.prototype.push) {
	 Array.prototype.push = function() {
		 for (var i = 0; i < arguments.length; ++i) {
			 this[this.length] = arguments[i];
		 }
		 return this.length;
	 };
	}
}


function disableForm(theform) {
  if (document.all || document.getElementById) {
    for (i = 0; i < theform.length; i++) {
      var tempobj = theform.elements[i];
      if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
        tempobj.disabled = true;
    }
    return true;
  }
  else {
    return false;
  }
}