/* SpryValidationCheckbox.js - Revision: Spry Preview Release 1.4 */
// see disclaimer.txt

var Spry;if(!Spry){Spry={};}if(!Spry.Widget){Spry.Widget={};}Spry.Widget.BrowserSniff=function(){var b=navigator.appName.toString();var up=navigator.platform.toString();var ua=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=r=false;var _4=/Opera.([0-9\.]*)/i;var _5=/MSIE.([0-9\.]*)/i;var _6=/gecko/i;var _7=/safari\/([\d\.]*)/i;if(ua.match(_4)){r=ua.match(_4);this.opera=true;this.version=parseFloat(r[1]);}else{if(ua.match(_5)){r=ua.match(_5);this.ie=true;this.version=parseFloat(r[1]);}else{if(ua.match(_7)){this.safari=true;this.version=1.4;}else{if(ua.match(_6)){var _8=/rv:\s*([0-9\.]+)/i;r=ua.match(_8);this.mozilla=true;this.version=parseFloat(r[1]);}}}}this.windows=this.mac=this.linux=false;this.Platform=ua.match(/windows/i)?"windows":(ua.match(/linux/i)?"linux":(ua.match(/mac/i)?"mac":ua.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.ValidationTextField=function(_9,_a,_b){_a=Spry.Widget.Utils.firstValid(_a,"none");if(typeof _a!="string"){return;}if(typeof Spry.Widget.ValidationTextField.ValidationDescriptors[_a]=="undefined"){return;}_b=Spry.Widget.Utils.firstValid(_b,{});this.type=_a;if(!this.isBrowserSupported()){_b.useCharacterMasking=false;}this.init(_9,_b);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.ValidationTextField.ONSUBMIT:0);this.validateOn=this.validateOn|(_c.indexOf("blur")!=-1?Spry.Widget.ValidationTextField.ONBLUR:0);this.validateOn=this.validateOn|(_c.indexOf("change")!=-1?Spry.Widget.ValidationTextField.ONCHANGE:0);if(Spry.Widget.ValidationTextField.onloadDidFire){this.attachBehaviors();}else{Spry.Widget.ValidationTextField.loadQueue.push(this);}};Spry.Widget.ValidationTextField.ONCHANGE=1;Spry.Widget.ValidationTextField.ONBLUR=2;Spry.Widget.ValidationTextField.ONSUBMIT=4;Spry.Widget.ValidationTextField.ERROR_REQUIRED=1;Spry.Widget.ValidationTextField.ERROR_FORMAT=2;Spry.Widget.ValidationTextField.ERROR_RANGE_MIN=4;Spry.Widget.ValidationTextField.ERROR_RANGE_MAX=8;Spry.Widget.ValidationTextField.ERROR_CHARS_MIN=16;Spry.Widget.ValidationTextField.ERROR_CHARS_MAX=32;Spry.Widget.ValidationTextField.ValidationDescriptors={"none":{},"custom":{},"integer":{characterMasking:/[\-\+\d]/,regExpFilter:/^[\-\+]?\d*$/,validation:function(_d,_e){if(_d==""||_d=="-"||_d=="+"){return false;}var _f=/^[\-\+]?\d*$/;if(!_f.test(_d)){return false;}_e=_e||{allowNegative:false};var ret=parseInt(_d,10);if(!isNaN(ret)){var _11=true;if(typeof _e.allowNegative!="undefined"&&_e.allowNegative==false){_11=false;}if(!_11&&_d<0){ret=false;}}else{ret=false;}return ret;}},"real":{characterMasking:/[\d\.,\-\+e]/i,regExpFilter:/^[\-\+]?\d(?:|\.,\d{0,2})|(?:|e{0,1}[\-\+]?\d{0,})$/i,validation:function(_12,_13){var _14=/^[\+\-]?[0-9]+([\.,][0-9]+)?([eE]{0,1}[\-\+]?[0-9]+)?$/;if(!_14.test(_12)){return false;}var ret=parseFloat(_12);if(isNaN(ret)){ret=false;}return ret;}},"currency":{formats:{"dot_comma":{characterMasking:/[\d\.\,\-\+\$]/,regExpFilter:/^[\-\+]?(?:[\d\.]*)+(|\,\d{0,2})$/,validation:function(_16,_17){var ret=false;if(/^(\-|\+)?\d{1,3}(?:\.\d{3})*(?:\,\d{2}|)$/.test(_16)||/^(\-|\+)?\d+(?:\,\d{2}|)$/.test(_16)){_16=_16.toString().replace(/\./gi,"").replace(/\,/,".");ret=parseFloat(_16);}return ret;}},"comma_dot":{characterMasking:/[\d\.\,\-\+\$]/,regExpFilter:/^[\-\+]?(?:[\d\,]*)+(|\.\d{0,2})$/,validation:function(_19,_1a){var ret=false;if(/^(\-|\+)?\d{1,3}(?:\,\d{3})*(?:\.\d{2}|)$/.test(_19)||/^(\-|\+)?\d+(?:\.\d{2}|)$/.test(_19)){_19=_19.toString().replace(/\,/gi,"");ret=parseFloat(_19);}return ret;}}}},"email":{characterMasking:/[^\s]/,validation:function(_1c,_1d){var rx=/^[\w\.-]+@[\w\.-]+\.\w+$/i;return rx.test(_1c);}},"date":{validation:function(_1f,_20){var _21=/^([mdy]+)[\.\-\/\\\s]+([mdy]+)[\.\-\/\\\s]+([mdy]+)$/i;var _22=this.dateValidationPattern;var _23=_20.format.match(_21);var _24=_1f.match(_22);if(_23!==null&&_24!==null){var _25=-1;var _26=-1;var _27=-1;for(var i=1;i<_23.length;i++){switch(_23[i].toLowerCase()){case "dd":_25=i;break;case "mm":_26=i;break;case "yy":case "yyyy":_27=i;break;}}if(_25!=-1&&_26!=-1&&_27!=-1){var _29=-1;var _2a=parseInt(_24[_25],10);var _2b=parseInt(_24[_26],10);var _2c=parseInt(_24[_27],10);if(_2b<1||_2b>12){return false;}switch(_2b){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_29=31;break;case 4:case 6:case 9:case 11:_29=30;break;case 2:if((parseInt(_2c/4,10)*4==_2c)&&(parseInt(_2c/100,10)*100!=_2c)){_29=29;}else{_29=28;}break;}if(_2a<1||_2a>_29){return false;}return (new Date(_2c,_2b,_2a));}}else{return false;}}},"time":{validation:function(_2d,_2e){var _2f=/([hmst]+)/gi;var _30=/(\d+|AM?|PM?)/gi;var _31=_2e.format.match(_2f);var _32=_2d.match(_30);if(_31!==null&&_32!==null){if(_31.length!=_32.length){return false;}var _33=-1;var _34=-1;var _35=-1;var _36=-1;var _37=0,theMinute=0,theSecond=0,theT="AM";for(var i=0;i<_31.length;i++){switch(_31[i].toLowerCase()){case "hh":_33=i;break;case "mm":_34=i;break;case "ss":_35=i;break;case "t":case "tt":_36=i;break;}}if(_33!=-1){var _39=parseInt(_32[_33],10);if(isNaN(_39)||_39>(_31[_33]=="HH"?23:12)){return false;}}if(_34!=-1){var _3a=parseInt(_32[_34],10);if(isNaN(_3a)||_3a>59){return false;}}if(_35!=-1){var _3b=parseInt(_32[_35],10);if(isNaN(_3b)||_3b>59){return false;}}if(_36!=-1){var _3c=_32[_36].toUpperCase();if(_31[_36].toUpperCase()=="TT"&&!/^a|pm$/i.test(_3c)||_31[_36].toUpperCase()=="T"&&!/^a|p$/i.test(_3c)){return false;}}var _3d=new Date(2000,0,1,_39+(_3c.charAt(0)=="P"?12:0),_3a,_3b);return _3d;}else{return false;}}},"credit_card":{characterMasking:/\d/,validation:function(_3e,_3f){var _40=null;_3f.format=_3f.format||"ALL";switch(_3f.format.toUpperCase()){case "ALL":_40=/^[3-6]{1}[0-9]{12,15}$/;break;case "VISA":_40=/^4[0-9]{12,15}$/;break;case "MASTERCARD":_40=/^5[1-5]{1}[0-9]{14}$/;break;case "AMEX":_40=/^3(4|7){1}[0-9]{13}$/;break;case "DISCOVER":_40=/^6011[0-9]{12}$/;break;case "DINERSCLUB":_40=/^3((0[0-5]{1}[0-9]{11})|(6[0-9]{12})|(8[0-9]{12}))$/;break;}if(!_40.test(_3e)){return false;}var _41=[];var j=1,digit="";for(var i=_3e.length-1;i>=0;i--){if((j%2)==0){digit=parseInt(_3e.charAt(i),10)*2;_41[_41.length]=digit.toString().charAt(0);if(digit.toString().length==2){_41[_41.length]=digit.toString().charAt(1);}}else{digit=_3e.charAt(i);_41[_41.length]=digit;}j++;}var sum=0;for(i=0;i<_41.length;i++){sum+=parseInt(_41[i],10);}if((sum%10)==0){return true;}return false;}},"zip_code":{formats:{"zip_us9":{pattern:"00000-0000"},"zip_us5":{pattern:"00000"},"zip_uk":{characterMasking:/[\dA-Z\s]/,validation:function(_45,_46){return /^[A-Z]{1,2}\d[\dA-Z]?\s?\d[A-Z]{2}$/.test(_45);}},"zip_canada":{characterMasking:/[\dA-Z\s]/,pattern:"A0A 0A0"},"zip_custom":{}}},"phone_number":{formats:{"phone_us":{pattern:"(000) 000-0000"},"phone_custom":{}}},"social_security_number":{pattern:"000-00-0000"},"ip":{characterMaskingFormats:{"ipv4":/[\d\.]/i,"ipv6_ipv4":/[\d\.\:A-F\/]/i,"ipv6":/[\d\.\:A-F\/]/i},validation:function(_47,_48){return Spry.Widget.ValidationTextField.validateIP(_47,_48.format);}},"url":{characterMasking:/[^\s]/,validation:function(_49,_4a){var _4b=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;var _4c=_49.match(_4b);if(_4c&&_4c[4]){var _4d=_4c[4].split(".");var _4e="";for(var i=0;i<_4d.length;i++){_4e=Spry.Widget.Utils.punycode_encode(_4d[i],64);if(!_4e){return false;}else{if(_4e!=(_4d[i]+"-")){_4d[i]="xn--"+_4e;}}}_4d=_4d.join(".");_49=_49.replace(_4b,"$1//"+_4d+"$5$6$8");}var _50=/^(?:https?|ftp)\:\/\/(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?$/i;var _51=_49.match(_50);if(_51){var _52=_51[1];if(_52){if(_52=="[]"){return false;}var _53=_52.charAt(0);var _54=_52.charAt(_52.length-1);if(_53=="["&&_54!="]"||_53!="["&&_54=="]"){return false;}else{if(_53=="["&&_54=="]"){_52=_52.replace(/^\[|\]$/gi,"");return Spry.Widget.ValidationTextField.validateIP(_52,"ipv6_ipv4");}else{if(/[^0-9\.]/.test(_52)){return true;}else{return Spry.Widget.ValidationTextField.validateIP(_52,"ipv4");}}}}else{return true;}}else{return false;}}}};Spry.Widget.ValidationTextField.validateIP=function(_55,_56){var _57=[/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}(?:\/\d{1,3})?$/i,/^[a-f0-9]{0,4}::(?:\/\d{1,3})?$/i,/^:(?::[a-f0-9]{1,4}){1,6}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){1,6}:(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:)(?::[a-f0-9]{1,4}){1,6}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){2}(?::[a-f0-9]{1,4}){1,5}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){3}(?::[a-f0-9]{1,4}){1,4}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){4}(?::[a-f0-9]{1,4}){1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){5}(?::[a-f0-9]{1,4}){1,2}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){6}(?::[a-f0-9]{1,4})(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){6}(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^:(?::[a-f0-9]{1,4}){0,4}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){1,5}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:)(?::[a-f0-9]{1,4}){1,4}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){2}(?::[a-f0-9]{1,4}){1,3}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){3}(?::[a-f0-9]{1,4}){1,2}:(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i,/^(?:[a-f0-9]{1,4}:){4}(?::[a-f0-9]{1,4}):(?:\d{1,3}\.){3}\d{1,3}(?:\/\d{1,3})?$/i];var _58=[/^(\d{1,3}\.){3}\d{1,3}$/i];var _59=[];if(_56=="ipv6"||_56=="ipv6_ipv4"){_59=_59.concat(_57);}if(_56=="ipv4"||_56=="ipv6_ipv4"){_59=_59.concat(_58);}var ret=false;for(var i=0;i<_59.length;i++){if(_59[i].test(_55)){ret=true;break;}}if(ret&&_55.indexOf(".")!=-1){var _5c=_55.match(/:?(?:\d{1,3}\.){3}\d{1,3}/i);if(!_5c){return false;}_5c=_5c[0].replace(/^:/,"");var _5d=_5c.split(".");if(_5d.length!=4){return false;}var _5e=/^[\-\+]?\d*$/;for(var i=0;i<_5d.length;i++){if(_5d[i]==""){return false;}var _60=parseInt(_5d[i],10);if(isNaN(_60)||_60>255||!_5e.test(_5d[i])||_5d[i].length>3||/^0{2,3}$/.test(_5d[i])){return false;}}}if(ret&&_55.indexOf("/")!=-1){var _61=_55.match(/\/\d{1,3}$/);if(!_61){return false;}var _62=parseInt(_61[0].replace(/^\//,""),10);if(isNaN(_62)||_62>128||_62<1){return false;}}return ret;};Spry.Widget.ValidationTextField.onloadDidFire=false;Spry.Widget.ValidationTextField.loadQueue=[];Spry.Widget.ValidationTextField.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.ValidationTextField.prototype.init=function(_63,_64){this.element=this.getElement(_63);this.errors=0;this.flags={locked:false};this.options={};this.event_handlers=[];this.validClass="textfieldValidState";this.focusClass="textfieldFocusState";this.requiredClass="textfieldRequiredState";this.invalidFormatClass="textfieldInvalidFormatState";this.invalidRangeMinClass="textfieldMinValueState";this.invalidRangeMaxClass="textfieldMaxValueState";this.invalidCharsMinClass="textfieldMinCharsState";this.invalidCharsMaxClass="textfieldMaxCharsState";this.textfieldFlashTextClass="textfieldFlashText";if(Spry.is.safari){this.flags.lastKeyPressedTimeStamp=0;}switch(this.type){case "phone_number":_64.format=Spry.Widget.Utils.firstValid(_64.format,"phone_us");break;case "currency":_64.format=Spry.Widget.Utils.firstValid(_64.format,"comma_dot");break;case "zip_code":_64.format=Spry.Widget.Utils.firstValid(_64.format,"zip_us5");break;case "date":_64.format=Spry.Widget.Utils.firstValid(_64.format,"mm/dd/yy");break;case "time":_64.format=Spry.Widget.Utils.firstValid(_64.format,"HH:mm");_64.pattern=_64.format.replace(/[hms]/gi,"0").replace(/TT/gi,"AM").replace(/T/gi,"A");break;case "ip":_64.format=Spry.Widget.Utils.firstValid(_64.format,"ipv4");_64.characterMasking=Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].characterMaskingFormats[_64.format];break;}var _65={};if(_64.format&&Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats){if(Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats[_64.format]){Spry.Widget.Utils.setOptions(_65,Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats[_64.format]);}}else{Spry.Widget.Utils.setOptions(_65,Spry.Widget.ValidationTextField.ValidationDescriptors[this.type]);}_64.useCharacterMasking=Spry.Widget.Utils.firstValid(_64.useCharacterMasking,false);_64.hint=Spry.Widget.Utils.firstValid(_64.hint,"");_64.isRequired=Spry.Widget.Utils.firstValid(_64.isRequired,true);_64.characterMasking=Spry.Widget.Utils.firstValid(_64.characterMasking,_65.characterMasking);_64.regExpFilter=Spry.Widget.Utils.firstValid(_64.regExpFilter,_65.regExpFilter);_64.pattern=Spry.Widget.Utils.firstValid(_64.pattern,_65.pattern);_64.validation=Spry.Widget.Utils.firstValid(_64.validation,_65.validation);if(typeof _64.validation=="string"){_64.validation=eval(_64.validation);}_64.minValue=Spry.Widget.Utils.firstValid(_64.minValue,_65.minValue);_64.maxValue=Spry.Widget.Utils.firstValid(_64.maxValue,_65.maxValue);_64.minChars=Spry.Widget.Utils.firstValid(_64.minChars,_65.minChars);_64.maxChars=Spry.Widget.Utils.firstValid(_64.maxChars,_65.maxChars);Spry.Widget.Utils.setOptions(this,_64);Spry.Widget.Utils.setOptions(this.options,_64);};Spry.Widget.ValidationTextField.prototype.destroy=function(){for(var i=0;i<this.event_handlers.length;i++){Spry.Widget.Utils.removeEventListener(this.event_handlers[i][0],this.event_handlers[i][1],this.event_handlers[i][2],false);}try{delete this.element;}catch(err){}try{delete this.input;}catch(err){}try{delete this.form;}catch(err){}try{delete this.event_handlers;}catch(err){}try{this.selection.destroy();}catch(err){}try{delete this.selection;}catch(err){}var q=Spry.Widget.Form.onSubmitWidgetQueue;var _68=q.length;for(var i=0;i<_68;i++){if(q[i]==this){q.splice(i,1);break;}}};Spry.Widget.ValidationTextField.prototype.attachBehaviors=function(){if(this.element){if(this.element.nodeName=="INPUT"){this.input=this.element;}else{this.input=Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element,"INPUT");}}if(this.input){if(this.maxChars){this.input.removeAttribute("maxLength");}this.putHint();this.compilePattern();if(this.type=="date"){this.compileDatePattern();}this.input.setAttribute("AutoComplete","off");this.selection=new Spry.Widget.SelectionDescriptor(this.input);this.oldValue=this.input.value;var _6a=this;this.event_handlers=[];this.event_handlers.push([this.input,"keydown",function(e){if(_6a.isDisabled()){return true;}return _6a.onKeyDown(e||event);}]);this.event_handlers.push([this.input,"keypress",function(e){if(_6a.isDisabled()){return true;}return _6a.onKeyPress(e||event);}]);if(Spry.is.opera){this.event_handlers.push([this.input,"keyup",function(e){if(_6a.isDisabled()){return true;}return _6a.onKeyUp(e||event);}]);}this.event_handlers.push([this.input,"focus",function(e){if(_6a.isDisabled()){return true;}return _6a.onFocus(e||event);}]);this.event_handlers.push([this.input,"blur",function(e){if(_6a.isDisabled()){return true;}return _6a.onBlur(e||event);}]);this.event_handlers.push([this.input,"mousedown",function(e){if(_6a.isDisabled()){return true;}return _6a.onMouseDown(e||event);}]);var _71=Spry.is.mozilla||Spry.is.opera||Spry.is.safari?"input":Spry.is.ie?"propertychange":"change";this.event_handlers.push([this.input,_71,function(e){if(_6a.isDisabled()){return true;}return _6a.onChange(e||event);}]);if(Spry.is.mozilla||Spry.is.safari){this.event_handlers.push([this.input,"dragdrop",function(e){if(_6a.isDisabled()){return true;}_6a.removeHint();return _6a.onChange(e||event);}]);}else{if(Spry.is.ie){this.event_handlers.push([this.input,"drop",function(e){if(_6a.isDisabled()){return true;}return _6a.onDrop(e||event);}]);}}for(var i=0;i<this.event_handlers.length;i++){Spry.Widget.Utils.addEventListener(this.event_handlers[i][0],this.event_handlers[i][1],this.event_handlers[i][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){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.ValidationTextField.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input;};Spry.Widget.ValidationTextField.prototype.getElement=function(ele){if(ele&&typeof ele=="string"){return document.getElementById(ele);}return ele;};Spry.Widget.ValidationTextField.addLoadListener=function(_79){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",_79,false);}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",_79,false);}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",_79);}}}};Spry.Widget.ValidationTextField.processLoadQueue=function(_7a){Spry.Widget.ValidationTextField.onloadDidFire=true;var q=Spry.Widget.ValidationTextField.loadQueue;var _7c=q.length;for(var i=0;i<_7c;i++){q[i].attachBehaviors();}};Spry.Widget.ValidationTextField.addLoadListener(Spry.Widget.ValidationTextField.processLoadQueue);Spry.Widget.ValidationTextField.addLoadListener(function(){Spry.Widget.Utils.addEventListener(window,"unload",Spry.Widget.Form.destroyAll,false);});Spry.Widget.ValidationTextField.prototype.setValue=function(_7e){this.flags.locked=true;this.input.value=_7e;this.flags.locked=false;this.oldValue=_7e;if(!Spry.is.ie){this.onChange();}};Spry.Widget.ValidationTextField.prototype.saveState=function(){this.oldValue=this.input.value;this.selection.update();};Spry.Widget.ValidationTextField.prototype.revertState=function(_7f){if(_7f!=this.input.value){this.input.readOnly=true;this.input.value=_7f;this.input.readOnly=false;if(Spry.is.safari&&this.flags.active){this.input.focus();}}this.selection.moveTo(this.selection.start,this.selection.end);this.redTextFlash();};Spry.Widget.ValidationTextField.prototype.removeHint=function(){if(this.flags.hintOn){this.input.value="";this.flags.hintOn=false;}};Spry.Widget.ValidationTextField.prototype.putHint=function(){if(this.hint&&this.input&&this.input.type=="text"&&this.input.value==""){this.flags.hintOn=true;this.input.value=this.hint;}};Spry.Widget.ValidationTextField.prototype.redTextFlash=function(){var _80=this;this.addClassName(this.element,this.textfieldFlashTextClass);setTimeout(function(){_80.removeClassName(_80.element,_80.textfieldFlashTextClass);},100);};Spry.Widget.ValidationTextField.prototype.doValidations=function(_81,_82){if(this.isDisabled()){return false;}if(this.flags.locked){return false;}if(_81.length==0&&!this.isRequired){this.errors=0;return false;}this.flags.locked=true;var _83=false;var _84=true;if(!this.options.isRequired&&_81.length==0){_84=false;}var _85=0;var _86=_81;if(this.useCharacterMasking&&this.characterMasking){for(var i=0;i<_81.length;i++){if(!this.characterMasking.test(_81.charAt(i))){_85=_85|Spry.Widget.ValidationTextField.ERROR_FORMAT;_86=_82;_83=true;break;}}}if(!_83&&this.useCharacterMasking&&this.regExpFilter){if(!this.regExpFilter.test(_86)){_85=_85|Spry.Widget.ValidationTextField.ERROR_FORMAT;_83=true;}}if(!_83&&this.pattern){var _88=this.patternToRegExp(_81.length);if(!_88.test(_81)){_85=_85|Spry.Widget.ValidationTextField.ERROR_FORMAT;_83=true;}else{if(this.patternLength!=_81.length){_85=_85|Spry.Widget.ValidationTextField.ERROR_FORMAT;}}}if(_86==""){_85=_85|Spry.Widget.ValidationTextField.ERROR_REQUIRED;}if(!_83&&this.pattern&&this.useCharacterMasking){var n=this.getAutoComplete(_81.length);if(n){_86+=n;}}if(!_83&&this.minChars!==null&&_84){if(_81.length<this.minChars){_85=_85|Spry.Widget.ValidationTextField.ERROR_CHARS_MIN;_84=false;}}if(!_83&&this.maxChars!==null&&_84){if(_81.length>this.maxChars){_85=_85|Spry.Widget.ValidationTextField.ERROR_CHARS_MAX;_84=false;}}if(!_83&&this.validation&&_84){var _8a=this.validation(_86,this.options);if(false===_8a){_85=_85|Spry.Widget.ValidationTextField.ERROR_FORMAT;_84=false;}else{this.typedValue=_8a;}}if(!_83&&this.validation&&this.minValue!==null&&_84){var _8b=this.validation(this.minValue,this.options);if(_8b!==false){if(this.typedValue<_8b){_85=_85|Spry.Widget.ValidationTextField.ERROR_RANGE_MIN;_84=false;}}}if(!_83&&this.validation&&this.maxValue!==null&&_84){var _8c=this.validation(this.maxValue,this.options);if(_8c!==false){if(this.typedValue>_8c){_85=_85|Spry.Widget.ValidationTextField.ERROR_RANGE_MAX;_84=false;}}}if(this.useCharacterMasking&&_83){this.revertState(_82);}this.errors=_85;this.fixedValue=_86;this.flags.locked=false;return _83;};Spry.Widget.ValidationTextField.prototype.onChange=function(e){if(Spry.is.opera&&this.flags.operaRevertOnKeyUp){return true;}if(Spry.is.ie&&e&&e.propertyName!="value"){return true;}if(this.flags.drop){var _8e=this;setTimeout(function(){_8e.flags.drop=false;_8e.onChange(null);},0);return;}if(this.flags.hintOn){return true;}if(this.keyCode==8||this.keyCode==46){var _8f=this.doValidations(this.input.value,this.input.value);this.oldValue=this.input.value;if((_8f||this.errors)&&this.validateOn&Spry.Widget.ValidationTextField.ONCHANGE){var _90=this;setTimeout(function(){_90.validate();},0);return true;}}var _91=this.doValidations(this.input.value,this.oldValue);if((!_91||this.errors)&&this.validateOn&Spry.Widget.ValidationTextField.ONCHANGE){var _92=this;setTimeout(function(){_92.validate();},0);}return true;};Spry.Widget.ValidationTextField.prototype.onKeyUp=function(e){if(this.flags.operaRevertOnKeyUp){this.setValue(this.oldValue);Spry.Widget.Utils.stopEvent(e);this.selection.moveTo(this.selection.start,this.selection.start);this.flags.operaRevertOnKeyUp=false;return false;}if(this.flags.operaPasteOperation){window.clearInterval(this.flags.operaPasteOperation);this.flags.operaPasteOperation=null;}};Spry.Widget.ValidationTextField.prototype.operaPasteMonitor=function(){if(this.input.value!=this.oldValue){var _94=this.doValidations(this.input.value,this.input.value);if(_94){this.setValue(this.oldValue);this.selection.moveTo(this.selection.start,this.selection.start);}else{this.onChange();}}};Spry.Widget.ValidationTextField.prototype.compileDatePattern=function(){var _95="";var _96=[];var _97=[];var _98=[];var _99=/^([mdy]+)([\.\-\/\\\s]+)([mdy]+)([\.\-\/\\\s]+)([mdy]+)$/i;var _9a=this.options.format.match(_99);if(_9a!==null){for(var i=1;i<_9a.length;i++){switch(_9a[i].toLowerCase()){case "dd":_96[i-1]="\\d{1,2}";_97[i-1]="\\d\\d";_95+="("+_96[i-1]+")";_98[i-1]=null;break;case "mm":_96[i-1]="\\d{1,2}";_97[i-1]="\\d\\d";_95+="("+_96[i-1]+")";_98[i-1]=null;break;case "yy":_96[i-1]="\\d{1,2}";_97[i-1]="\\d\\d";_95+="(\\d\\d)";_98[i-1]=null;break;case "yyyy":_96[i-1]="\\d{1,4}";_97[i-1]="\\d\\d\\d\\d";_95+="(\\d\\d\\d\\d)";_98[i-1]=null;break;default:_96[i-1]=_97[i-1]=Spry.Widget.ValidationTextField.regExpFromChars(_9a[i]);_95+="["+_96[i-1]+"]";_98[i-1]=_9a[i];}}}this.dateValidationPattern=new RegExp("^"+_95+"$","");this.dateAutocompleteCharacters=_98;this.dateGroupPatterns=_96;this.dateFullGroupPatterns=_97;this.lastDateGroup=_9a.length-2;};Spry.Widget.ValidationTextField.prototype.getRegExpForGroup=function(_9c){var ret="^";for(var j=0;j<=_9c;j++){ret+=this.dateGroupPatterns[j];}ret+="$";return new RegExp(ret,"");};Spry.Widget.ValidationTextField.prototype.getRegExpForFullGroup=function(_9f){var ret="^";for(var j=0;j<_9f;j++){ret+=this.dateGroupPatterns[j];}ret+=this.dateFullGroupPatterns[_9f];return new RegExp(ret,"");};Spry.Widget.ValidationTextField.prototype.getDateGroup=function(_a2,pos){if(pos==0){return 0;}var _a4=_a2.substring(0,pos);for(var i=0;i<=this.lastDateGroup;i++){if(this.getRegExpForGroup(i).test(_a4)){return i;}}return -1;};Spry.Widget.ValidationTextField.prototype.isDateGroupFull=function(_a6,_a7){return this.getRegExpForFullGroup(_a7).test(_a6);};Spry.Widget.ValidationTextField.prototype.isValueValid=function(_a8,pos,_aa){var _ab=_a8.substring(0,pos);return this.getRegExpForGroup(_aa).test(_ab);};Spry.Widget.ValidationTextField.prototype.isPositionAtEndOfGroup=function(_ac,pos,_ae){var _af=_ac.substring(0,pos);return this.getRegExpForFullGroup(_ae).test(_af);};Spry.Widget.ValidationTextField.prototype.nextDateDelimiterExists=function(_b0,pos,_b2){var _b3=this.dateAutocompleteCharacters[_b2+1];if(_b0.length<pos+_b3.length){return false;}else{var _b4=_b0.substring(pos,pos+_b3.length);if(_b4==_b3){return true;}}return false;};Spry.Widget.ValidationTextField.prototype.onKeyPress=function(e){if(this.flags.skp){this.flags.skp=false;Spry.Widget.Utils.stopEvent(e);return false;}if(e.ctrlKey||e.metaKey||!this.useCharacterMasking){return true;}if(Spry.is.opera&&this.flags.operaRevertOnKeyUp){Spry.Widget.Utils.stopEvent(e);return false;}if(this.keyCode==8||this.keyCode==46){var mr=this.doValidations(this.input.value,this.input.value);if(mr){return true;}}var _b7=Spry.Widget.Utils.getCharacterFromEvent(e);if(_b7&&this.characterMasking){if(!this.characterMasking.test(_b7)){Spry.Widget.Utils.stopEvent(e);this.redTextFlash();return false;}}if(_b7&&this.pattern){var _b8=this.patternCharacters[this.selection.start];if(/[ax]/i.test(_b8)){if(_b8.toLowerCase()==_b8){_b7=_b7.toLowerCase();}else{_b7=_b7.toUpperCase();}}var _b9=this.getAutoComplete(this.selection.start);if(this.selection.start==this.oldValue.length){if(this.oldValue.length<this.patternLength){if(_b9){Spry.Widget.Utils.stopEvent(e);var _ba=this.oldValue.substring(0,this.selection.start)+_b9+_b7;var _bb=this.doValidations(_ba,this.oldValue);if(!_bb){this.setValue(this.fixedValue);this.selection.moveTo(this.fixedValue.length,this.fixedValue.length);}else{this.setValue(this.oldValue.substring(0,this.selection.start)+_b9);this.selection.moveTo(this.selection.start+_b9.length,this.selection.start+_b9.length);}return false;}}else{Spry.Widget.Utils.stopEvent(e);this.setValue(this.input.value);return false;}}else{if(_b9){Spry.Widget.Utils.stopEvent(e);this.selection.moveTo(this.selection.start+_b9.length,this.selection.start+_b9.length);return false;}}Spry.Widget.Utils.stopEvent(e);var _bc=this.oldValue.substring(0,this.selection.start)+_b7+this.oldValue.substring(this.selection.start+1);var _bd=this.doValidations(_bc,this.oldValue);if(!_bd){_b9=this.getAutoComplete(this.selection.start+1);this.setValue(this.fixedValue);this.selection.moveTo(this.selection.start+1+_b9.length,this.selection.start+1+_b9.length);}else{this.selection.moveTo(this.selection.start,this.selection.start);}return false;}if(_b7&&this.type=="date"&&this.useCharacterMasking){var _be=this.getDateGroup(this.oldValue,this.selection.start);if(_be!=-1){Spry.Widget.Utils.stopEvent(e);if((_be%2)!=0){_be++;}if(this.isDateGroupFull(this.oldValue,_be)){if(this.isPositionAtEndOfGroup(this.oldValue,this.selection.start,_be)){if(_be==this.lastDateGroup){this.redTextFlash();return false;}else{var _bf=this.dateAutocompleteCharacters[_be+1];if(this.nextDateDelimiterExists(this.oldValue,this.selection.start,_be)){var _c0=this.dateAutocompleteCharacters[_be+1];this.selection.moveTo(this.selection.start+_c0.length,this.selection.start+_c0.length);if(_b7==_c0){return false;}if(this.isDateGroupFull(this.oldValue,_be+2)){_bc=this.oldValue.substring(0,this.selection.start)+_b7+this.oldValue.substring(this.selection.start+1);}else{_bc=this.oldValue.substring(0,this.selection.start)+_b7+this.oldValue.substring(this.selection.start);}if(!this.isValueValid(_bc,this.selection.start+1,_be+2)){this.redTextFlash();return false;}else{this.setValue(_bc);this.selection.moveTo(this.selection.start+1,this.selection.start+1);}return false;}else{var _c1=this.dateAutocompleteCharacters[_be+1];var _c2=_c1+_b7;_bc=this.oldValue.substring(0,this.selection.start)+_c2+this.oldValue.substring(this.selection.start);if(!this.isValueValid(_bc,this.selection.start+_c2.length,_be+2)){_c2=_c1;_bc=this.oldValue.substring(0,this.selection.start)+_c2+this.oldValue.substring(this.selection.start);this.setValue(_bc);this.selection.moveTo(this.selection.start+_c2.length,this.selection.start+_c2.length);this.redTextFlash();return false;}else{this.setValue(_bc);this.selection.moveTo(this.selection.start+_c2.length,this.selection.start+_c2.length);return false;}}}}else{var _c3=1;_bc=this.oldValue.substring(0,this.selection.start)+_b7+this.oldValue.substring(this.selection.start+1);if(!this.isValueValid(_bc,this.selection.start+1,_be)){this.redTextFlash();return false;}else{if(this.isPositionAtEndOfGroup(_bc,this.selection.start+1,_be)){if(_be!=this.lastDateGroup){if(this.nextDateDelimiterExists(_bc,this.selection.start+1,_be)){var _c4=this.dateAutocompleteCharacters[_be+1];_c3=1+_c4.length;}else{var _c5=this.dateAutocompleteCharacters[_be+1];_bc=this.oldValue.substring(0,this.selection.start)+_b7+_c5+this.oldValue.substring(this.selection.start+1);_c3=1+_c5.length;}}}this.setValue(_bc);this.selection.moveTo(this.selection.start+_c3,this.selection.start+_c3);return false;}}}else{_bc=this.oldValue.substring(0,this.selection.start)+_b7+this.oldValue.substring(this.selection.start);var _c6=1;if(!this.isValueValid(_bc,this.selection.start+1,_be)&&!this.isValueValid(_bc,this.selection.start+1,_be+1)){this.redTextFlash();return false;}else{var _c7=this.dateAutocompleteCharacters[_be+1];if(_b7==_c7){if(this.nextDateDelimiterExists(this.oldValue,this.selection.start,_be)){_bc=this.oldValue;_c6=1;}}else{if(this.isPositionAtEndOfGroup(_bc,this.selection.start+1,_be)){if(_be!=this.lastDateGroup){if(this.nextDateDelimiterExists(_bc,this.selection.start+1,_be)){var _c8=this.dateAutocompleteCharacters[_be+1];_c6=1+_c8.length;}else{var _c9=this.dateAutocompleteCharacters[_be+1];_bc=this.oldValue.substring(0,this.selection.start)+_b7+_c9+this.oldValue.substring(this.selection.start+1);_c6=1+_c9.length;}}}}this.setValue(_bc);this.selection.moveTo(this.selection.start+_c6,this.selection.start+_c6);return false;}}}return false;}};Spry.Widget.ValidationTextField.prototype.onKeyDown=function(e){this.saveState();this.keyCode=e.keyCode;if(Spry.is.opera){if(this.flags.operaPasteOperation){window.clearInterval(this.flags.operaPasteOperation);this.flags.operaPasteOperation=null;}if(e.ctrlKey){var _cb=Spry.Widget.Utils.getCharacterFromEvent(e);if(_cb&&"vx".indexOf(_cb.toLowerCase())!=-1){var _cc=this;this.flags.operaPasteOperation=window.setInterval(function(){_cc.operaPasteMonitor();},1);return true;}}}if(this.keyCode!=8&&this.keyCode!=46&&Spry.Widget.Utils.isSpecialKey(e)){return true;}if(this.keyCode==8||this.keyCode==46){var mr=this.doValidations(this.input.value,this.input.value);if(mr){return true;}}if(this.useCharacterMasking&&this.pattern&&this.keyCode==46){if(e.ctrlKey){this.setValue(this.input.value.substring(0,this.selection.start));}else{if(this.selection.end==this.input.value.length||this.selection.start==this.input.value.length-1){return true;}else{this.flags.operaRevertOnKeyUp=true;}}if(Spry.is.mozilla&&Spry.is.mac){this.flags.skp=true;}Spry.Widget.Utils.stopEvent(e);return false;}if(this.useCharacterMasking&&this.pattern&&!e.ctrlKey&&this.keyCode==8){if(this.selection.start==this.input.value.length){var n=this.getAutoComplete(this.selection.start,-1);this.setValue(this.input.value.substring(0,this.input.value.length-(Spry.is.opera?0:1)-n.length));if(Spry.is.opera){this.selection.start=this.selection.start-1-n.length;this.selection.end=this.selection.end-1-n.length;}}else{if(this.selection.end==this.input.value.length){return true;}else{this.flags.operaRevertOnKeyUp=true;}}if(Spry.is.mozilla&&Spry.is.mac){this.flags.skp=true;}Spry.Widget.Utils.stopEvent(e);return false;}return true;};Spry.Widget.ValidationTextField.prototype.onMouseDown=function(e){if(this.flags.active){this.saveState();}};Spry.Widget.ValidationTextField.prototype.onDrop=function(e){this.flags.drop=true;this.removeHint();this.saveState();this.flags.active=true;this.addClassName(this.element,this.focusClass);};Spry.Widget.ValidationTextField.prototype.onFocus=function(e){if(this.flags.drop){return;}this.removeHint();if(this.pattern&&this.useCharacterMasking){var _d2=this.getAutoComplete(this.selection.start);this.setValue(this.input.value+_d2);this.selection.moveTo(this.input.value.length,this.input.value.length);}this.saveState();this.flags.active=true;this.addClassName(this.element,this.focusClass);};Spry.Widget.ValidationTextField.prototype.onBlur=function(e){this.flags.active=false;this.removeClassName(this.element,this.focusClass);var _d4=this.doValidations(this.input.value,this.input.value);if(this.validateOn&Spry.Widget.ValidationTextField.ONBLUR){this.validate();}var _d5=this;setTimeout(function(){_d5.putHint();},10);return true;};Spry.Widget.ValidationTextField.prototype.compilePattern=function(){if(!this.pattern){return;}var _d6=[];var _d7=[];var _d8=[];var idx=0;var c="",p="";for(var i=0;i<this.pattern.length;i++){c=this.pattern.charAt(i);if(p=="\\"){if(/[0ABXY\?]/i.test(c)){_d7[idx-1]=c;}else{_d7[idx-1]=Spry.Widget.ValidationTextField.regExpFromChars(c);}_d6[idx-1]=c;_d8[idx-1]=null;p="";continue;}_d7[idx]=Spry.Widget.ValidationTextField.regExpFromChars(c);if(/[0ABXY\?]/i.test(c)){_d6[idx]=null;_d8[idx]=c;}else{if(c=="\\"){_d6[idx]=c;_d8[idx]="\\";}else{_d6[idx]=c;_d8[idx]=null;}}idx++;p=c;}this.autoCompleteCharacters=_d6;this.compiledPattern=_d7;this.patternCharacters=_d8;this.patternLength=_d6.length;};Spry.Widget.ValidationTextField.prototype.getAutoComplete=function(_dc,_dd){if(_dd==-1){var n="",m="";while(_dc&&(n=this.getAutoComplete(--_dc))){m=n;}return m;}var ret="",c="";for(var i=_dc;i<this.autoCompleteCharacters.length;i++){c=this.autoCompleteCharacters[i];if(c){ret+=c;}else{break;}}return ret;};Spry.Widget.ValidationTextField.regExpFromChars=function(_e1){var ret="",character="";for(var i=0;i<_e1.length;i++){character=_e1.charAt(i);switch(character){case "0":ret+="\\d";break;case "A":ret+="[A-Z]";break;case "a":ret+="[a-z]";break;case "B":case "b":ret+="[a-zA-Z]";break;case "x":ret+="[0-9a-z]";break;case "X":ret+="[0-9A-Z]";break;case "Y":case "y":ret+="[0-9a-zA-Z]";break;case "?":ret+=".";break;case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":ret+=character;break;case "c":case "C":case "e":case "E":case "f":case "F":case "r":case "d":case "D":case "n":case "s":case "S":case "w":case "W":case "t":case "v":ret+=character;break;default:ret+="\\"+character;}}return ret;};Spry.Widget.ValidationTextField.prototype.patternToRegExp=function(len){var ret="^";var end=Math.min(this.compiledPattern.length,len);for(var i=0;i<end;i++){ret+=this.compiledPattern[i];}ret+="$";ret=new RegExp(ret,"");return ret;};Spry.Widget.ValidationTextField.prototype.reset=function(){this.removeHint();this.oldValue=this.input.defaultValue;this.removeClassName(this.element,this.requiredClass);this.removeClassName(this.element,this.invalidFormatClass);this.removeClassName(this.element,this.invalidRangeMinClass);this.removeClassName(this.element,this.invalidRangeMaxClass);this.removeClassName(this.element,this.invalidCharsMinClass);this.removeClassName(this.element,this.invalidCharsMaxClass);this.removeClassName(this.element,this.validClass);var _e8=this;setTimeout(function(){_e8.putHint();},10);};Spry.Widget.ValidationTextField.prototype.validate=function(){this.removeClassName(this.element,this.requiredClass);this.removeClassName(this.element,this.invalidFormatClass);this.removeClassName(this.element,this.invalidRangeMinClass);this.removeClassName(this.element,this.invalidRangeMaxClass);this.removeClassName(this.element,this.invalidCharsMinClass);this.removeClassName(this.element,this.invalidCharsMaxClass);this.removeClassName(this.element,this.validClass);if(this.validateOn&Spry.Widget.ValidationTextField.ONSUBMIT){this.removeHint();this.doValidations(this.input.value,this.input.value);if(!this.flags.active){var _e9=this;setTimeout(function(){_e9.putHint();},10);}}if(this.isRequired&&this.errors&Spry.Widget.ValidationTextField.ERROR_REQUIRED){this.addClassName(this.element,this.requiredClass);return false;}if(this.errors&Spry.Widget.ValidationTextField.ERROR_FORMAT){this.addClassName(this.element,this.invalidFormatClass);return false;}if(this.errors&Spry.Widget.ValidationTextField.ERROR_RANGE_MIN){this.addClassName(this.element,this.invalidRangeMinClass);return false;}if(this.errors&Spry.Widget.ValidationTextField.ERROR_RANGE_MAX){this.addClassName(this.element,this.invalidRangeMaxClass);return false;}if(this.errors&Spry.Widget.ValidationTextField.ERROR_CHARS_MIN){this.addClassName(this.element,this.invalidCharsMinClass);return false;}if(this.errors&Spry.Widget.ValidationTextField.ERROR_CHARS_MAX){this.addClassName(this.element,this.invalidCharsMaxClass);return false;}this.addClassName(this.element,this.validClass);return true;};Spry.Widget.ValidationTextField.prototype.addClassName=function(ele,_eb){if(!ele||!_eb||(ele.className&&ele.className.search(new RegExp("\\b"+_eb+"\\b"))!=-1)){return;}ele.className+=(ele.className?" ":"")+_eb;};Spry.Widget.ValidationTextField.prototype.removeClassName=function(ele,_ed){if(!ele||!_ed||(ele.className&&ele.className.search(new RegExp("\\b"+_ed+"\\b"))==-1)){return;}ele.className=ele.className.replace(new RegExp("\\s*\\b"+_ed+"\\b","g"),"");};Spry.Widget.SelectionDescriptor=function(_ee){this.element=_ee;this.update();};Spry.Widget.SelectionDescriptor.prototype.update=function(){if(Spry.is.ie&&Spry.is.windows){if(this.element.nodeName=="TEXTAREA"){var _ef=this.element.ownerDocument.selection.createRange();if(_ef.parentElement()==this.element){var _f0=this.element.ownerDocument.body.createTextRange();_f0.moveToElementText(this.element);for(var _f1=0;_f0.compareEndPoints("StartToStart",_ef)<0;_f1++){_f0.moveStart("character",1);}this.start=_f1;_f0=this.element.ownerDocument.body.createTextRange();_f0.moveToElementText(this.element);for(var _f2=0;_f0.compareEndPoints("StartToEnd",_ef)<0;_f2++){_f0.moveStart("character",1);}this.end=_f2;this.length=this.end-this.start;this.text=_ef.text;}}else{if(this.element.nodeName=="INPUT"){this.range=this.element.ownerDocument.selection.createRange();this.length=this.range.text.length;var _f3=this.range.duplicate();this.start=-_f3.moveStart("character",-10000);_f3=this.range.duplicate();_f3.collapse(false);this.end=-_f3.moveStart("character",-10000);this.text=this.range.text;}}}else{var tmp=this.element;var _f5=0;var _f6=0;try{_f5=tmp.selectionStart;}catch(err){}try{_f6=tmp.selectionEnd;}catch(err){}if(Spry.is.safari){if(_f5==2147483647){_f5=0;}if(_f6==2147483647){_f6=0;}}this.start=_f5;this.end=_f6;this.length=_f6-_f5;this.text=this.element.value.substring(_f5,_f6);}};Spry.Widget.SelectionDescriptor.prototype.destroy=function(){try{delete this.range;}catch(err){}try{delete this.element;}catch(err){}};Spry.Widget.SelectionDescriptor.prototype.move=function(_f7){if(Spry.is.ie&&Spry.is.windows){this.range.move("character",_f7);this.range.select();}else{try{this.element.selectionStart++;}catch(err){}}this.update();};Spry.Widget.SelectionDescriptor.prototype.moveTo=function(_f8,end){if(Spry.is.ie&&Spry.is.windows){if(this.element.nodeName=="TEXTAREA"){var _fa=this.element.createTextRange();this.range=this.element.createTextRange();this.range.move("character",_f8);this.range.moveEnd("character",end-_f8);var c1=this.range.compareEndPoints("StartToStart",_fa);if(c1<0){this.range.setEndPoint("StartToStart",_fa);}var c2=this.range.compareEndPoints("EndToEnd",_fa);if(c2>0){this.range.setEndPoint("EndToEnd",_fa);}}else{if(this.element.nodeName=="INPUT"){this.range=this.element.ownerDocument.selection.createRange();this.range.move("character",-10000);this.start=this.range.moveStart("character",_f8);this.end=this.start+this.range.moveEnd("character",end-_f8);}}this.range.select();}else{this.start=_f8;try{this.element.selectionStart=_f8;}catch(err){}this.end=end;try{this.element.selectionEnd=end;}catch(err){}}this.ignore=true;this.update();};Spry.Widget.SelectionDescriptor.prototype.moveEnd=function(_fd){if(Spry.is.ie&&Spry.is.windows){this.range.moveEnd("character",_fd);this.range.select();}else{try{this.element.selectionEnd++;}catch(err){}}this.update();};Spry.Widget.SelectionDescriptor.prototype.collapse=function(_fe){if(Spry.is.ie&&Spry.is.windows){this.range=this.element.ownerDocument.selection.createRange();this.range.collapse(_fe);this.range.select();}else{if(_fe){try{this.element.selectionEnd=this.element.selectionStart;}catch(err){}}else{try{this.element.selectionStart=this.element.selectionEnd;}catch(err){}}}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(_ff){var _100=true;var _101=true;var q=Spry.Widget.Form.onSubmitWidgetQueue;var qlen=q.length;for(var i=0;i<qlen;i++){if(!q[i].isDisabled()&&q[i].form==_ff){_101=q[i].validate();_100=_101&&_100;}}return _100;};}if(!Spry.Widget.Form.onSubmit){Spry.Widget.Form.onSubmit=function(e,form){if(Spry.Widget.Form.validate(form)==false){return false;}return true;};}if(!Spry.Widget.Form.onReset){Spry.Widget.Form.onReset=function(e,_108){var q=Spry.Widget.Form.onSubmitWidgetQueue;var qlen=q.length;for(var i=0;i<qlen;i++){if(!q[i].isDisabled()&&q[i].form==_108&&typeof (q[i].reset)=="function"){q[i].reset();}}return true;};}if(!Spry.Widget.Form.destroy){Spry.Widget.Form.destroy=function(form){var q=Spry.Widget.Form.onSubmitWidgetQueue;for(var i=0;i<Spry.Widget.Form.onSubmitWidgetQueue.length;i++){if(q[i].form==form&&typeof (q[i].destroy)=="function"){q[i].destroy();i--;}}};}if(!Spry.Widget.Form.destroyAll){Spry.Widget.Form.destroyAll=function(){var q=Spry.Widget.Form.onSubmitWidgetQueue;for(var i=0;i<Spry.Widget.Form.onSubmitWidgetQueue.length;i++){if(typeof (q[i].destroy)=="function"){q[i].destroy();i--;}}};}if(!Spry.Widget.Utils){Spry.Widget.Utils={};}Spry.Widget.Utils.punycode_constants={base:36,tmin:1,tmax:26,skew:38,damp:700,initial_bias:72,initial_n:128,delimiter:45,maxint:2<<26-1};Spry.Widget.Utils.punycode_encode_digit=function(d){return String.fromCharCode(d+22+75*(d<26));};Spry.Widget.Utils.punycode_adapt=function(_112,_113,_114){_112=_114?_112/this.punycode_constants.damp:_112>>1;_112+=_112/_113;for(var k=0;_112>((this.punycode_constants.base-this.punycode_constants.tmin)*this.punycode_constants.tmax)/2;k+=this.punycode_constants.base){_112/=this.punycode_constants.base-this.punycode_constants.tmin;}return k+(this.punycode_constants.base-this.punycode_constants.tmin+1)*_112/(_112+this.punycode_constants.skew);};Spry.Widget.Utils.punycode_encode=function(_116,_117){var _118=_116.split("");_116=[];for(var i=0;i<_118.length;i++){_116.push(_118[i].charCodeAt(0));}var _11a="";var h,b,j,m,q,k,t;var _11c=_116.length;var n=this.punycode_constants.initial_n;var _11e=0;var bias=this.punycode_constants.initial_bias;var out=0;for(j=0;j<_11c;j++){if(_116[j]<128){if(_117-out<2){return false;}_11a+=String.fromCharCode(_116[j]);out++;}}h=b=out;if(b>0){_11a+=String.fromCharCode(this.punycode_constants.delimiter);out++;}while(h<_11c){for(m=this.punycode_constants.maxint,j=0;j<_11c;j++){if(_116[j]>=n&&_116[j]<m){m=_116[j];}}if(m-n>(this.punycode_constants.maxint-_11e)/(h+1)){return false;}_11e+=(m-n)*(h+1);n=m;for(j=0;j<_11c;j++){if(_116[j]<n){if(++_11e==0){return false;}}if(_116[j]==n){for(q=_11e,k=this.punycode_constants.base;;k+=this.punycode_constants.base){if(out>=_117){return false;}t=k<=bias?this.punycode_constants.tmin:k>=bias+this.punycode_constants.tmax?this.punycode_constants.tmax:k-bias;if(q<t){break;}_11a+=this.punycode_encode_digit(t+(q-t)%(this.punycode_constants.base-t));out++;q=(q-t)/(this.punycode_constants.base-t);}_11a+=this.punycode_encode_digit(q);out++;bias=this.punycode_adapt(_11e,h+1,h==b);_11e=0;h++;}}_11e++,n++;}return _11a;};Spry.Widget.Utils.setOptions=function(obj,_122,_123){if(!_122){return;}for(var _124 in _122){if(_123&&_122[_124]==undefined){continue;}obj[_124]=_122[_124];}};Spry.Widget.Utils.firstValid=function(){var ret=null;for(var i=0;i<Spry.Widget.Utils.firstValid.arguments.length;i++){if(typeof (Spry.Widget.Utils.firstValid.arguments[i])!="undefined"){ret=Spry.Widget.Utils.firstValid.arguments[i];break;}}return ret;};Spry.Widget.Utils.specialCharacters=",8,9,16,17,18,20,27,33,34,35,36,37,38,40,45,144,192,63232,";Spry.Widget.Utils.specialSafariNavKeys="63232,63233,63234,63235,63272,63273,63275,63276,63277,63289,";Spry.Widget.Utils.specialNotSafariCharacters="39,46,91,92,93,";Spry.Widget.Utils.specialCharacters+=Spry.Widget.Utils.specialSafariNavKeys;if(!Spry.is.safari){Spry.Widget.Utils.specialCharacters+=Spry.Widget.Utils.specialNotSafariCharacters;}Spry.Widget.Utils.isSpecialKey=function(ev){return Spry.Widget.Utils.specialCharacters.indexOf(","+ev.keyCode+",")!=-1;};Spry.Widget.Utils.getCharacterFromEvent=function(e){var _129=e.type=="keydown";var code=null;var _12b=null;if(Spry.is.mozilla&&!_129){if(e.charCode){_12b=String.fromCharCode(e.charCode);}else{code=e.keyCode;}}else{code=e.keyCode||e.which;if(code!=13){_12b=String.fromCharCode(code);}}if(Spry.is.safari){if(_129){code=e.keyCode||e.which;_12b=String.fromCharCode(code);}else{code=e.keyCode||e.which;if(Spry.Widget.Utils.specialCharacters.indexOf(","+code+",")!=-1){_12b=null;}else{_12b=String.fromCharCode(code);}}}if(Spry.is.opera){if(Spry.Widget.Utils.specialCharacters.indexOf(","+code+",")!=-1){_12b=null;}else{_12b=String.fromCharCode(code);}}return _12b;};Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel=function(node,_12d){var _12e=node.getElementsByTagName(_12d);if(_12e){return _12e[0];}return null;};Spry.Widget.Utils.getFirstParentWithNodeName=function(node,_130){while(node.parentNode&&node.parentNode.nodeName.toLowerCase()!=_130.toLowerCase()&&node.parentNode.nodeName!="BODY"){node=node.parentNode;}if(node.parentNode&&node.parentNode.nodeName.toLowerCase()==_130.toLowerCase()){return node.parentNode;}else{return null;}};Spry.Widget.Utils.destroyWidgets=function(_131){if(typeof _131=="string"){_131=document.getElementById(_131);}var q=Spry.Widget.Form.onSubmitWidgetQueue;for(var i=0;i<Spry.Widget.Form.onSubmitWidgetQueue.length;i++){if(typeof (q[i].destroy)=="function"&&Spry.Widget.Utils.contains(_131,q[i].element)){q[i].destroy();i--;}}};Spry.Widget.Utils.contains=function(who,what){if(typeof who.contains=="object"){return what&&who&&(who==what||who.contains(what));}else{var el=what;while(el){if(el==who){return true;}el=el.parentNode;}return false;}};Spry.Widget.Utils.addEventListener=function(_137,_138,_139,_13a){try{if(_137.addEventListener){_137.addEventListener(_138,_139,_13a);}else{if(_137.attachEvent){_137.attachEvent("on"+_138,_139,_13a);}}}catch(e){}};Spry.Widget.Utils.removeEventListener=function(_13b,_13c,_13d,_13e){try{if(_13b.removeEventListener){_13b.removeEventListener(_13c,_13d,_13e);}else{if(_13b.detachEvent){_13b.detachEvent("on"+_13c,_13d,_13e);}}}catch(e){}};Spry.Widget.Utils.stopEvent=function(ev){try{this.stopPropagation(ev);this.preventDefault(ev);}catch(e){}};Spry.Widget.Utils.stopPropagation=function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}};Spry.Widget.Utils.preventDefault=function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}};