String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};Validator=function(){this.REGEX_TYPE_EMAIL=0;this.REGEX_TYPE_CNPJ=1;this.REGEX_TYPE_CPF=2;this.REGEX_TYPE_DOMAIN=3;this.REGEX_TYPE_SUBDOMAIN=4;this.showInvalidFields=true;this.setFocusOnError=true;this.toolTipWidht="200px";var a=new Array();var b=new Array();var d=new Array();var c=new Array();c[this.REGEX_TYPE_EMAIL]=/^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})/;c[this.REGEX_TYPE_CNPJ]=/^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}/;c[this.REGEX_TYPE_CPF]=/^\d{3}\x2E\d{3}\x2E\d{3}\x2D\d{2}/;c[this.REGEX_TYPE_DOMAIN]=/^[a-zaA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]\.([a-zA-Z0-9]+\.)?([a-zA-Z0-9]+\.)?[a-zA-Z]{2,4}$/;c[this.REGEX_TYPE_SUBDOMAIN]=/^[a-zaA-Z0-9][a-zA-Z0-9\-]/;Validator.ValidateRegEx=function(f,e){if(f.value.trim()==""){return true}var g=new RegExp(c[e]);return g.test(f.value)};Validator.InvalidField=function(h,k,p,f,m){for(i=0;i<b.length;i++){if(b[i]==h.id){return}}var j=0;var n=new Array();var e=h.parentNode.getElementsByTagName("span");for(i=0;i<e.length;i++){if(e[i].className.indexOf("ValidatorToolTip")>=0||e[i].className.indexOf("ValidatorError")>=0){n[j++]=e[i]}}var o=(m?m:h);var g=n[p];o.className=o.className.replace("ValidatorInvalidField","").trim();if(k){o.className=(o.className+" ValidatorInvalidField").trim();if(g){if(g.className.indexOf("ValidatorToolTip")>=0){if(g.getElementsByTagName("span").length==0){var n=document.createElement("span");n.className="pointer";n.innerHTML="&nbsp;";g.appendChild(n)}var l=document.getElementById("_virtualToolType");if(!l){l=document.body.appendChild(g.cloneNode(true));l.id="_virtualToolType"}o.onfocus=function(){l.innerHTML=g.innerHTML;l.style.top=(Validator.getAbsY(o)-4)+"px";l.style.left=(Validator.getAbsX(o)+o.offsetWidth+13)+"px";l.style.width=f.toolTipWidht;l.style.display="inline"};o.onblur=function(){l.style.display="none"};d[d.length]=g;if(d.length==1){o.onfocus();Validator.setFocus(o,f)}}else{if(g.className.indexOf("ValidatorError")>=0){g.style.display="inline"}}}if(b.length==0&&d.length==0){Validator.setFocus(o,f)}b[b.length]=h.id}else{if(g){if(g.className.indexOf("ValidatorToolTip")>=0){o.onfocus=function(){};o.onblur=function(){}}else{if(g.className.indexOf("ValidatorError")>=0){g.style.display="none"}}}}};Validator.setFocus=function(f,e){if(e.setFocusOnError){if(f.style.display!="none"&&f.style.visibility!="hidden"){if(f.disabled==false){f.focus()}}}};Validator.addElementsValidator=function(h){var g=0;var f=0;var e=false;if(a.length>0){for(i=0;i<a.length;i++){if(a[i][0]==h.id){a[i][1]+=1;f=i;e=true}}}if(e){g=a[f][1]}else{f=a.length;a[f]=new Array();a[f][0]=h.id;a[f][1]=g}return g};Validator.getAbsX=function(e){return(e.x)?e.x:Validator.getAbsPos(e,"Left")};Validator.getAbsY=function(e){return(e.y)?e.y:Validator.getAbsPos(e,"Top")};Validator.getAbsPos=function(e,f){iPos=0;while(e!=null){iPos+=e["offset"+f];e=e.offsetParent}return iPos};Validator.prototype.RemoveToolTip=function(e){e.className=e.className.replace("ValidatorInvalidField","").trim();e.onfocus=function(){};e.onblur=function(){}};Validator.prototype.HiddenToolTip=function(){var e=document.getElementById("_virtualToolType");if(e){e.style.display="none"}for(i=0;i<d.length;i++){d[i].style.display="none"}};Validator.prototype.SpecialValidator=function(g,h,f){var e=Validator.addElementsValidator(g);if(this.showInvalidFields){Validator.InvalidField(g,!h,e,this,f)}return h};Validator.prototype.CustomValidator=function(h,e,g){var j=Validator.ValidateRegEx(h,e);var f=Validator.addElementsValidator(h);if(this.showInvalidFields){Validator.InvalidField(h,!j,f,this,g)}return j};Validator.prototype.RequiredFieldValidator=function(g,f){var h=false;var e=Validator.addElementsValidator(g);if(g.tagName=="INPUT"||g.tagName=="TEXTAREA"){h=(g.value.trim()==""?false:true)}if(g.tagName=="SELECT"){h=(g.selectedIndex==0?false:true)}if(g.tagName=="CHECKBOX"){h=g.checked}if(this.showInvalidFields){Validator.InvalidField(g,!h,e,this,f)}return h}};