function CheckState(stateField, countryField, otherStateField, intMinLength, strErrMsg) {
	var stateFieldIndex = stateField.selectedIndex;
	var countryFieldIndex = countryField.selectedIndex;
	
	if ((countryField.options[countryFieldIndex].value == "US") || (countryField.options[countryFieldIndex].value == "CA") || (countryField.options[countryFieldIndex].value == "MX"))	{
		if (stateField.options[stateFieldIndex].value == "X")	{
			if (bGoodSubmit) {
				bGoodSubmit = false;
				alert(strErrMsg);
				stateField.focus();
			}
		}
	} else if (otherStateField.value < intMinLength) {
		if (bGoodSubmit) {
			bGoodSubmit = false;
			alert(strErrMsg);
			otherStateField.focus();
		}
	}
}

function CheckFreeText(formField, intMinLength, strErrMsg) {
	var fieldVal = formField.value;
	
	if (fieldVal.length < intMinLength) {
		if (bGoodSubmit) {
			bGoodSubmit = false;
			alert(strErrMsg);
			formField.focus();
		}
	}
}

function CheckNumber(formField, intMinLength, strErrMsg) {
	var bErrorFlag = false;
	
	var fieldVal = formField.value;
	
	if (fieldVal.length >= intMinLength) {
		//Use regular expression to find anything !0-9
		if(fieldVal.search(/\D/) != -1) {
			bErrorFlag = true;
		}
	} else {
		bErrorFlag = true;
	}
	
	if (bErrorFlag && bGoodSubmit) {
		bGoodSubmit = false;
		alert(strErrMsg);
		formField.focus();
	}
}

function CheckDropDown(formField, strErrMsg) {
	var selIndex = formField.selectedIndex;
	
	if (formField.options[selIndex].value == "X") {
		if (bGoodSubmit) {
			bGoodSubmit = false;
			alert(strErrMsg);
			formField.focus();		
		}
	}
}

function CheckEmail(addrField) {
	if (bGoodSubmit) {
		var addrValue = addrField.value;
   		var sign = addrValue.indexOf("@");
        var before = addrValue.substring(0,sign);
        var after = addrValue.substring(sign+1,addrValue.length);
        var lower = after.toLowerCase();
        var coma = before.indexOf(",");
        var period = after.indexOf(".");
        berrorFlag = false;
		
		//alert(addrValue + "\n sign=" + sign + "\n after=" + after + "\n period=" + period);
        while (!berrorFlag) {
        	if (sign == 0) {
				alert("EMAIL: User name is missing before the @."); 
				berrorFlag = true; 
				break;
			} else if (sign == -1) {
				alert("EMAIL: You need an @ somewhere in the address."); 
				berrorFlag = true; 
				break;
			} else if (sign==(name.length-1)) {
				alert("EMAIL: Missing host name after the @."); 
				berrorFlag = true; 
				break;
			} else if (period == -1) {
				alert("EMAIL: You need a period in the second part of the address"); 
				berrorFlag = true; 
				break;
			} else {
				break;
   			}	
		}
		if (berrorFlag){
			addrField.focus();
			bGoodSubmit = false;
		}		
	}
}
