var Spry;if(!Spry){Spry={}}Spry.forwards=1;Spry.backwards=2;if(!Spry.Effect){Spry.Effect={}}Spry.Effect.Transitions={linearTransition:function(c,a,d,b){if(c>b){return d+a}return a+(c/b)*d},sinusoidalTransition:function(c,a,d,b){if(c>b){return d+a}return a+((-Math.cos((c/b)*Math.PI)/2)+0.5)*d},squareTransition:function(c,a,d,b){if(c>b){return d+a}return a+Math.pow(c/b,2)*d},squarerootTransition:function(c,a,d,b){if(c>b){return d+a}return a+Math.sqrt(c/b)*d},fifthTransition:function(c,a,d,b){if(c>b){return d+a}return a+Math.sqrt((-Math.cos((c/b)*Math.PI)/2)+0.5)*d},circleTransition:function(c,a,e,b){if(c>b){return e+a}var d=c/b;return a+Math.sqrt(1-Math.pow((d-1),2))*e},pulsateTransition:function(c,a,d,b){if(c>b){return d+a}return a+(0.5+Math.sin(17*c/b)/2)*d},growSpecificTransition:function(c,a,e,b){if(c>b){return e+a}var d=c/b;return a+(5*Math.pow(d,3)-6.4*Math.pow(d,2)+2*d)*e}};for(var trans in Spry.Effect.Transitions){Spry[trans]=Spry.Effect.Transitions[trans]}Spry.Effect.Registry=function(){this.effects=[]};Spry.Effect.Registry.prototype.getRegisteredEffect=function(e,c){var b={};b.element=Spry.Effect.getElement(e);b.options=c;for(var d=0;d<this.effects.length;d++){if(this.effectsAreTheSame(this.effects[d],b)){return this.effects[d].effect}}return false};Spry.Effect.Registry.prototype.addEffect=function(e,c,b){if(!this.getRegisteredEffect(c,b)){var a=this.effects.length;this.effects[a]={};var d=this.effects[a];d.effect=e;d.element=Spry.Effect.getElement(c);d.options=b}};Spry.Effect.Registry.prototype.effectsAreTheSame=function(b,a){if(b.element!=a.element){return false}var c=Spry.Effect.Utils.optionsAreIdentical(b.options,a.options);if(c){if(typeof a.options.setup=="function"){b.options.setup=a.options.setup}if(typeof a.options.finish=="function"){b.options.finish=a.options.finish}}return c};var SpryRegistry=new Spry.Effect.Registry;if(!Spry.Effect.Utils){Spry.Effect.Utils={}}Spry.Effect.Utils.showError=function(a){alert("Spry.Effect ERR: "+a)};Spry.Effect.Utils.showInitError=function(a){Spry.Effect.Utils.showError("The "+a+" class can't be accessed as a static function anymore. \nPlease read Spry Effects migration documentation.");return false};Spry.Effect.Utils.Position=function(){this.x=0;this.y=0;this.units="px"};Spry.Effect.Utils.Rectangle=function(){this.width=0;this.height=0;this.units="px"};Spry.Effect.Utils.intToHex=function(b){var a=b.toString(16);if(a.length==1){a="0"+a}return a};Spry.Effect.Utils.hexToInt=function(a){return parseInt(a,16)};Spry.Effect.Utils.rgb=function(c,e,d){var b=Spry.Effect.Utils.intToHex;var f=b(c);var a=b(e);var g=b(d);compositeColorHex=f.concat(a,g).toUpperCase();compositeColorHex="#"+compositeColorHex;return compositeColorHex};Spry.Effect.Utils.longColorVersion=function(a){if(a.match(/^#[0-9a-f]{3}$/i)){var c=a.split("");var a="#";for(var b=1;b<c.length;b++){a+=c[b]+""+c[b]}}return a};Spry.Effect.Utils.camelize=function(a){if(a.indexOf("-")==-1){return a}var e=a.split("-");var b=true;var c="";for(var d=0;d<e.length;d++){if(e[d].length>0){if(b){c=e[d];b=false}else{var f=e[d];c+=f.charAt(0).toUpperCase()+f.substring(1)}}}return c};Spry.Effect.Utils.isPercentValue=function(b){var a=false;if(typeof b=="string"&&b.length>0&&b.lastIndexOf("%")>0){a=true}return a};Spry.Effect.Utils.getPercentValue=function(b){var a=0;try{a=Number(b.substring(0,b.lastIndexOf("%")))}catch(c){Spry.Effect.Utils.showError("Spry.Effect.Utils.getPercentValue: "+c)}return a};Spry.Effect.Utils.getPixelValue=function(c){var a=0;if(typeof c=="number"){return c}var b=c.lastIndexOf("px");if(b==-1){b=c.length}try{a=parseInt(c.substring(0,b),10)}catch(d){}return a};Spry.Effect.Utils.getFirstChildElement=function(b){if(b){var a=b.firstChild;while(a){if(a.nodeType==1){return a}a=a.nextSibling}}return null};Spry.Effect.Utils.fetchChildImages=function(b,e){if(!b||b.nodeType!=1||!e){return}if(b.hasChildNodes()){var a=b.getElementsByTagName("img");var d=a.length;for(var c=0;c<d;c++){var g=a[c];var f=Spry.Effect.getDimensions(g);e.push([g,f.width,f.height])}}};Spry.Effect.Utils.optionsAreIdentical=function(e,d){if(e==null&&d==null){return true}if(e!=null&&d!=null){var c=0;var b=0;for(var i in e){c++}for(var h in d){b++}if(c!=b){return false}for(var a in e){var g=typeof e[a];var f=typeof d[a];if(g!=f||(g!="undefined"&&e[a]!=d[a])){return false}}return true}return false};Spry.Effect.Utils.DoEffect=function(b,d,c){if(!c){var c={}}c.name=b;var a=SpryRegistry.getRegisteredEffect(d,c);if(!a){a=new Spry.Effect[b](d,c);SpryRegistry.addEffect(a,d,c)}a.start();return true};if(!Spry.Utils){Spry.Utils={}}Spry.Utils.Notifier=function(){this.observers=[];this.suppressNotifications=0};Spry.Utils.Notifier.prototype.addObserver=function(b){if(!b){return}var a=this.observers.length;for(var c=0;c<a;c++){if(this.observers[c]==b){return}}this.observers[a]=b};Spry.Utils.Notifier.prototype.removeObserver=function(a){if(!a){return}for(var b=0;b<this.observers.length;b++){if(this.observers[b]==a){this.observers.splice(b,1);break}}};Spry.Utils.Notifier.prototype.notifyObservers=function(b,d){if(!b){return}if(!this.suppressNotifications){var a=this.observers.length;for(var c=0;c<a;c++){var e=this.observers[c];if(e){if(typeof e=="function"){e(b,this,d)}else{if(e[b]){e[b](this,d)}}}}}};Spry.Utils.Notifier.prototype.enableNotifications=function(){if(--this.suppressNotifications<0){this.suppressNotifications=0;Spry.Effect.Utils.showError("Unbalanced enableNotifications() call!\n")}};Spry.Utils.Notifier.prototype.disableNotifications=function(){++this.suppressNotifications};Spry.Effect.getElement=function(b){var a=b;if(typeof b=="string"){a=document.getElementById(b)}if(a==null){Spry.Effect.Utils.showError('Element "'+b+'" not found.')}return a};Spry.Effect.getStyleProp=function(b,g){var d;var c=Spry.Effect.Utils.camelize(g);try{if(b.style){d=b.style[c]}if(!d){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);d=a?a.getPropertyValue(g):null}else{if(b.currentStyle){d=b.currentStyle[c]}}}}catch(f){Spry.Effect.Utils.showError("Spry.Effect.getStyleProp: "+f)}return d=="auto"?null:d};Spry.Effect.setStyleProp=function(a,d,b){try{a.style[Spry.Effect.Utils.camelize(d)]=b}catch(c){Spry.Effect.Utils.showError("Spry.Effect.setStyleProp: "+c)}};Spry.Effect.getStylePropRegardlessOfDisplayState=function(c,g,e){var f=e?e:c;var d=Spry.Effect.getStyleProp(f,"display");var b=Spry.Effect.getStyleProp(f,"visibility");if(d=="none"){Spry.Effect.setStyleProp(f,"visibility","hidden");Spry.Effect.setStyleProp(f,"display","block");if(window.opera){f.focus()}}var a=Spry.Effect.getStyleProp(c,g);if(d=="none"){Spry.Effect.setStyleProp(f,"display","none");Spry.Effect.setStyleProp(f,"visibility",b)}return a};Spry.Effect.makePositioned=function(a){var b=Spry.Effect.getStyleProp(a,"position");if(!b||b=="static"){a.style.position="relative";if(window.opera){a.style.top=0;a.style.left=0}}};Spry.Effect.isInvisible=function(c){var a=Spry.Effect.getStyleProp(c,"display");if(a&&a.toLowerCase()=="none"){return true}var b=Spry.Effect.getStyleProp(c,"visibility");if(b&&b.toLowerCase()=="hidden"){return true}return false};Spry.Effect.enforceVisible=function(c){var a=Spry.Effect.getStyleProp(c,"display");if(a&&a.toLowerCase()=="none"){Spry.Effect.setStyleProp(c,"display","block")}var b=Spry.Effect.getStyleProp(c,"visibility");if(b&&b.toLowerCase()=="hidden"){Spry.Effect.setStyleProp(c,"visibility","visible")}};Spry.Effect.makeClipping=function(b){var d=Spry.Effect.getStyleProp(b,"overflow");if(!d||(d.toLowerCase()!="hidden"&&d.toLowerCase()!="scroll")){var a=0;var c=/MSIE 7.0/.test(navigator.userAgent)&&/Windows NT/.test(navigator.userAgent);if(c){a=Spry.Effect.getDimensionsRegardlessOfDisplayState(b).height}Spry.Effect.setStyleProp(b,"overflow","hidden");if(c){Spry.Effect.setStyleProp(b,"height",a+"px")}}};Spry.Effect.cleanWhitespace=function(b){var f=b.childNodes.length;for(var a=f-1;a>=0;a--){var c=b.childNodes[a];if(c.nodeType==3&&!/\S/.test(c.nodeValue)){try{b.removeChild(c)}catch(d){Spry.Effect.Utils.showError("Spry.Effect.cleanWhitespace: "+d)}}}};Spry.Effect.getComputedStyle=function(a){return/MSIE/.test(navigator.userAgent)?a.currentStyle:document.defaultView.getComputedStyle(a,null)};Spry.Effect.getDimensions=function(b){var d=new Spry.Effect.Utils.Rectangle;var a=null;if(b.style.width&&/px/i.test(b.style.width)){d.width=parseInt(b.style.width,10)}else{a=Spry.Effect.getComputedStyle(b);var c=a&&a.width&&/px/i.test(a.width);if(c){d.width=parseInt(a.width,10)}if(!c||d.width==0){d.width=b.offsetWidth}}if(b.style.height&&/px/i.test(b.style.height)){d.height=parseInt(b.style.height,10)}else{if(!a){a=Spry.Effect.getComputedStyle(b)}var c=a&&a.height&&/px/i.test(a.height);if(c){d.height=parseInt(a.height,10)}if(!c||d.height==0){d.height=b.offsetHeight}}return d};Spry.Effect.getDimensionsRegardlessOfDisplayState=function(b,e){var f=e?e:b;var d=Spry.Effect.getStyleProp(f,"display");var a=Spry.Effect.getStyleProp(f,"visibility");if(d=="none"){Spry.Effect.setStyleProp(f,"visibility","hidden");Spry.Effect.setStyleProp(f,"display","block");if(window.opera){f.focus()}}var c=Spry.Effect.getDimensions(b);if(d=="none"){Spry.Effect.setStyleProp(f,"display","none");Spry.Effect.setStyleProp(f,"visibility",a)}return c};Spry.Effect.getOpacity=function(a){var b=Spry.Effect.getStyleProp(a,"opacity");if(typeof b=="undefined"||b==null){b=1}return b};Spry.Effect.getBgColor=function(a){return Spry.Effect.getStyleProp(a,"background-color")};Spry.Effect.intPropStyle=function(b,c){var a=parseInt(Spry.Effect.getStyleProp(b,c),10);if(isNaN(a)){return 0}return a};Spry.Effect.getPosition=function(c){var a=new Spry.Effect.Utils.Position;var b=null;if(c.style.left&&/px/i.test(c.style.left)){a.x=parseInt(c.style.left,10)}else{b=Spry.Effect.getComputedStyle(c);var d=b&&b.left&&/px/i.test(b.left);if(d){a.x=parseInt(b.left,10)}if(!d||a.x==0){a.x=c.offsetLeft}}if(c.style.top&&/px/i.test(c.style.top)){a.y=parseInt(c.style.top,10)}else{if(!b){b=Spry.Effect.getComputedStyle(c)}var d=b&&b.top&&/px/i.test(b.top);if(d){a.y=parseInt(b.top,10)}if(!d||a.y==0){a.y=c.offsetTop}}return a};Spry.Effect.getOffsetPosition=Spry.Effect.getPosition;Spry.Effect.Animator=function(b){Spry.Utils.Notifier.call(this);this.name="Animator";this.element=null;this.startMilliseconds=0;this.repeat="none";this.isRunning=false;this.timer=null;this.cancelRemaining=0;if(!b){var b={}}if(b.toggle){this.direction=false}else{this.direction=Spry.forwards}var a=this;if(b.setup!=null){this.addObserver({onPreEffect:function(){try{a.options.setup(a.element,a)}catch(c){Spry.Effect.Utils.showError("Spry.Effect.Animator.prototype.start: setup callback: "+c)}}})}if(b.finish!=null){this.addObserver({onPostEffect:function(){try{a.options.finish(a.element,a)}catch(c){Spry.Effect.Utils.showError("Spry.Effect.Animator.prototype.stop: finish callback: "+c)}}})}this.options={duration:1000,toggle:false,transition:Spry.linearTransition,interval:16};this.setOptions(b);if(b.transition){this.setTransition(b.transition)}if(b.fps){this.setFps(b.fps)}};Spry.Effect.Animator.prototype=new Spry.Utils.Notifier();Spry.Effect.Animator.prototype.constructor=Spry.Utils.Animator;Spry.Effect.Animator.prototype.notStaticAnimator=true;Spry.Effect.Animator.prototype.setOptions=function(a){if(!a){return}for(var b in a){this.options[b]=a[b]}};Spry.Effect.Animator.prototype.setTransition=function(c){if(typeof c=="number"||c=="1"||c=="2"){switch(parseInt(c,10)){case 1:c=Spry.linearTransition;break;case 2:c=Spry.sinusoidalTransition;break;default:Spry.Effect.Utils.showError("unknown transition")}}else{if(typeof c=="string"){if(typeof window[c]=="function"){c=window[c]}else{if(typeof Spry[c]=="function"){c=Spry[c]}else{Spry.Effect.Utils.showError("unknown transition")}}}}this.options.transition=c;if(typeof this.effectsArray!="undefined"){var a=this.effectsArray.length;for(var b=0;b<a;b++){this.effectsArray[b].effect.setTransition(c)}}};Spry.Effect.Animator.prototype.setDuration=function(c){this.options.duration=c;if(typeof this.effectsArray!="undefined"){var a=this.effectsArray.length;for(var b=0;b<a;b++){this.effectsArray[b].effect.setDuration(c)}}};Spry.Effect.Animator.prototype.setFps=function(c){this.options.interval=parseInt(1000/c,10);this.options.fps=c;if(typeof this.effectsArray!="undefined"){var a=this.effectsArray.length;for(var b=0;b<a;b++){this.effectsArray[b].effect.setFps(c)}}};Spry.Effect.Animator.prototype.start=function(e){if(!this.element){return}if(arguments.length==0){e=false}if(this.isRunning){this.cancel()}this.prepareStart();var d=new Date();this.startMilliseconds=d.getTime();if(this.element.id){this.element=document.getElementById(this.element.id)}if(this.cancelRemaining!=0&&this.options.toggle){if(this.cancelRemaining<1&&typeof this.options.transition=="function"){var c=0;var b=this.options.duration;var a=0;var f=1;var g=0;this.cancelRemaining=Math.round(this.cancelRemaining*1000)/1000;var k=false;var j=0;while(!k){if(g++>this.options.duration){break}var i=c+((b-c)/2);j=Math.round(this.options.transition(i,1,-1,this.options.duration)*1000)/1000;if(j==this.cancelRemaining){this.startMilliseconds-=i;k=true}if(j<this.cancelRemaining){b=i;f=j}else{c=i;a=j}}}this.cancelRemaining=0}this.notifyObservers("onPreEffect",this);if(e==false){var h=this;this.timer=setInterval(function(){h.drawEffect()},this.options.interval)}this.isRunning=true};Spry.Effect.Animator.prototype.stopFlagReset=function(){if(this.timer){clearInterval(this.timer);this.timer=null}this.startMilliseconds=0};Spry.Effect.Animator.prototype.stop=function(){this.stopFlagReset();this.notifyObservers("onPostEffect",this);this.isRunning=false};Spry.Effect.Animator.prototype.cancel=function(){var a=this.getElapsedMilliseconds();if(this.startMilliseconds>0&&a<this.options.duration){this.cancelRemaining=this.options.transition(a,0,1,this.options.duration)}this.stopFlagReset();this.notifyObservers("onCancel",this);this.isRunning=false};Spry.Effect.Animator.prototype.drawEffect=function(){var b=true;this.notifyObservers("onStep",this);var a=this.getElapsedMilliseconds();if(typeof this.options.transition!="function"){Spry.Effect.Utils.showError("unknown transition");return}this.animate();if(a>this.options.duration){b=false;this.stop()}return b};Spry.Effect.Animator.prototype.getElapsedMilliseconds=function(){if(this.startMilliseconds>0){var a=new Date();return(a.getTime()-this.startMilliseconds)}return 0};Spry.Effect.Animator.prototype.doToggle=function(){if(!this.direction){this.direction=Spry.forwards;return}if(this.options.toggle==true){if(this.direction==Spry.forwards){this.direction=Spry.backwards;this.notifyObservers("onToggle",this)}else{if(this.direction==Spry.backwards){this.direction=Spry.forwards}}}};Spry.Effect.Animator.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}};Spry.Effect.Animator.prototype.animate=function(){};Spry.Effect.Animator.prototype.onStep=function(a){if(a!=this){this.notifyObservers("onStep",this)}};Spry.Effect.Move=function(c,b,d,a){this.dynamicFromPos=false;if(arguments.length==3){a=d;d=b;b=Spry.Effect.getPosition(c);this.dynamicFromPos=true}Spry.Effect.Animator.call(this,a);this.name="Move";this.element=Spry.Effect.getElement(c);if(!this.element){return}if(b.units!=d.units){Spry.Effect.Utils.showError("Spry.Effect.Move: Conflicting units ("+b.units+", "+d.units+")")}this.units=b.units;this.startX=Number(b.x);this.stopX=Number(d.x);this.startY=Number(b.y);this.stopY=Number(d.y)};Spry.Effect.Move.prototype=new Spry.Effect.Animator();Spry.Effect.Move.prototype.constructor=Spry.Effect.Move;Spry.Effect.Move.prototype.animate=function(){var d=0;var c=0;var b=Math.floor;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){d=b(this.options.transition(a,this.startX,this.stopX-this.startX,this.options.duration));c=b(this.options.transition(a,this.startY,this.stopY-this.startY,this.options.duration))}else{if(this.direction==Spry.backwards){d=b(this.options.transition(a,this.stopX,this.startX-this.stopX,this.options.duration));c=b(this.options.transition(a,this.stopY,this.startY-this.stopY,this.options.duration))}}this.element.style.left=d+this.units;this.element.style.top=c+this.units};Spry.Effect.Move.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicFromPos==true){var a=Spry.Effect.getPosition(this.element);this.startX=a.x;this.startY=a.y;this.rangeMoveX=this.startX-this.stopX;this.rangeMoveY=this.startY-this.stopY}};Spry.Effect.Size=function(f,b,k,l){this.dynamicFromRect=false;if(arguments.length==3){l=k;k=b;b=Spry.Effect.getDimensionsRegardlessOfDisplayState(f);this.dynamicFromRect=true}Spry.Effect.Animator.call(this,l);this.name="Size";this.element=Spry.Effect.getElement(f);if(!this.element){return}f=this.element;if(b.units!=k.units){Spry.Effect.Utils.showError("Spry.Effect.Size: Conflicting units ("+b.units+", "+k.units+")");return false}this.units=b.units;var c=Spry.Effect.getDimensionsRegardlessOfDisplayState(f);this.originalWidth=c.width;this.originalHeight=c.height;this.startWidth=b.width;this.startHeight=b.height;this.stopWidth=k.width;this.stopHeight=k.height;this.childImages=new Array();if(this.options.useCSSBox){Spry.Effect.makePositioned(this.element);var i=Spry.Effect.intPropStyle;this.startFromBorder_top=i(f,"border-top-width");this.startFromBorder_bottom=i(f,"border-bottom-width");this.startFromBorder_left=i(f,"border-left-width");this.startFromBorder_right=i(f,"border-right-width");this.startFromPadding_top=i(f,"padding-top");this.startFromPadding_bottom=i(f,"padding-bottom");this.startFromPadding_left=i(f,"padding-left");this.startFromPadding_right=i(f,"padding-right");this.startFromMargin_top=i(f,"margin-top");this.startFromMargin_bottom=i(f,"margin-bottom");this.startFromMargin_right=i(f,"margin-right");this.startFromMargin_left=i(f,"margin-left");this.startLeft=i(f,"left");this.startTop=i(f,"top")}if(this.options.scaleContent){Spry.Effect.Utils.fetchChildImages(f,this.childImages)}this.fontFactor=1;var j=Spry.Effect.getStyleProp(this.element,"font-size");if(j&&/em\s*$/.test(j)){this.fontFactor=parseFloat(j)}var a=Spry.Effect.Utils.isPercentValue;if(a(this.startWidth)){var d=Spry.Effect.Utils.getPercentValue(this.startWidth);this.startWidth=c.width*(d/100)}if(a(this.startHeight)){var g=Spry.Effect.Utils.getPercentValue(this.startHeight);this.startHeight=c.height*(g/100)}if(a(this.stopWidth)){var e=Spry.Effect.Utils.getPercentValue(this.stopWidth);this.stopWidth=c.width*(e/100)}if(a(this.stopHeight)){var h=Spry.Effect.Utils.getPercentValue(this.stopHeight);this.stopHeight=c.height*(h/100)}this.enforceVisible=Spry.Effect.isInvisible(this.element)};Spry.Effect.Size.prototype=new Spry.Effect.Animator();Spry.Effect.Size.prototype.constructor=Spry.Effect.Size;Spry.Effect.Size.prototype.animate=function(){var m=0;var l=0;var b=0;var z=0;var r=Math.floor;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){m=r(this.options.transition(a,this.startWidth,this.stopWidth-this.startWidth,this.options.duration));l=r(this.options.transition(a,this.startHeight,this.stopHeight-this.startHeight,this.options.duration));z=1}else{if(this.direction==Spry.backwards){m=r(this.options.transition(a,this.stopWidth,this.startWidth-this.stopWidth,this.options.duration));l=r(this.options.transition(a,this.stopHeight,this.startHeight-this.stopHeight,this.options.duration));z=-1}}var v=m/this.originalWidth;b=this.fontFactor*v;var p=this.element.style;if(m<0){m=0}if(l<0){l=0}p.width=m+this.units;p.height=l+this.units;if(typeof this.options.useCSSBox!="undefined"&&this.options.useCSSBox==true){var d=Spry.Effect.intPropStyle;var s=d(this.element,"top");var A=d(this.element,"left");var u=d(this.element,"margin-top");var f=d(this.element,"margin-left");var k=v;var t=l/this.originalHeight;var e=r(this.startFromBorder_top*t);var g=r(this.startFromBorder_bottom*t);var w=r(this.startFromBorder_left*k);var h=r(this.startFromBorder_right*k);var c=r(this.startFromPadding_top*t);var B=r(this.startFromPadding_bottom*t);var o=r(this.startFromPadding_left*k);var j=r(this.startFromPadding_right*k);var C=r(this.startFromMargin_top*t);var n=r(this.startFromMargin_bottom*t);var y=r(this.startFromMargin_right*k);var x=r(this.startFromMargin_left*k);p.borderTopWidth=e+this.units;p.borderBottomWidth=g+this.units;p.borderLeftWidth=w+this.units;p.borderRightWidth=h+this.units;p.paddingTop=c+this.units;p.paddingBottom=B+this.units;p.paddingLeft=o+this.units;p.paddingRight=j+this.units;p.marginTop=C+this.units;p.marginBottom=n+this.units;p.marginLeft=x+this.units;p.marginRight=y+this.units;p.left=r(A+f-x)+this.units;p.top=r(s+u-C)+this.units}if(this.options.scaleContent){for(var q=0;q<this.childImages.length;q++){this.childImages[q][0].style.width=v*this.childImages[q][1]+this.units;this.childImages[q][0].style.height=v*this.childImages[q][2]+this.units}this.element.style.fontSize=b+"em"}if(this.enforceVisible){Spry.Effect.enforceVisible(this.element);this.enforceVisible=false}};Spry.Effect.Size.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicFromRect==true){var a=Spry.Effect.getDimensions(this.element);this.startWidth=a.width;this.startHeight=a.height;this.widthRange=this.startWidth-this.stopWidth;this.heightRange=this.startHeight-this.stopHeight}};Spry.Effect.Opacity=function(c,b,d,a){this.dynamicStartOpacity=false;if(arguments.length==3){a=d;d=b;b=Spry.Effect.getOpacity(c);this.dynamicStartOpacity=true}Spry.Effect.Animator.call(this,a);this.name="Opacity";this.element=Spry.Effect.getElement(c);if(!this.element){return}if(/MSIE/.test(navigator.userAgent)&&(!this.element.hasLayout)){Spry.Effect.setStyleProp(this.element,"zoom","1")}this.startOpacity=b;this.stopOpacity=d;this.enforceVisible=Spry.Effect.isInvisible(this.element)};Spry.Effect.Opacity.prototype=new Spry.Effect.Animator();Spry.Effect.Opacity.prototype.constructor=Spry.Effect.Opacity;Spry.Effect.Opacity.prototype.animate=function(){var b=0;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){b=this.options.transition(a,this.startOpacity,this.stopOpacity-this.startOpacity,this.options.duration)}else{if(this.direction==Spry.backwards){b=this.options.transition(a,this.stopOpacity,this.startOpacity-this.stopOpacity,this.options.duration)}}if(b<0){b=0}if(/MSIE/.test(navigator.userAgent)){var c=Spry.Effect.getStyleProp(this.element,"filter");if(c){c=c.replace(/alpha\(opacity=[0-9]{1,3}\)/g,"")}this.element.style.filter=c+"alpha(opacity="+Math.floor(b*100)+")"}else{this.element.style.opacity=b}if(this.enforceVisible){Spry.Effect.enforceVisible(this.element);this.enforceVisible=false}};Spry.Effect.Opacity.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicStartOpacity==true){this.startOpacity=Spry.Effect.getOpacity(this.element);this.opacityRange=this.startOpacity-this.stopOpacity}};Spry.Effect.Color=function(c,d,a,b){this.dynamicStartColor=false;if(arguments.length==3){b=a;a=d;d=Spry.Effect.getBgColor(c);this.dynamicStartColor=true}Spry.Effect.Animator.call(this,b);this.name="Color";this.element=Spry.Effect.getElement(c);if(!this.element){return}this.startColor=d;this.stopColor=a;this.startRedColor=Spry.Effect.Utils.hexToInt(d.substr(1,2));this.startGreenColor=Spry.Effect.Utils.hexToInt(d.substr(3,2));this.startBlueColor=Spry.Effect.Utils.hexToInt(d.substr(5,2));this.stopRedColor=Spry.Effect.Utils.hexToInt(a.substr(1,2));this.stopGreenColor=Spry.Effect.Utils.hexToInt(a.substr(3,2));this.stopBlueColor=Spry.Effect.Utils.hexToInt(a.substr(5,2))};Spry.Effect.Color.prototype=new Spry.Effect.Animator();Spry.Effect.Color.prototype.constructor=Spry.Effect.Color;Spry.Effect.Color.prototype.animate=function(){var c=0;var e=0;var d=0;var b=Math.floor;var a=this.getElapsedMilliseconds();if(this.direction==Spry.forwards){c=b(this.options.transition(a,this.startRedColor,this.stopRedColor-this.startRedColor,this.options.duration));e=b(this.options.transition(a,this.startGreenColor,this.stopGreenColor-this.startGreenColor,this.options.duration));d=b(this.options.transition(a,this.startBlueColor,this.stopBlueColor-this.startBlueColor,this.options.duration))}else{if(this.direction==Spry.backwards){c=b(this.options.transition(a,this.stopRedColor,this.startRedColor-this.stopRedColor,this.options.duration));e=b(this.options.transition(a,this.stopGreenColor,this.startGreenColor-this.stopGreenColor,this.options.duration));d=b(this.options.transition(a,this.stopBlueColor,this.startBlueColor-this.stopBlueColor,this.options.duration))}}this.element.style.backgroundColor=Spry.Effect.Utils.rgb(c,e,d)};Spry.Effect.Color.prototype.prepareStart=function(){if(this.options&&this.options.toggle){this.doToggle()}if(this.dynamicStartColor==true){this.startColor=Spry.Effect.getBgColor(element);this.startRedColor=Spry.Effect.Utils.hexToInt(startColor.substr(1,2));this.startGreenColor=Spry.Effect.Utils.hexToInt(startColor.substr(3,2));this.startBlueColor=Spry.Effect.Utils.hexToInt(startColor.substr(5,2));this.redColorRange=this.startRedColor-this.stopRedColor;this.greenColorRange=this.startGreenColor-this.stopGreenColor;this.blueColorRange=this.startBlueColor-this.stopBlueColor}};Spry.Effect.Cluster=function(b){Spry.Effect.Animator.call(this,b);this.name="Cluster";this.effectsArray=new Array();this.currIdx=-1;var a=function(d,c){this.effect=d;this.kind=c;this.isRunning=false};this.ClusteredEffect=a};Spry.Effect.Cluster.prototype=new Spry.Effect.Animator();Spry.Effect.Cluster.prototype.constructor=Spry.Effect.Cluster;Spry.Effect.Cluster.prototype.setInterval=function(b){var a=this.effectsArray.length;this.options.interval=b;for(var c=0;c<a;c++){this.effectsArray[c].effect.setInterval(b)}};Spry.Effect.Cluster.prototype.drawEffect=function(){var f=true;var d=false;var h=false;var a=false;if((this.currIdx==-1&&this.direction==Spry.forwards)||(this.currIdx==this.effectsArray.length&&this.direction==Spry.backwards)){this.initNextEffectsRunning()}var g=this.direction==Spry.forwards?0:this.effectsArray.length-1;var c=this.direction==Spry.forwards?this.effectsArray.length:-1;var e=this.direction==Spry.forwards?1:-1;for(var b=g;b!=c;b+=e){if(this.effectsArray[b].isRunning==true){h=this.effectsArray[b].effect.drawEffect();if(h==false&&b==this.currIdx){this.effectsArray[b].isRunning=false;a=true}}}if(a==true){d=this.initNextEffectsRunning()}if(d==true){this.stop();f=false;for(var b=0;b<this.effectsArray.length;b++){this.effectsArray[b].isRunning=false}this.currIdx=this.direction==Spry.forwards?this.effectsArray.length:-1}return f};Spry.Effect.Cluster.prototype.initNextEffectsRunning=function(){var c=false;var d=this.direction==Spry.forwards?1:-1;var b=this.direction==Spry.forwards?this.effectsArray.length:-1;this.currIdx+=d;if((this.currIdx>(this.effectsArray.length-1)&&this.direction==Spry.forwards)||(this.currIdx<0&&this.direction==Spry.backwards)){c=true}else{for(var a=this.currIdx;a!=b;a+=d){if((a>this.currIdx&&this.direction==Spry.forwards||a<this.currIdx&&this.direction==Spry.backwards)&&this.effectsArray[a].kind=="queue"){break}this.effectsArray[a].effect.start(true);this.effectsArray[a].isRunning=true;this.currIdx=a}}return c};Spry.Effect.Cluster.prototype.toggleCluster=function(){if(!this.direction){this.direction=Spry.forwards;return}if(this.options.toggle==true){if(this.direction==Spry.forwards){this.direction=Spry.backwards;this.notifyObservers("onToggle",this);this.currIdx=this.effectsArray.length}else{if(this.direction==Spry.backwards){this.direction=Spry.forwards;this.currIdx=-1}}}else{if(this.direction==Spry.forwards){this.currIdx=-1}else{if(this.direction==Spry.backwards){this.currIdx=this.effectsArray.length}}}};Spry.Effect.Cluster.prototype.doToggle=function(){this.toggleCluster();for(var a=0;a<this.effectsArray.length;a++){if(this.effectsArray[a].effect.options&&(this.effectsArray[a].effect.options.toggle!=null)){if(this.effectsArray[a].effect.options.toggle==true){this.effectsArray[a].effect.doToggle()}}}};Spry.Effect.Cluster.prototype.cancel=function(){for(var b=0;b<this.effectsArray.length;b++){if(this.effectsArray[b].effect.isRunning){this.effectsArray[b].effect.cancel()}}var a=this.getElapsedMilliseconds();if(this.startMilliseconds>0&&a<this.options.duration){this.cancelRemaining=this.options.transition(a,0,1,this.options.duration)}this.stopFlagReset();this.notifyObservers("onCancel",this);this.isRunning=false};Spry.Effect.Cluster.prototype.addNextEffect=function(a){a.addObserver(this);this.effectsArray[this.effectsArray.length]=new this.ClusteredEffect(a,"queue");if(this.effectsArray.length==1){this.element=a.element}};Spry.Effect.Cluster.prototype.addParallelEffect=function(a){if(this.effectsArray.length==0||this.effectsArray[this.effectsArray.length-1].kind!="parallel"){a.addObserver(this)}this.effectsArray[this.effectsArray.length]=new this.ClusteredEffect(a,"parallel");if(this.effectsArray.length==1){this.element=a.element}};Spry.Effect.Cluster.prototype.prepareStart=function(){this.toggleCluster()};Spry.Effect.Fade=function(e,i){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Fade")}Spry.Effect.Cluster.call(this,i);this.name="Fade";var e=Spry.Effect.getElement(e);this.element=e;if(!this.element){return}var b=1000;var h=0;var d=100;var j=false;var f=Spry.fifthTransition;var c=60;var a=0;if(/MSIE/.test(navigator.userAgent)){a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"filter").replace(/alpha\(opacity=([0-9]{1,3})\)/g,"$1"),10)}else{a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"opacity")*100,10)}if(isNaN(a)){a=100}if(i){if(i.duration!=null){b=i.duration}if(i.from!=null){if(Spry.Effect.Utils.isPercentValue(i.from)){h=Spry.Effect.Utils.getPercentValue(i.from)*a/100}else{h=i.from}}if(i.to!=null){if(Spry.Effect.Utils.isPercentValue(i.to)){d=Spry.Effect.Utils.getPercentValue(i.to)*a/100}else{d=i.to}}if(i.toggle!=null){j=i.toggle}if(i.transition!=null){f=i.transition}if(i.fps!=null){c=i.fps}else{this.options.transition=f}}h=h/100;d=d/100;i={duration:b,toggle:j,transition:f,from:h,to:d,fps:c};var g=new Spry.Effect.Opacity(e,h,d,i);this.addNextEffect(g)};Spry.Effect.Fade.prototype=new Spry.Effect.Cluster();Spry.Effect.Fade.prototype.constructor=Spry.Effect.Fade;Spry.Effect.Blind=function(i,o){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Blind")}Spry.Effect.Cluster.call(this,o);this.name="Blind";var i=Spry.Effect.getElement(i);this.element=i;if(!this.element){return}var b=1000;var p=false;var c=Spry.circleTransition;var e=60;var h=false;Spry.Effect.makeClipping(i);var f=Spry.Effect.getDimensionsRegardlessOfDisplayState(i);var g=f.height;var l=0;var k=o?o.from:f.height;var a=o?o.to:0;var m=false;if(o){if(o.duration!=null){b=o.duration}if(o.from!=null){if(Spry.Effect.Utils.isPercentValue(o.from)){g=Spry.Effect.Utils.getPercentValue(o.from)*f.height/100}else{g=Spry.Effect.Utils.getPixelValue(o.from)}}if(o.to!=null){if(Spry.Effect.Utils.isPercentValue(o.to)){l=Spry.Effect.Utils.getPercentValue(o.to)*f.height/100}else{l=Spry.Effect.Utils.getPixelValue(o.to)}}if(o.toggle!=null){p=o.toggle}if(o.transition!=null){c=o.transition}if(o.fps!=null){e=o.fps}if(o.useCSSBox!=null){m=o.useCSSBox}}var d=new Spry.Effect.Utils.Rectangle;d.width=f.width;d.height=g;var n=new Spry.Effect.Utils.Rectangle;n.width=f.width;n.height=l;o={duration:b,toggle:p,transition:c,scaleContent:h,useCSSBox:m,from:k,to:a,fps:e};var j=new Spry.Effect.Size(i,d,n,o);this.addNextEffect(j)};Spry.Effect.Blind.prototype=new Spry.Effect.Cluster();Spry.Effect.Blind.prototype.constructor=Spry.Effect.Blind;Spry.Effect.Highlight=function(f,h){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Highlight")}Spry.Effect.Cluster.call(this,h);this.name="Highlight";var a=1000;var b="#ffffff";var i=false;var c=Spry.sinusoidalTransition;var d=60;var f=Spry.Effect.getElement(f);this.element=f;if(!this.element){return}var g=Spry.Effect.getBgColor(f);if(g=="transparent"){g="#ffff99"}if(h){if(h.duration!=null){a=h.duration}if(h.from!=null){g=h.from}if(h.to!=null){b=h.to}if(h.toggle!=null){i=h.toggle}if(h.transition!=null){c=h.transition}if(h.fps!=null){d=h.fps}}if(g.indexOf("rgb")!=-1){var g=Spry.Effect.Utils.rgb(parseInt(g.substring(g.indexOf("(")+1,g.indexOf(",")),10),parseInt(g.substring(g.indexOf(",")+1,g.lastIndexOf(",")),10),parseInt(g.substring(g.lastIndexOf(",")+1,g.indexOf(")")),10))}if(b.indexOf("rgb")!=-1){var b=Spry.Effect.Utils.rgb(parseInt(b.substring(b.indexOf("(")+1,b.indexOf(",")),10),parseInt(b.substring(b.indexOf(",")+1,b.lastIndexOf(",")),10),parseInt(b.substring(b.lastIndexOf(",")+1,b.indexOf(")")),10))}var g=Spry.Effect.Utils.longColorVersion(g);var b=Spry.Effect.Utils.longColorVersion(b);this.restoreBackgroundImage=Spry.Effect.getStyleProp(f,"background-image");h={duration:a,toggle:i,transition:c,fps:d};var e=new Spry.Effect.Color(f,g,b,h);this.addNextEffect(e);this.addObserver({onPreEffect:function(j){Spry.Effect.setStyleProp(j.element,"background-image","none")},onPostEffect:function(j){Spry.Effect.setStyleProp(j.element,"background-image",j.restoreBackgroundImage);if(j.direction==Spry.forwards&&j.options.restoreColor){Spry.Effect.setStyleProp(f,"background-color",j.options.restoreColor)}}})};Spry.Effect.Highlight.prototype=new Spry.Effect.Cluster();Spry.Effect.Highlight.prototype.constructor=Spry.Effect.Highlight;Spry.Effect.Slide=function(a,d){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Slide")}Spry.Effect.Cluster.call(this,d);this.name="Slide";var a=Spry.Effect.getElement(a);this.element=a;if(!this.element){return}var k=1000;var p=false;var r=Spry.sinusoidalTransition;var b=60;var h=false;var i=Spry.Effect.Utils.getFirstChildElement(a);var s=-1;if(/MSIE 7.0/.test(navigator.userAgent)&&/Windows NT/.test(navigator.userAgent)){Spry.Effect.makePositioned(a)}Spry.Effect.makeClipping(a);if(/MSIE 6.0/.test(navigator.userAgent)&&/Windows NT/.test(navigator.userAgent)){var f=Spry.Effect.getStyleProp(a,"position");if(f&&(f=="static"||f=="fixed")){Spry.Effect.setStyleProp(a,"position","relative");Spry.Effect.setStyleProp(a,"top","");Spry.Effect.setStyleProp(a,"left","")}}if(i){Spry.Effect.makePositioned(i);Spry.Effect.makeClipping(i);var j=Spry.Effect.getDimensionsRegardlessOfDisplayState(i,a);Spry.Effect.setStyleProp(i,"width",j.width+"px")}var e=Spry.Effect.getDimensionsRegardlessOfDisplayState(a);var g=new Spry.Effect.Utils.Rectangle();var c=new Spry.Effect.Utils.Rectangle();g.width=c.width=e.width;g.height=c.height=e.height;if(!this.options.to){if(!d){d={}}d.to="0%"}if(d&&d.horizontal!==null&&d.horizontal===true){h=true}if(d.duration!=null){k=d.duration}if(d.from!=null){if(h){if(Spry.Effect.Utils.isPercentValue(d.from)){e.width=g.width*Spry.Effect.Utils.getPercentValue(d.from)/100}else{e.width=Spry.Effect.Utils.getPixelValue(d.from)}}else{if(Spry.Effect.Utils.isPercentValue(d.from)){e.height=g.height*Spry.Effect.Utils.getPercentValue(d.from)/100}else{e.height=Spry.Effect.Utils.getPixelValue(d.from)}}}if(d.to!=null){if(h){if(Spry.Effect.Utils.isPercentValue(d.to)){c.width=g.width*Spry.Effect.Utils.getPercentValue(d.to)/100}else{c.width=Spry.Effect.Utils.getPixelValue(d.to)}}else{if(Spry.Effect.Utils.isPercentValue(d.to)){c.height=g.height*Spry.Effect.Utils.getPercentValue(d.to)/100}else{c.height=Spry.Effect.Utils.getPixelValue(d.to)}}}if(d.toggle!=null){p=d.toggle}if(d.transition!=null){r=d.transition}if(d.fps!=null){b=d.fps}d={duration:k,transition:r,scaleContent:false,toggle:p,fps:b};var l=new Spry.Effect.Size(a,e,c,d);this.addParallelEffect(l);if((e.width<c.width&&h)||(e.height<c.height&&!h)){s=1}var o=new Spry.Effect.Utils.Position();var n=new Spry.Effect.Utils.Position();n.x=o.x=Spry.Effect.intPropStyle(i,"left");n.y=o.y=Spry.Effect.intPropStyle(i,"top");n.units=o.units;if(h){n.x=parseInt(o.x+s*(e.width-c.width),10)}else{n.y=parseInt(o.y+s*(e.height-c.height),10)}if(s==1){var q=o;var o=n;var n=q}d={duration:k,transition:r,toggle:p,from:o,to:n,fps:b};var m=new Spry.Effect.Move(i,o,n,d);this.addParallelEffect(m)};Spry.Effect.Slide.prototype=new Spry.Effect.Cluster();Spry.Effect.Slide.prototype.constructor=Spry.Effect.Slide;Spry.Effect.Grow=function(b,d){if(!b){return}if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Grow")}Spry.Effect.Cluster.call(this,d);this.name="Grow";var n=1000;var u=false;var q=true;var e=false;var k=true;var t=false;var w=Spry.squareTransition;var c=60;var b=Spry.Effect.getElement(b);this.element=b;if(!this.element){return}Spry.Effect.makeClipping(b);var m=Spry.Effect.getDimensionsRegardlessOfDisplayState(b);var x=m.width;var o=m.height;var v=(x==0)?1:o/x;var s=new Spry.Effect.Utils.Rectangle;s.width=0;s.height=0;var a=new Spry.Effect.Utils.Rectangle;a.width=x;a.height=o;var h=d?d.from:m.width;var g=d?d.to:0;var i=Spry.Effect.Utils.getPixelValue;if(d){if(d.growCenter!=null){k=d.growCenter}if(d.duration!=null){n=d.duration}if(d.useCSSBox!=null){t=d.useCSSBox}if(d.scaleContent!=null){q=d.scaleContent}if(d.from!=null){if(Spry.Effect.Utils.isPercentValue(d.from)){s.width=x*(Spry.Effect.Utils.getPercentValue(d.from)/100);s.height=o*(Spry.Effect.Utils.getPercentValue(d.from)/100)}else{if(e){s.height=i(d.from);s.width=i(d.from)/v}else{s.width=i(d.from);s.height=v*i(d.from)}}}if(d.to!=null){if(Spry.Effect.Utils.isPercentValue(d.to)){a.width=x*(Spry.Effect.Utils.getPercentValue(d.to)/100);a.height=o*(Spry.Effect.Utils.getPercentValue(d.to)/100)}else{if(e){a.height=i(d.to);a.width=i(d.to)/v}else{a.width=i(d.to);a.height=v*i(d.to)}}}if(d.toggle!=null){u=d.toggle}if(d.transition!=null){w=d.transition}if(d.fps!=null){c=d.fps}}d={duration:n,toggle:u,transition:w,scaleContent:q,useCSSBox:t,fps:c};var l=new Spry.Effect.Size(b,s,a,d);this.addParallelEffect(l);if(k){Spry.Effect.makePositioned(b);var j=new Spry.Effect.Utils.Position();j.x=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(b,"left"),10);j.y=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(b,"top"),10);if(!j.x){j.x=0}if(!j.y){j.y=0}d={duration:n,toggle:u,transition:w,from:h,to:g,fps:c};var r=new Spry.Effect.Utils.Position;r.x=j.x+(x-s.width)/2;r.y=j.y+(o-s.height)/2;var p=new Spry.Effect.Utils.Position;p.x=j.x+(x-a.width)/2;p.y=j.y+(o-a.height)/2;var f=new Spry.Effect.Move(b,r,p,d);this.addParallelEffect(f)}};Spry.Effect.Grow.prototype=new Spry.Effect.Cluster();Spry.Effect.Grow.prototype.constructor=Spry.Effect.Grow;Spry.Effect.Shake=function(j,p){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Shake")}Spry.Effect.Cluster.call(this,p);this.options.direction=false;if(this.options.toggle){this.options.toggle=false}this.name="Shake";var j=Spry.Effect.getElement(j);this.element=j;if(!this.element){return}var b=100;var c=Spry.linearTransition;var e=60;var m=4;if(p){if(p.duration!=null){m=Math.ceil(this.options.duration/b)-1}if(p.fps!=null){e=p.fps}if(p.transition!=null){c=p.transition}}Spry.Effect.makePositioned(j);var f=new Spry.Effect.Utils.Position();f.x=parseInt(Spry.Effect.getStyleProp(j,"left"),10);f.y=parseInt(Spry.Effect.getStyleProp(j,"top"),10);if(!f.x){f.x=0}if(!f.y){f.y=0}var d=new Spry.Effect.Utils.Position;d.x=f.x;d.y=f.y;var k=new Spry.Effect.Utils.Position;k.x=f.x+20;k.y=f.y+0;var g=new Spry.Effect.Utils.Position;g.x=f.x+-20;g.y=f.y+0;p={duration:Math.ceil(b/2),toggle:false,fps:e,transition:c};var o=new Spry.Effect.Move(j,d,k,p);this.addNextEffect(o);p={duration:b,toggle:false,fps:e,transition:c};var n=new Spry.Effect.Move(j,k,g,p);var a=new Spry.Effect.Move(j,g,k,p);for(var h=0;h<m;h++){if(h%2==0){this.addNextEffect(n)}else{this.addNextEffect(a)}}var l=(m%2==0)?k:g;p={duration:Math.ceil(b/2),toggle:false,fps:e,transition:c};var o=new Spry.Effect.Move(j,l,d,p);this.addNextEffect(o)};Spry.Effect.Shake.prototype=new Spry.Effect.Cluster();Spry.Effect.Shake.prototype.constructor=Spry.Effect.Shake;Spry.Effect.Shake.prototype.doToggle=function(){};Spry.Effect.Squish=function(b,a){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Squish")}if(!a){a={}}if(!a.to){a.to="0%"}if(!a.from){a.from="100%"}a.growCenter=false;Spry.Effect.Grow.call(this,b,a);this.name="Squish"};Spry.Effect.Squish.prototype=new Spry.Effect.Grow();Spry.Effect.Squish.prototype.constructor=Spry.Effect.Squish;Spry.Effect.Pulsate=function(g,m){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Pulsate")}Spry.Effect.Cluster.call(this,m);this.options.direction=false;if(this.options.toggle){this.options.toggle=false}var g=Spry.Effect.getElement(g);var a=0;this.element=g;if(!this.element){return}this.name="Pulsate";var b=100;var l=100;var e=0;var n=false;var c=Spry.linearTransition;var d=60;if(/MSIE/.test(navigator.userAgent)){a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"filter").replace(/alpha\(opacity=([0-9]{1,3})\)/g,"$1"),10)}else{a=parseInt(Spry.Effect.getStylePropRegardlessOfDisplayState(this.element,"opacity")*100,10)}if(isNaN(a)){a=100}if(m){if(m.from!=null){if(Spry.Effect.Utils.isPercentValue(m.from)){l=Spry.Effect.Utils.getPercentValue(m.from)*a/100}else{l=m.from}}if(m.to!=null){if(Spry.Effect.Utils.isPercentValue(m.to)){e=Spry.Effect.Utils.getPercentValue(m.to)*a/100}else{e=m.to}}if(m.transition!=null){c=m.transition}if(m.fps!=null){d=m.fps}}m={duration:b,toggle:n,transition:c,fps:d};l=l/100;e=e/100;var j=new Spry.Effect.Opacity(g,l,e,m);var k=new Spry.Effect.Opacity(g,e,l,m);var h=parseInt(this.options.duration/200,10);for(var f=0;f<h;f++){this.addNextEffect(j);this.addNextEffect(k)}};Spry.Effect.Pulsate.prototype=new Spry.Effect.Cluster();Spry.Effect.Pulsate.prototype.constructor=Spry.Effect.Pulsate;Spry.Effect.Pulsate.prototype.doToggle=function(){};Spry.Effect.Puff=function(i,p){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Puff")}Spry.Effect.Cluster.call(this,p);var i=Spry.Effect.getElement(i);this.element=i;if(!this.element){return}this.name="Puff";var q=false;var g=false;var b=1000;var c=Spry.fifthTransition;var d=60;Spry.Effect.makePositioned(i);if(p){if(p.toggle!=null){q=p.toggle}if(p.duration!=null){b=p.duration}if(p.transition!=null){c=p.transition}if(p.fps!=null){d=p.fps}}var e=Spry.Effect.getDimensions(i);var h=e.width;var m=e.height;p={duration:b,toggle:q,transition:c,fps:d};var l=1;var f=0;var a=new Spry.Effect.Opacity(i,l,f,p);this.addParallelEffect(a);var o=Spry.Effect.getPosition(i);var k=new Spry.Effect.Utils.Position;k.x=h/2*-1;k.y=m/2*-1;p={duration:b,toggle:q,transition:c,from:o,to:k,fps:d};var j=new Spry.Effect.Move(i,o,k,p);this.addParallelEffect(j);var n=this;this.addObserver({onPreEffect:function(){if(n.direction==Spry.backwards){n.element.style.display="block"}},onPostEffect:function(){if(n.direction==Spry.forwards){n.element.style.display="none"}}})};Spry.Effect.Puff.prototype=new Spry.Effect.Cluster;Spry.Effect.Puff.prototype.constructor=Spry.Effect.Puff;Spry.Effect.DropOut=function(g,n){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("DropOut")}Spry.Effect.Cluster.call(this,n);var g=Spry.Effect.getElement(g);this.element=g;if(!this.element){return}var b=1000;var d=60;var c=Spry.fifthTransition;var k=Spry.forwards;var o=false;this.name="DropOut";Spry.Effect.makePositioned(g);if(n){if(n.duration!=null){b=n.duration}if(n.toggle!=null){o=n.toggle}if(n.fps!=null){d=n.fps}if(n.transition!=null){c=n.transition}if(n.dropIn!=null){k=-1}}var e=new Spry.Effect.Utils.Position();e.x=parseInt(Spry.Effect.getStyleProp(g,"left"),10);e.y=parseInt(Spry.Effect.getStyleProp(g,"top"),10);if(!e.x){e.x=0}if(!e.y){e.y=0}var m=new Spry.Effect.Utils.Position;m.x=e.x+0;m.y=e.y+0;var i=new Spry.Effect.Utils.Position;i.x=e.x+0;i.y=e.y+(k*160);n={from:m,to:i,duration:b,toggle:o,transition:c,fps:d};var h=new Spry.Effect.Move(g,n.from,n.to,n);this.addParallelEffect(h);var j=1;var f=0;n={duration:b,toggle:o,transition:c,fps:d};var a=new Spry.Effect.Opacity(g,j,f,n);this.addParallelEffect(a);var l=this;this.addObserver({onPreEffect:function(){l.element.style.display="block"},onPostEffect:function(){if(l.direction==Spry.forwards){l.element.style.display="none"}}})};Spry.Effect.DropOut.prototype=new Spry.Effect.Cluster();Spry.Effect.DropOut.prototype.constructor=Spry.Effect.DropOut;Spry.Effect.Fold=function(j,o){if(!this.notStaticAnimator){return Spry.Effect.Utils.showInitError("Fold")}Spry.Effect.Cluster.call(this,o);var j=Spry.Effect.getElement(j);this.element=j;if(!this.element){return}this.name="Fold";var a=1000;var p=false;var h=true;var m=false;var b=Spry.fifthTransition;var d=d;Spry.Effect.makeClipping(j);var e=Spry.Effect.getDimensionsRegardlessOfDisplayState(j);var i=e.width;var l=e.height;var f=i;var g=l/5;var c=new Spry.Effect.Utils.Rectangle;c.width=i;c.height=l;var n=new Spry.Effect.Utils.Rectangle;n.width=f;n.height=g;if(o){if(o.duration!=null){a=Math.ceil(o.duration/2)}if(o.toggle!=null){p=o.toggle}if(o.useCSSBox!=null){m=o.useCSSBox}if(o.fps!=null){d=o.fps}if(o.transition!=null){b=o.transition}}o={duration:a,toggle:p,scaleContent:h,useCSSBox:m,transition:b,fps:d};var k=new Spry.Effect.Size(j,c,n,o);this.addNextEffect(k);c.width=n.width;c.height=n.height;n.width="0%";var k=new Spry.Effect.Size(j,c,n,o);this.addNextEffect(k)};Spry.Effect.Fold.prototype=new Spry.Effect.Cluster();Spry.Effect.Fold.prototype.constructor=Spry.Effect.Fold;Spry.Effect.DoFade=function(b,a){return Spry.Effect.Utils.DoEffect("Fade",b,a)};Spry.Effect.DoBlind=function(b,a){return Spry.Effect.Utils.DoEffect("Blind",b,a)};Spry.Effect.DoHighlight=function(b,a){return Spry.Effect.Utils.DoEffect("Highlight",b,a)};Spry.Effect.DoSlide=function(b,a){return Spry.Effect.Utils.DoEffect("Slide",b,a)};Spry.Effect.DoGrow=function(b,a){return Spry.Effect.Utils.DoEffect("Grow",b,a)};Spry.Effect.DoShake=function(b,a){return Spry.Effect.Utils.DoEffect("Shake",b,a)};Spry.Effect.DoSquish=function(b,a){return Spry.Effect.Utils.DoEffect("Squish",b,a)};Spry.Effect.DoPulsate=function(b,a){return Spry.Effect.Utils.DoEffect("Pulsate",b,a)};Spry.Effect.DoPuff=function(b,a){return Spry.Effect.Utils.DoEffect("Puff",b,a)};Spry.Effect.DoDropOut=function(b,a){return Spry.Effect.Utils.DoEffect("DropOut",b,a)};Spry.Effect.DoFold=function(b,a){return Spry.Effect.Utils.DoEffect("Fold",b,a)};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.CollapsiblePanel=function(a,b){this.element=this.getElement(a);this.focusElement=null;this.hoverClass="CollapsiblePanelTabHover";this.openClass="CollapsiblePanelOpen";this.closedClass="CollapsiblePanelClosed";this.focusedClass="CollapsiblePanelFocused";this.enableAnimation=true;this.enableKeyboardNavigation=true;this.animator=null;this.hasFocus=false;this.contentIsOpen=false;this.openPanelKeyCode=Spry.Widget.CollapsiblePanel.KEY_DOWN;this.closePanelKeyCode=Spry.Widget.CollapsiblePanel.KEY_UP;Spry.Widget.CollapsiblePanel.setOptions(this,b);this.attachBehaviors()};Spry.Widget.CollapsiblePanel.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.CollapsiblePanel.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.CollapsiblePanel.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.CollapsiblePanel.prototype.hasClassName=function(b,a){if(!b||!a||!b.className||b.className.search(new RegExp("\\b"+a+"\\b"))==-1){return false}return true};Spry.Widget.CollapsiblePanel.prototype.setDisplay=function(a,b){if(a){a.style.display=b}};Spry.Widget.CollapsiblePanel.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.CollapsiblePanel.prototype.onTabMouseOver=function(a){this.addClassName(this.getTab(),this.hoverClass);return false};Spry.Widget.CollapsiblePanel.prototype.onTabMouseOut=function(a){this.removeClassName(this.getTab(),this.hoverClass);return false};Spry.Widget.CollapsiblePanel.prototype.open=function(){this.contentIsOpen=true;if(this.enableAnimation){if(this.animator){this.animator.stop()}this.animator=new Spry.Widget.CollapsiblePanel.PanelAnimator(this,true,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{this.setDisplay(this.getContent(),"block")}this.removeClassName(this.element,this.closedClass);this.addClassName(this.element,this.openClass)};Spry.Widget.CollapsiblePanel.prototype.close=function(){this.contentIsOpen=false;if(this.enableAnimation){if(this.animator){this.animator.stop()}this.animator=new Spry.Widget.CollapsiblePanel.PanelAnimator(this,false,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{this.setDisplay(this.getContent(),"none")}this.removeClassName(this.element,this.openClass);this.addClassName(this.element,this.closedClass)};Spry.Widget.CollapsiblePanel.prototype.onTabClick=function(a){if(this.isOpen()){this.close()}else{this.open()}this.focus();return this.stopPropagation(a)};Spry.Widget.CollapsiblePanel.prototype.onFocus=function(a){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};Spry.Widget.CollapsiblePanel.prototype.onBlur=function(a){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.CollapsiblePanel.KEY_UP=38;Spry.Widget.CollapsiblePanel.KEY_DOWN=40;Spry.Widget.CollapsiblePanel.prototype.onKeyDown=function(b){var a=b.keyCode;if(!this.hasFocus||(a!=this.openPanelKeyCode&&a!=this.closePanelKeyCode)){return true}if(this.isOpen()&&a==this.closePanelKeyCode){this.close()}else{if(a==this.openPanelKeyCode){this.open()}}return this.stopPropagation(b)};Spry.Widget.CollapsiblePanel.prototype.stopPropagation=function(a){if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}return false};Spry.Widget.CollapsiblePanel.prototype.attachPanelHandlers=function(){var c=this.getTab();if(!c){return}var b=this;Spry.Widget.CollapsiblePanel.addEventListener(c,"click",function(f){return b.onTabClick(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(c,"mouseover",function(f){return b.onTabMouseOver(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(c,"mouseout",function(f){return b.onTabMouseOut(f)},false);if(this.enableKeyboardNavigation){var d=null;var a=null;this.preorderTraversal(c,function(e){if(e.nodeType==1){var f=c.attributes.getNamedItem("tabindex");if(f){d=e;return true}if(!a&&e.nodeName.toLowerCase()=="a"){a=e}}return false});if(d){this.focusElement=d}else{if(a){this.focusElement=a}}if(this.focusElement){Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement,"focus",function(f){return b.onFocus(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement,"blur",function(f){return b.onBlur(f)},false);Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement,"keydown",function(f){return b.onKeyDown(f)},false)}}};Spry.Widget.CollapsiblePanel.addEventListener=function(c,b,d,a){try{if(c.addEventListener){c.addEventListener(b,d,a)}else{if(c.attachEvent){c.attachEvent("on"+b,d)}}}catch(f){}};Spry.Widget.CollapsiblePanel.prototype.preorderTraversal=function(a,b){var d=false;if(a){d=b(a);if(a.hasChildNodes()){var f=a.firstChild;while(!d&&f){d=this.preorderTraversal(f,b);try{f=f.nextSibling}catch(c){f=null}}}}return d};Spry.Widget.CollapsiblePanel.prototype.attachBehaviors=function(){var a=this.element;var b=this.getTab();var c=this.getContent();if(this.contentIsOpen||this.hasClassName(a,this.openClass)){this.addClassName(a,this.openClass);this.removeClassName(a,this.closedClass);this.setDisplay(c,"block");this.contentIsOpen=true}else{this.removeClassName(a,this.openClass);this.addClassName(a,this.closedClass);this.setDisplay(c,"none");this.contentIsOpen=false}this.attachPanelHandlers()};Spry.Widget.CollapsiblePanel.prototype.getTab=function(){return this.getElementChildren(this.element)[0]};Spry.Widget.CollapsiblePanel.prototype.getContent=function(){return this.getElementChildren(this.element)[1]};Spry.Widget.CollapsiblePanel.prototype.isOpen=function(){return this.contentIsOpen};Spry.Widget.CollapsiblePanel.prototype.getElementChildren=function(b){var a=[];var c=b.firstChild;while(c){if(c.nodeType==1){a.push(c)}c=c.nextSibling}return a};Spry.Widget.CollapsiblePanel.prototype.focus=function(){if(this.focusElement&&this.focusElement.focus){this.focusElement.focus()}};Spry.Widget.CollapsiblePanel.PanelAnimator=function(a,d,b){this.timer=null;this.interval=0;this.fps=60;this.duration=300;this.startTime=0;this.transition=Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition;this.onComplete=null;this.panel=a;this.content=a.getContent();this.doOpen=d;Spry.Widget.CollapsiblePanel.setOptions(this,b,true);this.interval=Math.floor(1000/this.fps);var f=this.content;var e=f.offsetHeight?f.offsetHeight:0;this.fromHeight=(d&&f.style.display=="none")?0:e;if(!d){this.toHeight=0}else{if(f.style.display=="none"){f.style.visibility="hidden";f.style.display="block"}f.style.height="";this.toHeight=f.offsetHeight}this.distance=this.toHeight-this.fromHeight;this.overflow=f.style.overflow;f.style.height=this.fromHeight+"px";f.style.visibility="visible";f.style.overflow="hidden";f.style.display="block"};Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition=function(d,b,a,c){d/=c;return b+((2-d)*d*a)};Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.start=function(){var a=this;this.startTime=(new Date).getTime();this.timer=setTimeout(function(){a.stepAnimation()},this.interval)};Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stop=function(){if(this.timer){clearTimeout(this.timer);this.content.style.overflow=this.overflow}this.timer=null};Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stepAnimation=function(){var d=(new Date).getTime();var b=d-this.startTime;if(b>=this.duration){if(!this.doOpen){this.content.style.display="none"}this.content.style.overflow=this.overflow;this.content.style.height=this.toHeight+"px";if(this.onComplete){this.onComplete()}return}var c=this.transition(b,this.fromHeight,this.distance,this.duration);this.content.style.height=((c<0)?0:c)+"px";var a=this;this.timer=setTimeout(function(){a.stepAnimation()},this.interval)};Spry.Widget.CollapsiblePanelGroup=function(a,b){this.element=this.getElement(a);this.opts=b;this.attachBehaviors()};Spry.Widget.CollapsiblePanelGroup.prototype.setOptions=Spry.Widget.CollapsiblePanel.prototype.setOptions;Spry.Widget.CollapsiblePanelGroup.prototype.getElement=Spry.Widget.CollapsiblePanel.prototype.getElement;Spry.Widget.CollapsiblePanelGroup.prototype.getElementChildren=Spry.Widget.CollapsiblePanel.prototype.getElementChildren;Spry.Widget.CollapsiblePanelGroup.prototype.setElementWidget=function(a,b){if(!a||!b){return}if(!a.spry){a.spry=new Object}a.spry.collapsiblePanel=b};Spry.Widget.CollapsiblePanelGroup.prototype.getElementWidget=function(a){return(a&&a.spry&&a.spry.collapsiblePanel)?a.spry.collapsiblePanel:null};Spry.Widget.CollapsiblePanelGroup.prototype.getPanels=function(){if(!this.element){return[]}return this.getElementChildren(this.element)};Spry.Widget.CollapsiblePanelGroup.prototype.getPanel=function(a){return this.getPanels()[a]};Spry.Widget.CollapsiblePanelGroup.prototype.attachBehaviors=function(){if(!this.element){return}var d=this.getPanels();var c=d.length;for(var b=0;b<c;b++){var a=d[b];this.setElementWidget(a,new Spry.Widget.CollapsiblePanel(a,this.opts))}};Spry.Widget.CollapsiblePanelGroup.prototype.openPanel=function(b){var a=this.getElementWidget(this.getPanel(b));if(a&&!a.isOpen()){a.open()}};Spry.Widget.CollapsiblePanelGroup.prototype.closePanel=function(b){var a=this.getElementWidget(this.getPanel(b));if(a&&a.isOpen()){a.close()}};Spry.Widget.CollapsiblePanelGroup.prototype.openAllPanels=function(){var d=this.getPanels();var c=d.length;for(var b=0;b<c;b++){var a=this.getElementWidget(d[b]);if(a&&!a.isOpen()){a.open()}}};Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels=function(){var d=this.getPanels();var c=d.length;for(var b=0;b<c;b++){var a=this.getElementWidget(d[b]);if(a&&a.isOpen()){a.close()}}};var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.BrowserSniff=function(){var i=navigator.appName.toString();var e=navigator.platform.toString();var c=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var g=/Opera.([0-9\.]*)/i;var d=/MSIE.([0-9\.]*)/i;var f=/gecko/i;var h=/(applewebkit|safari)\/([\d\.]*)/i;var a=false;if((a=c.match(g))){this.opera=true;this.version=parseFloat(a[1])}else{if((a=c.match(d))){this.ie=true;this.version=parseFloat(a[1])}else{if((a=c.match(h))){this.safari=true;this.version=parseFloat(a[2])}else{if(c.match(f)){var j=/rv:\s*([0-9\.]+)/i;a=c.match(j);this.mozilla=true;this.version=parseFloat(a[1])}}}}this.windows=this.mac=this.linux=false;this.Platform=c.match(/windows/i)?"windows":(c.match(/linux/i)?"linux":(c.match(/mac/i)?"mac":c.match(/unix/i)?"unix":"unknown"));this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false}};Spry.is=new Spry.Widget.BrowserSniff();Spry.Widget.ValidationTextField=function(b,c,a){c=Spry.Widget.Utils.firstValid(c,"none");if(typeof c!="string"){this.showError("The second parameter in the constructor should be the validation type, the options are the third parameter.");return}if(typeof Spry.Widget.ValidationTextField.ValidationDescriptors[c]=="undefined"){this.showError("Unknown validation type received as the second parameter.");return}a=Spry.Widget.Utils.firstValid(a,{});this.type=c;if(!this.isBrowserSupported()){a.useCharacterMasking=false}this.init(b,a);var d=["submit"].concat(Spry.Widget.Utils.firstValid(this.options.validateOn,[]));d=d.join(",");this.validateOn=0;this.validateOn=this.validateOn|(d.indexOf("submit")!=-1?Spry.Widget.ValidationTextField.ONSUBMIT:0);this.validateOn=this.validateOn|(d.indexOf("blur")!=-1?Spry.Widget.ValidationTextField.ONBLUR:0);this.validateOn=this.validateOn|(d.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,c){if(d==""||d=="-"||d=="+"){return false}var b=/^[\-\+]?\d*$/;if(!b.test(d)){return false}c=c||{allowNegative:false};var a=parseInt(d,10);if(!isNaN(a)){var e=true;if(typeof c.allowNegative!="undefined"&&c.allowNegative==false){e=false}if(!e&&d<0){a=false}}else{a=false}return a}},real:{characterMasking:/[\d\.,\-\+e]/i,regExpFilter:/^[\-\+]?\d(?:|\.,\d{0,2})|(?:|e{0,1}[\-\+]?\d{0,})$/i,validation:function(d,c){var b=/^[\+\-]?[0-9]+([\.,][0-9]+)?([eE]{0,1}[\-\+]?[0-9]+)?$/;if(!b.test(d)){return false}var a=parseFloat(d);if(isNaN(a)){a=false}return a}},currency:{formats:{dot_comma:{characterMasking:/[\d\.\,\-\+\$]/,regExpFilter:/^[\-\+]?(?:[\d\.]*)+(|\,\d{0,2})$/,validation:function(c,b){var a=false;if(/^(\-|\+)?\d{1,3}(?:\.\d{3})*(?:\,\d{2}|)$/.test(c)||/^(\-|\+)?\d+(?:\,\d{2}|)$/.test(c)){c=c.toString().replace(/\./gi,"").replace(/\,/,".");a=parseFloat(c)}return a}},comma_dot:{characterMasking:/[\d\.\,\-\+\$]/,regExpFilter:/^[\-\+]?(?:[\d\,]*)+(|\.\d{0,2})$/,validation:function(c,b){var a=false;if(/^(\-|\+)?\d{1,3}(?:\,\d{3})*(?:\.\d{2}|)$/.test(c)||/^(\-|\+)?\d+(?:\.\d{2}|)$/.test(c)){c=c.toString().replace(/\,/gi,"");a=parseFloat(c)}return a}}}},email:{characterMasking:/[^\s]/,validation:function(b,a){var c=/^[\w\.-]+@[\w\.-]+\.\w+$/i;return c.test(b)}},date:{validation:function(k,o){var j=/^([mdy]+)[\.\-\/\\\s]+([mdy]+)[\.\-\/\\\s]+([mdy]+)$/i;var f=this.dateValidationPattern;var a=o.format.match(j);var l=k.match(f);if(a!==null&&l!==null){var b=-1;var e=-1;var c=-1;for(var g=1;g<a.length;g++){switch(a[g].toLowerCase()){case"dd":b=g;break;case"mm":e=g;break;case"yy":case"yyyy":c=g;break}}if(b!=-1&&e!=-1&&c!=-1){var h=-1;var n=parseInt(l[b],10);var m=parseInt(l[e],10);var d=parseInt(l[c],10);if(m<1||m>12){return false}switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:h=31;break;case 4:case 6:case 9:case 11:h=30;break;case 2:if((parseInt(d/4,10)*4==d)&&(d%100!=0||d%400==0)){h=29}else{h=28}break}if(n<1||n>h){return false}return(new Date(d,m-1,n))}}else{return false}}},time:{validation:function(m,q){var g=/([hmst]+)/gi;var e=/(\d+|AM?|PM?)/gi;var a=q.format.match(g);var p=m.match(e);if(a!==null&&p!==null){if(a.length!=p.length){return false}var n=-1;var d=-1;var b=-1;var o=-1;var l=0,k=0,j=0,h="AM";for(var f=0;f<a.length;f++){switch(a[f].toLowerCase()){case"hh":n=f;break;case"mm":d=f;break;case"ss":b=f;break;case"t":case"tt":o=f;break}}if(n!=-1){var l=parseInt(p[n],10);if(isNaN(l)||l>(a[n]=="HH"?23:12)){return false}}if(d!=-1){var k=parseInt(p[d],10);if(isNaN(k)||k>59){return false}}if(b!=-1){var j=parseInt(p[b],10);if(isNaN(j)||j>59){return false}}if(o!=-1){var h=p[o].toUpperCase();if(a[o].toUpperCase()=="TT"&&!/^a|pm$/i.test(h)||a[o].toUpperCase()=="T"&&!/^a|p$/i.test(h)){return false}}var c=new Date(2000,0,1,l+(h.charAt(0)=="P"?12:0),k,j);return c}else{return false}}},credit_card:{characterMasking:/\d/,validation:function(g,c){var b=null;c.format=c.format||"ALL";switch(c.format.toUpperCase()){case"ALL":b=/^[3-6]{1}[0-9]{12,18}$/;break;case"VISA":b=/^4(?:[0-9]{12}|[0-9]{15})$/;break;case"MASTERCARD":b=/^5[1-5]{1}[0-9]{14}$/;break;case"AMEX":b=/^3(4|7){1}[0-9]{13}$/;break;case"DISCOVER":b=/^6011[0-9]{12}$/;break;case"DINERSCLUB":b=/^3(?:(0[0-5]{1}[0-9]{11})|(6[0-9]{12})|(8[0-9]{12}))$/;break}if(!b.test(g)){return false}var f=[];var a=1,h="";for(var d=g.length-1;d>=0;d--){if((a%2)==0){h=parseInt(g.charAt(d),10)*2;f[f.length]=h.toString().charAt(0);if(h.toString().length==2){f[f.length]=h.toString().charAt(1)}}else{h=g.charAt(d);f[f.length]=h}a++}var e=0;for(d=0;d<f.length;d++){e+=parseInt(f[d],10)}if((e%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(b,a){return/^[A-Z]{1,2}\d[\dA-Z]?\s?\d[A-Z]{2}$/.test(b)}},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(b,a){return Spry.Widget.ValidationTextField.validateIP(b,a.format)}},url:{characterMasking:/[^\s]/,validation:function(g,k){var b=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;var c=g.match(b);if(c&&c[4]){var j=c[4].split(".");var h="";for(var d=0;d<j.length;d++){h=Spry.Widget.Utils.punycode_encode(j[d],64);if(!h){return false}else{if(h!=(j[d]+"-")){j[d]="xn--"+h}}}j=j.join(".");g=g.replace(b,"$1//"+j+"$5$6$8")}var e=/^(?: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 a=g.match(e);if(a){var f=a[1];if(f){if(f=="[]"){return false}if(f.charAt(0)=="["){f=f.replace(/^\[|\]$/gi,"");return Spry.Widget.ValidationTextField.validateIP(f,"ipv6_ipv4")}else{if(/[^0-9\.]/.test(f)){return true}else{return Spry.Widget.ValidationTextField.validateIP(f,"ipv4")}}}else{return true}}else{return false}}}};Spry.Widget.ValidationTextField.validateIP=function(k,j){var n=[/^(?:[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 a=[/^(\d{1,3}\.){3}\d{1,3}$/i];var f=[];if(j=="ipv6"||j=="ipv6_ipv4"){f=f.concat(n)}if(j=="ipv4"||j=="ipv6_ipv4"){f=f.concat(a)}var e=false;for(var c=0;c<f.length;c++){if(f[c].test(k)){e=true;break}}if(e&&k.indexOf(".")!=-1){var g=k.match(/:?(?:\d{1,3}\.){3}\d{1,3}/i);if(!g){return false}g=g[0].replace(/^:/,"");var b=g.split(".");if(b.length!=4){return false}var h=/^[\-\+]?\d*$/;for(var c=0;c<b.length;c++){if(b[c]==""){return false}var m=parseInt(b[c],10);if(isNaN(m)||m>255||!h.test(b[c])||b[c].length>3||/^0{2,3}$/.test(b[c])){return false}}}if(e&&k.indexOf("/")!=-1){var l=k.match(/\/\d{1,3}$/);if(!l){return false}var d=parseInt(l[0].replace(/^\//,""),10);if(isNaN(d)||d>128||d<1){return false}}return e};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(element,options){this.element=this.getElement(element);this.errors=0;this.flags={locked:false,restoreSelection:true};this.options={};this.event_handlers=[];this.validClass="textfieldValidState";this.focusClass="textfieldFocusState";this.requiredClass="textfieldRequiredState";this.hintClass="textfieldHintState";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":options.format=Spry.Widget.Utils.firstValid(options.format,"phone_us");break;case"currency":options.format=Spry.Widget.Utils.firstValid(options.format,"comma_dot");break;case"zip_code":options.format=Spry.Widget.Utils.firstValid(options.format,"zip_us5");break;case"date":options.format=Spry.Widget.Utils.firstValid(options.format,"mm/dd/yy");break;case"time":options.format=Spry.Widget.Utils.firstValid(options.format,"HH:mm");options.pattern=options.format.replace(/[hms]/gi,"0").replace(/TT/gi,"AM").replace(/T/gi,"A");break;case"ip":options.format=Spry.Widget.Utils.firstValid(options.format,"ipv4");options.characterMasking=Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].characterMaskingFormats[options.format];break}var validationDescriptor={};if(options.format&&Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats){if(Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats[options.format]){Spry.Widget.Utils.setOptions(validationDescriptor,Spry.Widget.ValidationTextField.ValidationDescriptors[this.type].formats[options.format])}}else{Spry.Widget.Utils.setOptions(validationDescriptor,Spry.Widget.ValidationTextField.ValidationDescriptors[this.type])}options.useCharacterMasking=Spry.Widget.Utils.firstValid(options.useCharacterMasking,false);options.hint=Spry.Widget.Utils.firstValid(options.hint,"");options.isRequired=Spry.Widget.Utils.firstValid(options.isRequired,true);options.additionalError=Spry.Widget.Utils.firstValid(options.additionalError,false);if(options.additionalError){options.additionalError=this.getElement(options.additionalError)}options.characterMasking=Spry.Widget.Utils.firstValid(options.characterMasking,validationDescriptor.characterMasking);options.regExpFilter=Spry.Widget.Utils.firstValid(options.regExpFilter,validationDescriptor.regExpFilter);options.pattern=Spry.Widget.Utils.firstValid(options.pattern,validationDescriptor.pattern);options.validation=Spry.Widget.Utils.firstValid(options.validation,validationDescriptor.validation);if(typeof options.validation=="string"){options.validation=eval(options.validation)}options.minValue=Spry.Widget.Utils.firstValid(options.minValue,validationDescriptor.minValue);options.maxValue=Spry.Widget.Utils.firstValid(options.maxValue,validationDescriptor.maxValue);options.minChars=Spry.Widget.Utils.firstValid(options.minChars,validationDescriptor.minChars);options.maxChars=Spry.Widget.Utils.firstValid(options.maxChars,validationDescriptor.maxChars);Spry.Widget.Utils.setOptions(this,options);Spry.Widget.Utils.setOptions(this.options,options)};Spry.Widget.ValidationTextField.prototype.destroy=function(){if(this.event_handlers){for(var b=0;b<this.event_handlers.length;b++){Spry.Widget.Utils.removeEventListener(this.event_handlers[b][0],this.event_handlers[b][1],this.event_handlers[b][2],false)}}try{delete this.element}catch(c){}try{delete this.input}catch(c){}try{delete this.form}catch(c){}try{delete this.event_handlers}catch(c){}try{this.selection.destroy()}catch(c){}try{delete this.selection}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.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 a=this;this.event_handlers=[];this.event_handlers.push([this.input,"keydown",function(d){if(a.isDisabled()){return true}return a.onKeyDown(d||event)}]);this.event_handlers.push([this.input,"keypress",function(d){if(a.isDisabled()){return true}return a.onKeyPress(d||event)}]);if(Spry.is.opera){this.event_handlers.push([this.input,"keyup",function(d){if(a.isDisabled()){return true}return a.onKeyUp(d||event)}])}this.event_handlers.push([this.input,"focus",function(d){if(a.isDisabled()){return true}return a.onFocus(d||event)}]);this.event_handlers.push([this.input,"blur",function(d){if(a.isDisabled()){return true}return a.onBlur(d||event)}]);this.event_handlers.push([this.input,"mousedown",function(d){if(a.isDisabled()){return true}return a.onMouseDown(d||event)}]);var c=Spry.is.mozilla||Spry.is.opera||Spry.is.safari?"input":Spry.is.ie?"propertychange":"change";this.event_handlers.push([this.input,c,function(d){if(a.isDisabled()){return true}return a.onChange(d||event)}]);if(Spry.is.mozilla||Spry.is.safari){this.event_handlers.push([this.input,"dragdrop",function(d){if(a.isDisabled()){return true}a.removeHint();return a.onChange(d||event)}])}else{if(Spry.is.ie){this.event_handlers.push([this.input,"drop",function(d){if(a.isDisabled()){return true}return a.onDrop(d||event)}])}}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(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.ValidationTextField.prototype.isDisabled=function(){return this.input&&(this.input.disabled||this.input.readOnly)||!this.input};Spry.Widget.ValidationTextField.prototype.getElement=function(a){if(a&&typeof a=="string"){return document.getElementById(a)}return a};Spry.Widget.ValidationTextField.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.ValidationTextField.processLoadQueue=function(c){Spry.Widget.ValidationTextField.onloadDidFire=true;var d=Spry.Widget.ValidationTextField.loadQueue;var a=d.length;for(var b=0;b<a;b++){d[b].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(a){this.flags.locked=true;this.input.value=a;this.flags.locked=false;this.oldValue=a;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(a){if(a!=this.input.value){this.input.readOnly=true;this.input.value=a;this.input.readOnly=false;if(Spry.is.safari&&this.flags.active){this.input.focus()}}if(this.flags.restoreSelection){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;this.removeClassName(this.element,this.hintClass);this.removeClassName(this.additionalError,this.hintClass)}};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;this.addClassName(this.element,this.hintClass);this.addClassName(this.additionalError,this.hintClass)}};Spry.Widget.ValidationTextField.prototype.redTextFlash=function(){var a=this;this.addClassName(this.element,this.textfieldFlashTextClass);setTimeout(function(){a.removeClassName(a.element,a.textfieldFlashTextClass)},100)};Spry.Widget.ValidationTextField.prototype.doValidations=function(g,f){if(this.isDisabled()){return false}if(this.flags.locked){return false}if(g.length==0&&!this.isRequired){this.errors=0;return false}this.flags.locked=true;var c=false;var m=true;if(!this.options.isRequired&&g.length==0){m=false}var l=0;var j=g;if(this.useCharacterMasking&&this.characterMasking){for(var d=0;d<g.length;d++){if(!this.characterMasking.test(g.charAt(d))){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;j=f;c=true;break}}}if(!c&&this.useCharacterMasking&&this.regExpFilter){if(!this.regExpFilter.test(j)){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;c=true}}if(!c&&this.pattern){var b=this.patternToRegExp(g.length);if(!b.test(g)){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;c=true}else{if(this.patternLength!=g.length){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT}}}if(j==""){l=l|Spry.Widget.ValidationTextField.ERROR_REQUIRED}if(!c&&this.pattern&&this.useCharacterMasking){var a=this.getAutoComplete(g.length);if(a){j+=a}}if(!c&&this.minChars!==null&&m){if(g.length<this.minChars){l=l|Spry.Widget.ValidationTextField.ERROR_CHARS_MIN;m=false}}if(!c&&this.maxChars!==null&&m){if(g.length>this.maxChars){l=l|Spry.Widget.ValidationTextField.ERROR_CHARS_MAX;m=false}}if(!c&&this.validation&&m){var k=this.validation(j,this.options);if(false===k){l=l|Spry.Widget.ValidationTextField.ERROR_FORMAT;m=false}else{this.typedValue=k}}if(!c&&this.validation&&this.minValue!==null&&m){var h=this.validation(this.minValue.toString(),this.options);if(h!==false){if(this.typedValue<h){l=l|Spry.Widget.ValidationTextField.ERROR_RANGE_MIN;m=false}}}if(!c&&this.validation&&this.maxValue!==null&&m){var e=this.validation(this.maxValue.toString(),this.options);if(e!==false){if(this.typedValue>e){l=l|Spry.Widget.ValidationTextField.ERROR_RANGE_MAX;m=false}}}if(this.useCharacterMasking&&c){this.revertState(f)}this.errors=l;this.fixedValue=j;this.flags.locked=false;return c};Spry.Widget.ValidationTextField.prototype.onChange=function(c){if(Spry.is.opera&&this.flags.operaRevertOnKeyUp){return true}if(Spry.is.ie&&c&&c.propertyName!="value"){return true}if(this.flags.drop){var a=this;setTimeout(function(){a.flags.drop=false;a.onChange(null)},0);return}if(this.flags.hintOn){return true}if(this.keyCode==8||this.keyCode==46){var b=this.doValidations(this.input.value,this.input.value);this.oldValue=this.input.value;if((b||this.errors)&&this.validateOn&Spry.Widget.ValidationTextField.ONCHANGE){var a=this;setTimeout(function(){a.validate()},0);return true}}var b=this.doValidations(this.input.value,this.oldValue);if((!b||this.errors)&&this.validateOn&Spry.Widget.ValidationTextField.ONCHANGE){var a=this;setTimeout(function(){a.validate()},0)}return true};Spry.Widget.ValidationTextField.prototype.onKeyUp=function(a){if(this.flags.operaRevertOnKeyUp){this.setValue(this.oldValue);Spry.Widget.Utils.stopEvent(a);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 a=this.doValidations(this.input.value,this.input.value);if(a){this.setValue(this.oldValue);this.selection.moveTo(this.selection.start,this.selection.start)}else{this.onChange()}}};Spry.Widget.ValidationTextField.prototype.compileDatePattern=function(){var d="";var f=[];var b=[];var e=[];var a=/^([mdy]+)([\.\-\/\\\s]+)([mdy]+)([\.\-\/\\\s]+)([mdy]+)$/i;var g=this.options.format.match(a);if(g!==null){for(var c=1;c<g.length;c++){switch(g[c].toLowerCase()){case"dd":f[c-1]="\\d{1,2}";b[c-1]="\\d\\d";d+="("+f[c-1]+")";e[c-1]=null;break;case"mm":f[c-1]="\\d{1,2}";b[c-1]="\\d\\d";d+="("+f[c-1]+")";e[c-1]=null;break;case"yy":f[c-1]="\\d{1,2}";b[c-1]="\\d\\d";d+="(\\d\\d)";e[c-1]=null;break;case"yyyy":f[c-1]="\\d{1,4}";b[c-1]="\\d\\d\\d\\d";d+="(\\d\\d\\d\\d)";e[c-1]=null;break;default:f[c-1]=b[c-1]=Spry.Widget.ValidationTextField.regExpFromChars(g[c]);d+="["+f[c-1]+"]";e[c-1]=g[c]}}}this.dateValidationPattern=new RegExp("^"+d+"$","");this.dateAutocompleteCharacters=e;this.dateGroupPatterns=f;this.dateFullGroupPatterns=b;this.lastDateGroup=g.length-2};Spry.Widget.ValidationTextField.prototype.getRegExpForGroup=function(c){var b="^";for(var a=0;a<=c;a++){b+=this.dateGroupPatterns[a]}b+="$";return new RegExp(b,"")};Spry.Widget.ValidationTextField.prototype.getRegExpForFullGroup=function(c){var b="^";for(var a=0;a<c;a++){b+=this.dateGroupPatterns[a]}b+=this.dateFullGroupPatterns[c];return new RegExp(b,"")};Spry.Widget.ValidationTextField.prototype.getDateGroup=function(c,d){if(d==0){return 0}var a=c.substring(0,d);for(var b=0;b<=this.lastDateGroup;b++){if(this.getRegExpForGroup(b).test(a)){return b}}return -1};Spry.Widget.ValidationTextField.prototype.isDateGroupFull=function(a,b){return this.getRegExpForFullGroup(b).test(a)};Spry.Widget.ValidationTextField.prototype.isValueValid=function(b,d,c){var a=b.substring(0,d);return this.getRegExpForGroup(c).test(a)};Spry.Widget.ValidationTextField.prototype.isPositionAtEndOfGroup=function(b,d,c){var a=b.substring(0,d);return this.getRegExpForFullGroup(c).test(a)};Spry.Widget.ValidationTextField.prototype.nextDateDelimiterExists=function(c,e,d){var b=this.dateAutocompleteCharacters[d+1];if(c.length<e+b.length){return false}else{var a=c.substring(e,e+b.length);if(a==b){return true}}return false};Spry.Widget.ValidationTextField.prototype.onKeyPress=function(f){if(this.flags.skp){this.flags.skp=false;Spry.Widget.Utils.stopEvent(f);return false}if(f.ctrlKey||f.metaKey||!this.useCharacterMasking){return true}if(Spry.is.opera&&this.flags.operaRevertOnKeyUp){Spry.Widget.Utils.stopEvent(f);return false}if(this.keyCode==8||this.keyCode==46){var b=this.doValidations(this.input.value,this.input.value);if(b){return true}}var c=Spry.Widget.Utils.getCharacterFromEvent(f);if(c&&this.characterMasking){if(!this.characterMasking.test(c)){Spry.Widget.Utils.stopEvent(f);this.redTextFlash();return false}}if(c&&this.pattern){var g=this.patternCharacters[this.selection.start];if(/[ax]/i.test(g)){if(g.toLowerCase()==g){c=c.toLowerCase()}else{c=c.toUpperCase()}}var a=this.getAutoComplete(this.selection.start);if(this.selection.start==this.oldValue.length){if(this.oldValue.length<this.patternLength){if(a){Spry.Widget.Utils.stopEvent(f);var k=this.oldValue.substring(0,this.selection.start)+a+c;var d=this.doValidations(k,this.oldValue);if(!d){this.setValue(this.fixedValue);this.selection.moveTo(this.fixedValue.length,this.fixedValue.length)}else{this.setValue(this.oldValue.substring(0,this.selection.start)+a);this.selection.moveTo(this.selection.start+a.length,this.selection.start+a.length)}return false}}else{Spry.Widget.Utils.stopEvent(f);this.setValue(this.input.value);return false}}else{if(a){Spry.Widget.Utils.stopEvent(f);this.selection.moveTo(this.selection.start+a.length,this.selection.start+a.length);return false}}Spry.Widget.Utils.stopEvent(f);var k=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start+1);var d=this.doValidations(k,this.oldValue);if(!d){a=this.getAutoComplete(this.selection.start+1);this.setValue(this.fixedValue);this.selection.moveTo(this.selection.start+1+a.length,this.selection.start+1+a.length)}else{this.selection.moveTo(this.selection.start,this.selection.start)}return false}if(c&&this.type=="date"&&this.useCharacterMasking){var i=this.getDateGroup(this.oldValue,this.selection.start);if(i!=-1){Spry.Widget.Utils.stopEvent(f);if((i%2)!=0){i++}if(this.isDateGroupFull(this.oldValue,i)){if(this.isPositionAtEndOfGroup(this.oldValue,this.selection.start,i)){if(i==this.lastDateGroup){this.redTextFlash();return false}else{var a=this.dateAutocompleteCharacters[i+1];if(this.nextDateDelimiterExists(this.oldValue,this.selection.start,i)){var a=this.dateAutocompleteCharacters[i+1];this.selection.moveTo(this.selection.start+a.length,this.selection.start+a.length);if(c==a){return false}if(this.isDateGroupFull(this.oldValue,i+2)){k=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start+1)}else{k=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start)}if(!this.isValueValid(k,this.selection.start+1,i+2)){this.redTextFlash();return false}else{this.setValue(k);this.selection.moveTo(this.selection.start+1,this.selection.start+1)}return false}else{var a=this.dateAutocompleteCharacters[i+1];var j=a+c;k=this.oldValue.substring(0,this.selection.start)+j+this.oldValue.substring(this.selection.start);if(!this.isValueValid(k,this.selection.start+j.length,i+2)){j=a;k=this.oldValue.substring(0,this.selection.start)+j+this.oldValue.substring(this.selection.start);this.setValue(k);this.selection.moveTo(this.selection.start+j.length,this.selection.start+j.length);this.redTextFlash();return false}else{this.setValue(k);this.selection.moveTo(this.selection.start+j.length,this.selection.start+j.length);return false}}}}else{var h=1;k=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start+1);if(!this.isValueValid(k,this.selection.start+1,i)){this.redTextFlash();return false}else{if(this.isPositionAtEndOfGroup(k,this.selection.start+1,i)){if(i!=this.lastDateGroup){if(this.nextDateDelimiterExists(k,this.selection.start+1,i)){var a=this.dateAutocompleteCharacters[i+1];h=1+a.length}else{var a=this.dateAutocompleteCharacters[i+1];k=this.oldValue.substring(0,this.selection.start)+c+a+this.oldValue.substring(this.selection.start+1);h=1+a.length}}}this.setValue(k);this.selection.moveTo(this.selection.start+h,this.selection.start+h);return false}}}else{k=this.oldValue.substring(0,this.selection.start)+c+this.oldValue.substring(this.selection.start);var h=1;if(!this.isValueValid(k,this.selection.start+1,i)&&!this.isValueValid(k,this.selection.start+1,i+1)){this.redTextFlash();return false}else{var a=this.dateAutocompleteCharacters[i+1];if(c==a){if(this.nextDateDelimiterExists(this.oldValue,this.selection.start,i)){k=this.oldValue;h=1}}else{if(this.isPositionAtEndOfGroup(k,this.selection.start+1,i)){if(i!=this.lastDateGroup){if(this.nextDateDelimiterExists(k,this.selection.start+1,i)){var a=this.dateAutocompleteCharacters[i+1];h=1+a.length}else{var a=this.dateAutocompleteCharacters[i+1];k=this.oldValue.substring(0,this.selection.start)+c+a+this.oldValue.substring(this.selection.start+1);h=1+a.length}}}}this.setValue(k);this.selection.moveTo(this.selection.start+h,this.selection.start+h);return false}}}return false}};Spry.Widget.ValidationTextField.prototype.onKeyDown=function(d){this.saveState();this.keyCode=d.keyCode;if(Spry.is.opera){if(this.flags.operaPasteOperation){window.clearInterval(this.flags.operaPasteOperation);this.flags.operaPasteOperation=null}if(d.ctrlKey){var c=Spry.Widget.Utils.getCharacterFromEvent(d);if(c&&"vx".indexOf(c.toLowerCase())!=-1){var a=this;this.flags.operaPasteOperation=window.setInterval(function(){a.operaPasteMonitor()},1);return true}}}if(this.keyCode!=8&&this.keyCode!=46&&Spry.Widget.Utils.isSpecialKey(d)){return true}if(this.keyCode==8||this.keyCode==46){var b=this.doValidations(this.input.value,this.input.value);if(b){return true}}if(this.useCharacterMasking&&this.pattern&&this.keyCode==46){if(d.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(d);return false}if(this.useCharacterMasking&&this.pattern&&!d.ctrlKey&&this.keyCode==8){if(this.selection.start==this.input.value.length){var f=this.getAutoComplete(this.selection.start,-1);this.setValue(this.input.value.substring(0,this.input.value.length-(Spry.is.opera?0:1)-f.length));if(Spry.is.opera){this.selection.start=this.selection.start-1-f.length;this.selection.end=this.selection.end-1-f.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(d);return false}return true};Spry.Widget.ValidationTextField.prototype.onMouseDown=function(a){if(this.flags.active){this.saveState()}};Spry.Widget.ValidationTextField.prototype.onDrop=function(a){this.flags.drop=true;this.removeHint();this.saveState();this.flags.active=true;this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationTextField.prototype.onFocus=function(b){if(this.flags.drop){return}this.removeHint();if(this.pattern&&this.useCharacterMasking){var a=this.getAutoComplete(this.selection.start);this.setValue(this.input.value+a);this.selection.moveTo(this.input.value.length,this.input.value.length)}this.saveState();this.flags.active=true;this.addClassName(this.element,this.focusClass);this.addClassName(this.additionalError,this.focusClass)};Spry.Widget.ValidationTextField.prototype.onBlur=function(c){this.flags.active=false;this.removeClassName(this.element,this.focusClass);this.removeClassName(this.additionalError,this.focusClass);this.flags.restoreSelection=false;var b=this.doValidations(this.input.value,this.input.value);this.flags.restoreSelection=true;if(this.validateOn&Spry.Widget.ValidationTextField.ONBLUR){this.validate()}var a=this;setTimeout(function(){a.putHint()},10);return true};Spry.Widget.ValidationTextField.prototype.compilePattern=function(){if(!this.pattern){return}var f=[];var b=[];var g=[];var a=0;var h="",e="";for(var d=0;d<this.pattern.length;d++){h=this.pattern.charAt(d);if(e=="\\"){if(/[0ABXY\?]/i.test(h)){b[a-1]=h}else{b[a-1]=Spry.Widget.ValidationTextField.regExpFromChars(h)}f[a-1]=h;g[a-1]=null;e="";continue}b[a]=Spry.Widget.ValidationTextField.regExpFromChars(h);if(/[0ABXY\?]/i.test(h)){f[a]=null;g[a]=h}else{if(h=="\\"){f[a]=h;g[a]="\\"}else{f[a]=h;g[a]=null}}a++;e=h}this.autoCompleteCharacters=f;this.compiledPattern=b;this.patternCharacters=g;this.patternLength=f.length};Spry.Widget.ValidationTextField.prototype.getAutoComplete=function(h,e){if(e==-1){var g="",a="";while(h&&(g=this.getAutoComplete(--h))){a=g}return a}var b="",f="";for(var d=h;d<this.autoCompleteCharacters.length;d++){f=this.autoCompleteCharacters[d];if(f){b+=f}else{break}}return b};Spry.Widget.ValidationTextField.regExpFromChars=function(b){var a="",d="";for(var c=0;c<b.length;c++){d=b.charAt(c);switch(d){case"0":a+="\\d";break;case"A":a+="[A-Z]";break;case"a":a+="[a-z]";break;case"B":case"b":a+="[a-zA-Z]";break;case"x":a+="[0-9a-z]";break;case"X":a+="[0-9A-Z]";break;case"Y":case"y":a+="[0-9a-zA-Z]";break;case"?":a+=".";break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a+=d;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":a+=d;break;default:a+="\\"+d}}return a};Spry.Widget.ValidationTextField.prototype.patternToRegExp=function(a){var c="^";var b=Math.min(this.compiledPattern.length,a);for(var d=0;d<b;d++){c+=this.compiledPattern[d]}c+="$";c=new RegExp(c,"");return c};Spry.Widget.ValidationTextField.prototype.resetClasses=function(){var b=[this.requiredClass,this.invalidFormatClass,this.invalidRangeMinClass,this.invalidRangeMaxClass,this.invalidCharsMinClass,this.invalidCharsMaxClass,this.validClass];for(var a=0;a<b.length;a++){this.removeClassName(this.element,b[a]);this.removeClassName(this.additionalError,b[a])}};Spry.Widget.ValidationTextField.prototype.reset=function(){this.removeHint();this.oldValue=this.input.defaultValue;this.resetClasses();if(Spry.is.ie){this.input.forceFireFirstOnPropertyChange=true;this.input.removeAttribute("forceFireFirstOnPropertyChange")}var a=this;setTimeout(function(){a.putHint()},10)};Spry.Widget.ValidationTextField.prototype.validate=function(){this.resetClasses();if(this.validateOn&Spry.Widget.ValidationTextField.ONSUBMIT){this.removeHint();this.doValidations(this.input.value,this.input.value);if(!this.flags.active){var a=this;setTimeout(function(){a.putHint()},10)}}if(this.isRequired&&this.errors&Spry.Widget.ValidationTextField.ERROR_REQUIRED){this.addClassName(this.element,this.requiredClass);this.addClassName(this.additionalError,this.requiredClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_FORMAT){this.addClassName(this.element,this.invalidFormatClass);this.addClassName(this.additionalError,this.invalidFormatClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_RANGE_MIN){this.addClassName(this.element,this.invalidRangeMinClass);this.addClassName(this.additionalError,this.invalidRangeMinClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_RANGE_MAX){this.addClassName(this.element,this.invalidRangeMaxClass);this.addClassName(this.additionalError,this.invalidRangeMaxClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_CHARS_MIN){this.addClassName(this.element,this.invalidCharsMinClass);this.addClassName(this.additionalError,this.invalidCharsMinClass);return false}if(this.errors&Spry.Widget.ValidationTextField.ERROR_CHARS_MAX){this.addClassName(this.element,this.invalidCharsMaxClass);this.addClassName(this.additionalError,this.invalidCharsMaxClass);return false}this.addClassName(this.element,this.validClass);this.addClassName(this.additionalError,this.validClass);return true};Spry.Widget.ValidationTextField.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.ValidationTextField.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.ValidationTextField.prototype.showError=function(a){alert("Spry.Widget.TextField ERR: "+a)};Spry.Widget.SelectionDescriptor=function(a){this.element=a;this.update()};Spry.Widget.SelectionDescriptor.prototype.update=function(){if(Spry.is.ie&&Spry.is.windows){var a=this.element.ownerDocument.selection;if(this.element.nodeName=="TEXTAREA"){if(a.type!="None"){try{var f=a.createRange()}catch(b){return}if(f.parentElement()==this.element){var c=this.element.ownerDocument.body.createTextRange();c.moveToElementText(this.element);for(var g=0;c.compareEndPoints("StartToStart",f)<0;g++){c.moveStart("character",1)}this.start=g;c=this.element.ownerDocument.body.createTextRange();c.moveToElementText(this.element);for(var d=0;c.compareEndPoints("StartToEnd",f)<0;d++){c.moveStart("character",1)}this.end=d;this.length=this.end-this.start;this.text=f.text}}}else{if(this.element.nodeName=="INPUT"){try{this.range=a.createRange()}catch(b){return}this.length=this.range.text.length;var h=this.range.duplicate();this.start=-h.moveStart("character",-10000);h=this.range.duplicate();h.collapse(false);this.end=-h.moveStart("character",-10000);this.text=this.range.text}}}else{var e=this.element;var i=0;var j=0;try{i=e.selectionStart}catch(b){}try{j=e.selectionEnd}catch(b){}if(Spry.is.safari){if(i==2147483647){i=0}if(j==2147483647){j=0}}this.start=i;this.end=j;this.length=j-i;this.text=this.element.value.substring(i,j)}};Spry.Widget.SelectionDescriptor.prototype.destroy=function(){try{delete this.range}catch(a){}try{delete this.element}catch(a){}};Spry.Widget.SelectionDescriptor.prototype.move=function(a){if(Spry.is.ie&&Spry.is.windows){this.range.move("character",a);this.range.select()}else{try{this.element.selectionStart++}catch(b){}}this.update()};Spry.Widget.SelectionDescriptor.prototype.moveTo=function(f,a){if(Spry.is.ie&&Spry.is.windows){if(this.element.nodeName=="TEXTAREA"){var e=this.element.createTextRange();this.range=this.element.createTextRange();this.range.move("character",f);this.range.moveEnd("character",a-f);var c=this.range.compareEndPoints("StartToStart",e);if(c<0){this.range.setEndPoint("StartToStart",e)}var b=this.range.compareEndPoints("EndToEnd",e);if(b>0){this.range.setEndPoint("EndToEnd",e)}}else{if(this.element.nodeName=="INPUT"){this.range=this.element.ownerDocument.selection.createRange();this.range.move("character",-10000);this.start=this.range.moveStart("character",f);this.end=this.start+this.range.moveEnd("character",a-f)}}this.range.select()}else{this.start=f;try{this.element.selectionStart=f}catch(d){}this.end=a;try{this.element.selectionEnd=a}catch(d){}}this.ignore=true;this.update()};Spry.Widget.SelectionDescriptor.prototype.moveEnd=function(a){if(Spry.is.ie&&Spry.is.windows){this.range.moveEnd("character",a);this.range.select()}else{try{this.element.selectionEnd++}catch(b){}}this.update()};Spry.Widget.SelectionDescriptor.prototype.collapse=function(a){if(Spry.is.ie&&Spry.is.windows){this.range=this.element.ownerDocument.selection.createRange();this.range.collapse(a);this.range.select()}else{if(a){try{this.element.selectionEnd=this.element.selectionStart}catch(b){}}else{try{this.element.selectionStart=this.element.selectionEnd}catch(b){}}}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(f){var e=true;var d=true;var c=Spry.Widget.Form.onSubmitWidgetQueue;var a=c.length;for(var b=0;b<a;b++){if(!c[b].isDisabled()&&c[b].form==f){d=c[b].validate();e=d&&e}}return e}}if(!Spry.Widget.Form.onSubmit){Spry.Widget.Form.onSubmit=function(b,a){if(Spry.Widget.Form.validate(a)==false){return false}return true}}if(!Spry.Widget.Form.onReset){Spry.Widget.Form.onReset=function(d,f){var c=Spry.Widget.Form.onSubmitWidgetQueue;var a=c.length;for(var b=0;b<a;b++){if(!c[b].isDisabled()&&c[b].form==f&&typeof(c[b].reset)=="function"){c[b].reset()}}return true}}if(!Spry.Widget.Form.destroy){Spry.Widget.Form.destroy=function(b){var c=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++){if(c[a].form==b&&typeof(c[a].destroy)=="function"){c[a].destroy();a--}}}}if(!Spry.Widget.Form.destroyAll){Spry.Widget.Form.destroyAll=function(){var b=Spry.Widget.Form.onSubmitWidgetQueue;for(var a=0;a<Spry.Widget.Form.onSubmitWidgetQueue.length;a++){if(typeof(b[a].destroy)=="function"){b[a].destroy();a--}}}}if(!Spry.Widget.Utils){Spry.Widget.Utils={}}Spry.Widget.Utils.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(a){return String.fromCharCode(a+22+75*(a<26))};Spry.Widget.Utils.punycode_adapt=function(d,c,b){d=b?d/this.punycode_constants.damp:d>>1;d+=d/c;for(var a=0;d>((this.punycode_constants.base-this.punycode_constants.tmin)*this.punycode_constants.tmax)/2;a+=this.punycode_constants.base){d/=this.punycode_constants.base-this.punycode_constants.tmin}return a+(this.punycode_constants.base-this.punycode_constants.tmin+1)*d/(d+this.punycode_constants.skew)};Spry.Widget.Utils.punycode_encode=function(w,c){var e=w.split("");w=[];for(var r=0;r<e.length;r++){w.push(e[r].charCodeAt(0))}var f="";var s,v,p,g,a,l,z;var y=w.length;var d=this.punycode_constants.initial_n;var x=0;var u=this.punycode_constants.initial_bias;var o=0;for(p=0;p<y;p++){if(w[p]<128){if(c-o<2){return false}f+=String.fromCharCode(w[p]);o++}}s=v=o;if(v>0){f+=String.fromCharCode(this.punycode_constants.delimiter);o++}while(s<y){for(g=this.punycode_constants.maxint,p=0;p<y;p++){if(w[p]>=d&&w[p]<g){g=w[p]}}if(g-d>(this.punycode_constants.maxint-x)/(s+1)){return false}x+=(g-d)*(s+1);d=g;for(p=0;p<y;p++){if(w[p]<d){if(++x==0){return false}}if(w[p]==d){for(a=x,l=this.punycode_constants.base;true;l+=this.punycode_constants.base){if(o>=c){return false}z=l<=u?this.punycode_constants.tmin:l>=u+this.punycode_constants.tmax?this.punycode_constants.tmax:l-u;if(a<z){break}f+=this.punycode_encode_digit(z+(a-z)%(this.punycode_constants.base-z));o++;a=(a-z)/(this.punycode_constants.base-z)}f+=this.punycode_encode_digit(a);o++;u=this.punycode_adapt(x,s+1,s==v);x=0;s++}}x++,d++}return f};Spry.Widget.Utils.setOptions=function(d,c,a){if(!c){return}for(var b in c){if(a&&c[b]==undefined){continue}d[b]=c[b]}};Spry.Widget.Utils.firstValid=function(){var a=null;for(var b=0;b<Spry.Widget.Utils.firstValid.arguments.length;b++){if(typeof(Spry.Widget.Utils.firstValid.arguments[b])!="undefined"){a=Spry.Widget.Utils.firstValid.arguments[b];break}}return a};Spry.Widget.Utils.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(a){return Spry.Widget.Utils.specialCharacters.indexOf(","+a.keyCode+",")!=-1};Spry.Widget.Utils.getCharacterFromEvent=function(d){var a=d.type=="keydown";var b=null;var c=null;if(Spry.is.mozilla&&!a){if(d.charCode){c=String.fromCharCode(d.charCode)}else{b=d.keyCode}}else{b=d.keyCode||d.which;if(b!=13){c=String.fromCharCode(b)}}if(Spry.is.safari){if(a){b=d.keyCode||d.which;c=String.fromCharCode(b)}else{b=d.keyCode||d.which;if(Spry.Widget.Utils.specialCharacters.indexOf(","+b+",")!=-1){c=null}else{c=String.fromCharCode(b)}}}if(Spry.is.opera){if(Spry.Widget.Utils.specialCharacters.indexOf(","+b+",")!=-1){c=null}else{c=String.fromCharCode(b)}}return c};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(f){}};Spry.Widget.Utils.removeEventListener=function(c,b,d,a){try{if(c.removeEventListener){c.removeEventListener(b,d,a)}else{if(c.detachEvent){c.detachEvent("on"+b,d,a)}}}catch(f){}};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}};
