///////////////////////////////////////////////////////
// JavaScript form validation functions script.  
///////////////////////////////////////////////////////
function isBlank(Ctrl) {  // returns true if blank	
	if (Ctrl.value.length < 1)
		return true;
	else if (isEmpty(Ctrl.value))
		return true;
	else return false;
}
function isEmpty(s) { // prevents entering empty strings
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) return false; 
	}
	return true;
}
function isTooShort(Ctrl,num) {
	if (Ctrl.value.length < num)
		return true;
	else return false;
}
function isNotANumber(Ctrl) {  // returns true if not a number
	if (isNaN(Ctrl.value))
		return true;
	else return false;
}
function isChecked(Ctrl) {
	if (Ctrl.checked) return true;
	else return false;
}
function isCheckedByLength(Ctrl) {	// for multiple checkboxes with same name
	var boxIsChecked = false;
	for (i=0; i < Ctrl.length; i++) {
		if (Ctrl[i].checked) { 
			boxIsChecked = true;
			break;
		}
	}
	if (!boxIsChecked) return true;
	else return false;
}
function isSelected(Ctrl, index){  // returns true if the index indicated is selected
	if (Ctrl.options[index].selected)
		return true;
	else return false;
}
function isSelectedRange(Ctrl, loLimit, upLimit){ 
	var ctrlRangeValue = Ctrl.selectedIndex;
	if (!(ctrlRangeValue >= loLimit && ctrlRangeValue <= upLimit))
		return true;
	else return false;
}
function isSelectedOrHigher(Ctrl, upLimit){ 
	var ctrlValue = Ctrl.selectedIndex;
	if (ctrlValue > upLimit)
		return true;
	else return false;
}
function checkZip(Ctrl) {  // returns true if not properly formatted zip code
	zipString = Ctrl.value;
	if (zipString.length == 5) {
		if (isNaN(zipString)) return true;
	} else if (zipString.length < 5) {
		return true;
	} else if ( 
	   zipString.length < 10 ||
	   isNaN( zipString.substring(0,5) ) || 
	   isNaN( zipString.substring(6,10) ) ||
	   (zipString.substring(5,6) != '-') ) {
			return true;
	} 
	else return false;
}	// end checkZip()
function testSimpleEmail(Ctrl){  // returns true if invalid email
   var err=0;
   emailString = Ctrl.value;
   if (window.RegExp) {
      var regexEmail = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;
      return !regexEmail.test(emailString);
   } else {
   	if (emailString.indexOf("@",1) == -1) err=1;  // need @ symbol
   	if (emailString.indexOf("@",1) != emailString.lastIndexOf("@")) err=1;  // only one @ symbol
   	if (emailString.indexOf(".",3) == -1) err=1;  // need at least one "."
   	if (emailString.lastIndexOf(".") == (emailString.length-1)) err=1;  // can't end with a "."
   	// check length
   	if (err==0) {
   		var at = (emailString.indexOf("@"))+1;
   		var lastDot = (emailString.lastIndexOf("."))+1;
   		// test to make sure there's at least one character between "at" and "lastDot"
   		if (lastDot - at == 1) err=1;
   	}
   }
   if (err==1) return true;
	else return false;
}	// end testSimpleEmail()