﻿var Spry;if(!Spry)Spry={};if(!Spry.Widget)Spry.Widget={};Spry.Widget.BrowserSniff=function(){var i=navigator.appName.toString(),h=navigator.platform.toString(),a=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var f=/Opera.([0-9\.]*)/i,g=/MSIE.([0-9\.]*)/i,e=/gecko/i,d=/(applewebkit|safari)\/([\d\.]*)/i,b=false;if(b=a.match(f)){this.opera=true;this.version=parseFloat(b[1])}else if(b=a.match(g)){this.ie=true;this.version=parseFloat(b[1])}else if(b=a.match(d)){this.safari=true;this.version=parseFloat(b[2])}else if(a.match(e)){var c=/rv:\s*([0-9\.]+)/i;b=a.match(c);this.mozilla=true;this.version=parseFloat(b[1])}this.windows=this.mac=this.linux=false;this.Platform=a.match(/windows/i)?"windows":a.match(/linux/i)?"linux":a.match(/mac/i)?"mac":a.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.ValidationTextarea=function(c,a){a=Spry.Widget.Utils.firstValid(a,{});this.flags={locked:false};this.options={};this.element=c;this.init(c);if(!this.isBrowserSupported())return;a.useCharacterMasking=Spry.Widget.Utils.firstValid(a.useCharacterMasking,true);a.hint=Spry.Widget.Utils.firstValid(a.hint,"");a.isRequired=Spry.Widget.Utils.firstValid(a.isRequired,true);a.additionalError=Spry.Widget.Utils.firstValid(a.additionalError,false);Spry.Widget.Utils.setOptions(this,a);Spry.Widget.Utils.setOptions(this.options,a);if(a.additionalError)this.additionalError=this.getElement(a.additionalError);var b=["submit"].concat(Spry.Widget.Utils.firstValid(this.options.validateOn,[]));b=b.join(",");this.validateOn=0;this.validateOn=this.validateOn|(b.indexOf("submit")!=-1?Spry.Widget.ValidationTextarea.ONSUBMIT:0);this.validateOn=this.validateOn|(b.indexOf("blur")!=-1?Spry.Widget.ValidationTextarea.ONBLUR:0);this.validateOn=this.validateOn|(b.indexOf("change")!=-1?Spry.Widget.ValidationTextarea.ONCHANGE:0);if(Spry.Widget.ValidationTextarea.onloadDidFire)this.attachBehaviors();else Spry.Widget.ValidationTextarea.loadQueue.push(this)};Spry.Widget.ValidationTextarea.ONCHANGE=1;Spry.Widget.ValidationTextarea.ONBLUR=2;Spry.Widget.ValidationTextarea.ONSUBMIT=4;Spry.Widget.ValidationTextarea.INITIAL="Initial";Spry.Widget.ValidationTextarea.REQUIRED="Required";Spry.Widget.ValidationTextarea.INVALID="Invalid Format";Spry.Widget.ValidationTextarea.MINIMUM="Minimum Number of Chars Not Met";Spry.Widget.ValidationTextarea.MAXIMUM="Maximum Number of Chars Exceeded";Spry.Widget.ValidationTextarea.VALID="Valid";Spry.Widget.ValidationTextarea.prototype.init=function(a){this.element=this.getElement(a);this.event_handlers=[];this.requiredClass="textareaRequiredState";this.invalidCharsMaxClass="textareaMaxCharsState";this.invalidCharsMinClass="textareaMinCharsState";this.validClass="textareaValidState";this.focusClass="textareaFocusState";this.hintClass="textareaHintState";this.textareaFlashClass="textareaFlashState";this.isMaxInvalid=false;this.isMinInvalid=false;this.isRequireInvalid=false;this.safariClicked=false;this.state=Spry.Widget.ValidationTextarea.INITIAL};Spry.Widget.ValidationTextarea.prototype.destroy=function(){if(this.event_handlers)for(var a=0;a<this.event_handlers.length;a++)Spry.Widget.Utils.removeEventListener(this.event_handlers[a][0],this.event_handlers[a][1],this.event_handlers[a][2],false);try{delete this.element}catch(d){}try{delete this.input}catch(d){}try{delete this.counterEl}catch(d){}try{delete this.form}catch(d){}try{delete this.event_handlers}catch(d){}try{this.cursorPosition.destroy()}catch(d){}try{delete this.cursorPosition}catch(d){}try{this.initialCursor.destroy()}catch(d){}try{delete this.initialCursor}catch(d){}var b=Spry.Widget.Form.onSubmitWidgetQueue,c=b.length;for(var a=0;a<c;a++)if(b[a]==this){b.splice(a,1);break}};Spry.Widget.ValidationTextarea.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input};Spry.Widget.ValidationTextarea.prototype.getElement=function(a){if(a&&typeof a=="string")return document.getElementById(a);return a};Spry.Widget.ValidationTextarea.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.ValidationTextarea.processLoadQueue=function(){Spry.Widget.ValidationTextarea.onloadDidFire=true;var b=Spry.Widget.ValidationTextarea.loadQueue,c=b.length;for(var a=0;a<c;a++)b[a].attachBehaviors()};Spry.Widget.ValidationTextarea.onloadDidFire=false;Spry.Widget.ValidationTextarea.loadQueue=[];Spry.Widget.ValidationTextarea.addLoadListener(Spry.Widget.ValidationTextarea.processLoadQueue);Spry.Widget.ValidationTextarea.addLoadListener(function(){Spry.Widget.Utils.addEventListener(window,"unload",Spry.Widget.Form.destroyAll,false)});Spry.Widget.ValidationTextarea.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.ValidationTextarea.prototype.attachBehaviors=function(){if(this.element)if(this.element.nodeName=="TEXTAREA")this.input=this.element;else this.input=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element,"TEXTAREA");if(this.options&&this.options.counterType&&(this.options.counterType=="chars_count"||this.options.counterType=="chars_remaining")){this.counterEl=document.getElementById(this.options.counterId);this.counterChar()}if(this.input){this.input.setAttribute("AutoComplete","off");this.putHint();this.cursorPosition=new Spry.Widget.SelectionDescriptor(this.input);var a=this;this.event_handlers=[];if(this.useCharacterMasking){if(Spry.is.ie){this.event_handlers.push([this.input,"propertychange",function(b){return a.onKeyEvent(b||event)}]);this.event_handlers.push([this.input,"drop",function(b){return a.onDrop(b||event)}]);this.event_handlers.push([this.input,"keypress",function(b){return a.onKeyPress(b||event)}])}else{this.event_handlers.push([this.input,"keydown",function(b){return a.onKeyDown(b)}]);this.event_handlers.push([this.input,"keypress",function(b){return a.safariKeyPress(b)}]);this.event_handlers.push([this.input,"keyup",function(b){return a.safariValidate(b)}]);if(Spry.is.safari){this.event_handlers.push([this.input,"mouseup",function(b){return a.safariMouseUp(b)}]);this.event_handlers.push([this.input,"mousedown",function(b){return a.safariMouseDown(b)}])}else{this.event_handlers.push([this.input,"dragdrop",function(b){return a.onKeyEvent(b)}]);this.event_handlers.push([this.input,"dragenter",function(b){a.removeHint();return a.onKeyDown(b)}]);this.event_handlers.push([this.input,"dragexit",function(){return a.putHint()}])}}this.event_handlers.push([this.input,"keydown",function(b){return a.onKeyDown(b||event)}])}this.event_handlers.push([this.input,"focus",function(b){return a.onFocus(b||event)}]);this.event_handlers.push([this.input,"mousedown",function(b){return a.onMouseDown(b||event)}]);this.event_handlers.push([this.input,"blur",function(b){return a.onBlur(b||event)}]);if(this.validateOn&Spry.Widget.ValidationTextarea.ONCHANGE)if(Spry.is.ie){this.event_handlers.push([this.input,"propertychange",function(b){return a.onChange(b||event)}]);this.event_handlers.push([this.input,"drop",function(b){return a.onChange(b||event)}])}else{this.event_handlers.push([this.input,"keydown",function(b){return a.onKeyDown(b)}]);this.event_handlers.push([this.input,"keypress",function(b){return a.safariChangeKeyPress(b)}]);this.event_handlers.push([this.input,"keyup",function(b){return a.safariChangeValidate(b)}]);if(Spry.is.safari){this.event_handlers.push([this.input,"mouseup",function(b){return a.safariChangeMouseUp(b)}]);this.event_handlers.push([this.input,"mousedown",function(b){return a.safariMouseDown(b)}])}else{this.event_handlers.push([this.input,"dragdrop",function(b){return a.onChange(b)}]);this.event_handlers.push([this.input,"dragenter",function(b){a.removeHint();return a.onKeyDown(b)}]);this.event_handlers.push([this.input,"dragexit",function(){return a.putHint()}])}}if(!(this.validateOn&Spry.Widget.ValidationTextarea.ONCHANGE)&&!this.useCharacterMasking)if(Spry.is.ie){this.event_handlers.push([this.input,"propertychange",function(){return a.counterChar()}]);this.event_handlers.push([this.input,"drop",function(){return a.counterChar()}])}else{this.event_handlers.push([this.input,"keypress",function(){return a.counterChar()}]);this.event_handlers.push([this.input,"keyup",function(){return a.counterChar()}]);if(Spry.is.safari)this.event_handlers.push([this.input,"mouseup",function(){return a.counterChar()}]);else this.event_handlers.push([this.input,"dragdrop",function(){return a.counterChar()}])}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.input,"FORM");if(this.form){if(!this.form.attachedSubmitHandler&&!this.form.onsubmit){this.form.onsubmit=function(a){a=a||event;return Spry.Widget.Form.onSubmit(a,a.srcElement||a.currentTarget)};this.form.attachedSubmitHandler=true}if(!this.form.attachedResetHandler){Spry.Widget.Utils.addEventListener(this.form,"reset",function(a){a=a||event;return Spry.Widget.Form.onReset(a,a.srcElement||a.currentTarget)},false);this.form.attachedResetHandler=true}Spry.Widget.Form.onSubmitWidgetQueue.push(this)}}this.saveState()};Spry.Widget.ValidationTextarea.prototype.onTyping=function(f){if(this.input.disabled==true||this.input.readOnly==true)return;if(!this.initialCursor)this.initialCursor=this.cursorPosition;if(this.flags.locked)return true;var d=this.input.value,e=true;if(this.flags.hintOn)return true;if(f&&this.input&&this.options&&this.options.maxChars>0&&e)if(d.length>this.options.maxChars&&(!Spry.Widget.Utils.isSpecialKey(f)&&this.cursorPosition.start==this.cursorPosition.end||Spry.Widget.Utils.isSpecialKey(f)&&d!=this.initialValue||this.cursorPosition.start!=this.cursorPosition.end)){this.flags.locked=true;var a=this.initialValue,b=this.initialCursor.start,c=this.initialCursor.end;if(a.length&&this.initialCursor.end<a.length){var h=c-b+this.options.maxChars-a.length,g=a.substring(0,b)+d.substring(b,b+h)+a.substring(c,a.length<this.options.maxChars?a.length:this.options.maxChars);c=b+h}else{var g=d.substring(0,this.options.maxChars);c=b=this.options.maxChars}if(Spry.is.ie)this.input.innerText=g;else this.input.value=g;this.redTextFlash();this.cursorPosition.moveTo(c,c);this.flags.locked=false;e=false}else{this.setState(Spry.Widget.ValidationTextarea.VALID);this.isMaxInvalid=false}this.counterChar();return e};Spry.Widget.ValidationTextarea.prototype.validateMinRequired=function(a){var b=false;if(typeof this.notFireMinYet=="undefined")this.notFireMinYet=false;else{b=true;this.notFireMinYet=true}if(this.onBlurOn)this.notFireMinYet=true;else if(!this.onKeyEventOn)this.notFireMinYet=true;if(this.input&&this.options&&this.options.isRequired)if(a.length>0&&this.isRequireInvalid&&(!this.hint||this.hint&&!this.flags.hintOn||this.hint&&a!=this.hint)){this.switchClassName(this.validClass);this.setState(Spry.Widget.ValidationTextarea.VALID);this.isRequireInvalid=false}else if((a.length==0||!(!this.hint||this.hint&&!this.flags.hintOn||this.hint&&a!=this.hint))&&(!this.isRequireInvalid||b)){if(this.notFireMinYet||Spry.is.ie){this.switchClassName(this.requiredClass);this.setState(Spry.Widget.ValidationTextarea.REQUIRED)}this.isRequireInvalid=true;this.isMinInvalid=false}if(this.input&&this.options&&this.options.minChars>0&&!this.isRequireInvalid)if(a.length>=this.options.minChars&&(!this.hint||this.hint&&!this.flags.hintOn||this.hint&&a!=this.hint)&&this.isMinInvalid){this.switchClassName(this.validClass);this.setState(Spry.Widget.ValidationTextarea.VALID);this.isMinInvalid=false}else if((a.length<this.options.minChars||this.hint&&a==this.hint&&this.flags.hintOn)&&!this.isMinInvalid){this.switchClassName(this.invalidCharsMinClass);this.setState(Spry.Widget.ValidationTextarea.MINIMUM);this.isMinInvalid=true}};Spry.Widget.ValidationTextarea.prototype.counterChar=function(){if(!this.counterEl||!this.options||!this.options.counterType||this.options.counterType!="chars_remaining"&&this.options.counterType!="chars_count")return;if(this.options.counterType=="chars_remaining"){if(this.options.maxChars>0)if(this.flags.hintOn)this.setCounterElementValue(this.options.maxChars);else if(this.options.maxChars>this.input.value.length)this.setCounterElementValue(this.options.maxChars-this.input.value.length);else this.setCounterElementValue(0)}else if(this.flags.hintOn)this.setCounterElementValue(0);else if(this.useCharacterMasking&&typeof this.options.maxChars!="undefined"&&this.options.maxChars<this.input.value.length)this.setCounterElementValue(this.options.maxChars);else this.setCounterElementValue(this.input.value.length)};Spry.Widget.ValidationTextarea.prototype.setCounterElementValue=function(a){if(this.counterEl.nodeName.toLowerCase()!="input"&&this.counterEl.nodeName.toLowerCase()!="textarea"&&this.counterEl.nodeName.toLowerCase()!="select"&&this.counterEl.nodeName.toLowerCase()!="img")this.counterEl.innerHTML=a};Spry.Widget.ValidationTextarea.prototype.reset=function(){this.removeHint();this.removeClassName(this.requiredClass);this.removeClassName(this.invalidCharsMinClass);this.removeClassName(this.invalidCharsMaxClass);this.removeClassName(this.validClass);this.setState(Spry.Widget.ValidationTextarea.INITIAL);var a=this;setTimeout(function(){a.putHint();a.counterChar()},10)};Spry.Widget.ValidationTextarea.prototype.validate=function(){if(this.input.disabled==true||this.input.readOnly==true)return true;if(this.validateOn&Spry.Widget.ValidationTextarea.ONSUBMIT)this.removeHint();var b=this.input.value;this.validateMinRequired(b);var a=!this.isMinInvalid&&!this.isRequireInvalid;if(a&&this.options.maxChars>0&&!this.useCharacterMasking)if(b.length<=this.options.maxChars||this.hint&&this.hint==b&&this.flags.hintOn){this.switchClassName(this.validClass);this.setState(Spry.Widget.ValidationTextarea.VALID);this.isMaxInvalid=false}else{this.switchClassName(this.invalidCharsMaxClass);this.setState(Spry.Widget.ValidationTextarea.MAXIMUM);this.isMaxInvalid=true}a=a&&!this.isMaxInvalid;if(a)this.switchClassName(this.validClass);this.counterChar();return a};Spry.Widget.ValidationTextarea.prototype.setState=function(a){this.state=a};Spry.Widget.ValidationTextarea.prototype.getState=function(){return this.state};Spry.Widget.ValidationTextarea.prototype.removeHint=function(){if(this.flags.hintOn){this.flags.locked=true;this.input.value="";this.flags.locked=false;this.flags.hintOn=false;this.removeClassName(this.hintClass)}};Spry.Widget.ValidationTextarea.prototype.putHint=function(){if(this.hint&&this.input.value==""){this.flags.hintOn=true;this.input.value=this.hint;this.addClassName(this.hintClass)}};Spry.Widget.ValidationTextarea.prototype.redTextFlash=function(){var a=this;this.addClassName(this.textareaFlashClass);setTimeout(function(){a.removeClassName(a.textareaFlashClass)},200)};Spry.Widget.ValidationTextarea.prototype.onKeyPress=function(a){if(Spry.is.ie&&Spry.is.windows&&a.keyCode==13)if(this.initialCursor.length+this.options.maxChars-this.input.value.length<2){Spry.Widget.Utils.stopEvent(a);return false}};Spry.Widget.ValidationTextarea.prototype.onKeyDown=function(a){this.saveState();this.keyCode=a.keyCode;return true};Spry.Widget.ValidationTextarea.prototype.onKeyEvent=function(a){if(a.type=="propertychange"&&a.propertyName!="value")return true;var b=this.onTyping(a);if(!b)Spry.Widget.Utils.stopEvent(a)};Spry.Widget.ValidationTextarea.prototype.onChange=function(a){if(Spry.is.ie&&a&&a.type=="propertychange"&&a.propertyName!="value")return true;if(this.flags.drop){var b=this;setTimeout(function(){b.flags.drop=false;b.onChange(null)},0);return true}if(this.flags.hintOn)return true;this.onKeyEventOn=true;var c=this.validate();this.onKeyEventOn=false;return c};Spry.Widget.ValidationTextarea.prototype.onMouseDown=function(){if(this.flags.active)this.saveState()};Spry.Widget.ValidationTextarea.prototype.onDrop=function(b){this.flags.drop=true;this.removeHint();if(Spry.is.ie){var a=document.body.createTextRange();a.moveToPoint(b.x,b.y);a.select()}this.saveState();this.flags.active=true;this.addClassName(this.focusClass)};Spry.Widget.ValidationTextarea.prototype.onFocus=function(){if(this.flags.drop)return;this.removeHint();this.saveState();this.flags.active=true;this.addClassName(this.focusClass)};Spry.Widget.ValidationTextarea.prototype.onBlur=function(){this.removeClassName(this.focusClass);if(this.validateOn&Spry.Widget.ValidationTextarea.ONBLUR){this.onBlurOn=true;this.validate();this.onBlurOn=false}this.flags.active=false;var a=this;setTimeout(function(){a.putHint()},10)};Spry.Widget.ValidationTextarea.prototype.safariMouseDown=function(){this.safariClicked=true};Spry.Widget.ValidationTextarea.prototype.safariChangeMouseUp=function(a){if(!this.safariClicked){this.onKeyDown(a);return this.safariChangeValidate(a,false)}else{this.safariClicked=false;return true}};Spry.Widget.ValidationTextarea.prototype.safariMouseUp=function(a){if(!this.safariClicked){this.onKeyDown(a);return this.safariValidate(a,false)}else{this.safariClicked=false;return true}};Spry.Widget.ValidationTextarea.prototype.safariKeyPress=function(a){this.safariFlag=new Date;return this.safariValidate(a,true)};Spry.Widget.ValidationTextarea.prototype.safariValidate=function(a,c){if(a.keyCode&&Spry.Widget.Utils.isSpecialKey(a)&&a.keyCode!=8&&a.keyCode!=46)return true;var b=this.onTyping(a);if(new Date-this.safariFlag<1e3&&c){var d=this;setTimeout(function(){d.safariValidate(a,false)},1e3)}return b};Spry.Widget.ValidationTextarea.prototype.safariChangeKeyPress=function(a){this.safariChangeFlag=new Date;return this.safariChangeValidate(a,true)};Spry.Widget.ValidationTextarea.prototype.safariChangeValidate=function(a,c){if(a.keyCode&&Spry.Widget.Utils.isSpecialKey(a)&&a.keyCode!=8&&a.keyCode!=46)return true;var b=this.onChange(a);if(new Date-this.safariChangeFlag<1e3&&c){var d=this;setTimeout(function(){d.safariChangeValidate(a,false)},1e3-new Date+this.safariChangeFlag)}return b};Spry.Widget.ValidationTextarea.prototype.saveState=function(){if(this.options.maxChars>0&&this.input.value.length>this.options.maxChars)return;this.cursorPosition.update();if(!this.flags.hintOn)this.initialValue=this.input.value;else this.initialValue="";this.initialCursor=this.cursorPosition;return true};Spry.Widget.ValidationTextarea.prototype.checkClassName=function(a,b){if(!a||!b)return false;if(typeof a=="string"){a=document.getElementById(a);if(!a)return false}if(!a.className)a.className=" ";return a};Spry.Widget.ValidationTextarea.prototype.switchClassName=function(c){var b=[this.invalidCharsMaxClass,this.validClass,this.requiredClass,this.invalidCharsMinClass];for(var a=0;a<b.length;a++)if(b[a]!=c)this.removeClassName(b[a]);this.addClassName(c)};Spry.Widget.ValidationTextarea.prototype.addClassName=function(a){var c=this.checkClassName(this.element,a),b=this.checkClassName(this.additionalError,a);if(!c||c.className.search(new RegExp("\\b"+a+"\\b"))!=-1)return;this.element.className+=" "+a;if(b)b.className+=" "+a};Spry.Widget.ValidationTextarea.prototype.removeClassName=function(a){var c=this.checkClassName(this.element,a),b=this.checkClassName(this.additionalError,a);if(!c)return;c.className=c.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"");if(b)b.className=b.className.replace(new RegExp("\\s*\\b"+a+"\\b","g"),"")};Spry.Widget.SelectionDescriptor=function(a){this.element=a;this.update()};Spry.Widget.SelectionDescriptor.prototype.update=function(){if(Spry.is.ie&&Spry.is.windows){var f=this.element.ownerDocument.selection;if(this.element.nodeName=="TEXTAREA"){if(f.type!="None"){try{var e=f.createRange()}catch(j){return}if(e.parentElement()==this.element){var a=this.element.ownerDocument.body.createTextRange();a.moveToElementText(this.element);for(var g=0;a.compareEndPoints("StartToStart",e)<0;g++)a.moveStart("character",1);this.start=g;a=this.element.ownerDocument.body.createTextRange();a.moveToElementText(this.element);for(var h=0;a.compareEndPoints("StartToEnd",e)<0;h++)a.moveStart("character",1);this.end=h;this.length=this.end-this.start;this.text=e.text}}}else if(this.element.nodeName=="INPUT"){try{this.range=f.createRange()}catch(j){return}this.length=this.range.text.length;var d=this.range.duplicate();this.start=-d.moveStart("character",-1e4);d=this.range.duplicate();d.collapse(false);this.end=-d.moveStart("character",-1e4);this.text=this.range.text}}else{var i=this.element,b=0,c=0;try{b=i.selectionStart}catch(j){}try{c=i.selectionEnd}catch(j){}if(Spry.is.safari){if(b==2147483647)b=0;if(c==2147483647)c=0}this.start=b;this.end=c;this.length=c-b;this.text=this.element.value.substring(b,c)}};Spry.Widget.SelectionDescriptor.prototype.destroy=function(){try{delete this.range}catch(a){}try{delete this.element}catch(a){}};Spry.Widget.SelectionDescriptor.prototype.moveTo=function(a,c){if(Spry.is.ie&&Spry.is.windows){if(this.element.nodeName=="TEXTAREA"){var b=this.element.createTextRange();this.range=this.element.createTextRange();this.range.move("character",a);this.range.moveEnd("character",c-a);var d=this.range.compareEndPoints("StartToStart",b);if(d<0)this.range.setEndPoint("StartToStart",b);var e=this.range.compareEndPoints("EndToEnd",b);if(e>0)this.range.setEndPoint("EndToEnd",b)}else if(this.element.nodeName=="INPUT"){this.range=this.element.ownerDocument.selection.createRange();this.range.move("character",-1e4);this.start=this.range.moveStart("character",a);this.end=this.start+this.range.moveEnd("character",c-a)}this.range.select()}else{this.start=a;try{this.element.selectionStart=a}catch(f){}this.end=c;try{this.element.selectionEnd=c}catch(f){}}this.ignore=true;this.update()};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(e){var c=true,d=true,b=Spry.Widget.Form.onSubmitWidgetQueue,f=b.length;for(var a=0;a<f;a++)if(!b[a].isDisabled()&&b[a].form==e){d=b[a].validate();c=d&&c}return c};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(e,c){var b=Spry.Widget.Form.onSubmitWidgetQueue,d=b.length;for(var a=0;a<d;a++)if(!b[a].isDisabled()&&b[a].form==c&&typeof b[a].reset=="function")b[a].reset();return true};if(!Spry.Widget.Form.destroy)Spry.Widget.Form.destroy=function(c){var b=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++)if(b[a].form==c&&typeof b[a].destroy=="function"){b[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,a,c){if(!a)return;for(var b in a){if(c&&a[b]==undefined)continue;d[b]=a[b]}};Spry.Widget.Utils.firstValid=function(){var b=null;for(var a=0;a<Spry.Widget.Utils.firstValid.arguments.length;a++)if(typeof Spry.Widget.Utils.firstValid.arguments[a]!="undefined"){b=Spry.Widget.Utils.firstValid.arguments[a];break}return b};Spry.Widget.Utils.specialSafariNavKeys=",63232,63233,63234,63235,63272,63273,63275,63276,63277,63289,";Spry.Widget.Utils.specialCharacters=",8,9,16,17,18,20,27,33,34,35,36,37,38,39,40,45,46,91,92,93,144,192,63232,";Spry.Widget.Utils.specialCharacters+=Spry.Widget.Utils.specialSafariNavKeys;Spry.Widget.Utils.isSpecialKey=function(a){return Spry.Widget.Utils.specialCharacters.indexOf(","+a.keyCode+",")!=-1};Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel=function(c,b){var a=c.getElementsByTagName(b);if(a)return a[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(b){if(typeof b=="string")b=document.getElementById(b);var c=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++)if(typeof c[a].destroy=="function"&&Spry.Widget.Utils.contains(b,c[a].element)){c[a].destroy();a--}};Spry.Widget.Utils.contains=function(a,b){if(typeof a.contains=="object")return b&&a&&(a==b||a.contains(b));else{var c=b;while(c){if(c==a)return true;c=c.parentNode}return false}};Spry.Widget.Utils.addEventListener=function(a,b,d,c){try{if(a.addEventListener)a.addEventListener(b,d,c);else if(a.attachEvent)a.attachEvent("on"+b,d,c)}catch(e){}};Spry.Widget.Utils.removeEventListener=function(a,b,d,c){try{if(a.removeEventListener)a.removeEventListener(b,d,c);else if(a.detachEvent)a.detachEvent("on"+b,d,c)}catch(e){}};Spry.Widget.Utils.stopEvent=function(a){try{this.stopPropagation(a);this.preventDefault(a)}catch(b){}};Spry.Widget.Utils.stopPropagation=function(a){if(a.stopPropagation)a.stopPropagation();else a.cancelBubble=true};Spry.Widget.Utils.preventDefault=function(a){if(a.preventDefault)a.preventDefault();else a.returnValue=false}