var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.ValidationSelect=function(A,B){this.init(A);Spry.Widget.Utils.setOptions(this,B);var C=["submit"].concat(this.validateOn||[]);C=C.join(",");this.validateOn=0|(C.indexOf("submit")!=-1?Spry.Widget.ValidationSelect.ONSUBMIT:0);this.validateOn=this.validateOn|(C.indexOf("blur")!=-1?Spry.Widget.ValidationSelect.ONBLUR:0);this.validateOn=this.validateOn|(C.indexOf("change")!=-1?Spry.Widget.ValidationSelect.ONCHANGE:0);if(this.additionalError){this.additionalError=this.getElement(this.additionalError)}if(Spry.Widget.ValidationSelect.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.ValidationSelect.loadQueue.push(this)}};Spry.Widget.ValidationSelect.ONCHANGE=1;Spry.Widget.ValidationSelect.ONBLUR=2;Spry.Widget.ValidationSelect.ONSUBMIT=4;Spry.Widget.ValidationSelect.prototype.init=function(A){this.element=this.getElement(A);this.additionalError=false;this.selectElement=null;this.form=null;this.event_handlers=[];this.requiredClass="selectRequiredState";this.invalidClass="selectInvalidState";this.focusClass="selectFocusState";this.validClass="selectValidState";this.emptyValue="";this.invalidValue=null;this.isRequired=true;this.validateOn=["submit"];this.validatedByOnChangeEvent=false};Spry.Widget.ValidationSelect.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.selectElement}catch(C){}try{delete this.form}catch(C){}try{delete this.event_handlers}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.ValidationSelect.onloadDidFire=false;Spry.Widget.ValidationSelect.loadQueue=[];Spry.Widget.ValidationSelect.prototype.getElement=function(A){if(A&&typeof A=="string"){return document.getElementById(A)}return A};Spry.Widget.ValidationSelect.processLoadQueue=function(C){Spry.Widget.ValidationSelect.onloadDidFire=true;var D=Spry.Widget.ValidationSelect.loadQueue;var A=D.length;for(var B=0;B<A;B++){D[B].attachBehaviors()}};Spry.Widget.ValidationSelect.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.ValidationSelect.addLoadListener(Spry.Widget.ValidationSelect.processLoadQueue);Spry.Widget.ValidationSelect.addLoadListener(function(){Spry.Widget.Utils.addEventListener(window,"unload",Spry.Widget.Form.destroyAll,false)});Spry.Widget.ValidationSelect.prototype.attachBehaviors=function(){if(this.element.nodeName=="SELECT"){this.selectElement=this.element}else{this.selectElement=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element,"SELECT")}if(this.selectElement){var A=this;this.event_handlers=[];var D="focus";var C=navigator.userAgent.match(/msie (\d+)\./i);if(C){C=parseInt(C[1],10);if(C>=6){D="beforeactivate"}}this.event_handlers.push([this.selectElement,D,function(E){if(A.isDisabled()){return true}return A.onFocus(E)}]);this.event_handlers.push([this.selectElement,"blur",function(E){if(A.isDisabled()){return true}return A.onBlur(E)}]);if(this.validateOn&Spry.Widget.ValidationSelect.ONCHANGE){this.event_handlers.push([this.selectElement,"change",function(E){if(A.isDisabled()){return true}return A.onChange(E)}]);this.event_handlers.push([this.selectElement,"keypress",function(E){if(A.isDisabled()){return true}return A.onChange(E)}])}for(var B=0;B<this.event_handlers.length;B++){Spry.Widget.Utils.addEventListener(this.event_handlers[B][0],this.event_handlers[B][1],this.event_handlers[B][2],false)}this.form=Spry.Widget.Utils.getFirstParentWithNodeName(this.selectElement,"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){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.ValidationSelect.prototype.addClassName=function(B,A){if(!B||!A||(B.className&&B.className.search(new RegExp("\\b"+A+"\\b"))!=-1)){return}B.className+=(B.className?" ":"")+A};Spry.Widget.ValidationSelect.prototype.removeClassName=function(B,A){if(!B||!A||(B.className&&B.className.search(new RegExp("\\b"+A+"\\b"))==-1)){return}B.className=B.className.replace(new RegExp("\\s*\\b"+A+"\\b","g"),"")};Spry.Widget.ValidationSelect.prototype.onFocus=function(A){this.hasFocus=true;this.validatedByOnChangeEvent=false;this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationSelect.prototype.onBlur=function(B){this.hasFocus=false;var A=false;if(this.validateOn&Spry.Widget.ValidationSelect.ONBLUR){A=true}if(A&&!this.validatedByOnChangeEvent){this.validate()}this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationSelect.prototype.onChange=function(A){this.hasFocus=false;this.validate();this.validatedByOnChangeEvent=true};Spry.Widget.ValidationSelect.prototype.reset=function(){this.removeClassName(this.element,this.requiredClass);this.removeClassName(this.element,this.invalidClass);this.removeClassName(this.element,this.validClass);this.removeClassName(this.additionalError,this.requiredClass);this.removeClassName(this.additionalError,this.invalidClass);this.removeClassName(this.additionalError,this.validClass)};Spry.Widget.ValidationSelect.prototype.validate=function(){this.reset();if(this.isRequired){if(this.selectElement.options.length==0||this.selectElement.selectedIndex==-1){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}if(this.selectElement.options[this.selectElement.selectedIndex].getAttribute("value")==null){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}if(this.selectElement.options[this.selectElement.selectedIndex].value==this.emptyValue){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}if(this.selectElement.options[this.selectElement.selectedIndex].disabled){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}}if(this.invalidValue){if(this.selectElement.options.length>0&&this.selectElement.selectedIndex!=-1&&this.selectElement.options[this.selectElement.selectedIndex].value==this.invalidValue){this.addClassName(this.element,this.invalidClass);this.addClassName(this.additionalError,this.invalidClass);return false}}this.addClassName(this.element,this.validClass);this.addClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationSelect.prototype.isDisabled=function(){return this.selectElement.disabled};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.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.destroyWidgets=function(A){if(typeof A=="string"){A=document.getElementById(A)}var C=Spry.Widget.Form.onSubmitWidgetQueue;for(var B=0;B<Spry.Widget.Form.onSubmitWidgetQueue.length;B++){if(typeof(C[B].destroy)=="function"&&Spry.Widget.Utils.contains(A,C[B].element)){C[B].destroy();B--}}};Spry.Widget.Utils.contains=function(B,C){if(typeof B.contains=="object"){return C&&B&&(B==C||B.contains(C))}else{var A=C;while(A){if(A==B){return true}A=A.parentNode}return false}};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){}};