﻿var flgValidateDDLs = false;
var flgValidateTextBoxes = false;
var flgQTLNoValidate = false;
var flgQTLShowValidationAlert = false;
var flgQTLVEBusy = false;
var gloQTLControlsToValidate = "";

var strQTLFocusControlStatus = "";

var constQTLAJAXExecuteOnClick = 1;
var constQTLAJAXExecuteOnMouseOver = 2;
var constQTLAJAXExecuteOnMouseOut = 3;
var constQTLAJAXExecuteOnInvalid = 4;
var constQTLAJAXExecuteOnFocus = 5;
var constQTLAJAXExecuteOnBlur = 6;
var constQTLAJAXExecuteOnSelect = 7;
var constQTLAJAXExecuteOnKeyPress = 8;
var constQTLAJAXExecuteOnKeyUp = 9;

divStatusBar = null;

function QTLExecuteAJAX(objQTLAJAXControl, intExecuteType) {
	//debugger;
	//if ((objQTLAJAXControl.OnClickAJAXServiceID != "") && ((objQTLAJAXControl.OnClickAJAXAssignReturnTo  != "") || (objQTLAJAXControl.OnClickAJAXCBFunction != ""))) {
	//if ((objQTLAJAXControl.OnClickAJAXAssignReturnTo  != "") || (objQTLAJAXControl.OnClickAJAXCBFunction != "")) {	
		var strAJAXEXE = "";
		var arrAJAXArgs = new Array();
		
		switch (intExecuteType) {
			case constQTLAJAXExecuteOnClick :
				strAJAXEXE = objQTLAJAXControl.OnClickAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnClickAJAXEngineID + "." + objQTLAJAXControl.OnClickAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnClickAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnClickAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnClickAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnClickAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnClickAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnClickAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnClickAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnClickAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnClickArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnClickArgs.split(eval(objQTLAJAXControl.OnClickAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnMouseOver :
				strAJAXEXE = objQTLAJAXControl.OnMouseOverAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnMouseOverAJAXEngineID + "." + objQTLAJAXControl.OnMouseOverAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnMouseOverAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnMouseOverAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnMouseOverAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnMouseOverAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnMouseOverAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnMouseOverAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnMouseOverAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnMouseOverAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnMouseOverArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnMouseOverArgs.split(eval(objQTLAJAXControl.OnMouseOverAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnMouseOut :
				strAJAXEXE = objQTLAJAXControl.OnMouseOutAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnMouseOutAJAXEngineID + "." + objQTLAJAXControl.OnMouseOutAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnMouseOutAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnMouseOutAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnMouseOutAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnMouseOutAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnMouseOutAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnMouseOutAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnMouseOutAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnMouseOutAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnMouseOutArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnMouseOutArgs.split(eval(objQTLAJAXControl.OnMouseOutAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnInvalid :
				strAJAXEXE = objQTLAJAXControl.OnInvalidAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnInvalidAJAXEngineID + "." + objQTLAJAXControl.OnInvalidAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnInvalidAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnInvalidAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnInvalidAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnInvalidAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnInvalidAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnInvalidAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnInvalidAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnInvalidAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnInvalidArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnInvalidArgs.split(eval(objQTLAJAXControl.OnInvalidAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnFocus :
				strAJAXEXE = objQTLAJAXControl.OnFocusAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnFocusAJAXEngineID + "." + objQTLAJAXControl.OnFocusAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnFocusAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnFocusAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnFocusAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnFocusAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnFocusAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnFocusAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnFocusAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnFocusAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnFocusArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnFocusArgs.split(eval(objQTLAJAXControl.OnFocusAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnBlur :
				strAJAXEXE = objQTLAJAXControl.OnBlurAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnBlurAJAXEngineID + "." + objQTLAJAXControl.OnBlurAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnBlurAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnBlurAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnBlurAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnBlurAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnBlurAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnBlurAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnBlurAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnBlurAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnBlurArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnBlurArgs.split(eval(objQTLAJAXControl.OnBlurAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnSelect :
				strAJAXEXE = objQTLAJAXControl.OnSelectAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnSelectAJAXEngineID + "." + objQTLAJAXControl.OnSelectAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnSelectAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnSelectAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnSelectAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnSelectAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnSelectAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnSelectAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnSelectAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnSelectAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnSelectArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnSelectArgs.split(eval(objQTLAJAXControl.OnSelectAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {	
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnKeyPress :
				strAJAXEXE = objQTLAJAXControl.OnKeyPressAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnKeyPressAJAXEngineID + "." + objQTLAJAXControl.OnKeyPressAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnKeyPressAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnKeyPressAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnKeyPressAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnKeyPressAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnKeyPressAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnKeyPressAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnKeyPressAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnKeyPressAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnKeyPressArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnKeyPressArgs.split(eval(objQTLAJAXControl.OnKeyPressAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;
			case constQTLAJAXExecuteOnKeyUp :
				strAJAXEXE = objQTLAJAXControl.OnKeyUpAJAXEngineID + ".CallService(" + objQTLAJAXControl.OnKeyUpAJAXEngineID + "." + objQTLAJAXControl.OnKeyUpAJAXServiceID + ", ";
				strAJAXEXE += " \"" + objQTLAJAXControl.OnKeyUpAJAXFunction + "\" , ";
				if (objQTLAJAXControl.OnKeyUpAJAXCBFunction != "") {
					strAJAXEXE += " \"" + objQTLAJAXControl.OnKeyUpAJAXCBFunction;
				}
				else if (objQTLAJAXControl.OnKeyUpAJAXAssignReturnTo != "") {
					strAJAXEXE += " \"" + "QTLAJAXAssignToCB(\\\"" + objQTLAJAXControl.OnKeyUpAJAXAssignReturnTo.ReplaceAll("'", "\\\'") + "\\\")";
				}
			
				if (objQTLAJAXControl.OnKeyUpAJAXStatusCBFunction != "") {
					strAJAXEXE += eval(objQTLAJAXControl.OnKeyUpAJAXEngineID + ".constAJAXReturnSplit") + objQTLAJAXControl.OnKeyUpAJAXStatusCBFunction + "\"";			
				}
				else {
					strAJAXEXE += '\"';
				}
				
				if (objQTLAJAXControl.OnKeyUpArgs == "") {
					strAJAXEXE += ");";
				}
				else {
					arrAJAXArgs = objQTLAJAXControl.OnKeyUpArgs.split(eval(objQTLAJAXControl.OnKeyUpAJAXEngineID + ".constAJAXReturnSplit"));			
					for (var intCounter = 0; intCounter < arrAJAXArgs.length; intCounter += 2) {
						if (arrAJAXArgs[intCounter + 1].substring(2,1) != "=") {
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", " + arrAJAXArgs[intCounter + 1];
						}
						else {					
							var strEval = (arrAJAXArgs[intCounter + 1].substring(2, (arrAJAXArgs[intCounter + 1].length - 1)));								
							strAJAXEXE += ", " + arrAJAXArgs[intCounter] + ", '" + eval(strEval) + "'";
						}
					}
					strAJAXEXE += ");";
				}
				eval(strAJAXEXE);
				break;																	
		}
	//}
}

function QTLAJAXAssignToCB(strObject, objRet) {
	var strEval = strObject + " = \'" + objRet.Value + "\'";
	eval(strEval);
}

function QTL_GetCaretPos(objText) {
	var intPos = objText.value.length;
	var objCaret;

	if (objText.createTextRange) { 
		objCaret = document.selection.createRange().duplicate(); 
		while ((objCaret.parentElement() == objText) && (objCaret.move("character", 1) == 1)) {
			--intPos;
		}
	}
		
	return intPos;
}

function QTL_SetCaretPos(objText, intPos) {
	var range = objText.createTextRange();
	range.collapse(true);
	range.moveEnd("character", intPos);
	range.moveStart("character", intPos);
	range.select();
}

function QTL_CheckTextInit(objText) {
	if (((objText.MaskType == 1) || (objText.MaskType == 2)) && (objText.value.length == 0)){
		objText.value = "(";
		QTL_SetCaretPos(objText, 1);
		return;
	}
}

// Button Handlers.
function QTL_ButtonMouseOver(objButton) {
	objButton.className = objButton.OverCSS;	
	if (divStatusBar) {
		divStatusBar.innerHTML = objButton.StatusText;
		strQTLFocusControlStatus = objButton.StatusText;
	}
	if ((objButton.OnMouseOverAJAXServiceID != "") && ((objButton.OnMouseOverAJAXAssignReturnTo  != "") || (objButton.OnMouseOverAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnMouseOver);
	}		
}

function QTL_ButtonMouseOut(objButton) {
	objButton.className = objButton.IdleCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = strQTLFocusControlStatus;
	}
	if ((objButton.OnMouseOutAJAXServiceID != "") && ((objButton.OnMouseOutAJAXAssignReturnTo  != "") || (objButton.OnMouseOutAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnMouseOut);
	}	
}

function QTL_ButtonClick(objButton) {
	if (divStatusBar) {
		divStatusBar.innerHTML = "";
	}
	var flgIsValid = true;
	gloQTLControlsToValidate = objButton.ControlsToValidate;
	if (objButton.ShowValidationAlert == 1) {
		flgQTLShowValidationAlert = true;
	}
	else {
		flgQTLShowValidationAlert = false;
	}
	
	if (objButton.DoValidate == 1) {
		flgQTLNoValidate = false;
		//if (QTL_RunValidateEngine() == false) {
		//	flgIsValid = false;
		//}
	}
	else {
		flgQTLNoValidate = true;
	}	
	
	if (objButton.DisableAfterClick == 1) {
		objButton.disabled = true;
		if (objButton.DoClickScriptFirst == 1) {
			eval(objButton.OnButtonClick);
			if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
			}
		}
		if (flgQTLNoValidate == false) {
			flgIsValid = QTL_RunValidateEngine();
		}		
		if (objButton.DoSubmit == 1) {
			if (flgIsValid == true) {
				if (objButton.DoClickScriptFirst == 0) {
					eval(objButton.OnButtonClick);
					if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
						QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
					}
				}			
				__doPostBack(objButton.id, '');
				//document.forms[0].submit();
				return false;
			}
			else {
				if ((objButton.DoClickScriptAlways == 1) && (objButton.DoClickScriptFirst == 0)) {
					eval(objButton.OnButtonClick);
					if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
						QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
					}					
				}			
				eval(objButton.OnInvalid);
				if ((objButton.OnInvalidAJAXServiceID != "") && ((objButton.OnInvalidAJAXAssignReturnTo  != "") || (objButton.OnInvalidAJAXCBFunction != ""))) {
					QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnInvalid);
				}				
				objButton.disabled = false;
				return false;
			}
		}
		if (flgIsValid == true) {
			if (objButton.DoClickScriptFirst == 0) {
				eval(objButton.OnButtonClick);
				if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
					QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
				}				
			}
		}
		else {
			if ((objButton.DoClickScriptAlways == 1) && (objButton.DoClickScriptFirst == 0)) {
				eval(objButton.OnButtonClick);
				if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
					QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
				}
			}		
		}
		objButton.disabled = false;		
		return false;
	}
	
	if (objButton.DoClickScriptFirst == 1) {
		eval(objButton.OnButtonClick);
		if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
		}
	}
	
	if (flgQTLNoValidate == false) {
		flgIsValid = QTL_RunValidateEngine();
	}
	
	if (objButton.DoClickScriptFirst == 0) {
		if (objButton.DoClickScriptAlways == 1) {
			eval(objButton.OnButtonClick);
			if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
			}			
		}
		else if (flgIsValid == true) {
			eval(objButton.OnButtonClick);
			if ((objButton.OnClickAJAXServiceID != "") && ((objButton.OnClickAJAXAssignReturnTo  != "") || (objButton.OnClickAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnClick);
			}			
		}
	}

	//if ((objButton.DoSubmit == 1) && (flgIsValid == true) && (objButton.DisableAfterClick == 1)) {
	//	document.forms[0].submit();
	//	return false;
	//}
	
	//if ((objButton.DoSubmit == 1) && (flgIsValid == true)) {
	//	return true;
	//}
	
	if ((objButton.DoSubmit == 1) && (flgIsValid == true)) {
		return true;
	}
	
	if (flgIsValid == false) {
		eval(objButton.OnInvalid);
		if ((objButton.OnInvalidAJAXServiceID != "") && ((objButton.OnInvalidAJAXAssignReturnTo  != "") || (objButton.OnInvalidAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objButton, constQTLAJAXExecuteOnInvalid);
		}
	}
	return false;
}

// DDL Handlers.
function QTL_DDLFocus(objDDL) {
	if (objDDL.ActiveCSS != "") {
		objDDL.className = objDDL.ActiveCSS;
	}
	if (divStatusBar) {
		divStatusBar.innerHTML = objDDL.StatusText;
		strQTLFocusControlStatus = objDDL.StatusText;
	}
	if ((objDDL.OnFocusAJAXServiceID != "") && ((objDDL.OnFocusAJAXAssignReturnTo  != "") || (objDDL.OnFocusAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objDDL, constQTLAJAXExecuteOnFocus);
	}	
}

function QTL_DDLBlur(objDDL) {
	if (divStatusBar) {
		divStatusBar.innerHTML = "";
		strQTLFocusControlStatus = "";
	}
	if (QTL_ValidateDDL(objDDL)) {
		if (objDDL.IdleCSS != "") {	
			objDDL.className = objDDL.IdleCSS;
		}
		if ((objDDL.OnBlurAJAXServiceID != "") && ((objDDL.OnBlurAJAXAssignReturnTo  != "") || (objDDL.OnBlurAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objDDL, constQTLAJAXExecuteOnBlur);
		}	
	}
	else {
		if (objDDL.ErrorCSS != "") {	
			objDDL.className = objDDL.ErrorCSS;
		}
		if ((objDDL.OnInvalidAJAXServiceID != "") && ((objDDL.OnInvalidAJAXAssignReturnTo  != "") || (objDDL.OnInvalidAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objDDL, constQTLAJAXExecuteOnInvalid);
		}			
	}
}

function QTL_DDLOnSelect(objDDL) {
	if ((objDDL.OnSelectAJAXServiceID != "") && ((objDDL.OnSelectAJAXAssignReturnTo  != "") || (objDDL.OnSelectAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objDDL, constQTLAJAXExecuteOnSelect);
	}	
}

// Text Box Event Handlers.
function QTL_TextMouseOver(objText) {
	if ((objText.className != objText.ActiveCSS) && (objText.className != objText.ErrorCSS)){
		objText.className = objText.OverCSS;
	}
	if (divStatusBar) {
		divStatusBar.innerHTML = objText.StatusText;
	}
	if ((objText.OnMouseOverAJAXServiceID != "") && ((objText.OnMouseOverAJAXAssignReturnTo  != "") || (objText.OnMouseOverAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objText, constQTLAJAXExecuteOnMouseOver);
	}		
}

function QTL_TextMouseOut(objText) {
	if (divStatusBar) {
		divStatusBar.innerHTML = strQTLFocusControlStatus;
	}
	if ((objText.className != objText.ActiveCSS) && (objText.IsError == 0)) { 
		objText.className = objText.IdleCSS;
	}
	else if ((objText.className != objText.ActiveCSS) && (objText.IsError == 1)) {
		objText.className = objText.ErrorCSS;
		if ((objText.OnInvalidAJAXServiceID != "") && ((objText.OnInvalidAJAXAssignReturnTo  != "") || (objText.OnInvalidAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objText, constQTLAJAXExecuteOnInvalid);
		}			
	}
	if ((objText.OnMouseOutAJAXServiceID != "") && ((objText.OnMouseOutAJAXAssignReturnTo  != "") || (objText.OnMouseOutAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objText, constQTLAJAXExecuteOnMouseOut);
	}
}

function QTL_TextFocus(objText) {
	objText.className = objText.ActiveCSS;
	QTL_CheckTextInit(objText);
	if (divStatusBar) {
		divStatusBar.innerHTML = objText.StatusText;
		strQTLFocusControlStatus = objText.StatusText;
	}
	if ((objText.OnFocusAJAXServiceID != "") && ((objText.OnFocusAJAXAssignReturnTo  != "") || (objText.OnFocusAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objText, constQTLAJAXExecuteOnFocus);
	}
}

function QTL_TextBlur(objText) {
	if (QTL_ValidateTextBox(objText) == true) {
		objText.className = objText.IdleCSS; 
	}
	else {
		objText.className = objText.ErrorCSS;
	}
	if (divStatusBar) {
		divStatusBar.innerHTML = "";
		strQTLFocusControlStatus = "";
	}
	if ((objText.OnBlurAJAXServiceID != "") && ((objText.OnBlurAJAXAssignReturnTo  != "") || (objText.OnBlurAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objText, constQTLAJAXExecuteOnBlur);
	}	
}

function QTL_CheckAJAXKeyUp(objText) {
	if ((objText.OnKeyUpAJAXServiceID != "") && ((objText.OnKeyUpAJAXAssignReturnTo  != "") || (objText.OnKeyUpAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objText, constQTLAJAXExecuteOnKeyUp);
	}	
}

function QTL_CheckAJAXKeyPress(objText) {
	if ((objText.OnKeyPressAJAXServiceID != "") && ((objText.OnKeyPressAJAXAssignReturnTo  != "") || (objText.OnKeyPressAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objText, constQTLAJAXExecuteOnKeyPress);
	}	
}

// Label Handlers.
function QTL_LabelMouseOver(objLabel) {
	objLabel.className = objLabel.OverCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = objLabel.StatusText;
		strQTLFocusControlStatus = objLabel.StatusText;
	}
	if ((objLabel.OnMouseOverAJAXServiceID != "") && ((objLabel.OnMouseOverAJAXAssignReturnTo  != "") || (objLabel.OnMouseOverAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objLabel, constQTLAJAXExecuteOnMouseOver);
	}		
}

function QTL_LabelMouseOut(objLabel) {
	objLabel.className = objLabel.IdleCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = strQTLFocusControlStatus;
	}
	if ((objLabel.OnMouseOutAJAXServiceID != "") && ((objLabel.OnMouseOutAJAXAssignReturnTo  != "") || (objLabel.OnMouseOutAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objLabel, constQTLAJAXExecuteOnMouseOut);
	}
}

function QTL_LabelClick(objLabel) {
	if (objLabel.DoClickScriptFirst == 1) {
		eval(objLabel.OnLabelClick);
	}
	else {	
		if ((objLabel.OnClickAJAXServiceID != "") && ((objLabel.OnClickAJAXAssignReturnTo  != "") || (objLabel.OnClickAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objLabel, constQTLAJAXExecuteOnClick);
		}
		eval(objLabel.OnLabelClick);		
	}		
}

// RadioButton Handlers.
function QTL_RadioButtonMouseOver(objRadioButton) {
	objRadioButton.className = objRadioButton.OverCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = objRadioButton.StatusText;
		strQTLFocusControlStatus = objRadioButton.StatusText;
	}
	if ((objRadioButton.OnMouseOverAJAXServiceID != "") && ((objRadioButton.OnMouseOverAJAXAssignReturnTo  != "") || (objRadioButton.OnMouseOverAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objRadioButton, constQTLAJAXExecuteOnMouseOver);
	}		
}

function QTL_RadioButtonMouseOut(objRadioButton) {
	objRadioButton.className = objRadioButton.IdleCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = strQTLFocusControlStatus;
	}
	if ((objRadioButton.OnMouseOutAJAXServiceID != "") && ((objRadioButton.OnMouseOutAJAXAssignReturnTo  != "") || (objRadioButton.OnMouseOutAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objRadioButton, constQTLAJAXExecuteOnMouseOut);
	}	
}

function QTL_RadioButtonClick(objRadioButton) {
	if (objRadioButton.DoClickScriptFirst == 1) {
		eval(objRadioButton.OnRadioButtonClick);
	}
	else {	
		if ((objRadioButton.OnClickAJAXServiceID != "") && ((objRadioButton.OnClickAJAXAssignReturnTo  != "") || (objRadioButton.OnClickAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objRadioButton, constQTLAJAXExecuteOnClick);
		}
		eval(objRadioButton.OnRadioButtonClick);		
	}		
}


// CheckBox Handlers.
function QTL_CheckBoxMouseOver(objCheckBox) {
	objCheckBox.className = objCheckBox.OverCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = objCheckBox.StatusText;
		strQTLFocusControlStatus = objCheckBox.StatusText;
	}
	if ((objCheckBox.OnMouseOverAJAXServiceID != "") && ((objCheckBox.OnMouseOverAJAXAssignReturnTo  != "") || (objCheckBox.OnMouseOverAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objCheckBox, constQTLAJAXExecuteOnMouseOver);
	}		
}

function QTL_CheckBoxMouseOut(objCheckBox) {
	objCheckBox.className = objCheckBox.IdleCSS;
	if (divStatusBar) {
		divStatusBar.innerHTML = strQTLFocusControlStatus;
	}
	if ((objCheckBox.OnMouseOutAJAXServiceID != "") && ((objCheckBox.OnMouseOutAJAXAssignReturnTo  != "") || (objCheckBox.OnMouseOutAJAXCBFunction != ""))) {
		QTLExecuteAJAX(objCheckBox, constQTLAJAXExecuteOnMouseOut);
	}	
}

function QTL_CheckBoxClick(objCheckBox) {
	if (objCheckBox.DoClickScriptFirst == 1) {
		eval(objCheckBox.OnCheckBoxClick);
	}
	else {	
		if ((objCheckBox.OnClickAJAXServiceID != "") && ((objCheckBox.OnClickAJAXAssignReturnTo  != "") || (objCheckBox.OnClickAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objCheckBox, constQTLAJAXExecuteOnClick);
		}
		eval(objCheckBox.OnCheckBoxClick);		
	}		
}


// Validation.
function QTL_RunValidateEngine(objSRC) {
	if (flgQTLNoValidate == true) {
		return true;
	}
	var flgValidated = true;
	flgQTLVEBusy = true;
	if (flgValidateTextBoxes == true) {
		if (flgValidated == false) {
			QTL_TextBoxValidateEngine();
		}
		else {
			flgValidated = QTL_TextBoxValidateEngine();
		}
	}
	if (flgValidateDDLs == true) {
		if (flgValidated == false) {
			QTL_DDLValidateEngine();
		}
		else {
			flgValidated = QTL_DDLValidateEngine();
		}
	}
	
	if (flgValidated == false) {
		if (flgQTLShowValidationAlert == true) {
		   if (QTL_UpdateSystemResponse("Data Invalid.  Invalid fields are highlighted.  Fix data and re-submit.  Hover mouse over invalid fields for details.", true, 30, false, "TestSnd.wav", true, 200, true, 3) == false) {
			   alert("Data Invalid.\n\nInvalid fields are highlighted.\n\nFix data and re-submit.\n\nHover mouse over invalid fields for details.");
			}
		}
	}
	flgQTLVEBusy = false;
	flgQTLShowValidationAlert = true;
	return flgValidated;
}

function QTL_TextBoxValidateEngine() {
	var flgValidated = true;
	var flgValidateThisControl = false;
	var arrObjs = document.getElementsByTagName("input");
	var arrIDSplit = new Array();
	for (var intCounter = 0; intCounter < arrObjs.length; intCounter++) {
		arrIDSplit = arrObjs[intCounter].id.split('_');
		if (((arrObjs[intCounter].type == "text") || (arrObjs[intCounter].type == "password")) && (arrObjs[intCounter].ISQTLCONTROL == 1)) {		
			if (gloQTLControlsToValidate == "") {
				flgValidateThisControl = true;
			}
			else if (gloQTLControlsToValidate.indexOf(arrIDSplit[arrIDSplit.length - 1]) != -1) {
				flgValidateThisControl = true;			
			}
			else {
				flgValidateThisControl = false;
			}
		
			if (flgValidateThisControl == true) {
				if (flgValidated == false) {
					if (QTL_ValidateTextBox(arrObjs[intCounter]) == false) {
						arrObjs[intCounter].className = arrObjs[intCounter].ErrorCSS;
					}
					else {
						if (arrObjs[intCounter].className == arrObjs[intCounter].ErrorCSS) {
							arrObjs[intCounter].className = arrObjs[intCounter].IdleCSS;
						}
					}
				}
				else {
					if (QTL_ValidateTextBox(arrObjs[intCounter]) == false) {
						arrObjs[intCounter].className = arrObjs[intCounter].ErrorCSS;
						flgValidated = false;							
					}
					else {
						if (arrObjs[intCounter].className == arrObjs[intCounter].ErrorCSS) {
							arrObjs[intCounter].className = arrObjs[intCounter].IdleCSS;
						}					
					}		
				}
			}
		}
	}
	
	arrObjs = document.getElementsByTagName("textarea");
	for (var intCounter = 0; intCounter < arrObjs.length; intCounter++) {
		arrIDSplit = arrObjs[intCounter].id.split('_');	
		if (arrObjs[intCounter].ISQTLCONTROL == 1) {
			if (gloQTLControlsToValidate == "") {
				flgValidateThisControl = true;
			}
			else if (gloQTLControlsToValidate.indexOf(arrIDSplit[arrIDSplit.length - 1]) != -1) {
				flgValidateThisControl = true;			
			}
			else {
				flgValidateThisControl = false;
			}
			
			if (flgValidateThisControl == true) {			
				if (flgValidated == false) {
					if (QTL_ValidateTextBox(arrObjs[intCounter]) == false) {
						arrObjs[intCounter].className = arrObjs[intCounter].ErrorCSS;			
					}
					else {
						if (arrObjs[intCounter].className == arrObjs[intCounter].ErrorCSS) {
							arrObjs[intCounter].className = arrObjs[intCounter].IdleCSS;
						}					
					}
				}
				else {
					if (QTL_ValidateTextBox(arrObjs[intCounter]) == false) {
						arrObjs[intCounter].className = arrObjs[intCounter].ErrorCSS;
						flgValidated = false;									
					}
					else {
						if (arrObjs[intCounter].className == arrObjs[intCounter].ErrorCSS) {
							arrObjs[intCounter].className = arrObjs[intCounter].IdleCSS;
						}					
					}							
				}
			}
		}
	}	
	return flgValidated;
}

function QTL_DDLValidateEngine() {
	var flgValidated = true;
	var flgValidateThisControl = false;	
	var arrObjs = document.getElementsByTagName("select");
	var arrIDSplit = new Array();	
	for (var intCounter = 0; intCounter < arrObjs.length; intCounter++) {
		arrIDSplit = arrObjs[intCounter].id.split('_');		
		if (arrObjs[intCounter].ISQTLCONTROL == 1) {
			if (gloQTLControlsToValidate == "") {
				flgValidateThisControl = true;
			}
			else if (gloQTLControlsToValidate.indexOf(arrIDSplit[arrIDSplit.length - 1]) != -1) {
				flgValidateThisControl = true;			
			}
			else {
				flgValidateThisControl = false;
			}
			
			if (flgValidateThisControl == true) {				
				if (flgValidated == false) {
					if (QTL_ValidateDDL(arrObjs[intCounter]) == false) {
						arrObjs[intCounter].className = arrObjs[intCounter].ErrorCSS;			
					}
					else {
						if (arrObjs[intCounter].className == arrObjs[intCounter].ErrorCSS) {
							arrObjs[intCounter].className = arrObjs[intCounter].IdleCSS;
						}					
					}					
				}
				else {
					if (QTL_ValidateDDL(arrObjs[intCounter]) == false) {
						arrObjs[intCounter].className = arrObjs[intCounter].ErrorCSS;
						flgValidated = false;						
					}
					else {
						if (arrObjs[intCounter].className == arrObjs[intCounter].ErrorCSS) {
							arrObjs[intCounter].className = arrObjs[intCounter].IdleCSS;
						}					
					}									
				}
			}
		}
	}							
	return flgValidated;
}

function QTL_InitTextBoxValidation() {
	flgValidateTextBoxes = true;
}

function QTL_InitDDLValidation() {
	flgValidateDDLs = true;
}			

function QTL_ValidateTextBox(objText) {
	if ((objText.MaskType == 1) || (objText.MaskType == 2)) {
		if ((objText.value.TrimString().length < 14) && (objText.ForceEntry == 1)){
			objText.IsError = 1;
			objText.title = "The Phone Number Is Not Complete. (xxx) xxx-xxxx"
			if (flgQTLVEBusy == false) {
            QTL_UpdateSystemResponse(objText.title, true, 30, false, "TestSnd.wav", true, 200, true, 3);
      }
			if ((objText.OnInvalidAJAXServiceID != "") && ((objText.OnInvalidAJAXAssignReturnTo  != "") || (objText.OnInvalidAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objText, constQTLAJAXExecuteOnInvalid);
			}
			objText.IsError = 1;			
			return false;
		}
		else {
			objText.IsError = 0;
			objText.title = ""
			return true;
		}
	}
	else if (objText.MaskType == 3) {
		if ((objText.value.TrimString().length < 8) && (objText.ForceEntry == 1)) {
			objText.title = "The Date Is Not Complete. (mm/dd/yy)"
			if (flgQTLVEBusy == false) {
            QTL_UpdateSystemResponse(objText.title, true, 30, false, "TestSnd.wav", true, 200, true, 3);
      }
			if ((objText.OnInvalidAJAXServiceID != "") && ((objText.OnInvalidAJAXAssignReturnTo  != "") || (objText.OnInvalidAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objText, constQTLAJAXExecuteOnInvalid);
			}      						
			objText.IsError = 1;
			return false;
		}
		else {
			objText.IsError = 0;
			objText.title = ""						
			return true;						
		}								
	}
	else if (objText.MaskType == 4) {
		if ((objText.value.TrimString().length < 10) && (objText.ForceEntry == 1)) {
			objText.title = "The Date Is Not Complete. (mm/dd/yyyy)"
			if (flgQTLVEBusy == false) {
            QTL_UpdateSystemResponse(objText.title, true, 30, false, "TestSnd.wav", true, 200, true, 3);
      }
			if ((objText.OnInvalidAJAXServiceID != "") && ((objText.OnInvalidAJAXAssignReturnTo  != "") || (objText.OnInvalidAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objText, constQTLAJAXExecuteOnInvalid);
			}      				
			objText.IsError = 1;		
			return false;
		}
		else {
			objText.IsError = 0;
			objText.title = ""						
			return true;						
		}						
	}
	if (objText.ForceEntry == 1) {
		if (objText.value.TrimString().length == 0) {
			objText.title = "You Must Fill In This Field."
			if (flgQTLVEBusy == false) {
            QTL_UpdateSystemResponse(objText.title, true, 30, false, "TestSnd.wav", true, 200, true, 3);
      }
			if ((objText.OnInvalidAJAXServiceID != "") && ((objText.OnInvalidAJAXAssignReturnTo  != "") || (objText.OnInvalidAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objText, constQTLAJAXExecuteOnInvalid);
			}      							
			objText.IsError = 1;
			return false;
		}
		//else {
		//	objText.IsError = 0;
		//	objText.title = ""						
		//	return true;						
		//}		
	}
	if (objText.ForceMinLength == 1) {
		if (objText.value.TrimString().length < objText.MinLength) {
			objText.title = "Entry Must Be At Least - " + objText.MinLength + " Characters - Long."
			if (flgQTLVEBusy == false) {
            QTL_UpdateSystemResponse(objText.title, true, 30, false, "TestSnd.wav", true, 200, true, 3);
      }
			if ((objText.OnInvalidAJAXServiceID != "") && ((objText.OnInvalidAJAXAssignReturnTo  != "") || (objText.OnInvalidAJAXCBFunction != ""))) {
				QTLExecuteAJAX(objText, constQTLAJAXExecuteOnInvalid);
			}      
			objText.IsError = 1;		
			return false;
		}
		//else {
		//	objText.IsError = 0;
		//	objText.title = ""						
		//	return true;						
		//}		
	}
	objText.title = ""	
	objText.IsError = 0;
	return true;					
}

function QTL_ValidateDDL(objDDL) {
	if ((objDDL.selectedIndex == 0) && (objDDL.ForceSelection == 1)) {
		objDDL.IsError = 1;
		objDDL.title = "A Selection Must Be Made From The Dropdown List."
		if (flgQTLVEBusy == false) {
         QTL_UpdateSystemResponse(objDDL.title, true, 30, false, "TestSnd.wav", true, 200, true, 3);
      }
		if ((objDDL.OnInvalidAJAXServiceID != "") && ((objDDL.OnInvalidAJAXAssignReturnTo  != "") || (objDDL.OnInvalidAJAXCBFunction != ""))) {
			QTLExecuteAJAX(objDDL, constQTLAJAXExecuteOnInvalid);
		}      
		return false;
	}
	else {
		objDDL.IsError = 0;
		objDDL.title = ""
		return true;
	}			
}

function QTL_FillDate(objText, strNumbers) {
	if (strNumbers.length == null) {
		return;
	}
	
	objText.value = "";
	for (var intCounter = 0; intCounter < strNumbers.length; intCounter++) {
		if (objText.value.length == 0) {
			if (strNumbers.substr(intCounter,1) > 1) {
				objText.value = "0" + strNumbers.substr(intCounter,1) + "/";
			}
			else {
				objText.value = strNumbers.substr(intCounter,1);
			}
		}
		else if (objText.value.length == 1) {
			if (objText.value == "0") {
				if (strNumbers.substr(intCounter,1) > 0) {						
					objText.value += strNumbers.substr(intCounter,1) + "/";
				}
			}
			else {
				if (strNumbers.substr(intCounter,1) < 3) {
					objText.value += strNumbers.substr(intCounter,1) + "/";
				}
			}
		}				
		else if ((objText.value.length == 2) || (objText.value.length == 3)) {
			if (objText.value.length == 2) {
				objText.value += "/"
			}
			if (objText.value.substr(0,2) == "02") {
				if (strNumbers.substr(intCounter,1) < 3) {
					objText.value += strNumbers.substr(intCounter,1);
				}
				else {
					objText.value += "0" + strNumbers.substr(intCounter,1) + "/";								
				}
			}
			else {
				if (strNumbers.substr(intCounter,1) < 4) {
					objText.value += strNumbers.substr(intCounter,1);
				}
				else {
					objText.value += "0" + strNumbers.substr(intCounter,1) + "/";								
				}							
			}
		}
		else if (objText.value.length == 4) {
			if (objText.value.substr(3,1) < 3) {
				objText.value += strNumbers.substr(intCounter,1) + "/";
			}
			else {
				if ((objText.value.substr(0,2) == "02") || (objText.value.substr(0,2) == "04") || (objText.value.substr(0,2) == "06") || (objText.value.substr(0,2) == "09") || (objText.value.substr(0,2) == "11")) {
					if (strNumbers.substr(intCounter,1) < 1) {
						objText.value += strNumbers.substr(intCounter,1) + "/";							
					}
				}
				else {
					if (strNumbers.substr(intCounter,1) < 2) {
						objText.value += strNumbers.substr(intCounter,1) + "/";							
					}							
				}
			}
		}
		else if (objText.value.length == 5) {
			objText.value += "/" + strNumbers.substr(intCounter,1);
		}								
		else {
			if (objText.MaskType == 3) {
				if (objText.value.length < 8) {
					objText.value += strNumbers.substr(intCounter,1);
				}
			}
			else if (objText.MaskType == 4) {
				if (objText.value.length < 10) {
					objText.value += strNumbers.substr(intCounter,1);
				}
			}
		}	
	}		
}

function QTL_InsertDate(objText, intKey, intPos) {
	var strNumbers = "";
	var strNumMask = "1234567890";		
	for (var intCounter = 0; intCounter < objText.value.length; intCounter++) {
		if (strNumMask.indexOf(objText.value.substr(intCounter,1)) != -1) {
			if (intCounter != intPos){
				if (intCounter == (intPos - 1)) {
					if (intKey != 8) {
						strNumbers += objText.value.substr(intCounter,1);							
					}
				}
				else {
					strNumbers += objText.value.substr(intCounter,1);
				}
			}
			else {
				if (intKey != 8) {
					strNumbers += (String.fromCharCode(intKey) + objText.value.substr(intCounter,1));
				}
				else {
					strNumbers += objText.value.substr(intCounter,1);							
				}
			}
		}
		else if (intCounter == intPos) {
			if (intKey != 8) {
				strNumbers += String.fromCharCode(intKey);
			}					
		}
	}
	objText.value = "";
	for (var intCounter = 0; intCounter < strNumbers.length; intCounter++) {
		if (objText.value.length == 0) {
			if (strNumbers.substr(intCounter,1) > 1) {
				objText.value = "0" + strNumbers.substr(intCounter,1) + "/";
			}
			else {
				objText.value = strNumbers.substr(intCounter,1);
			}
		}
		else if (objText.value.length == 1) {
			if (objText.value == "0") {
				if (strNumbers.substr(intCounter,1) > 0) {						
					objText.value += strNumbers.substr(intCounter,1) + "/";
				}
			}
			else {
				if (strNumbers.substr(intCounter,1) < 3) {
					objText.value += strNumbers.substr(intCounter,1) + "/";
				}		
			}
		}				
		else if ((objText.value.length == 2) || (objText.value.length == 3)) {
			if (objText.value.length == 2) {
				objText.value += "/"
			}
			if (objText.value.substr(0,2) == "02") {
				if (strNumbers.substr(intCounter,1) < 3) {
					objText.value += strNumbers.substr(intCounter,1);
				}
				else {
					objText.value += "0" + strNumbers.substr(intCounter,1) + "/";								
				}
			}
			else {
				if (strNumbers.substr(intCounter,1) < 4) {
					objText.value += strNumbers.substr(intCounter,1);
				}
				else {
					objText.value += "0" + strNumbers.substr(intCounter,1) + "/";								
				}							
			}
		}
		else if (objText.value.length == 4) {
			if (objText.value.substr(3,1) < 3) {
				objText.value += strNumbers.substr(intCounter,1) + "/";
			}
			else {
				if ((objText.value.substr(0,2) == "02") || (objText.value.substr(0,2) == "04") || (objText.value.substr(0,2) == "06") || (objText.value.substr(0,2) == "09") || (objText.value.substr(0,2) == "11")) {
					if (strNumbers.substr(intCounter,1) < 1) {
						objText.value += strNumbers.substr(intCounter,1) + "/";							
					}
				}
				else {
					if (strNumbers.substr(intCounter,1) < 2) {
						objText.value += strNumbers.substr(intCounter,1) + "/";							
					}							
				}
			}
		}
		else if (objText.value.length == 5) {
			objText.value += "/" + strNumbers.substr(intCounter,1);
		}								
		else {
			if (objText.MaskType == 3) {
				if (objText.value.length < 8) {
					objText.value += strNumbers.substr(intCounter,1);
				}
			}
			else if (objText.MaskType == 4) {
				if (objText.value.length < 10) {
					objText.value += strNumbers.substr(intCounter,1);
				}
			}
		}	
	}								
}

function QTL_FillPhone(objText, strNumbers) {
	if (strNumbers == null) {
		return "";
	}
	if (strNumbers == "") {
		return "";
	}
	objText.value = "(";
	for (var intCounter = 0; intCounter < strNumbers.length; intCounter++) {
		if (objText.value.length > 21) {
			return false;
		}
		if ((objText.MaskType == 1) && (objText.value.length > 13)) {
			return false;
		}
		if (objText.value.length == 4) {
			objText.value += ") " + strNumbers.substr(intCounter,1);
			return false;
		}
		if (objText.value.length == 9) {
			objText.value += "-" + strNumbers.substr(intCounter,1);
			return false;
		}
		if ((objText.value.length == 14) || (objText.value.length == 15) ) {
			objText.value += " x" + strNumbers.substr(intCounter,1);
			return false;
		}											
		objText.value += strNumbers.substr(intCounter,1);			
		if (objText.value.length == 4) {
			objText.value += ") ";
		}
		if (objText.value.length == 9) {
			objText.value += "-";
		}
		if ((objText.value.length == 14) && (objText.MaskType == 2)&& (intCounter < (strNumbers.length - 1))) {
			objText.value += " x";
		}	
	}	
}

function QTL_FillPhoneString(strNumbers) {
	if (strNumbers == null) {
		return "";
	}
	if (strNumbers == "") {
		return "";
	}
	var strPhone = new String();
	strPhone = "(";
	var strNumMask = "1234567890";	
	for (var intCounter = 0; intCounter < strNumbers.length; intCounter++) {		
		if (strNumMask.indexOf(strNumbers.substr(intCounter,1)) != -1) {									
			strPhone += strNumbers.substr(intCounter,1);
			if (strPhone.length == 4) {
				strPhone += ") ";
			}
			if (strPhone.length == 9) {
				strPhone += "-";
			}
			if ((strPhone.length == 14) && (intCounter < (strNumbers.length - 1))) {
				strPhone += " x";
			}	
		}
	}
	
	return strPhone;
}

function QTL_InsertPhone(objText, intKey, intPos) {
	var strNumbers = "";
	var strNumMask = "1234567890";
	for (var intCounter = 0; intCounter < objText.value.length; intCounter++) {
		if (strNumMask.indexOf(objText.value.substr(intCounter,1)) != -1) {
			if (intCounter != intPos){
				if (intCounter == (intPos - 1)) {
					if (intKey != 8) {
						strNumbers += objText.value.substr(intCounter,1);							
					}
				}
				else {
					strNumbers += objText.value.substr(intCounter,1);
				}
			}
			else {
				if (intKey != 8) {
					strNumbers += (String.fromCharCode(intKey) + objText.value.substr(intCounter,1));
				}
				else {
					strNumbers += objText.value.substr(intCounter,1);							
				}
			}
		}
		else if (intCounter == intPos) {
			if (intKey != 8) {
				strNumbers += String.fromCharCode(intKey);
			}					
		}
	}
	objText.value = "(";
	for (var intCounter = 0; intCounter < strNumbers.length; intCounter++) {
		if (objText.value.length > 21) {
			return false;
		}
		if ((objText.MaskType == 1) && (objText.value.length > 13)) {
			return false;
		}
		if (objText.value.length == 4) {
			objText.value += ") " + strNumbers.substr(intCounter,1);
			return false;
		}
		if (objText.value.length == 9) {
			objText.value += "-" + strNumbers.substr(intCounter,1);
			return false;
		}
		if ((objText.value.length == 14) || (objText.value.length == 15) ) {
			objText.value += " x" + strNumbers.substr(intCounter,1);
			return false;
		}											
		objText.value += strNumbers.substr(intCounter,1);			
		if (objText.value.length == 4) {
			objText.value += ") ";
		}
		if (objText.value.length == 9) {
			objText.value += "-";
		}
		if ((objText.value.length == 14) && (objText.MaskType == 2)) {
			objText.value += " x";
		}					
	}
}

function QTL_CheckInputMask(objText, objEvent) {
	objEvent = (objEvent) ? objEvent : ((window.event) ? window.event : null);

	if (objText.CustomKeyPress != null) {
		if (objText.CustomKeypress != '') {
			eval(CustomKeypress);
		}
	}
	
	QTL_CheckAJAXKeyPress(objText)
	
	var strNumbers = "1234567890";
	if ((objText.MaskType == 1) || (objText.MaskType == 2)) {
		if (objText.value.length == 0) {
			objText.value = "(";
		}
	}
			
	var intKey = (objEvent.charCode) ? objEvent.charCode : objEvent.keyCode;
	
	if ((intKey == 13) || (intKey == 9)|| (intKey == 37)|| (intKey == 39)) {
		return true;
	}
	//Dates.
	if ((objText.MaskType == 3) || (objText.MaskType == 4)) {
		if ((intKey == 47) && (objText.value == "1")) {
			objText.value = "01/";
			return false;
		}
		if ((intKey == 47) && (objText.value.substr(3,1) == "1") && (objText.value.length ==4)) {
			objText.value = objText.value.substr(0,3) + "01/";
			return false;
		}
		if ((intKey == 47) && (objText.value.substr(3,1) == "2") && (objText.value.length ==4)) {
			objText.value = objText.value.substr(0,3) + "02/";
			return false;
		}
		if ((intKey == 47) && (objText.value.substr(3,1) == "3") && (objText.value.length ==4)) {
			objText.value = objText.value.substr(0,3) + "03/";
			return false;
		}				
		if (((intKey < 48) || (intKey > 57)) || (objEvent.altKey == true) || (objEvent.ctrlKey == true) || (objEvent.shiftKey == true)) {
			if (intKey != 8) {
				return false;
			}
		}
		if (QTL_GetCaretPos(objText) < objText.value.length) {
			var intPos = QTL_GetCaretPos(objText);
			QTL_InsertDate(objText, intKey, intPos);
			if (intKey != 8) {
				QTL_SetCaretPos(objText, (intPos + 1));
			}
			else {
				QTL_SetCaretPos(objText, (Math.max(intPos - 1, 1)));
			}
			return false;
		}
		if (intKey != 8) {
			if (objText.value.length == 0) {
				if (intKey > 49) {
					objText.value = "0" + String.fromCharCode(intKey) + "/";
				}
				else {
					objText.value = String.fromCharCode(intKey);
				}
			}
			else if (objText.value.length == 1) {
				if (objText.value == "0") {
					objText.value += String.fromCharCode(intKey) + "/";
				}
				else {
					if (intKey < 51) {
						objText.value += String.fromCharCode(intKey) + "/";
					}
				}
			}
			else if (objText.value.length == 2) {
				objText.value += "/" + String.fromCharCode(intKey);
			}						
			else if (objText.value.length == 3) {
				if (objText.value.substr(0,2) == "02") {
					if (intKey < 51) {
						objText.value += String.fromCharCode(intKey);
					}
					else {
						objText.value += "0" + String.fromCharCode(intKey) + "/";								
					}
				}
				else {
					if (intKey < 52) {
						objText.value += String.fromCharCode(intKey);
					}
					else {
						objText.value += "0" + String.fromCharCode(intKey) + "/";								
					}							
				}
			}
			else if (objText.value.length == 4) {
				if (objText.value.substr(3,1) < 3) {
					objText.value += String.fromCharCode(intKey) + "/";
				}
				else {
					if ((objText.value.substr(0,2) == "02") || (objText.value.substr(0,2) == "04") || (objText.value.substr(0,2) == "06") || (objText.value.substr(0,2) == "09") || (objText.value.substr(0,2) == "11")) {
						if (String.fromCharCode(intKey) < 1) {
							objText.value += String.fromCharCode(intKey) + "/";							
						}
					}
					else {
						if (String.fromCharCode(intKey) < 2) {
							objText.value += String.fromCharCode(intKey) + "/";
						}							
					}
				}
			}
			else if (objText.value.length == 5) {
				objText.value += "/" + String.fromCharCode(intKey);
			}								
			else {
				if (objText.MaskType == 3) {
					if (objText.value.length < 8) {
						objText.value += String.fromCharCode(intKey);
					}
				}
				else if (objText.MaskType == 4) {
					if (objText.value.length < 10) {
						objText.value += String.fromCharCode(intKey);
					}
				}
			}
		}
		else {
			return true;						
		}
		return false;
	}
	
	//Phone Numbers.
	if ((objText.MaskType == 1) || (objText.MaskType == 2)) {
		if (((intKey < 48) || (intKey > 57)) || (objEvent.altKey == true) || (objEvent.ctrlKey == true) || (objEvent.shiftKey == true)) {
			if (intKey != 8) {
				return false;
			}
		}
		if (QTL_GetCaretPos(objText) < objText.value.length) {
			var intPos = QTL_GetCaretPos(objText);
			QTL_InsertPhone(objText, intKey, intPos);
			if (intKey != 8) {
				if (intPos == 4) {
					intPos = 6
				}
				else if (intPos == 9) {
					intPos = 10;
				}
				else if ((intPos == 14) || (intPos == 15)) {
					intPos = 16;
				}
			}
			if (intKey != 8) {
				QTL_SetCaretPos(objText, (intPos + 1));
			}
			else {
				QTL_SetCaretPos(objText, (Math.max(intPos - 1, 1)));
			}
			return false;
		}
		if (intKey != 8) {
			if (objText.value.length > 21) {
				return false;
			}
			if ((objText.MaskType == 1) && (objText.value.length > 13)) {
				return false;
			}
			if (objText.value.length == 4) {
				objText.value += ") " + String.fromCharCode(intKey);
				return false;
			}
			if (objText.value.length == 9) {
				objText.value += "-" + String.fromCharCode(intKey);
				return false;
			}
			if ((objText.value.length == 14) || (objText.value.length == 15) ) {
				objText.value += " x" + String.fromCharCode(intKey);
				return false;
			}											
			objText.value += String.fromCharCode(intKey);			
			if (objText.value.length == 4) {
				objText.value += ") ";
			}
			if (objText.value.length == 9) {
				objText.value += "-";
			}
			if ((objText.value.length == 14) && (objText.MaskType == 2)){
				objText.value += " x";
			}					
		}
		else {
			if (objText.value.length == 7) {
				objText.value = objText.value.substr(0,4);
			}
			else if (objText.value.length == 11) {
				objText.value = objText.value.substr(0,9);
			}
			else if (objText.value.length == 17) {
				objText.value = objText.value.substr(0,14);
			}
			else {
				if (objText.value.length > 0) {
					objText.value = objText.value.substr(0, (objText.value.length - 1));
				}
			}							
		}
		return false;
	}
	
	if (intKey == 8) {
		return true;
	}
	if (objText.KeyRule == 0) {
		return true;
	}
	else if (objText.KeyRule == 1) {
		if (String.fromCharCode(intKey) == "-") {
			if (objText.value.length == 0) {
				return true;
			}
		}
		else if (String.fromCharCode(intKey) == ".") {
			if (objText.value.indexOf(".") == -1) {
				return true;
			}
		}
		else if (strNumbers.indexOf(String.fromCharCode(intKey)) != -1) {
			return true;
		}
	}
	else if (objText.KeyRule == 2) {
		if (strNumbers.indexOf(String.fromCharCode(intKey)) == -1) {
			return true;
		}				
	}
	else if (objText.KeyRule == 3) {
		if (objText.CustomMask.toUpperCase().indexOf(String.fromCharCode(intKey).toUpperCase()) != -1) {
			return true;
		}				
	}
	else if (objText.KeyRule == 4) {
		if (objText.CustomMask.toUpperCase().replace("&AMP;", "&").indexOf(String.fromCharCode(intKey).toUpperCase()) == -1) {
			return true;
		}				
	}												

	return false;
}

function QTL_CheckCaseRule(objText, objEvent) {
	objEvent = (objEvent) ? objEvent : ((window.event) ? window.event : null);
	var intKey = (objEvent.charCode) ? objEvent.charCode : objEvent.keyCode;
	if ((intKey == 13) || (intKey == 9)|| (intKey == 37)|| (intKey == 39)) {
		return;
	}
	var intPos = QTL_GetCaretPos(objText);			
	if (objText.CaseRule == 1) {
		objText.value = objText.value.toUpperCase();
	}
	else if (objText.CaseRule == 2) {
		objText.value = objText.value.toLowerCase();
	}
	QTL_SetCaretPos(objText, intPos);
}

