var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.BrowserSniff=function(){var i=navigator.appName.toString();var e=navigator.platform.toString();var c=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var d=/MSIE.([0-9\.]*)/i;var f=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var a=false;if((a=c.match(g))){this.opera=true;this.version=parseFloat(a[1])}else{if((a=c.match(d))){this.ie=true;this.version=parseFloat(a[1])}else{if((a=c.match(h))){this.safari=true;this.version=parseFloat(a[2])}else{if(c.match(f)){var j=/rv:\s*([0-9\.]+)/i;a=c.match(j);this.mozilla=true;this.version=parseFloat(a[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=c.match(/windows/i)?"windows":(c.match(/linux/i)?"linux":(c.match(/mac/i)?"mac":c.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.ValidationPassword=function(b,a){a=Spry.Widget.Utils.firstValid(a,{});if(!this.isBrowserSupported()){return}if(this.init(b,a)===false){return false}var c=["submit"].concat(Spry.Widget.Utils.firstValid(this.options.validateOn,[]));c=c.join(",");this.validateOn=0;this.validateOn=this.validateOn|(c.indexOf("submit")!=-1?Spry.Widget.ValidationPassword.ONSUBMIT:0);this.validateOn=this.validateOn|(c.indexOf("blur")!=-1?Spry.Widget.ValidationPassword.ONBLUR:0);this.validateOn=this.validateOn|(c.indexOf("change")!=-1?Spry.Widget.ValidationPassword.ONCHANGE:0);if(Spry.Widget.ValidationPassword.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.ValidationPassword.loadQueue.push(this)}};Spry.Widget.ValidationPassword.ONCHANGE=1;Spry.Widget.ValidationPassword.ONBLUR=2;Spry.Widget.ValidationPassword.ONSUBMIT=4;Spry.Widget.ValidationPassword.prototype.init=function(c,b){b=Spry.Widget.Utils.firstValid(b,[]);this.options=[];this.element=this.getElement(c);if(!this.element){return false}else{if(this.element.nodeName.toUpperCase()=="INPUT"&&typeof this.element.type!="undefined"&&this.element.type.toUpperCase()=="PASSWORD"){this.input=this.element}else{var a=Spry.Widget.Utils.getValidChildrenWithNodeNameAtAnyLevel(this.element,"INPUT","PASSWORD");if(a&&a.length>0){this.input=a[0]}else{this.input=false}}}if(!this.input){return false}this.event_handlers=[];this.validClass="passwordValidState";this.focusClass="passwordFocusState";this.requiredClass="passwordRequiredState";this.invalidStrengthClass="passwordInvalidStrengthState";this.invalidCharsMinClass="passwordMinCharsState";this.invalidCharsMaxClass="passwordMaxCharsState";this.invalidCustomClass="passwordCustomState";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)}var d=Spry.Widget.Utils.getOptionRealValue;b.minChars=d(b.minChars,false);b.maxChars=d(b.maxChars,false);if(b.maxChars){this.input.removeAttribute("maxLength")}b.minAlphaChars=d(b.minAlphaChars,false);b.maxAlphaChars=d(b.maxAlphaChars,false);b.minUpperAlphaChars=d(b.minUpperAlphaChars,false);b.maxUpperAlphaChars=d(b.maxUpperAlphaChars,false);b.minSpecialChars=d(b.minSpecialChars,false);b.maxSpecialChars=d(b.maxSpecialChars,false);b.minNumbers=d(b.minNumbers,false);b.maxNumbers=d(b.maxNumbers,false);if((b.minAlphaChars!==false&&b.maxAlphaChars!==false&&b.minAlphaChars>b.maxAlphaChars)||(b.minUpperAlphaChars!==false&&b.maxUpperAlphaChars!==false&&b.minUpperAlphaChars>b.maxUpperAlphaChars)||(b.minSpecialChars!==false&&b.maxSpecialChars!==false&&b.minSpecialChars>b.maxSpecialChars)||(b.minNumbers!==false&&b.maxNumbers!==false&&b.minNumbers>b.maxNumbers)||(b.maxUpperAlphaChars!==false&&b.maxAlphaChars!==false&&b.maxUpperAlphaChars>b.maxAlphaChars)||(b.maxChars!==false&&b.minAlphaChars+b.minUpperAlphaChars+b.minSpecialChars+b.minNumbers>b.maxChars)){this.showError("Invalid Strength Options!");return false}Spry.Widget.Utils.setOptions(this,b);Spry.Widget.Utils.setOptions(this.options,b)};Spry.Widget.ValidationPassword.loadQueue=[];Spry.Widget.ValidationPassword.onloadDidFire=false;Spry.Widget.ValidationPassword.prototype.getElement=function(a){if(a&&typeof a=="string"){a=document.getElementById(a)}return a};Spry.Widget.ValidationPassword.processLoadQueue=function(c){Spry.Widget.ValidationPassword.onloadDidFire=true;var d=Spry.Widget.ValidationPassword.loadQueue;var a=d.length;for(var b=0;b<a;b++){d[b].attachBehaviors()}};Spry.Widget.ValidationPassword.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.ValidationPassword.addLoadListener(Spry.Widget.ValidationPassword.processLoadQueue);Spry.Widget.ValidationPassword.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.ValidationPassword.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.ValidationPassword.ONCHANGE){var d=Spry.is.mozilla||Spry.is.opera||Spry.is.safari?"input":Spry.is.ie?"propertychange":"change";b.push([this.input,d,function(f){if(a.isDisabled()){return true}return a.validate(f||event)}]);if(Spry.is.mozilla||Spry.is.safari){b.push([this.input,"dragdrop",function(f){if(a.isDisabled()){return true}return a.validate(f)}])}else{if(Spry.is.ie){b.push([this.input,"drop",function(f){if(a.isDisabled()){return true}return a.validate(event)}])}}}b.push([this.input,"blur",function(f){if(a.isDisabled()){return true}return a.onBlur(f||event)}]);b.push([this.input,"focus",function(f){if(a.isDisabled()){return true}return a.onFocus(f||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(f){f=f||event;return Spry.Widget.Form.onSubmit(f,f.srcElement||f.currentTarget)};this.form.attachedSubmitHandler=true}if(!this.form.attachedResetHandler){Spry.Widget.Utils.addEventListener(this.form,"reset",function(f){var f=f||event;return Spry.Widget.Form.onReset(f,f.srcElement||f.currentTarget)},false);this.form.attachedResetHandler=true}Spry.Widget.Form.onSubmitWidgetQueue.push(this)}}};Spry.Widget.ValidationPassword.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.ValidationPassword.prototype.validateLength=function(b){var a=this.options;if(this.isRequired&&this.input.value==""){return this.requiredClass}if(a.minChars>0&&this.input.value.length<a.minChars){return this.invalidCharsMinClass}if(a.maxChars!==false&&this.input.value.length>a.maxChars){return this.invalidCharsMaxClass}return true};Spry.Widget.ValidationPassword.prototype.validateStrength=function(g){var d=this.options;var f=this.input.value;if(d.minAlphaChars!==false||d.maxAlphaChars!==false){var h=f.replace(/[^a-z]/ig,"").length;if((d.maxAlphaChars!==false&&h>d.maxAlphaChars)||(d.minAlphaChars!==false&&h<d.minAlphaChars)){return false}}if(d.minUpperAlphaChars!==false||d.maxUpperAlphaChars!==false){var c=f.replace(/[^A-Z]/g,"").length;if((d.maxUpperAlphaChars!==false&&c>d.maxUpperAlphaChars)||(d.minUpperAlphaChars!==false&&c<d.minUpperAlphaChars)){return false}}if(d.minNumbers!==false||d.maxNumbers!==false){var b=f.replace(/[^0-9]/g,"").length;if((d.maxNumbers!==false&&b>d.maxNumbers)||(d.minNumbers!==false&&b<d.minNumbers)){return false}}if(d.minSpecialChars!==false||d.maxSpecialChars!==false){var a=f.replace(/[a-z0-9]/ig,"").length;if((d.maxSpecialChars!==false&&a>d.maxSpecialChars)||(d.minSpecialChars!==false&&a<d.minSpecialChars)){return false}}return true};Spry.Widget.ValidationPassword.prototype.validate=function(d){var c=this.validateLength(d);if(c!==true){this.switchClassName(this.element,c);this.switchClassName(this.additionalError,c);return false}var b=this.validateStrength(d);if(b!==true){this.switchClassName(this.element,this.invalidStrengthClass);this.switchClassName(this.additionalError,this.invalidStrengthClass);return false}if(typeof this.options.validation=="function"){var a=this.options.validation(this.input.value,this.options);if(a!==true){this.switchClassName(this.element,this.invalidCustomClass);return false}}this.switchClassName(this.element,this.validClass);this.switchClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationPassword.prototype.onBlur=function(a){this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);if(this.validateOn&Spry.Widget.ValidationPassword.ONBLUR){this.validate(a)}};Spry.Widget.ValidationPassword.prototype.onFocus=function(){this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationPassword.prototype.switchClassName=function(d,c){var b=[this.validClass,this.requiredClass,this.invalidCharsMaxClass,this.invalidCharsMinClass,this.invalidStrengthClass,this.invalidCustomClass];for(var a=0;a<b.length;a++){this.removeClassName(d,b[a])}this.addClassName(d,c)};Spry.Widget.ValidationPassword.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.ValidationPassword.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.ValidationPassword.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.ValidationPassword.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input};Spry.Widget.ValidationPassword.prototype.showError=function(a){alert("Spry.ValidationPassword 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,f){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&&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.getOptionRealValue=function(a,c){var b=Spry.Widget.Utils.firstValid(a,c);if(b!==false){b=parseInt(b,10)}if(isNaN(b)||b<0){b=false}return b};Spry.Widget.Utils.getValidChildrenWithNodeNameAtAnyLevel=function(d,g,c){var e=d.getElementsByTagName(g);var f=[];var a=0;if(e){for(var b=0;b<e.length;b++){if(typeof e[b].type!="undefined"&&e[b].type.toUpperCase()==c.toUpperCase()){f[a]=e[b];a++}}}return f};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(f){}};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(f){}};
