<!--
function chkBox(chkfield, hiddenfield) {
	if (chkfield.checked) {
		hiddenfield.value = 1;
	} else {
		hiddenfield.value = 0;
	}
	return true;
}

function ReverseChkBox(chkfield, hiddenfield) {
	if (chkfield.checked) {
		hiddenfield.value = 0;
	} else {
		hiddenfield.value = 1;
	}
	return true;
}

function ValidateText(formfield, DisplayMsg, required) {
	if (formfield) {
		if (formfield.value == "" && required == 'N') { return true; }
		if (formfield.type == 'hidden') {return true;}
		if (formfield.value == "" && required == 'Y') {
			alert(DisplayMsg);
			formfield.focus();
			return false;
		}
		if (formfield.value == "" && required == 'P') {
			formfield.focus();
			return confirm(DisplayMsg);
		}
	}
	return true;
}

// If we're validating a hidden field, that means that it will be required.
function ValidateHidden(formfield, DisplayMsg) {
	if (formfield && formfield.type == 'hidden') {
		if (formfield.value == "") {
			alert(DisplayMsg);
			formfield.focus();
			return false;
		}
	}
	return true;
}

function ValidatePhone(formfield, DisplayMsg, required) {
	if (formfield) {
		if (formfield.value == "" && required == 'N') { return true; }
		if (formfield.type == 'hidden') {return true;}
		if (formfield.value == "" && required == 'Y') {
			alert(DisplayMsg);
			formfield.focus();
			return false;
		}
		if (formfield.value == "" && required == 'P') {
			formfield.focus();
			return confirm(DisplayMsg);
		}
		var count = 0
		for (i=0; i<formfield.value.length; i++){
			if (!isNaN(formfield.value.charAt(i))){	
				count = count + 1;
			}
		}
		 if (count <= 9){
		 	alert('You must enter a complete phone number.');
			formfield.focus();
			return false;
		}
		 if (count >= 16){
		 	alert('You must enter a real phone number.');
			formfield.focus();
			return false;
		} 
	}
	return true;
}
function ValidateSrchTextBox(formfield, DisplayMsg) {
	if (formfield) {
		if ([formfield + '_Display']){
			if (formfield.value == "") {
				alert('Please find ' + DisplayMsg);
				return false;
			}
		}
	}
	return true;
}

function ValidateTextArea(formfield, DisplayMsg, required, maxlength) {
	if (formfield) {
		if ((formfield.value == "") && required == 'N') { return true; }
		if (formfield.type == 'hidden') {return true;}
		if (formfield.value == "" && required == 'Y') {
			alert(DisplayMsg);
			formfield.focus();
			return false;
		}
		if (formfield.value == "" && required == 'P') {
			formfield.focus();
			return confirm(DisplayMsg);
		}
		if (maxlength) {
			if (formfield.value.length > maxlength) {
				if (required != 'P') { 
					alert(DisplayMsg + '\n\n' + ' This has too many characters entered.  It may only be ' + maxlength + ' characters.');
				} else { 
					alert('This has too many characters entered.  It may only be ' + maxlength + ' characters.');
				}
				formfield.focus();
				return false;
			}
		}

		var invalidChars
		var testField
		var testIndex
		testField = formfield.value;
		invalidChars = ";/*():'|=[]#"

		for (i=0; i<invalidChars.length; i++) {
			badChar = invalidChars.charAt(i);			
			
			testIndex = testField.indexOf(badChar, 0)			
			if (testIndex != -1) { 	
				if (badChar == "'")
				{
					alert('You have entered an invalid character in the Notes field.  Please check your entry, remove the \'\ and resubmit.');
					formfield.focus();
					return false;
				} else {
					alert('You have entered an invalid character in the Notes field.  Please check your entry, remove the \'' + badChar + '\' and resubmit.');
					formfield.focus();
					return false;
				}
			} 
		}

		for (i=0; i<testField.length; i++) {
			if (testField.charAt(i) ==  "@")
			{
				
				if (i<testField.length -1)
				{						
						
					if (testField.charAt(i+1)  == "@")
					{
						
						alert('You have entered an invalid character in the Notes field.  Please check your entry, remove the @@ and resubmit.');
						formfield.focus();
						return false;
					}
				}
			}
			
		}

		for (i=0; i<testField.length; i++) {
			if (testField.charAt(i) == '-')
			{
				if (i<testField.length -1)
				{
					if (testField.charAt(i+1)  == '-')
					{
						alert('You have entered an invalid character in the Notes field.  Please check your entry, remove the -- and resubmit.');
						formfield.focus();
						return false;
					}
				}
			}
			
		}
				
	}
	return true;
}

function ValidateNum(formfield, msg, required, MinValue, MaxValue) {
	if (formfield) {
		msg = msg + "\n\n- You must enter a valid number for this field, (" + formfield.name + ")."
		if (MinValue) { msg = msg + "\n\n- This number must be at least " + MinValue + "."; }
		if (MaxValue) { msg = msg + "\n\n- This number must be no more than " + MaxValue + "."; }
	
		if (!formfield) { return true;}
		if (formfield.type == 'hidden') {return true;}
	
		if ((formfield.value == "") && (required == 'N')) { return true; }
		if ((formfield.value == "") && (required == 'P')) { 
			if (!confirm(msg)) {
				formfield.focus();
				return false;
			}
		}
		
		if ((required == 'Y') && (formfield.value == "")) {
			alert(msg);
			formfield.focus();
			return false;
		}
		
		if (!(formfield.value == '')) {
			if (isNaN(formfield.value)) {
				alert(msg);
				formfield.focus();
				return false;
			}
			
			if ((MinValue) && (formfield.value < MinValue)) {
				alert(msg);
				formfield.focus();
				return false;
			}
		
			if ((MaxValue) && (formfield.value > MaxValue)) {
				alert(msg);
				formfield.focus();
				return false;
			}
		}
	}
	return true;
}

function ValidateOrderNum(formfield, msg, fieldname, MinValue) {
	if (formfield) {
		msg = msg + "\n\n- You have entered an invalid character in the " + fieldname + " field.  Please check your entry and resubmit." 
		if (MinValue) { msg = msg + "\n\n- This number must be at least " + MinValue + "."; }
			
				
		if (!(formfield.value == '')) {
			if (isNaN(formfield.value)) {
				alert(msg);
				formfield.focus();
				return false;
			}
			
			if ((MinValue) && (formfield.value < MinValue)) {
				alert(msg);
				formfield.focus();
				return false;
			}			
		}
	}
	return true;
}

function ValidateOrderInt(formfield, msg, fieldname, MinValue) {
	if (formfield) {	
		msg = msg + "\n\n- You have entered an invalid character in the " + fieldname + " field.  Please check your entry and resubmit." 
		if (MinValue) { msg = msg + "\n\n- This number must be at least " + MinValue + "."; }
	
	
		if (!(formfield.value == '')) {
			if (isNaN(formfield.value)) {
				alert(msg);
				formfield.focus();
				return false;
			}
			
			if ((MinValue) && (formfield.value < MinValue)) {
				alert(msg);
				formfield.focus();
				return false;
			}			
	
			if (formfield.value.indexOf("\.") != -1) {
				alert(msg);
				formfield.focus();
				return false;
			}
		}
	}		
	return true;
}

function ValidateInt(formfield, msg, required, MinValue, MaxValue) {
	if (!formfield) { return true;}
	if (!ValidateNum(formfield, msg, required, MinValue, MaxValue)) { return false; }
	msg = msg + "\n\n(This must be a valid integer.)"
	if (formfield.value.indexOf("\.") != -1) {
		alert(msg);
		formfield.focus();
		return false;
	}
	return true;
}


function ValidateCurrency(formfield, Msg, required, MinValue, MaxValue) {
	if (!formfield) { return true;}
	if (formfield.value == "" && required == 'N') { return true; }
	if (formfield.value == "" && required == 'P') { 
		alert(Msg);
		return true; 
	}

	if (formfield.value == "" && required == 'Y') {
		alert(Msg + '\n\n\(This must be a valid currency amount.\)');
		formfield.focus();
		return false;
	}

	// remove any commas for further comparisons
	CurrencyVal = formfield.value.replace(/,/g, '');
	if (isNaN(CurrencyVal)) {
		alert(Msg + '\n\n\(This must be a valid currency amount.\)');
		formfield.focus();
		return false;
	}

	if ((MinValue) && (CurrencyVal < MinValue)) {
		alert(Msg + '\n\n(This value must be at least ' + MinValue + ')');
		formfield.focus();
		return false;
	}

	if ((MaxValue) && (CurrencyVal > MaxValue)) {
		alert(Msg + '\n\n(This value cannot be greater than ' + MaxValue + ')');
		formfield.focus();
		return false;
	}
	periodPos = formfield.value.indexOf('.',1);
	if (periodPos < 0) { formfield.value = formfield.value + '.00'; }
	if (periodPos+3 > formfield.value.length) { formfield.value = formfield.value + '0'; }
	return true;
}


function CkHalfNum(formfield, msg) {
	if (!formfield) { return true; }
	DecimalPoint = formfield.value.indexOf("\.",0);
	if (DecimalPoint != -1) {
		remainder= "";
		for (i=DecimalPoint; i<formfield.value.length; i++) {
			remainder = remainder + formfield.value.charAt(i);
       	}
		if (remainder != .0 && remainder != .5 && remainder != '.') {
			alert(msg);
			formfield.focus();
			return false;
		}
	}
	return true;
}


function FormatZip4(ZipField) {
	str = ZipField.value;
	isNetscape=(document.layers);
	eventChooser = (isNetscape) ? keyStroke.which : event.keyCode;
	ThisKey = String.fromCharCode(eventChooser).toLowerCase();
	if (!isNaN(str) && str.length == 6 && str.charAt(5) != '-') { str = str.substr(0,5) + '-' + str.substr(5,6); }
	ZipField.value = str;
	return true;
}


function ChkZip4(formfield, msg, required) {
	if (!formfield) { return true;}
	if ((formfield.value == "") && (required == 'N')) { return true; }
	if ((formfield.value == "") && (required == 'P')) { 
		if (confirm(msg)) {
			formfield.focus();
			return false;
		}
	}
	
	if ((required == 'Y') && (formfield.value == "")) {
		alert(msg);
		formfield.focus();
		return false;
	}
	
	if (!(formfield.value == '')) {
		str = formfield.value;
		if (isNaN(str) && str.length == 5) {
			alert(msg);
			formfield.focus();
			return false;
		}
		if (str.length == 10) {
			if (str.charAt(5) != '-') {
				alert(msg);
				formfield.focus();
				return false;
			}
			zip5 = str.substr(0,4);
			zip4 = str.substr(6,9);
			if (isNaN(zip5) || isNaN(zip4)) {
				alert(msg);
				formfield.focus();
				return false;
			}
		}
	}		
	return true;
}



function ValidateSelect(FormField, DisplayMsg, required) {
	if (FormField) {
		if (FormField.type == 'hidden') { return true; }
		if (FormField.disabled == true) { return true; }
		if (FormField.type != 'select-one') {
			//This needed to be made more flexible to handle circumstances where formfield is not a select box
			return true;
			//alert('Error in Validators.js! - ' + FormField.name + ' is not a select box.');
			//return false;
		}
		if (FormField[0].selected && required == 'N') { return true; }
		if (FormField[0].selected && required == 'Y') {
			alert(DisplayMsg);
			FormField.focus();
			return false;
		}
		if (FormField[0].selected && required == 'P') {
			FormField.focus();
			return confirm(DisplayMsg);
		}
	}
	return true;
}

function ValidateMultiSelect(FormField, DisplayMsg, required) {
	if (FormField && FormField.type != 'hidden') {
		if (required == 'N') { return true; }
		if (required == 'Y') {
			if (FormField.length >= 1) {
				for (i=0; i<FormField.length; i++) {
					if (FormField[i].selected) { return true; }
				}
				alert(DisplayMsg);
				FormField.focus();
				return false;
			}
		}
		if (required == 'P') {
			if (FormField.length >= 1) {
				for (i=0; i<FormField.length; i++) {
					if (FormField[i].selected) { return true; }
				}
				FormField.focus();
				return confirm(DisplayMsg);
			}
		}
	}
	return true;
}


// checks to see if one of several radio buttons is selected
function ValidateRadio(FormField, DispMsg,required) {
	if (FormField && FormField.type != 'hidden') {
		if (required == 'N') { return true; }

		if (required == 'P') { 
			formfield.focus();
			return confirm(DispMsg);
		}
		
		if (required == 'Y') { 
			if (FormField.length > 0) {
				for (i = 0; i < FormField.length; i++) {
					if (FormField[i].checked) { return true; } 
				}
				alert(DispMsg);
				return false;
			} else { 
				if (!FormField.checked) { 
				alert(DispMsg);
				return false;
				}
			}
		}
	}
	return true;
}


function ValidateMultiCheck(FormField, DisplayMsg, required) {
	if (FormField && FormField.type != 'hidden') {
		if (required == 'N') { return true; }
		if (required == 'Y') {
			if (FormField.length > 1) {
				for (i=0; i<FormField.length; i++) {
					if (FormField[i].checked) { return true; }
				}
				alert(DisplayMsg);
				return false;
			} else {
				if (!FormField.checked) {
					alert(DisplayMsg);
					return false;
				}
			}
		}
		if (required == 'P') {
			var fieldname =  FormField[0].name;
			var len = eval('document.forms[0].' + fieldname + '.length');
			if (len > 0) {
				for (i=0; i<len; i++) {
					if (FormField[i].checked) { return true; }
				}
				//FormField.focus();
				return confirm(DisplayMsg);
			} else {
				if (!FormField.checked) {
					//FormField.focus();
					return confirm(DisplayMsg);
				}
			}
		}
	}
	return true;
}

function GoToForm(form, script, targetwindow) {
	form.action = script;
	if (targetwindow) {form.target = targetwindow;}
	form.submit();
	return true;
}

function ChkAll(formfield, CkBoxField) {
	if (formfield.checked == true) {       //Check all people
		for (var i=0; i < CkBoxField.length; i++)  { 
			CkBoxField[i].checked = true; 
		}
	} else {
		for (var i=0; i < CkBoxField.length; i++)  { CkBoxField[i].checked = false; }
	} 
	return true;
}

function RefreshOpener(NewLoc) {
	if (window.opener) {
		if (NewLoc == '') {
			window.opener.location.reload();
		} else {
			window.opener.location.href = NewLoc;
		}
		window.close();
	}
}

//formats phones on blur
function SetPhone(Phone) {
	str = Phone.value;
	if (str.length == 10 && !isNaN(str)) { Phone.value = str.substr(0,3) + '-' + str.substr(3,3) + '-' + str.substr(6,4); }
	return true;
}

// - Created on 4/4/2002 - Anu
// adds dashes while typing
function FormatPhone(Phone) { 
	if (Phone.value.length == 4 && !isNaN(Phone.value)) {
		var x = Phone.value;
		if (x.substring(3,4) != '-') { 
			Phone.value = x.substring(0,3) + '-' + x.substring(3,4);
			return true;
		}
	}
	if (Phone.value.length == 8 && Phone.value.substring(3,4) == '-') {
		var x = Phone.value;
		if (x.substring(7,8) != '-') { 
			Phone.value=x.substring(0,7) + '-' + x.substring(7,8);
			return true;
		}
	}
	return true;
}


function Toggle(e){
	if (e.checked) {Highlight(e);}
	else { Unhighlight(e);}
}

function Highlight(e) {
	var r = null;
	if (e.parentNode && e.parentNode.parentNode) {r = e.parentNode.parentNode;}
	else if (e.parentElement && e.parentElement.parentElement) {r = e.parentElement.parentElement;}
	if (r) {
	    if (r.className == "Rowon") {
			r.className = "Rowoff";
		}
	    else if (r.className == "Rowoff") {
			r.className = "Rowon";
		}
	}
}

function Unhighlight(e) {
	var r = null;
	if (e.parentNode && e.parentNode.parentNode) {r = e.parentNode.parentNode;}
	else if (e.parentElement && e.parentElement.parentElement) {r = e.parentElement.parentElement;}
	if (r) {
	    if (r.className == "Rowon") {r.className = "Rowoff";}
	    else if (r.className == "Rowoff") {r.className = "Rowon";}
	}
}


// validates a file or folder name entry, (but not within a file upload box)
function ValidateFileName(formfield, msg, required) { 
	if (!formfield) { return true;}
	if (formfield.value == "" && required == 'N') { return true; }
	if ((formfield.value == "") && (required == 'P')) { 
		if (confirm(msg)) {
			formfield.focus();
			return false;
		}
	}
	if ((required == 'Y') && (formfield.value == "")) {
		alert(msg);
		formfield.focus();
		return false;
	}

	invalidChars = " &.,;"
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i)
		if (formfield.value.indexOf(badChar, 0) != -1) { 
			if (badChar == ' ') { badChar = 'space'; }
			alert(msg + '\n\n(Illegal character of \'' + badChar + '\' in the file name!)');
			formfield.focus();
			return false;
		}
	}
	return true;
}


// validates a file within a file upload box
function ValidateFileBox(formfield, msg, required, ReqExtList, DisallowExtList) { 
	if (!formfield) { return true;}
	if (formfield.value == "" && required == 'N') { return true; }
	if ((formfield.value == "") && (required == 'P')) { 
		if (confirm(msg)) {
			formfield.focus();
			return false;
		}
	}
	if ((required == 'Y') && (formfield.value == "")) {
		alert(msg);
		formfield.focus();
		return false;
	}

	lastSlash = formfield.value.lastIndexOf('\\');
	if (lastSlash < 1) { lastSlash = formfield.value.lastIndexOf('/'); }
	if (lastSlash < 1) {
		alert(msg + '\n\n(Unrecognizable path of \'' + formfield.value + '\' for this file.)');
		formfield.focus();
		return false;
	}

	FileName = formfield.value.substr(lastSlash+1);
	invalidChars = " &"
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i)
		if (FileName.indexOf(badChar, 0) != -1) { 
			if (badChar == ' ') { badChar = 'space'; }
			alert(msg + '\n\n(Illegal character of \'' + badChar + '\' in the file name!)');
			formfield.focus();
			return false;
		}
	}

	lastDot = FileName.lastIndexOf('\.') ; 
	if (lastDot > 0)  {
		var extName = FileName.substr(lastDot);
		if (extName != '' && ReqExtList && ReqExtList != '') { 
			extName = extName.toUpperCase()
			ReqExtList = ReqExtList.toUpperCase()
			var Exts = new Array();
			Exts = ReqExtList.split(',');
			for (i=0; i < Exts.length; i++) {
				if (Exts[i] != extName) { 
					var BadExt = false;
					//return false;
				} else { 
					return true;
				}
			} 
			if (!BadExt) { 
				alert(msg + '\n\n(The file must be of \' ' + ReqExtList + ' \' type.)'); 
				return false;
			} 
		}

		// check for disallowed list
		if (DisallowExtList) { 
			if (extName != '' && DisallowExtList != '') { 
				extName = extName.toUpperCase()
				DisallowExtList = DisallowExtList.toUpperCase()
				var Exts = new Array();
				Exts = DisallowExtList.split(',');
				for (i=0; i < Exts.length; i++) {
					if (Exts[i] == extName) { 
						alert(msg + '\n\n(The file cannot be of \' ' + Exts[i] + ' \' type.)'); 
						return false;
					}
				} 
			} 
		}
	}
	return true;
}

//-->

