var Page_ValidationVer = "125"; var Page_IsValid = true; var Page_BlockSubmit = false; var Page_InvalidControlToBeFocused = null; function ValidatorUpdateDisplay(val) { if (typeof(val.display) == "string") { if (val.display == "None") { return; } if (val.display == "Dynamic") { val.style.display = val.isvalid ? "none" : "inline"; return; } } if ((navigator.userAgent.indexOf("Mac") > -1) && (navigator.userAgent.indexOf("MSIE") > -1)) { val.style.display = "inline"; } val.style.visibility = val.isvalid ? "hidden" : "visible"; } function ValidatorUpdateIsValid() { Page_IsValid = AllValidatorsValid(Page_Validators); } function AllValidatorsValid(validators) { if ((typeof(validators) != "undefined") && (validators != null)) { var i; for (i = 0; i -1) { func = new Function(functionPrefix + " " + ev); } else { func = new Function("event", functionPrefix + " " + ev); } eval("control." + eventType + " = func;"); } function ValidatorGetValue(id) { var control; control = document.getElementById(id); if (typeof(control.value) == "string") { return control.value; } return ValidatorGetValueRecursive(control); } function ValidatorGetValueRecursive(control) { if (typeof(control.value) == "string" && (control.type != "radio" || control.checked == true)) { return control.value; } var i, val; for (i = 0; i twoDigitCutoffYear) ? (cutoffYearCentury - 100 + year) : (cutoffYearCentury + year)); } var num, cleanInput, m, exp; if (dataType == "Integer") { exp = /^\s*[-\+]?\d+\s*$/; if (op.match(exp) == null) return null; num = parseInt(op, 10); return (isNaN(num) ? null : num); } else if(dataType == "Double") { exp = new RegExp("^\\s*([-\\+])?(\\d*)\\" + val.decimalchar + "?(\\d*)\\s*$"); m = op.match(exp); if (m == null) return null; if (m[2].length == 0 && m[3].length == 0) return null; cleanInput = (m[1] != null ? m[1] : "") + (m[2].length>0 ? m[2] : "0") + (m[3].length>0 ? "." + m[3] : ""); num = parseFloat(cleanInput); return (isNaN(num) ? null : num); } else if (dataType == "Currency") { var hasDigits = (val.digits > 0); var beginGroupSize, subsequentGroupSize; var groupSizeNum = parseInt(val.groupsize, 10); if (!isNaN(groupSizeNum) && groupSizeNum > 0) { beginGroupSize = "{1," + groupSizeNum + "}"; subsequentGroupSize = "{" + groupSizeNum + "}"; } else { beginGroupSize = subsequentGroupSize = "+"; } exp = new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + "(\\" + val.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)" + (hasDigits ? "\\" + val.decimalchar + "?(\\d{0," + val.digits + "})" : "") + "\\s*$"); m = op.match(exp); if (m == null) return null; if (m[2].length == 0 && hasDigits && m[5].length == 0) return null; cleanInput = (m[1] != null ? m[1] : "") + m[2].replace(new RegExp("(\\" + val.groupchar + ")", "g"), "") + ((hasDigits && m[5].length > 0) ? "." + m[5] : ""); num = parseFloat(cleanInput); return (isNaN(num) ? null : num); } else if (dataType == "Date") { var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\s*$"); m = op.match(yearFirstExp); var day, month, year; if (m != null && (m[2].length == 4 || val.dateorder == "ymd")) { day = m[6]; month = m[5]; year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10)) } else { if (val.dateorder == "ymd"){ return null; } var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})\\2((\\d{4})|(\\d{2}))\\s*$"); m = op.match(yearLastExp); if (m == null) { return null; } if (val.dateorder == "mdy") { day = m[3]; month = m[1]; } else { day = m[1]; month = m[3]; } year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10)) } month -= 1; var date = new Date(year, month, day); if (year <100) date.setfullyear(year); return (typeof(date)="=" "object" && year="=" date.getfullyear() && month="=" date.getmonth() && day="=" date.getdate()) date.valueof() null; else return op.tostring(); function validatorcompare(operand1, operand2, operator, val) var datatype="val.type;" var op1, op2; if ((op1="ValidatorConvert(operand1," datatype, val))="=" null) return false; if (operator="=" "datatypecheck") return true; if ((op2="ValidatorConvert(operand2," datatype, val))="=" null) return true; switch (operator) case "notequal": return (op1 !="op2);" case "greaterthan": return (op1> op2); case "GreaterThanEqual": return (op1 >= op2); case "LessThan": return (op1