<!--
var sAlertString;
var bAlertFlag;
var sAlertFocus;
var bErrorFlag;
var bSubmitForm;

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function


function initialiseValidation(sInitialMessage) {
	sAlertString = sInitialMessage;
	bAlertFlag = false;
	sAlertFocus = "";
	bSubmitForm = true;
}

function finaliseValidation() {
    if (bAlertFlag) {
		alert(sAlertString);
	}
	if (sAlertFocus) {
		var oFocusField = eval(sAlertFocus);
		oFocusField.focus();
	}
	return bSubmitForm;
}

function startValidation(oFormField) {
	bErrorFlag = false;
	if (oFormField && oFormField.value.length<=0) {
		bErrorFlag = true;
	}
}

function finishValidation(oFormField,sErrorMessage) {
	if (bErrorFlag && sErrorMessage!="") {
		bAlertFlag = true;
		sAlertString = sAlertString + sErrorMessage;
		oFormField.className = "requiredfield";
		if (sAlertFocus!="") { sAlertFocus=oFormField; }
		bSubmitForm = false;
	}
	else {
		oFormField.className = "";	
	}
	return !bErrorFlag;
}

function validateFormEntryExists(oFormField,sErrorMessage) {
	startValidation();
	var iFieldLength = trim(oFormField.value).length;
	if (iFieldLength<1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsNumber(oFormField,sErrorMessage) {
	startValidation(oFormField);
	var iFieldLength = oFormField.value.length;
	if ((iFieldLength<1) || (oFormField.value / oFormField.value != 1 && oFormField.value!=0)) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryInRange(oFormField,sErrorMessage,iLowerLimit,iUpperLimit) {
	startValidation(oFormField);
	if ((iLowerLimit && iLowerLimit != null) && (oFormField.value < iLowerLimit)) {
		bErrorFlag = true;
	}
	if ((iUpperLimit && iUpperLimit != null) && (oFormField.value > iUpperLimit)) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryLength(oFormField,sErrorMessage,iLowerLimit,iUpperLimit) {
	startValidation(oFormField);
	var iFieldLength = oFormField.value.length;
	if ((iLowerLimit && iLowerLimit != null) && (iFieldLength < iLowerLimit)) {
		bErrorFlag = true;
	}
	if ((iUpperLimit && iUpperLimit != null) && (iFieldLength > iUpperLimit)) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateCorrespondingFields(oFormField,oFormField2,sErrorMessage) {
	startValidation(oFormField);
	var iFormField1Length = oFormField.value.length;
	var iFormField2Length = oFormField2.value.length;
	if ((iFormField1Length!=iFormField2Length) || (oFormField.value!=oFormField2.value)) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateNonCorrespondingFields(oFormField,oFormField2,sErrorMessage) {
	startValidation(oFormField);
	var iFormField1Length = oFormField.value.length;
	var iFormField2Length = oFormField2.value.length;
	if (oFormField.value==oFormField2.value) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateBoxChecked(oFormField,sErrorMessage,iNumberOfBoxes) {
	startValidation();
	var bAnyBoxesChecked = false;
	if (iNumberOfBoxes) {
		if (iNumberOfBoxes==1) {
			if (oFormField.checked) {
				bAnyBoxesChecked = true;
			} 		
		}
		if (iNumberOfBoxes>1) {
			for (var iTempX = 0; iTempX<iNumberOfBoxes; iTempX++) {
				if (oFormField[iTempX].checked) {
					bAnyBoxesChecked = true;
				}
			} 		
		}
	}
	else {
		if (oFormField.checked) {
			bAnyBoxesChecked = true;
		}
	}
	if (!bAnyBoxesChecked) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateRadioChecked(oFormField, sErrorMessage) {
	startValidation();
	var bAnyRadiosChecked = false;
	for (var iTempX = 0; iTempX<oFormField.length; iTempX++) {
		if (oFormField[iTempX].checked) {
			bAnyRadiosChecked = true;
		}
	} 
	if (!bAnyRadiosChecked) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField[0],sErrorMessage);
}

function validateSelected(oFormField,sErrorMessage) {
	startValidation();
	if (oFormField.options[oFormField.selectedIndex].value.substring(0,7) == "invalid") {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryHasNoSpaces(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search(/\s/)!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsAlpha(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^a-zA-Z]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormFieldTime1IsGreaterThan2(oFormField1,oFormField2,sErrorMessage) {
	
	if (oFormField1.getTime() > oFormField2.getTime())
    {
		bErrorFlag = true;
	}	
	return finishValidation(oFormField1,sErrorMessage);
}

function validateFormEntryIsAlphaIncludingSpaces(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^a-zA-Z ]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsAlphaIncludingSpacesAndSpecials(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^-a-zA-Z' ]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsNumeric(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^0-9]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsNumericIncludingSpaces(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^0-9 ]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsNumericIncludingSpacesAndSpecials(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^-0-9\' ]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsAlphaNumeric(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^a-zA-Z0-9]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsAlphaNumericIncludingSpaces(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^a-zA-Z0-9 ]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryIsAlphaNumericIncludingSpacesAndSpecials(oFormField,sErrorMessage) {
	startValidation(oFormField);
	if (oFormField.value.search("[^-a-zA-Z0-9\' ]")!=-1) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateFormEntryDecimalPlaces(oFormField,sErrorMessage,iDecimalLowerLength,iDecimalUpperLength) {
	startValidation(oFormField);
	if (oFormField.value.match(/\./g)!=null) {
		var iDecimalPlaces = oFormField.value.match(/\./g);
		if (iDecimalPlaces.length==1) {
			var iDecimalPoints = (oFormField.value.length - 1) - oFormField.value.lastIndexOf(".");
			if ((iDecimalLowerLength && iDecimalLowerLength != null) && (iDecimalPoints < iDecimalLowerLength)) {
				bErrorFlag = true;
			}
			if ((iDecimalUpperLength && iDecimalUpperLength != null) && (iDecimalPoints > iDecimalUpperLength)) {
				bErrorFlag = true;
			}
		}
	}
	return finishValidation(oFormField,sErrorMessage);
}

function validateEmail(oFormField,sErrorMessage) {
	startValidation(oFormField);
	var oValidEmailRegex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!oValidEmailRegex.test(oFormField.value)) {
		bErrorFlag = true;
	}
	return finishValidation(oFormField,sErrorMessage);	
}
//-->