
var delimiter='\n';var form_id='aspnetForm';function ValidationDependency(group,controlId,action,controlEvalId){this.group=group;this.controlId=controlId;this.action=action;this.controlEvalId=controlEvalId;}
function ValidationSummary(controlId,errorMessage,group,display){this.controlId=controlId;this.errorMessage=decode(errorMessage);this.group=group;this.display=display;this.showSummary=_showSummary;}
function _showSummary(errors){if(this.display=="BLOCK"){var summary=document.getElementById(this.controlId);summary.innerHTML=this.errorMessage+errors;summary.style.display="block";}else{alert(this.errorMessage+"\n"+errors);}}
function Validator(id,controlId,labelId,highlightId,errorMessage,group){this.id=id;this.controlId=controlId;this.labelId=labelId;this.highlightId=highlightId;this.group=group;if(errorMessage!=""){errorMessage=decode(errorMessage);this.errorMessage=errorMessage.split('|');for(var i=0;i<this.errorMessage.length;i++){if(this.errorMessage[i]==""){this.errorMessage[i]="Error message not defined! Error Code: 501";}}}else{this.errorMessage="Error message not defined! Error Code: 501";}
this.validationFailed=false;}
Validator.prototype.validate=function(suppress){if(suppress)
return"";else
return"Abstract validate function called.  Validator type is invalid. Error Code: 502";};Validator.prototype.changeColor=function(isValid,color){if(this.highlightId)
{var label=document.getElementById(this.highlightId);if(label){if(isValid)
{if(!label.oldColor||this.validationFailed==false)return;this.validationFailed=false;if(label.validationFailCount&&label.validationFailCount>1){label.validationFailCount--;}
else
{label.validationFailCount=0;label.style.color=label.oldColor;}}
else
{if(label.validationFailCount)
{if(this.validationFailed==false)
{label.validationFailCount++;this.validationFailed=true;}}
else
{this.validationFailed=true;label.validationFailCount=1;if(!color)
{color="red";}
if(!label.oldColor)
{if(label.currentStyle)
{label.oldColor=label.currentStyle.color;}
else if(document.defaultView)
{label.oldColor=document.defaultView.getComputedStyle(label,'').getPropertyValue("color");}
else
{label.oldColor="black";}}
label.style.color=color;}}}}};Validator.prototype.getLabelText=function(){if(this.labelId){var label=document.getElementById(this.labelId);if(label){if(label.innerHTML){return label.innerHTML;}}}
return"";};function getErrorMessage(errorMsg,names,values){errorMsg=new String(errorMsg);if(errorMsg&&names&&values){for(var i=0;i<names.length;i++){var name="<$"+names[i]+"$>";while(errorMsg.indexOf(name)>-1){errorMsg=errorMsg.replace(name,values[i]);}}}
return errorMsg;}
function decode(errorMessage){while(errorMessage.indexOf("&lt;")>-1){errorMessage=errorMessage.replace("&lt;","<");}
while(errorMessage.indexOf("&gt;")>-1){errorMessage=errorMessage.replace("&gt;",">");}
while(errorMessage.indexOf("+")>-1){errorMessage=errorMessage.replace("+"," ");}
while(errorMessage.indexOf("&quote;")>-1){errorMessage=errorMessage.replace("&quote;","\"");}
while(errorMessage.indexOf("&#34;")>-1){errorMessage=errorMessage.replace("&#34;","\"");}
while(errorMessage.indexOf("&#39;")>-1){errorMessage=errorMessage.replace("&#39;","'");}
errorMessage=unescape(errorMessage);return errorMessage;}
function RequiredValidator(id,controlId,labelId,highlightId,errorMessage,group){var self=new Validator(id,controlId,labelId,highlightId,errorMessage,group);self.validate=_validateRequired;return self;}
function _validateRequired(suppress){var errorMessage="";if(suppress)
{this.changeColor(true);return errorMessage;}
var control=document.getElementById(this.controlId);if(control.disabled==true)
{return"";}
if(!control)
{this.changeColor(true);return errorMessage;}
if(control.options)
{var selected=false;var opts=control.options;var optsLen=opts.length;for(var i=0;i<optsLen;i++)
{var option=opts[i];var optVal=option.value;if(option.selected)
{selected=true;if(optVal==""||optVal=="bogus"||optVal=="BOGUS")
{if(this.errorMessage.length>1)
{errorMessage=getErrorMessage(this.errorMessage[1],new Array("label"),new Array(this.getLabelText()));}
else
{errorMessage=getErrorMessage(this.errorMessage,new Array("label"),new Array(this.getLabelText()));}}}}
if(selected==false)
{if(this.errorMessage.length>1)
{errorMessage=getErrorMessage(this.errorMessage[0],new Array("label"),new Array(this.getLabelText()));}
else
{errorMessage=getErrorMessage(this.errorMessage,new Array("label"),new Array(this.getLabelText()));}}}
else
{if(!control.value||control.value=="bogus"||control.value=="BOGUS")
{errorMessage=getErrorMessage(this.errorMessage,new Array("label"),new Array(this.getLabelText()));}}
this.changeColor(errorMessage=="");return errorMessage;}
function CompareValidator(id,controlId,labelId,highlightId,errorMessage,type,operator,value1,value2,field,group,param1,param2){var self=new Validator(id,controlId,labelId,highlightId,errorMessage,group);self.type=type;self.operator=operator;self.value1=value1;self.value2=value2;self.field=field;self.param1=param1;self.param2=param2;self.validate=_validateCompare;return self;}
function _validateCompare(suppress){var errorMessage="";if(!suppress){var control=document.getElementById(this.controlId);if(control.disabled==true){return"";}
if(control&&control.value){if(this.operator=="Equal"){var value=control.value;if(this.field){var field=document.getElementById(this.field);var fieldVal=field.value;if(value!=fieldVal){errorMessage=getErrorMessage(this.errorMessage,new Array("label","value1"),new Array(this.getLabelText(),fieldVal));}}else if(this.value1){if(value!=this.value1){errorMessage=getErrorMessage(this.errorMessage,new Array("label","value1"),new Array(this.getLabelText(),this.value1));}}}else if(this.type=="Number"){var value=parseNumber(control.value,this.param1,this.param2);if(isNaN(value))
{if(this.errorMessage.length>1)
errorMessage=getErrorMessage(this.errorMessage[0],new Array("label"),new Array(this.getLabelText()));else
errorMessage=getErrorMessage(this.errorMessage,new Array("label"),new Array(this.getLabelText()));}else if(this.operator=="GreaterThan"){var value1=parseNumber(this.value1,this.param1,this.param2);if(!isNaN(this.value1)){if(value<=this.value1){if(this.errorMessage.length>1){errorMessage=getErrorMessage(this.errorMessage[1],new Array("label","value"),new Array(this.getLabelText(),this.value1));}else{errorMessage=getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),this.value1));}}else if(this.field){var field=document.getElementById(this.field);if(field){var fieldVal=parseNumber(field.value,this.param1,this.param2);if(!isNaN(fieldVal)){if(value<=fieldVal){if(this.errorMessage.length>1){errorMessage=getErrorMessage(this.errorMessage[1],new Array("label","value"),new Array(this.getLabelText(),fieldVal));}else{errorMessage=getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),fieldVal));}}}}}}}else if(this.operator=="GreaterThanEqual"){var value1=parseNumber(this.value1,this.param1,this.param2);if(!isNaN(value1)){if(value<value1){if(this.errorMessage.length>1){errorMessage=getErrorMessage(this.errorMessage[1],new Array("label","value"),new Array(this.getLabelText(),value1));}else{errorMessage=getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),value1));}}}else if(this.field){var field=document.getElementById(this.field);if(field){var fieldVal=parseNumber(field.value,this.param1,this.param2);if(!isNaN(fieldVal)){if(value<fieldVal){if(this.errorMessage.length>1){errorMessage=getErrorMessage(this.errorMessage[1],new Array("label","value"),new Array(this.getLabelText(),fieldVal));}else{errorMessage=getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),fieldVal));}}}}}}else if(this.operator=="Between"){var value1=parseNumber(this.value1,this.param1,this.param2);var value2=parseNumber(this.value2,this.param1,this.param2);if(!isNaN(value1)&&!isNaN(value2)){if(value<value1||value>value2){if(this.errorMessage.length>1){errorMessage=getErrorMessage(this.errorMessage[1],new Array("label","value1","value2"),new Array(this.getLabelText(),value1,value2));}else{errorMessage=getErrorMessage(this.errorMessage,new Array("label","value1","value2"),new Array(this.getLabelText(),value1,value2));}}}}else if(this.operator=="CannotEqual"){var value1=parseNumber(this.value1,this.param1,this.param2);if(!isNaN(value1)){if(value==value1){if(this.errorMessage.length>1){errorMessage=getErrorMessage(this.errorMessage[1],new Array("label","value"),new Array(this.getLabelText(),value1));}else{errorMessage=getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),value1));}}}}}}}
this.changeColor(errorMessage=="");return errorMessage;}
function RegexValidator(id,controlId,labelId,highlightId,errorMessage,group,expression){var self=new Validator(id,controlId,labelId,highlightId,errorMessage,group);self.expression=expression;self.validate=_validateRegex;return self;}
function _validateRegex(suppress){if(!suppress){var control=document.getElementById(this.controlId);if(!control||!control.value||control.disabled)return"";var regEx=new RegExp(this.expression,"im");if(regEx.exec(control.value)==null){this.changeColor(false);return getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),control.value));}
return"";}}
function RequiredXORValidator(id,controlId,labelId,highlightId,errorMessage,group,otherControlId){var self=new Validator(id,controlId,labelId,highlightId,errorMessage,group);self.otherControlId=otherControlId;self.validate=_validateRequiredXOR;return self;}
function _validateRequiredXOR(suppress){if(!suppress){var control=document.getElementById(this.controlId);var otherControl=document.getElementById(this.otherControlId);if(control||otherControl){if(!((control&&control.value&&!(otherControl&&otherControl.value))||(!(control&&control.value)&&otherControl&&otherControl.value))){this.changeColor(false);return getErrorMessage(this.errorMessage,new Array("label","value"),new Array(this.getLabelText(),control.value));}}}
return"";}
var validate=function(callerId,suppress){var isValid=true;var isPerform=false;if(!suppress)
{suppress=false;}
if((!document)||(!(document.getElementById)))
{alert("Javascript version is too old! Error Code: 500");return false;}
var valGroup=validateGroup;if(typeof(Page_ValidatorDependencies)!='undefined')
{var pageValDepsLen=Page_ValidatorDependencies.length;for(var i=0;i<pageValDepsLen;i++)
{var valDep=Page_ValidatorDependencies[i];if(!valDep)
continue;if(((!valDep.action||valDep.action=="ValidateOnClick")&&valDep.controlId==callerId)||valDep.action=="ValidateAlways")
{isPerform=true;var tempValid=valGroup(suppress,valDep.group);if(tempValid==false)
{isValid=false;}}
else if(callerId&&valDep.controlId&&valDep.action&&valDep.controlId==callerId&&valDep.action=="ValidateOnTrue")
{isPerform=true;if(valDep.controlEvalId)
{var compareElement=document.getElementById(valDep.controlEvalId);if(compareElement.checked==true)
{var tempValid=valGroup(suppress,valDep.group);if(tempValid==false)
{isValid=false;}}}}}}
if(isPerform==false)
{isValid=valGroup(suppress);}
return isValid;}
var on_validate=function()
{if(on_validate.prevent_validation)
{return false;}
if(on_validate.call_function&&on_validate.call_function(on_validate.call_parameter))
{return true;}
var caller_id='';if(on_validate.caller_id)
{caller_id=on_validate.caller_id;}
var suppress_message=false;if(on_validate.suppress)
{suppress_message=true;}
var result=validate(caller_id,suppress_message);if(!result)
{var form=document.getElementById(form_id);if(form)
{form.action='';}
if(on_validate.post_call_function)
{if(on_validate.post_call_parameters)
{on_validate.post_call_function(post_call_parameters);}
else
{on_validate.post_call_function();}}}
clear_validate_parameters();return result;}
var set_validate_parameters=function(caller_id,suppress,call_function,call_parameters,post_call_function,post_call_parameters,form_id)
{on_validate.caller_id=caller_id;if(suppress=="false"||suppress=="False")
suppress=false;on_validate.suppress=suppress;on_validate.call_function=call_function;on_validate.call_parameters=call_parameters;on_validate.post_call_function=post_call_function;on_validate.post_call_parameters=post_call_parameters;on_validate.form_id=form_id;}
var suppress_validation=function()
{on_validate.suppress=true;}
var prevent_validation=function()
{on_validate.prevent_validation=true;}
var allow_validation=function()
{on_validate.prevent_validation=false;}
var clear_validate_parameters=function()
{on_validate.caller_id=0;on_validate.suppress=0;on_validate.call_function=0;on_validate.call_parameters=0;on_validate.post_call_function=0;on_validate.post_call_parameters=0;}
function validateGroup(suppress,group){if(typeof(Page_Validators)=='undefined')
return true;var errors="";var pageValLen=Page_Validators.length;var tempVal=null;var tempValGrp=null;for(var j=0;j<pageValLen;j++)
{tempVal=Page_Validators[j];tempValGrp=tempVal.group;if((!group&&!tempValGrp)||group&&group==tempValGrp)
{var tempError=tempVal.validate(suppress);if(tempError)
errors+=delimiter+tempError;}}
if(errors=="")
return true;if(typeof(Page_ValidationSummaries)=='undefined')
{alert(errors);return false;}
var isPerform=false;var pageValSumLen=Page_ValidationSummaries.length;var tempValSum=null;var tempValSumGrp=null;for(var k=0;k<pageValSumLen;k++)
{tempValSum=Page_ValidationSummaries[k];tempValSumGrp=tempValSum.group;if((!group&&!tempValSumGrp)||(group&&tempValSumGrp==group))
{tempValSum.showSummary(errors);isPerform=true;}}
if(!isPerform)
alert(errors);return false;}
function parseNumber(str,decSep,thoSep){if(!decSep)decSep='.';if(!thoSep)thoSep=',';var res="";var isValid=true;for(var i=0;i<str.length;i++){var c=str.charAt(i);var ic=str.charCodeAt(i);if(ic>57||ic<48){if(c==decSep){res+='.';}else if(c=='-'){res+='-';}else if(c!=thoSep){isValid=false;break;}}else{res+=c;}}
if(!isValid||str.length==0){return Number.NaN;}
return parseFloat(res);}