﻿var validerAlert=new Class({initialize:function(a,b,c,d,e,f,g){this.id=a;this.form=$(b);this.submitButton=$(c);this.alertXML=d;this.alertStyle=e;this.alertType=f||"layer";this.onSubmitForm=g;this.waitInterval=null;if(this.form&&this.submitButton){this.build();this.initForm()}},build:function(){var a=this;var b=new Element("div").setProperties({id:a.id}).setStyles({font:a.alertStyle&&a.alertStyle.font?a.alertStyle.font:"10px/10px Arial",color:a.alertStyle&&a.alertStyle.txtColor?a.alertStyle.txtColor:"#000",background:a.alertStyle&&a.alertStyle.background?a.alertStyle.background:"#fff",border:a.alertStyle&&a.alertStyle.border?a.alertStyle.border:"1px solid #000000",width:a.alertStyle&&a.alertStyle.width?a.alertStyle.width:"120px",height:"auto",position:"absolute",top:"0px",left:"0px",padding:"3px",visibility:"hidden",zIndex:"101"}).injectInside($$("body")[0]);var c=new Element("img").setProperties({id:a.id+"Close",src:a.alertStyle&&a.alertStyle.closeImage?a.alertStyle.closeImage:"images/_alert_close.gif"}).setStyles({styleFloat:"right",cssFloat:"right",cursor:"pointer"}).injectInside(b);c.addEvent("click",function(){a.hide()});var d=new Element("p").setProperties({id:a.id+"Cont"}).setStyles({padding:"5px 3px 3px 3px",margin:"0",clear:"both"}).injectInside(b);if(window.ie){var e=new Element("iframe").setProperties({id:a.id+"Iframe"}).setStyles({width:a.alertStyle&&a.alertStyle.width?a.alertStyle.width:"120px",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",position:"absolute",top:"0px",left:"0px",visibility:"hidden",zIndex:"100"}).injectInside($$("body")[0])}var f=new Element("div").setProperties({id:a.id+"P"}).setStyles({font:a.alertStyle&&a.alertStyle.font?a.alertStyle.font:"10px/10px Arial",color:a.alertStyle&&a.alertStyle.appTxtColor?a.alertStyle.appTxtColor:"#f00",width:"auto",height:"auto",textAlign:"left",position:"absolute",top:"0px",left:"0px",padding:"0px",visibility:"hidden",zIndex:"101"}).injectInside($$("body")[0]);if(a.alertType=="highlight"){var g=new Element("p").setProperties({id:a.id+"H"}).setStyles({font:a.alertStyle&&a.alertStyle.font?a.alertStyle.font:"10px/10px Arial",color:a.alertStyle&&a.alertStyle.appTxtColor?a.alertStyle.appTxtColor:"#f00",width:"auto",height:"auto",textAlign:"left",padding:"0px",display:"none"}).setText("Sample").injectBefore(a.form.getFirst())}},initForm:function(){for(var i=0;i<this.alertXML.length;i++){var g=$(this.alertXML[i].name[0].data);if(g){for(var j=0;j<this.form.length;j++){if(this.form[j].name==g.name){if(!this.form[j].valid){this.form[j].valid=new Array()}this.form[j].valid.push({condition:this.alertXML[i].type[0].data,alert:this.alertXML[i].alert[0].data});if(typeof(this.alertXML[i].restrict)!="undefined"){this.form[j].restrict=this.alertXML[i].restrict[0].data.replace("{number}","0-9").replace("number","[0-9]");this.form[j].addEvent("keypress",function(a){var e=new Event(a);var b=e.code;var c=(b==null||b==0||b==8||b==9||b==13||b==27||b==35||b==36||b==37||b==39||b==46);var d=e.key;var f=new RegExp(this.restrict);if(!d.test(f)&&!c){e.stop()}})}if(typeof(this.alertXML[i].popup)!="undefined"&&this.alertXML[i].popup[0].data=="true"){this.form[j].popup=true}if(typeof(this.alertXML[i].init)!="undefined"){this.form[j].init=this.alertXML[i].init[0].data.trim();this.form[j].value=this.form[j].init;this.form[j].addEvent("focus",function(a){if(this.value.trim()==this.init){this.value=""}});this.form[j].addEvent("blur",function(a){if(this.value.trim()==""){this.value=this.init}})}}}}}var h=this;h.submitButton.addEvent("click",function(a){new Event(a).stop();if(h.valid()){if(h.onSubmitForm){h.onSubmitForm()}else{h.form.submit()}}})},show:function(a,b){var c=this;if(c.alertType=="layer"||$(a).popup){if(c.alertType=="layer"){$(c.id).setStyles({top:$(a).getPosition().y+$(a).getCoordinates().height+"px",left:$(a).getPosition().x+"px"})}else{var d=$(a).getPosition().y-30;if($(a).type=="hidden")d=Math.floor(c.form.getPosition().y+(c.form.getCoordinates().height-$(c.id).getCoordinates().height)/2);$(c.id).setStyles({top:d+"px",left:(c.form.getPosition().x+(c.form.getCoordinates().width-$(c.id).getCoordinates().width)/2)+"px"})}$(c.id+"Cont").setHTML(b);if(window.ie){$(c.id+"Iframe").setStyles({visibility:"visible",top:$(a).getPosition().y+$(a).getCoordinates().height+"px",left:$(a).getPosition().x+"px",width:$(c.id).getCoordinates().width,height:$(c.id).getCoordinates().height})}new Fx.Style($(c.id),"opacity",{duration:500,onComplete:function(){clearInterval(c.waitInterval);c.waitInterval=setInterval(function(){clearInterval(c.waitInterval);c.hide()},5000)}}).start(0,1)}else if(c.alertType=="append"){if(document.append)document.append.remove();document.append=new Element("div").setStyles({display:"block",width:"auto"}).injectAfter(a);$(c.id+"P").setStyles({top:$(a).getPosition().y+$(a).getCoordinates().height+"px",left:$(a).getPosition().x+"px"}).setOpacity(1).setHTML(b);document.append.setStyles({height:$(c.id+"P").getCoordinates().height+"px"})}else if(c.alertType=="highlight"){$(c.id+"H").setStyles({display:"block"}).setHTML(b);var e=$(a).getPrevious();if(e){document.highlightLabel=e;e.setStyles({color:c.alertStyle&&c.alertStyle.txtColor?c.alertStyle.txtColor:"#f00"})}}else{if($(c.alertType)){$(c.alertType).setHTML(b).setStyle("visibility","visible")}else{alert(b)}}$(a).addEvents({"keyup":function(){clearInterval(c.waitInterval);c.hide()},"click":function(){clearInterval(c.waitInterval);c.hide()}});$(a).focus()},hide:function(){var a=this;clearInterval(this.waitInterval);if($(this.id))$(this.id).setStyles({visibility:"hidden"});if($(this.id+"P"))$(this.id+"P").setStyles({visibility:"hidden"});if($(this.id+"H"))$(this.id+"H").setStyles({display:"none"});if(window.ie){$(this.id+"Iframe").setStyles({visibility:"hidden"})}if(document.append){document.append.remove();document.append=null}if($(a.alertType)){$(a.alertType).setHTML("").setStyle("visibility","hidden")}if(document.highlightLabel&&$(document.highlightLabel)){$(document.highlightLabel).setStyle("color","")}},valid:function(){var a=new Array();a.splice(0,a.length);for(var i=0;i<this.alertXML.length;i++){var b=$(this.alertXML[i].name[0].data);if(b){if(b.name.indexOf("[]")!=-1){for(var j=0;j<this.form.length;j++){if(this.form[j].name==b.name){a.push({control:this.form[j],type:this.alertXML[i].type[0].data,alert:this.alertXML[i].alert[0].data})}}}else{a.push({control:b,type:this.alertXML[i].type[0].data,alert:this.alertXML[i].alert[0].data})}}}for(i=0;i<a.length;i++){if(!this.check(a[i].control,a[i].type)){this.show(a[i].control,a[i].alert);return false}}return true},check:function(j,k){var l=$(j);var o=l.form;if(k.indexOf("EVAL")!==-1){var q=getQuote(k,"[","]");return eval(q)}if(typeof(l.init)!="undefined"){return(l.value!=l.init)}if(k.indexOf("required")!==-1){var t=Math.max(Number(getQuote(k,"(",")")),1);return(l.value.trim().length>=t)}if(k.indexOf("min")!==-1){var u=Number(getQuote(k,"(",")"));return(l.value>=u)}if(k.indexOf(">")!==-1){if(k.indexOf(">=")!==-1){var v=$(k.replace(">=",""));return(l.value>=v.value)}else{var v=$(k.replace(">",""));return(l.value>v.value)}}if(k.indexOf("<")!==-1){if(k.indexOf("<=")!==-1){var v=$(k.replace("<=",""));return(l.value<=v.value)}else{var v=$(k.replace(">",""));return(l.value<v.value)}}if(k.indexOf("=")!==-1&&k.indexOf(">")==-1&&k.indexOf("<")==-1){var v=$(k.replace("=",""));return(l.value==v.value)}if(k.indexOf("max")!==-1){var u=Number(getQuote(k,"(",")"));return(l.value<=u)}if(k==="select"){return(l.selectedIndex!==0)}if(k==="check"){if(l.type=="checkbox"){return(l.checked)}if(l.type=="radio"){var w=o[l.name];var x=false;$A(w).each(function(a){if(a.checked){x=true}});return x}return true}if(k==="email"){var z=true;var A=l.value.split(";");for(var B=0;B<A.length;B++){if(!isEmail(A[B].trim())){z=false;break}}return z}if(k==="phone"){return isPhone(l.value)}if(k==="none"){return true}if(k.indexOf("date")!==-1){var f=getQuote(k,"(",")");return isDate(f,l.value)}if(k.indexOf("future")!==-1){var c=getQuote(k,"(",")").toString();var p=c.split(",");if(p.length==0){return false}var f=p[0];if(p[2]&&p[2]=="false"&&isBlank(l.value)){return true}if(!isDate(f,l.value)||(p[1]&&$(p[1])&&!isDate(f,$(p[1]).value))){return false}if(p[1]&&$(p[1])){return(compareDate(f,l.value,$(p[1]).value)==-1)}else{return(compareDate(f,l.value)==-1)}}function getQuote(a,b,c){return a.substring(a.indexOf(b)+1,a.indexOf(c))}function isEmail(s){var a=new RegExp("^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]{2,4}$");return(s.search(a)!=-1)}function isPhone(s){var a=new RegExp("^[ .0-9]{3,}$");return(s.search(a)!=-1)}function isDate(f,s){var r=new RegExp("[.\/-]");var p=s.split(r);if(p.length!=3){return false}var y=Number(p[f.indexOf("y")]);var m=Number(p[f.indexOf("m")]);var d=Number(p[f.indexOf("d")]);var n=new Date(y,m-1,d);return(y==n.getFullYear()&&m==n.getMonth()+1&&d==n.getDate())}function compareDate(a,b,c){var s=new RegExp("[.\/-]");var d=b.split(s);var e=Number(d[a.indexOf("y")]);var f=Number(d[a.indexOf("m")]);var d=Number(d[a.indexOf("d")]);if(c){var g=c.split(s);var h=Number(g[a.indexOf("y")]);var i=Number(g[a.indexOf("m")]);var g=Number(g[a.indexOf("d")])}else{var g=new Date();var h=g.getFullYear();var i=g.getMonth()+1;var g=g.getDate()}if(h>e){return 1}else if(h<e){return-1}else{if(i>f){return 1}else if(i<f){return-1}else{if(g>d){return 1}else if(g<d){return-1}else{return 0}}}}function isBlank(s){return(s.trim()=="")}}});
