
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<validators.length;i++){
if(!validators[i].isvalid){
return false;}}}
return true;}
function ValidatorHookupControlID(controlID,val){
if(typeof(controlID)!="string"){
return;}
var ctrl=document.getElementById(controlID);
if((typeof(ctrl)!="undefined")&&(ctrl!=null)){
ValidatorHookupControl(ctrl,val);}
else{
val.isvalid=true;
val.enabled=false;}}
function ValidatorHookupControl(control,val){
if(typeof(control.tagName)!="string"){
return;}
if(control.tagName!="INPUT"&&control.tagName!="TEXTAREA"&&control.tagName!="SELECT"){
var i;
for(i=0;i<control.childNodes.length;i++){
ValidatorHookupControl(control.childNodes[i],val);}
return;}
else{
if(typeof(control.Validators)=="undefined"){
control.Validators=new Array;
var eventType;
if(control.type=="radio"){
eventType="onclick";}else{
eventType="onchange";
if(typeof(val.focusOnError)=="string"&&val.focusOnError=="t"){
ValidatorHookupEvent(control,"onblur","ValidatedControlOnBlur(event); ");}}
ValidatorHookupEvent(control,eventType,"ValidatorOnChange(event); ");
if(control.type=="text"||
control.type=="password"||
control.type=="file"){
ValidatorHookupEvent(control,"onkeypress","if (!ValidatedTextBoxOnKeyPress(event)) { event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return false; } ");}}
control.Validators[control.Validators.length]=val;}}
function ValidatorHookupEvent(control,eventType,functionPrefix){
var ev;
eval("ev = control."+ eventType +";");
if(typeof(ev)=="function"){
ev=ev.toString();
ev=ev.substring(ev.indexOf("{")+ 1,ev.lastIndexOf("}"));}
else{
ev="";}
var func;
if(navigator.appName.toLowerCase().indexOf('explorer')>-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<control.childNodes.length;i++){
val=ValidatorGetValueRecursive(control.childNodes[i]);
if(val!="")return val;}
return"";}
function Page_ClientValidate(validationGroup){
Page_InvalidControlToBeFocused=null;
if(typeof(Page_Validators)=="undefined"){
return true;}
var i;
for(i=0;i<Page_Validators.length;i++){
ValidatorValidate(Page_Validators[i],validationGroup,null);}
ValidatorUpdateIsValid();
ValidationSummaryOnSubmit(validationGroup);
Page_BlockSubmit=!Page_IsValid;
return Page_IsValid;}
function ValidatorCommonOnSubmit(){
Page_InvalidControlToBeFocused=null;
var result=!Page_BlockSubmit;
if((typeof(window.event)!="undefined")&&(window.event!=null)){
window.event.returnValue=result;}
Page_BlockSubmit=false;
return result;}
function ValidatorEnable(val,enable){
val.enabled=(enable!=false);
ValidatorValidate(val);
ValidatorUpdateIsValid();}
function ValidatorOnChange(event){
if(!event){
event=window.event;}
Page_InvalidControlToBeFocused=null;
var targetedControl;
if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){
targetedControl=event.srcElement;}
else{
targetedControl=event.target;}
var vals;
if(typeof(targetedControl.Validators)!="undefined"){
vals=targetedControl.Validators;}
else{
if(targetedControl.tagName.toLowerCase()=="label"){
targetedControl=document.getElementById(targetedControl.htmlFor);
vals=targetedControl.Validators;}}
var i;
for(i=0;i<vals.length;i++){
ValidatorValidate(vals[i],null,event);}
ValidatorUpdateIsValid();}
function ValidatedTextBoxOnKeyPress(event){
if(event.keyCode==13){
ValidatorOnChange(event);
var vals;
if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){
vals=event.srcElement.Validators;}
else{
vals=event.target.Validators;}
return AllValidatorsValid(vals);}
return true;}
function ValidatedControlOnBlur(event){
var control;
if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){
control=event.srcElement;}
else{
control=event.target;}
if((typeof(control)!="undefined")&&(control!=null)&&(Page_InvalidControlToBeFocused==control)){
control.focus();
Page_InvalidControlToBeFocused=null;}}
function ValidatorValidate(val,validationGroup,event){
val.isvalid=true;
if((typeof(val.enabled)=="undefined"||val.enabled!=false)&&IsValidationGroupMatch(val,validationGroup)){
if(typeof(val.evaluationfunction)=="function"){
val.isvalid=val.evaluationfunction(val);
if(!val.isvalid&&Page_InvalidControlToBeFocused==null&&
typeof(val.focusOnError)=="string"&&val.focusOnError=="t"){
ValidatorSetFocus(val,event);}}}
ValidatorUpdateDisplay(val);}
function ValidatorSetFocus(val,event){
var ctrl;
if(typeof(val.controlhookup)=="string"){
var eventCtrl;
if((typeof(event)!="undefined")&&(event!=null)){
if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){
eventCtrl=event.srcElement;}
else{
eventCtrl=event.target;}}
if((typeof(eventCtrl)!="undefined")&&(eventCtrl!=null)&&
(typeof(eventCtrl.id)=="string")&&
(eventCtrl.id==val.controlhookup)){
ctrl=eventCtrl;}}
if((typeof(ctrl)=="undefined")||(ctrl==null)){
ctrl=document.getElementById(val.controltovalidate);}
if((typeof(ctrl)!="undefined")&&(ctrl!=null)&&
(ctrl.tagName.toLowerCase()!="table"||(typeof(event)=="undefined")||(event==null))&&
((ctrl.tagName.toLowerCase()!="input")||(ctrl.type.toLowerCase()!="hidden"))&&
(typeof(ctrl.disabled)=="undefined"||ctrl.disabled==null||ctrl.disabled==false)&&
(typeof(ctrl.visible)=="undefined"||ctrl.visible==null||ctrl.visible!=false)&&
(IsInVisibleContainer(ctrl))){
if((ctrl.tagName.toLowerCase()=="table"&&(typeof(__nonMSDOMBrowser)=="undefined"||__nonMSDOMBrowser))||
(ctrl.tagName.toLowerCase()=="span")){
var inputElements=ctrl.getElementsByTagName("input");
var lastInputElement=inputElements[inputElements.length -1];
if(lastInputElement!=null){
ctrl=lastInputElement;}}
if(typeof(ctrl.focus)!="undefined"&&ctrl.focus!=null){
ctrl.focus();
Page_InvalidControlToBeFocused=ctrl;}}}
function IsInVisibleContainer(ctrl){
if(typeof(ctrl.style)!="undefined"&&
((typeof(ctrl.style.display)!="undefined"&&
ctrl.style.display=="none")||
(typeof(ctrl.style.visibility)!="undefined"&&
ctrl.style.visibility=="hidden"))){
return false;}
else if(typeof(ctrl.parentNode)!="undefined"&&
ctrl.parentNode!=null&&
ctrl.parentNode!=ctrl){
return IsInVisibleContainer(ctrl.parentNode);}
return true;}
function IsValidationGroupMatch(control,validationGroup){
if((typeof(validationGroup)=="undefined")||(validationGroup==null)){
return true;}
var controlGroup="";
if(typeof(control.validationGroup)=="string"){
controlGroup=control.validationGroup;}
return(controlGroup==validationGroup);}
function ValidatorOnLoad(){
if(typeof(Page_Validators)=="undefined")
return;
var i,val;
for(i=0;i<Page_Validators.length;i++){
val=Page_Validators[i];
if(typeof(val.evaluationfunction)=="string"){
eval("val.evaluationfunction = "+ val.evaluationfunction +";");}
if(typeof(val.isvalid)=="string"){
if(val.isvalid=="False"){
val.isvalid=false;
Page_IsValid=false;}
else{
val.isvalid=true;}}else{
val.isvalid=true;}
if(typeof(val.enabled)=="string"){
val.enabled=(val.enabled!="False");}
if(typeof(val.controltovalidate)=="string"){
ValidatorHookupControlID(val.controltovalidate,val);}
if(typeof(val.controlhookup)=="string"){
ValidatorHookupControlID(val.controlhookup,val);}}
Page_ValidationActive=true;}
function ValidatorConvert(op,dataType,val){
function GetFullYear(year){
var twoDigitCutoffYear=val.cutoffyear%100;
var cutoffYearCentury=val.cutoffyear - twoDigitCutoffYear;
return((year>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})(?:\\s|\\2)((\\d{4})|(\\d{2}))(?:\\s\u0433\\.)?\\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<op2);
case"LessThanEqual":
return(op1<=op2);
default:
return(op1==op2);}}
function CompareValidatorEvaluateIsValid(val){
var value=ValidatorGetValue(val.controltovalidate);
if(ValidatorTrim(value).length==0)
return true;
var compareTo="";
if((typeof(val.controltocompare)!="string")||
(typeof(document.getElementById(val.controltocompare))=="undefined")||
(null==document.getElementById(val.controltocompare))){
if(typeof(val.valuetocompare)=="string"){
compareTo=val.valuetocompare;}}
else{
compareTo=ValidatorGetValue(val.controltocompare);}
var operator="Equal";
if(typeof(val.operator)=="string"){
operator=val.operator;}
return ValidatorCompare(value,compareTo,operator,val);}
function CustomValidatorEvaluateIsValid(val){
var value="";
if(typeof(val.controltovalidate)=="string"){
value=ValidatorGetValue(val.controltovalidate);
if((ValidatorTrim(value).length==0)&&
((typeof(val.validateemptytext)!="string")||(val.validateemptytext!="true"))){
return true;}}
var args={Value:value,IsValid:true};
if(typeof(val.clientvalidationfunction)=="string"){
eval(val.clientvalidationfunction +"(val, args) ;");}
return args.IsValid;}
function RegularExpressionValidatorEvaluateIsValid(val){
var value=ValidatorGetValue(val.controltovalidate);
if(ValidatorTrim(value).length==0)
return true;
var rx=new RegExp(val.validationexpression);
var matches=rx.exec(value);
return(matches!=null&&value==matches[0]);}
function ValidatorTrim(s){
var m=s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return(m==null)?"":m[1];}
function RequiredFieldValidatorEvaluateIsValid(val){
return(ValidatorTrim(ValidatorGetValue(val.controltovalidate))!=ValidatorTrim(val.initialvalue))}
function RangeValidatorEvaluateIsValid(val){
var value=ValidatorGetValue(val.controltovalidate);
if(ValidatorTrim(value).length==0)
return true;
return(ValidatorCompare(value,val.minimumvalue,"GreaterThanEqual",val)&&
ValidatorCompare(value,val.maximumvalue,"LessThanEqual",val));}
function ValidationSummaryOnSubmit(validationGroup){
if(typeof(Page_ValidationSummaries)=="undefined")
return;
var summary,sums,s;
for(sums=0;sums<Page_ValidationSummaries.length;sums++){
summary=Page_ValidationSummaries[sums];
summary.style.display="none";
if(!Page_IsValid&&IsValidationGroupMatch(summary,validationGroup)){
var i;
if(summary.showsummary!="False"){
summary.style.display="";
if(typeof(summary.displaymode)!="string"){
summary.displaymode="BulletList";}
switch(summary.displaymode){
case"List":
headerSep="<br>";
first="";
pre="";
post="<br>";
end="";
break;
case"BulletList":
default:
headerSep="";
first="<ul>";
pre="<li>";
post="</li>";
end="</ul>";
break;
case"SingleParagraph":
headerSep=" ";
first="";
pre="";
post=" ";
end="<br>";
break;}
s="";
if(typeof(summary.headertext)=="string"){
s +=summary.headertext + headerSep;}
s +=first;
for(i=0;i<Page_Validators.length;i++){
if(!Page_Validators[i].isvalid&&typeof(Page_Validators[i].errormessage)=="string"){
s +=pre + Page_Validators[i].errormessage + post;}}
s +=end;
summary.innerHTML=s;
window.scrollTo(0,0);}
if(summary.showmessagebox=="True"){
s="";
if(typeof(summary.headertext)=="string"){
s +=summary.headertext +"\r\n";}
var lastValIndex=Page_Validators.length - 1;
for(i=0;i<=lastValIndex;i++){
if(!Page_Validators[i].isvalid&&typeof(Page_Validators[i].errormessage)=="string"){
switch(summary.displaymode){
case"List":
s +=Page_Validators[i].errormessage;
if(i<lastValIndex){
s +="\r\n";}
break;
case"BulletList":
default:
s +="- "+ Page_Validators[i].errormessage;
if(i<lastValIndex){
s +="\r\n";}
break;
case"SingleParagraph":
s +=Page_Validators[i].errormessage +" ";
break;}}}
alert(s);}}}}