var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.ValidationRadio=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.ValidationRadio.ONSUBMIT:0);this.validateOn=this.validateOn|(C.indexOf("blur")!=-1?Spry.Widget.ValidationRadio.ONBLUR:0);this.validateOn=this.validateOn|(C.indexOf("change")!=-1?Spry.Widget.ValidationRadio.ONCHANGE:0);if(this.additionalError){this.additionalError=this.getElement(this.additionalError)}if(Spry.Widget.ValidationRadio.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.ValidationRadio.loadQueue.push(this)}};Spry.Widget.ValidationRadio.ONCHANGE=1;Spry.Widget.ValidationRadio.ONBLUR=2;Spry.Widget.ValidationRadio.ONSUBMIT=4;Spry.Widget.ValidationRadio.prototype.init=function(A){this.element=this.getElement(A);this.additionalError=false;this.radioElements=null;this.form=null;this.event_handlers=[];this.requiredClass="radioRequiredState";this.focusClass="radioFocusState";this.invalidClass="radioInvalidState";this.validClass="radioValidState";this.emptyValue="";this.invalidValue=null;this.isRequired=true;this.validateOn=["submit"]};Spry.Widget.ValidationRadio.onloadDidFire=false;Spry.Widget.ValidationRadio.loadQueue=[];Spry.Widget.ValidationRadio.prototype.getElement=function(A){if(A&&typeof A=="string"){return document.getElementById(A)}return A};Spry.Widget.ValidationRadio.processLoadQueue=function(C){Spry.Widget.ValidationRadio.onloadDidFire=true;var D=Spry.Widget.ValidationRadio.loadQueue;var A=D.length;for(var B=0;B<A;B++){D[B].attachBehaviors()}};Spry.Widget.ValidationRadio.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.ValidationRadio.addLoadListener(Spry.Widget.ValidationRadio.processLoadQueue);Spry.Widget.ValidationRadio.addLoadListener(function(){Spry.Widget.Utils.addEventListener(window,"unload",Spry.Widget.Form.destroyAll,false)});Spry.Widget.ValidationRadio.prototype.attachBehaviors=function(){if(!this.element){return }if(this.element.nodeName=="INPUT"){this.radioElements=[this.element]}else{this.radioElements=this.getRadios()}if(this.radioElements){var B=this;this.event_handlers=[];var A=this.radioElements.length;for(var C=0;C<A;C++){this.event_handlers.push([this.radioElements[C],"focus",function(D){return B.onFocus(D)}]);this.event_handlers.push([this.radioElements[C],"blur",function(D){return B.onBlur(D)}]);if(this.validateOn&Spry.Widget.ValidationRadio.ONCHANGE){this.event_handlers.push([this.radioElements[C],"click",function(D){return B.onClick(D)}])}}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.element,"FORM");if(this.form){if(!this.form.attachedSubmitHandler&&!this.form.onsubmit){this.form.onsubmit=function(D){D=D||event;return Spry.Widget.Form.onSubmit(D,D.srcElement||D.currentTarget)};this.form.attachedSubmitHandler=true}if(!this.form.attachedResetHandler){Spry.Widget.Utils.addEventListener(this.form,"reset",function(D){D=D||event;return Spry.Widget.Form.onReset(D,D.srcElement||D.currentTarget)},false);this.form.attachedResetHandler=true}Spry.Widget.Form.onSubmitWidgetQueue.push(this)}}};Spry.Widget.ValidationRadio.prototype.getRadios=function(){var B;var D=this.element.getElementsByTagName("INPUT");if(D.length){B=[];var A=D.length;for(var C=0;C<A;C++){if(D[C].getAttribute("type").toLowerCase()=="radio"){B.push(D[C])}}return B}return null};Spry.Widget.ValidationRadio.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.ValidationRadio.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.ValidationRadio.prototype.onFocus=function(B){var A=(B.srcElement!=null)?B.srcElement:B.target;if(A.disabled){return }this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationRadio.prototype.onBlur=function(C){var B=(C.srcElement!=null)?C.srcElement:C.target;if(B.disabled){return }var A=false;if(this.validateOn&Spry.Widget.ValidationRadio.ONBLUR){A=true}if(A){this.validate()}this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationRadio.prototype.onClick=function(B){var A=(B.srcElement!=null)?B.srcElement:B.target;if(A.disabled){return }this.validate()};Spry.Widget.ValidationRadio.prototype.reset=function(){this.removeClassName(this.element,this.validClass);this.removeClassName(this.element,this.requiredClass);this.removeClassName(this.element,this.invalidClass);this.removeClassName(this.additionalError,this.validClass);this.removeClassName(this.additionalError,this.requiredClass);this.removeClassName(this.additionalError,this.invalidClass)};Spry.Widget.ValidationRadio.prototype.validate=function(){this.reset();var E=0;var C=0;var D=0;if(this.radioElements){var A=this.radioElements.length;for(var B=0;B<A;B++){if(!this.radioElements[B].disabled&&this.radioElements[B].checked){if(this.radioElements[B].value==this.emptyValue){D++}else{if(this.invalidValue&&this.radioElements[B].value==this.invalidValue){C++}else{E++}}}}}if(this.invalidValue&&C!=0){this.addClassName(this.element,this.invalidClass);this.addClassName(this.additionalError,this.invalidClass);return false}if(this.isRequired&&(E==0||D!=0)){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}this.addClassName(this.element,this.validClass);this.addClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationRadio.prototype.isDisabled=function(){var B=true;if(this.radioElements){var A=this.radioElements.length;for(var C=0;C<A;C++){if(!this.radioElements[C].disabled){B=false;break}}}return B};Spry.Widget.ValidationRadio.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){}if(this.radioElements){for(var B=0;B<this.radioElements.length;B++){try{delete this.radioElements[B]}catch(C){}}}try{delete this.radioElements}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}}};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.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){}};