var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.BrowserSniff=function(){var H=navigator.appName.toString();var D=navigator.platform.toString();var B=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var F=/Opera.([0-9\.]*)/i;var C=/MSIE.([0-9\.]*)/i;var E=/gecko/i;var G=/(applewebkit|safari)\/([\d\.]*)/i;var A=false;if((A=B.match(F))){this.opera=true;this.version=parseFloat(A[1])}else{if((A=B.match(C))){this.ie=true;this.version=parseFloat(A[1])}else{if((A=B.match(G))){this.safari=true;this.version=parseFloat(A[2])}else{if(B.match(E)){var I=/rv:\s*([0-9\.]+)/i;A=B.match(I);this.mozilla=true;this.version=parseFloat(A[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=B.match(/windows/i)?"windows":(B.match(/linux/i)?"linux":(B.match(/mac/i)?"mac":B.match(/unix/i)?"unix":"unknown"));this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false}};Spry.is=new Spry.Widget.BrowserSniff();Spry.Widget.ValidationConfirm=function(C,A,B){B=Spry.Widget.Utils.firstValid(B,{});if(!this.isBrowserSupported()){return }if(this.init(C,A,B)===false){return false}var D=["submit"].concat(Spry.Widget.Utils.firstValid(this.options.validateOn,[]));D=D.join(",");this.validateOn=0;this.validateOn=this.validateOn|(D.indexOf("submit")!=-1?Spry.Widget.ValidationConfirm.ONSUBMIT:0);this.validateOn=this.validateOn|(D.indexOf("blur")!=-1?Spry.Widget.ValidationConfirm.ONBLUR:0);this.validateOn=this.validateOn|(D.indexOf("change")!=-1?Spry.Widget.ValidationConfirm.ONCHANGE:0);if(Spry.Widget.ValidationConfirm.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.ValidationConfirm.loadQueue.push(this)}};Spry.Widget.ValidationConfirm.ONCHANGE=1;Spry.Widget.ValidationConfirm.ONBLUR=2;Spry.Widget.ValidationConfirm.ONSUBMIT=4;Spry.Widget.ValidationConfirm.prototype.init=function(C,A,B){B=Spry.Widget.Utils.firstValid(B,[]);this.options=[];this.element=this.getElement(C);if(!this.element){this.showError("The element "+(!C||C==""?"to be validated is not defined!":(C+" doesn't exists!")));return false}else{if(this.element.nodeName.toUpperCase()=="INPUT"&&(typeof this.element.type=="undefined"||",RADIO,CHECKBOX,BUTTON,SUBMIT,IMAGE,".indexOf(","+this.element.type.toUpperCase+",")==-1)){this.input=this.element}else{this.input=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element,"INPUT")}}if(!this.input){this.showError("Element "+C+" doesn't contain any form input!");return false}var D=this.getElement(A);this.firstInput=false;if(!D){this.showError("The element "+(!A||A==""?"that contains the value to be validated is not defined!":(A+" doesn't exists!")));return false}if(D.nodeName.toUpperCase()!="INPUT"){this.firstInput=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(D,"INPUT")}else{if(typeof D.type=="undefined"||",RADIO,CHECKBOX,BUTTON,SUBMIT,IMAGE,".indexOf(","+D.type.toUpperCase()+",")==-1){this.firstInput=D}}if(!this.firstInput){this.showError("Element "+A+" doesn't contain any form input!");return false}this.event_handlers=[];this.validClass="confirmValidState";this.focusClass="confirmFocusState";this.requiredClass="confirmRequiredState";this.invalidClass="confirmInvalidState";B.isRequired=Spry.Widget.Utils.firstValid(B.isRequired,true);B.additionalError=Spry.Widget.Utils.firstValid(B.additionalError,false);if(B.additionalError){B.additionalError=this.getElement(B.additionalError)}Spry.Widget.Utils.setOptions(this,B);Spry.Widget.Utils.setOptions(this.options,B)};Spry.Widget.ValidationConfirm.loadQueue=[];Spry.Widget.ValidationConfirm.onloadDidFire=false;Spry.Widget.ValidationConfirm.prototype.getElement=function(A){if(A&&typeof A=="string"){A=document.getElementById(A)}return A};Spry.Widget.ValidationConfirm.processLoadQueue=function(C){Spry.Widget.ValidationConfirm.onloadDidFire=true;var D=Spry.Widget.ValidationConfirm.loadQueue;var A=D.length;for(var B=0;B<A;B++){D[B].attachBehaviors()}};Spry.Widget.ValidationConfirm.addLoadListener=function(A){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",A,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",A,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",A)}}}};Spry.Widget.ValidationConfirm.addLoadListener(Spry.Widget.ValidationConfirm.processLoadQueue);Spry.Widget.ValidationConfirm.prototype.destroy=function(){if(this.event_handlers){for(var B=0;B<this.event_handlers.length;B++){Spry.Widget.Utils.removeEventListener(this.event_handlers[B][0],this.event_handlers[B][1],this.event_handlers[B][2],false)}}try{delete this.element}catch(C){}try{delete this.input}catch(C){}try{delete this.event_handlers}catch(C){}try{delete this.options}catch(C){}var D=Spry.Widget.Form.onSubmitWidgetQueue;var A=D.length;for(var B=0;B<A;B++){if(D[B]==this){D.splice(B,1);break}}};Spry.Widget.ValidationConfirm.prototype.attachBehaviors=function(){if(this.event_handlers&&this.event_handlers.length>0){return }var B=this.event_handlers;if(this.input){var A=this;this.input.setAttribute("AutoComplete","off");if(this.validateOn&Spry.Widget.ValidationConfirm.ONCHANGE){var D=Spry.is.mozilla||Spry.is.opera||Spry.is.safari?"input":Spry.is.ie?"propertychange":"change";B.push([this.input,D,function(E){if(A.isDisabled()){return true}return A.validate(E||event)}]);if(Spry.is.mozilla||Spry.is.safari){B.push([this.input,"dragdrop",function(E){if(A.isDisabled()){return true}return A.validate(E)}])}else{if(Spry.is.ie){B.push([this.input,"drop",function(E){if(A.isDisabled()){return true}return A.validate(event)}])}}}B.push([this.input,"blur",function(E){if(A.isDisabled()){return true}return A.onBlur(E||event)}]);B.push([this.input,"focus",function(E){if(A.isDisabled()){return true}return A.onFocus(E||event)}]);for(var C=0;C<this.event_handlers.length;C++){Spry.Widget.Utils.addEventListener(this.event_handlers[C][0],this.event_handlers[C][1],this.event_handlers[C][2],false)}this.form=Spry.Widget.Utils.getFirstParentWithNodeName(this.input,"FORM");if(this.form){if(!this.form.attachedSubmitHandler&&!this.form.onsubmit){this.form.onsubmit=function(E){E=E||event;return Spry.Widget.Form.onSubmit(E,E.srcElement||E.currentTarget)};this.form.attachedSubmitHandler=true}if(!this.form.attachedResetHandler){Spry.Widget.Utils.addEventListener(this.form,"reset",function(E){var E=E||event;return Spry.Widget.Form.onReset(E,E.srcElement||E.currentTarget)},false);this.form.attachedResetHandler=true}Spry.Widget.Form.onSubmitWidgetQueue.push(this)}}};Spry.Widget.ValidationConfirm.prototype.reset=function(){this.switchClassName(this.element,"");this.switchClassName(this.additionalError,"");this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);if(Spry.is.ie){this.input.forceFireFirstOnPropertyChange=true;this.input.removeAttribute("forceFireFirstOnPropertyChange")}};Spry.Widget.ValidationConfirm.prototype.validate=function(A){if(this.isRequired&&this.input.value==""){this.switchClassName(this.element,this.requiredClass);this.switchClassName(this.additionalError,this.requiredClass);return false}if(this.input.value.length>0&&this.input.value!=this.firstInput.value){this.switchClassName(this.element,this.invalidClass);this.switchClassName(this.additionalError,this.invalidClass);return false}this.switchClassName(this.element,this.validClass);this.switchClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationConfirm.prototype.onBlur=function(A){this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);if(this.validateOn&Spry.Widget.ValidationConfirm.ONBLUR){this.validate(A)}};Spry.Widget.ValidationConfirm.prototype.onFocus=function(){this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationConfirm.prototype.switchClassName=function(D,C){var B=[this.validClass,this.requiredClass,this.invalidClass];for(var A=0;A<B.length;A++){this.removeClassName(D,B[A])}this.addClassName(D,C)};Spry.Widget.ValidationConfirm.prototype.addClassName=function(B,A){if(!B||!A||(B.className&&B.className.indexOf(A)!=-1&&B.className.search(new RegExp("\\b"+A+"\\b"))!=-1)){return }B.className+=(B.className?" ":"")+A};Spry.Widget.ValidationConfirm.prototype.removeClassName=function(B,A){if(!B||!A||(B.className&&B.className.indexOf(A)!=-1&&B.className.search(new RegExp("\\b"+A+"\\b"))==-1)){return }B.className=B.className.replace(new RegExp("\\s*\\b"+A+"\\b","g"),"")};Spry.Widget.ValidationConfirm.prototype.isBrowserSupported=function(){return Spry.is.ie&&Spry.is.v>=5&&Spry.is.windows||Spry.is.mozilla&&Spry.is.v>=1.4||Spry.is.safari||Spry.is.opera&&Spry.is.v>=9};Spry.Widget.ValidationConfirm.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input};Spry.Widget.ValidationConfirm.prototype.showError=function(A){alert("Spry.ValidationConfirm ERR: "+A)};if(!Spry.Widget.Form){Spry.Widget.Form={}}if(!Spry.Widget.Form.onSubmitWidgetQueue){Spry.Widget.Form.onSubmitWidgetQueue=[]}if(!Spry.Widget.Form.validate){Spry.Widget.Form.validate=function(F){var E=true;var D=true;var C=Spry.Widget.Form.onSubmitWidgetQueue;var A=C.length;for(var B=0;B<A;B++){if(!C[B].isDisabled()&&C[B].form==F){D=C[B].validate();E=D&&E}}return E}}if(!Spry.Widget.Form.onSubmit){Spry.Widget.Form.onSubmit=function(B,A){if(Spry.Widget.Form.validate(A)==false){return false}return true}}if(!Spry.Widget.Form.onReset){Spry.Widget.Form.onReset=function(D,E){var C=Spry.Widget.Form.onSubmitWidgetQueue;var A=C.length;for(var B=0;B<A;B++){if(!C[B].isDisabled()&&C[B].form==E&&typeof (C[B].reset)=="function"){C[B].reset()}}return true}}if(!Spry.Widget.Form.destroy){Spry.Widget.Form.destroy=function(B){var C=Spry.Widget.Form.onSubmitWidgetQueue;for(var A=0;A<Spry.Widget.Form.onSubmitWidgetQueue.length;A++){if(C[A].form==B&&typeof (C[A].destroy)=="function"){C[A].destroy();A--}}}}if(!Spry.Widget.Form.destroyAll){Spry.Widget.Form.destroyAll=function(){var B=Spry.Widget.Form.onSubmitWidgetQueue;for(var A=0;A<Spry.Widget.Form.onSubmitWidgetQueue.length;A++){if(typeof (B[A].destroy)=="function"){B[A].destroy();A--}}}}if(!Spry.Widget.Utils){Spry.Widget.Utils={}}Spry.Widget.Utils.setOptions=function(D,C,A){if(!C){return }for(var B in C){if(A&&C[B]==undefined){continue}D[B]=C[B]}};Spry.Widget.Utils.firstValid=function(){var A=null;for(var B=0;B<Spry.Widget.Utils.firstValid.arguments.length;B++){if(typeof Spry.Widget.Utils.firstValid.arguments[B]!="undefined"){A=Spry.Widget.Utils.firstValid.arguments[B];break}}return A};Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel=function(A,C){var B=A.getElementsByTagName(C);if(B){return B[0]}return null};Spry.Widget.Utils.getFirstParentWithNodeName=function(A,B){while(A.parentNode&&A.parentNode.nodeName.toLowerCase()!=B.toLowerCase()&&A.parentNode.nodeName!="BODY"){A=A.parentNode}if(A.parentNode&&A.parentNode.nodeName.toLowerCase()==B.toLowerCase()){return A.parentNode}else{return null}};Spry.Widget.Utils.addEventListener=function(C,B,D,A){try{if(C.addEventListener){C.addEventListener(B,D,A)}else{if(C.attachEvent){C.attachEvent("on"+B,D,A)}}}catch(E){}};Spry.Widget.Utils.removeEventListener=function(C,B,D,A){try{if(C.removeEventListener){C.removeEventListener(B,D,A)}else{if(C.detachEvent){C.detachEvent("on"+B,D,A)}}}catch(E){}};