function VDSymError(){return true}window.onerror=VDSymError;var vdAllForms=new Array();var vdForm=null;function VDValidateForm(D,F){if(typeof (vdAllForms[D])=="undefined"){return true}if(typeof (checkInput)!="undefined"){if(checkInput==false){return true}}var A=VDDetectBrowser();if(A!="IE"&&A!="Opera"&&A!="Gecko"){return true}vdForm=vdAllForms[D];vdForm.focus=false;VDPrepareValues();var E=true;var C=F?"submit":"blur";for(var B in vdForm.validators){VDValidateValidator(vdForm.validators[B],C);E=E&&vdForm.validators[B].isvalid}vdForm.isvalid=E;VDUpdateLabels(C);VDUpdateSummaries(C);vdForm=null;return E}function VDResetForm(B){if(typeof (vdAllForms[B])=="undefined"){return true}var A=VDDetectBrowser();if(A!="IE"&&A!="Opera"&&A!="Gecko"){return true}vdForm=vdAllForms[B];if(typeof (vdForm.controls)=="undefined"){VDPrepareControls()}VDUpdateLabels("reset");VDUpdateSummaries("reset");vdForm=null;return true}function VDBindHandlers(){var B=VDDetectBrowser();for(var D in vdAllForms){if(B=="IE"||B=="Opera"){document.forms[D].attachEvent("onsubmit",VDIeSubmitHandler);document.forms[D].attachEvent("onreset",VDIeResetHandler)}else{if(B=="Gecko"){document.forms[D].addEventListener("submit",VDGeckoSubmitHandler,false);document.forms[D].addEventListener("reset",VDGeckoResetHandler,false)}}for(var A=0;A<document.forms[D].elements.length;A++){var C=document.forms[D].elements[A];if(C.type=="submit"&&C.tagName!="BUTTON"){if(B=="IE"||B=="Opera"){C.attachEvent("onclick",VDIeClickHandler)}else{if(B=="Gecko"){C.addEventListener("click",VDGeckoClickHandler,false)}}}else{if(C.type!="button"&&C.type!="image"&&C.type!="submit"&&C.type!="reset"){if(vdAllForms[D].validationmode=="onchange"){if(B=="IE"||B=="Opera"){C.attachEvent("onblur",VDIeSubmitHandler)}else{if(B=="Gecko"){C.addEventListener("blur",VDGeckoSubmitHandler,false)}}}}}}}}function VDIeSubmitHandler(){if(vdForm==null){var A=VDGetFormName(event.srcElement);var C=event.type=="submit";var B=VDValidateForm(A,C);if(C){if(B){VDDisableButtons(A)}else{event.returnValue=false}}}}function VDIeResetHandler(){if(vdForm==null){var A=VDGetFormName(event.srcElement);VDResetForm(A)}}function VDIeClickHandler(){if(vdForm==null){var A=VDGetFormName(event.srcElement);vdAllForms[A].submit=event.srcElement}}function VDGeckoSubmitHandler(C){if(vdForm==null){var A=VDGetFormName(C.target);var D=C.type=="submit";var B=VDValidateForm(A,D);if(D){if(B){VDDisableButtons(A)}else{C.preventDefault()}}}}function VDGeckoResetHandler(B){if(vdForm==null){var A=VDGetFormName(B.target);VDResetForm(A)}}function VDGeckoClickHandler(B){if(vdForm==null){var A=VDGetFormName(B.target);vdAllForms[A].submit=B.target}}function VDGetFormName(B){var A="";if(B.tagName=="INPUT"||B.tagName=="SELECT"||B.tagName=="TEXTAREA"){B=B.form}if(B!=null){if(typeof (B.id)=="string"){A=B.id}else{if(B.getAttributeNode("ID")!=null){A=B.getAttributeNode("ID").value}}if(A==""){if(typeof (B.name)=="string"){A=B.name}else{if(B.getAttributeNode("NAME")!=null){A=B.getAttributeNode("NAME").value}}}}return A}function VDDisableButtons(C){if(vdAllForms[C].disablebuttons=="none"){return }for(var A=0;A<document.forms[C].elements.length;A++){var B=document.forms[C].elements[A];if(B.type=="submit"||B.type=="image"||(vdAllForms[C].disablebuttons=="all"&&(B.type=="button"||B.type=="reset"))){B.disabled=true}}}function VDDetectBrowser(){var A=navigator.userAgent.toLowerCase();var B;if(A.indexOf("gecko")>-1){B="Gecko"}else{if(A.indexOf("opera")>-1){B="Opera"}else{if(document.all){B="IE"}else{B="Unknown"}}}return B}function VDGetPhpControlName(C){var B=new Array();var A,E,D;A=C.indexOf("[");if(A==0){return null}E=C.indexOf("]",A);B[0]=A>0&&E>0?C.substring(0,A):C;B[0]=B[0].replace("[","_");B[0]=B[0].replace(".","_");while(A>0&&E>0){D=C.substring(A+1,E);D=VDEscape(D);if(D.match(/^0$|^[1-9][0-9]*$/)!=null){D=parseInt(D)}B[B.length]=D;A=C.indexOf("[",E);if(A!=E+1){A=-1}else{E=C.indexOf("]",A)}}return B}function VDPrepareControls(){var D;var C;var B;vdForm.controls=new Array();for(var A=0;A<document.forms[vdForm.name].elements.length;A++){B=document.forms[vdForm.name].elements[A];if(B.name&&B.name!="VDaemonValidators"&&B.tagName!="BUTTON"&&B.type!="button"&&B.type!="image"&&B.type!="reset"){C=VDGetPhpControlName(B.name);if(C!=null){D=new Object();D.phpName=C;D.obj=B;vdForm.controls[vdForm.controls.length]=D}}}}function VDPrepareValues(){var B,D,F;if(typeof (vdForm.controls)=="undefined"){VDPrepareControls()}vdForm.values=new Array();for(var E in vdForm.controls){B=VDGetElementValues(vdForm.controls[E].obj);for(var A in B){F=vdForm.values;D=null;for(var C in vdForm.controls[E].phpName){if(D!=null){F=F[D]}D=vdForm.controls[E].phpName[C];if(D===""){D=F.length}if(typeof (F[D])!="object"){F[D]=new Array()}}F[D]=B[A]}}}function VDGetElementValues(D){var B=new Array();if(D.type=="select-multiple"){var C=D.getElementsByTagName("OPTION");if(typeof (C.length)=="number"){for(var A=0;A<C.length;A++){var E=VDGetOptionValue(C[A]);if(E!=null){B[B.length]=E}}}}else{if(typeof (D.value)=="string"){if(D.type=="checkbox"||D.type=="radio"){if(D.checked){B[B.length]=VDTrim(D.value)}}else{if(D.type=="submit"){if(vdForm.disablebuttons=="none"&&typeof (vdForm.submit)=="object"&&vdForm.submit==D){vdForm.submit=null;B[B.length]=VDTrim(D.value)}}else{B[B.length]=VDTrim(D.value)}}}}return B}function VDGetOptionValue(B){var A=null;if(B.selected){if(typeof (B.value)=="string"){A=VDTrim(B.value)}else{A=VDTrim(B.text)}}return A}function VDValidateValidator(E,D){E.isvalid=true;switch(E.type){case"required":E.isvalid=VDEvaluateRequired(E);break;case"checktype":E.isvalid=VDEvaluateChecktype(E);break;case"range":E.isvalid=VDEvaluateRange(E);break;case"compare":E.isvalid=VDEvaluateCompare(E);break;case"regexp":E.isvalid=VDEvaluateRegExp(E);break;case"format":E.isvalid=VDEvaluateFormat(E);break;case"custom":E.isvalid=VDEvaluateCustom(E);break;case"group":E.isvalid=-1;for(var C in E.validators){VDValidateValidator(E.validators[C],"");if(E.isvalid==-1){E.isvalid=E.validators[C].isvalid}else{switch(E.operator){case"and":E.isvalid=E.isvalid&&E.validators[C].isvalid;break;case"or":E.isvalid=E.isvalid||E.validators[C].isvalid;break;case"xor":E.isvalid=E.isvalid!=E.validators[C].isvalid;break}}}break}if(D=="submit"&&!E.isvalid&&!vdForm.focus){var B=VDFindFocus(E);if(B){var A=document.forms[vdForm.name].elements[B];if(typeof (A)!="undefined"){if(typeof (A.tagName)=="undefined"&&typeof (A.length)=="number"){A=A[0]}A.focus();vdForm.focus=true}}}}function VDFindFocus(C){var A=null;if(C.type=="group"){for(var B in C.validators){if(!C.validators[B].isvalid){A=VDFindFocus(C.validators[B]);if(A){break}}}}else{if(typeof (C.fcontrol)=="string"){A=C.fcontrol}}return A}function VDUpdateLabels(D){if(typeof (vdForm.labels)=="undefined"){return }var C,B;for(C in vdForm.labels){var H=vdForm.labels[C];var A=document.getElementById(H.id);if(A!=null){var G=true;if(D!="reset"){for(B in H.validators){var F=H.validators[B];var E=VDGetValidatorState(F);if(E!=-1){G=G&&E}}}A.innerHTML="";if(G){A.innerHTML=H.oktext;A.className=H.okclass}else{A.innerHTML=H.errtext;A.className=H.errclass}if(typeof (H.cokclass)=="object"){for(B in H.cokclass){if(typeof (vdForm.controls[B].obj)=="object"){vdForm.controls[B].obj.className=G?H.cokclass[B]:H.cerrclass}}}}}}function VDUpdateSummaries(B){if(typeof (vdForm.summaries)=="undefined"){return }for(var F in vdForm.summaries){var H,G,D,K,J,L;var A=vdForm.summaries[F];var I=document.getElementById(A.id);if(I!=null){if(B=="reset"||vdForm.isvalid){I.innerHTML="";I.style.display="none"}else{if(A.showsummary){switch(A.displaymode){case"list":default:H="<br>";G="";D="";K="<br>";J="";break;case"bulletlist":H="";G="<ul>";D="<li>";K="</li>";J="</ul>";break;case"paragraph":H=" ";G="";D="";K=" ";J="";break}L="";for(var E in vdForm.validators){var C=vdForm.validators[E];L+=VDGetValidatorErrMsg(C,D,K)}if(L!=""){L=G+L+J;if(A.headertext!=""){L='<div class="errorTitle">'+A.headertext+"</div>"+H+L}}else{if(A.headertext!=""){L='<div class="errorTitle">'+A.headertext+"</div>"}}I.innerHTML=L;I.style.display=(L=="")?"none":""}if(B=="submit"&&A.messagebox){switch(A.displaymode){case"list":default:D="";K="\n";break;case"bulletlist":D="  - ";K="\n";break;case"paragraph":D="";K=" ";break}H="\n";G="";J="";L="";for(var E in vdForm.validators){var C=vdForm.validators[E];L+=VDGetValidatorErrMsg(C,D,K)}if(L!=""){L=G+L+J;if(A.headertext!=""){L=A.headertext+H+L}}else{if(A.headertext!=""){L=A.headertext}}alert(L)}}}}}function VDGetValidatorErrMsg(D,C,B){var A="";if(!D.isvalid){if(D.errmsg){A+=C+D.errmsg+B}if(D.type=="group"&&D.operator!="xor"){for(i in D.validators){A+=VDGetValidatorErrMsg(D.validators[i],C,B)}}}return A}function VDGetValidatorState(B){var A=-1;if(B){for(i in vdForm.validators){A=VDGetValStateR(B,vdForm.validators[i],false);if(A!=-1){break}}}return A}function VDGetValStateR(C,D,B){var A=-1;if(D.name==C){A=B||D.isvalid}else{if(D.type=="group"&&D.operator!="xor"){for(i in D.validators){A=VDGetValStateR(C,D.validators[i],D.isvalid);if(A!=-1){A=B||A;break}}}}return A}function VDGetControlValue(C){var B=vdForm.values;if(typeof (C)!="object"){return null}for(var A in C){if(typeof (B[C[A]])=="undefined"){return null}B=B[C[A]]}return B}function VDTrim(B){var A=B.match(/^\s*(\S+(\s+\S+)*)\s*$/);return(A==null)?"":A[1]}function VDEscape(A){A=A.replace(/\\/g,"\\\\");A=A.replace(/'/g,"\\'");A=A.replace(/"/g,'\\"');return A}function VDConvert(I,C){var J=C.validtype;var H,B,F,G;if(J=="integer"){G=/^\s*[-+]?\d+\s*$/;if(I.match(G)==null){return null}H=parseInt(I,10);return(isNaN(H)?null:H)}else{if(J=="float"){G=new RegExp("^\\s*([-+]?)(\\d+)?(\\.\\d+)?\\s*$");F=I.match(G);if(F==null){return null}B=F[1]+(F[2].length>0?F[2]:"0")+F[3];H=parseFloat(B);return(isNaN(H)?null:H)}else{if(J=="currency"){G=new RegExp("^\\s*([-+]?)(((\\d+)\\,)*)(\\d+)(\\.\\d{1,2})?\\s*$");F=I.match(G);if(F==null){return null}var A=F[2]+F[5];B=F[1]+A.replace(new RegExp("(\\,)","g"),"")+F[6];H=parseFloat(B);return(isNaN(H)?null:H)}else{if(J=="date"){return VDConvertDate(I,C)}else{if(J=="time"){return VDConvertTime(I,C)}else{if(J=="datetime"){G=/^\s*([-\d\.\/]+)\s+([\d:]+\s?(?:PM|AM)?)\s*$/i;F=I.match(G);if(F==null){return null}var E=VDConvertDate(F[1],C);var D=VDConvertTime(F[2],C);if(E==null||D==null){return null}return E+D;return VDConvertDate(I,C)}else{return I.toString()}}}}}}}function VDConvertDate(E,A){function I(J){return(J+2000)-((J<30)?0:100)}var H,F,G,C,D;if(A.dateorder=="ymd"){D=new RegExp("^\\s*(\\d{2}(\\d{2})?)([-./])(\\d{1,2})\\3(\\d{1,2})\\s*$");C=E.match(D);if(C==null){return null}H=C[5];F=C[4];G=(C[1].length==4)?C[1]:I(parseInt(C[1],10))}else{D=new RegExp("^\\s*(\\d{1,2})([-./])(\\d{1,2})\\2(\\d{2}(\\d{2})?)\\s*$");C=E.match(D);if(C==null){return null}if(A.dateorder=="dmy"){H=C[1];F=C[3]}else{H=C[3];F=C[1]}G=(C[4].length==4)?C[4]:I(parseInt(C[4],10))}F-=1;var B=new Date(G,F,H);return(typeof (B)=="object"&&G==B.getFullYear()&&F==B.getMonth()&&H==B.getDate())?B.valueOf():null}function VDConvertTime(G,A){var E,F,H,I,C,D;if(A.timeformat=="12"){D=/^\s*(\d{1,2}):(\d{2})(?::(\d{2}))?\s?(PM|AM)\s*$/i;C=G.match(D);if(C==null){return null}E=parseInt(C[1],10);F=C[2];H=C[3]?C[3]:0;I=C[4].toLowerCase();if(E<1||E>12){return null}if(E==12){E=(I=="am")?0:12}else{if(I=="pm"){E+=12}}}else{D=/^\s*(\d{1,2}):(\d{2})(?::(\d{2}))?\s*$/;C=G.match(D);if(C==null){return null}E=C[1];F=C[2];H=C[3]?C[3]:0}var B=new Date(1970,0,1,E,F,H);return(typeof (B)=="object"&&E==B.getHours()&&F==B.getMinutes()&&H==B.getSeconds())?B.valueOf():null}function VDCompare(C,B,A,F){var E,D;if((E=VDConvert(C,F))==null){return false}if((D=VDConvert(B,F))==null){return true}if(F.validtype=="string"&&!F.casesensitive){E=E.toLowerCase();D=D.toLowerCase()}switch(A){case"ne":return(E!=D);case"g":return(E>D);case"ge":return(E>=D);case"l":return(E<D);case"le":return(E<=D);case"e":default:return(E==D)}}function VDEvaluateRequired(D){var E=VDGetControlValue(D.control);if(E==null){return D.negation}var B;if(typeof (E)=="object"){B=0;for(var C in E){if(E[C]!==""){B++}}}else{B=E.length}var A=true;if(B<D.minlength){A=false}else{if(D.maxlength!=-1){A=(B<=D.maxlength)}}if(D.negation){A=!A}return A}function VDEvaluateChecktype(B){var C=VDGetControlValue(B.control);if(C!=null&&typeof (C)=="object"){return true}if(C==null||C.length==0){return !B.required}var A=(VDConvert(C,B)!=null);if(B.negation){A=!A}return A}function VDEvaluateRange(B){var C=VDGetControlValue(B.control);if(C!=null&&typeof (C)=="object"){return true}if(C==null||C.length==0){return !B.required}var A=(VDCompare(C,B.minvalue,"ge",B)&&VDCompare(C,B.maxvalue,"le",B));if(B.negation){A=!A}return A}function VDEvaluateCompare(C){var D=VDGetControlValue(C.control);if(D!=null&&typeof (D)=="object"){return true}if(D==null||D.length==0){return !C.required}var B="";if(typeof (C.comparevalue)!="undefined"){B=C.comparevalue}else{if(typeof (C.comparecontrol)!="undefined"){B=VDGetControlValue(C.comparecontrol)}else{return false}}if(B==null){return false}else{if(typeof (B)=="object"){return true}}var A=VDCompare(D,B,C.operator,C);if(C.negation){A=!A}return A}function VDEvaluateRegExp(validator){var value=VDGetControlValue(validator.control);if(value!=null&&typeof (value)=="object"){return true}if(value==null||value.length==0){return !validator.required}var result=true;var rx;try{eval("rx = "+validator.clientregexp+";");var matches=rx.exec(value);result=(matches!=null);if(validator.negation){result=!result}}catch(e){result=true}return result}function VDEvaluateFormat(B){var D=VDGetControlValue(B.control);if(D!=null&&typeof (D)=="object"){return true}if(D==null||D.length==0){return !B.required}var E;switch(B.format){case"email":E=/^[\w'+-]+(\.[\w'+-]+)*@[\w-]+(\.[\w-]+)*\.\w{1,8}$/;break;case"zip_us5":E=/^\d{5}$/;break;case"zip_us9":E=/^\d{5}[\s-]\d{4}$/;break;case"zip_us":E=/^\d{5}([\s-]\d{4})?$/;break;case"zip_canada":E=/^[a-z]\d[a-z]\s?\d[a-z]\d$/i;break;case"zip_uk":E=/^[a-z](\d|\d[a-z]|\d{2}|[a-z]\d|[a-z]\d[a-z]|[a-z]\d{2})\s?\d[a-z]{2}$/i;break;case"phone_us":E=/^(\+?\d{1,3})?[-\s\.]?(\(\d{3}\)|\d{3})[-\s\.]?\d{3}[-\s\.]?\d{4}(([-\s\.]|(\s?(x|ext\.?)))\d{1,5})?$/i;break;case"ip4":E=/^(([3-9]\d?|[01]\d{0,2}|2\d?|2[0-4]\d|25[0-5])\.){3}([3-9]\d?|[01]\d{0,2}|2\d?|2[0-4]\d|25[0-5])$/;break;default:E=/^$/;break}var C=E.exec(D);var A=(C!=null);if(B.negation){A=!A}return A}function VDEvaluateCustom(validator){var value=null;if(typeof (validator.control)=="object"){value=VDGetControlValue(validator.control)}var args=new Object();args.isvalid=true;args.errmsg=validator.errmsg;args.value=value;if(typeof (validator.clientfunction)=="string"){var rx=/^[a-zA-Z_]\w*$/;var m=rx.exec(validator.clientfunction);var isfunc;if(m!=null){eval("isfunc = typeof("+validator.clientfunction+") == 'function';");if(isfunc){eval(validator.clientfunction+"(args);");args.isvalid=(args.isvalid===true);if(typeof (args.errmsg)=="string"){validator.errmsg=args.errmsg}}}}return args.isvalid}