var Spry;if(!Spry){Spry={}}Spry.forwards=1;Spry.backwards=2;Spry.linearTransition=1;Spry.sinusoidalTransition=2;if(!Spry.Effect){Spry.Effect={}}Spry.Effect.Registry=function(){this.elements=new Array();_AnimatedElement=function(A){this.element=A;this.currentEffect=-1;this.effectArray=new Array()};this.AnimatedElement=_AnimatedElement};Spry.Effect.Registry.prototype.getRegisteredEffect=function(D,E){var B=this.getIndexOfElement(D);if(B==-1){this.elements[this.elements.length]=new this.AnimatedElement(D);B=this.elements.length-1}var G=-1;for(var C=0;C0){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;try{if(B.lastIndexOf("%")>0){A=true}}catch(C){}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(B){var A=0;try{A=Number(B.substring(0,B.lastIndexOf("px")))}catch(C){}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=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(B){var A=/MSIE/.test(navigator.userAgent)?B.currentStyle:document.defaultView.getComputedStyle(B,null);return A};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)}else{A=Spry.Effect.getComputedStyle(B);var C=A&&A.width&&/px/i.test(A.width);if(C){D.width=parseInt(A.width)}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)}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)}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(B==undefined||B==null){B=1}return B};Spry.Effect.getColor=function(A){var B=Spry.Effect.getStyleProp(ele,"background-color");return B};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)}else{B=Spry.Effect.getComputedStyle(C);var D=B&&B.left&&/px/i.test(B.left);if(D){A.x=parseInt(B.left)}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)}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)}if(!D||A.y==0){A.y=C.offsetTop}}return A};Spry.Effect.getOffsetPosition=Spry.Effect.getPosition;Spry.Effect.Animator=function(A){this.name="Animator";this.element=null;this.timer=null;this.direction=Spry.forwards;this.startMilliseconds=0;this.repeat="none";this.isRunning=false;this.options={duration:500,toggle:false,transition:Spry.linearTransition,interval:33};this.setOptions(A)};Spry.Effect.Animator.prototype.setOptions=function(A){if(!A){return }for(var B in A){this.options[B]=A[B]}};Spry.Effect.Animator.prototype.start=function(D){if(arguments.length==0){D=false}var A=this;if(this.options.setup){try{this.options.setup(this.element,this)}catch(C){Spry.Effect.Utils.showError("Spry.Effect.Animator.prototype.start: setup callback: "+C)}}this.prepareStart();var B=new Date();this.startMilliseconds=B.getTime();if(D==false){this.timer=setInterval(function(){A.drawEffect()},this.options.interval)}this.isRunning=true};Spry.Effect.Animator.prototype.stop=function(){if(this.timer){clearInterval(this.timer);this.timer=null}this.startMilliseconds=0;if(this.options.finish){try{this.options.finish(this.element,this)}catch(A){Spry.Effect.Utils.showError("Spry.Effect.Animator.prototype.stop: finish callback: "+A)}}this.isRunning=false};Spry.Effect.Animator.prototype.cancel=function(){if(this.timer){clearInterval(this.timer);this.timer=null}this.isRunning=false};Spry.Effect.Animator.prototype.drawEffect=function(){var B=true;var A=this.getElapsedMilliseconds()/this.options.duration;if(this.getElapsedMilliseconds()>this.options.duration){A=1}else{if(this.options.transition==Spry.sinusoidalTransition){A=(-Math.cos(A*Math.PI)/2)+0.5}else{if(this.options.transition==Spry.linearTransition){}else{Spry.Effect.Utils.showError("unknown transition")}}}this.animate(A);if(this.getElapsedMilliseconds()>this.options.duration){this.stop();B=false}return B};Spry.Effect.Animator.prototype.getElapsedMilliseconds=function(){if(this.startMilliseconds>0){var A=new Date();return(A.getTime()-this.startMilliseconds)}else{return 0}};Spry.Effect.Animator.prototype.doToggle=function(){if(this.options.toggle==true){if(this.direction==Spry.forwards){this.direction=Spry.backwards}else{if(this.direction==Spry.backwards){this.direction=Spry.forwards}}}};Spry.Effect.Animator.prototype.prepareStart=function(){};Spry.Effect.Animator.prototype.animate=function(A){};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(B.units!=D.units){Spry.Effect.Utils.showError("Spry.Effect.Move: Conflicting units ("+B.units+", "+D.units+")")}this.units=B.units;this.startX=B.x;this.stopX=D.x;this.startY=B.y;this.stopY=D.y;this.rangeMoveX=this.startX-this.stopX;this.rangeMoveY=this.startY-this.stopY};Spry.Effect.Move.prototype=new Spry.Effect.Animator();Spry.Effect.Move.prototype.constructor=Spry.Effect.Move;Spry.Effect.Move.prototype.animate=function(A){var C=0;var B=0;if(this.direction==Spry.forwards){C=this.startX-(this.rangeMoveX*A);B=this.startY-(this.rangeMoveY*A)}else{if(this.direction==Spry.backwards){C=this.rangeMoveX*A+this.stopX;B=this.rangeMoveY*A+this.stopY}}this.element.style.left=C+this.units;this.element.style.top=B+this.units};Spry.Effect.Move.prototype.prepareStart=function(){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.MoveSlide=function(D,C,F,A,B){this.dynamicFromPos=false;if(arguments.length==4){B=A;A=F;F=C;C=Spry.Effect.getPosition(D);this.dynamicFromPos=true}Spry.Effect.Animator.call(this,B);this.name="MoveSlide";this.element=Spry.Effect.getElement(D);this.horizontal=A;this.firstChildElement=Spry.Effect.Utils.getFirstChildElement(D);this.overflow=Spry.Effect.getStyleProp(this.element,"overflow");this.originalChildRect=Spry.Effect.getDimensionsRegardlessOfDisplayState(this.firstChildElement,this.element);if(C.units!=F.units){Spry.Effect.Utils.showError("Spry.Effect.MoveSlide: Conflicting units ("+C.units+", "+F.units+")")}this.units=C.units;var E=Spry.Effect.getDimensionsRegardlessOfDisplayState(D);this.startHeight=E.height;this.startX=Number(C.x);this.stopX=Number(F.x);this.startY=Number(C.y);this.stopY=Number(F.y);this.rangeMoveX=this.startX-this.stopX;this.rangeMoveY=this.startY-this.stopY;this.enforceVisible=Spry.Effect.isInvisible(this.element)};Spry.Effect.MoveSlide.prototype=new Spry.Effect.Animator();Spry.Effect.MoveSlide.prototype.constructor=Spry.Effect.MoveSlide;Spry.Effect.MoveSlide.prototype.animate=function(B){if(this.horizontal){var G=(this.direction==Spry.forwards)?this.startX:this.stopX;var D=(this.direction==Spry.forwards)?this.stopX:this.startX;var A=G+B*(D-G);if(A<0){A=0}if(this.overflow!="scroll"||A>this.originalChildRect.width){this.firstChildElement.style.left=A-this.originalChildRect.width+this.units}this.element.style.width=A+this.units}else{var F=(this.direction==Spry.forwards)?this.startY:this.stopY;var C=(this.direction==Spry.forwards)?this.stopY:this.startY;var E=F+B*(C-F);if(E<0){E=0}if(this.overflow!="scroll"||E>this.originalChildRect.height){this.firstChildElement.style.top=E-this.originalChildRect.height+this.units}this.element.style.height=E+this.units}if(this.enforceVisible){Spry.Effect.enforceVisible(this.element);this.enforceVisible=false}};Spry.Effect.MoveSlide.prototype.prepareStart=function(){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(E,A,H,I){this.dynamicFromRect=false;if(arguments.length==3){I=H;H=A;A=Spry.Effect.getDimensionsRegardlessOfDisplayState(E);this.dynamicFromRect=true}Spry.Effect.Animator.call(this,I);this.name="Size";this.element=Spry.Effect.getElement(E);if(A.units!=H.units){Spry.Effect.Utils.showError("Spry.Effect.Size: Conflicting units ("+A.units+", "+H.units+")")}this.units=A.units;var B=Spry.Effect.getDimensionsRegardlessOfDisplayState(E);this.originalWidth=B.width;this.startWidth=A.width;this.startHeight=A.height;this.stopWidth=H.width;this.stopHeight=H.height;this.childImages=new Array();if(this.options.scaleContent){Spry.Effect.Utils.fetchChildImages(E,this.childImages)}this.fontFactor=1;if(this.element.style&&this.element.style.fontSize){if(/em\s*$/.test(this.element.style.fontSize)){this.fontFactor=parseFloat(this.element.style.fontSize)}}if(Spry.Effect.Utils.isPercentValue(this.startWidth)){var C=Spry.Effect.Utils.getPercentValue(this.startWidth);this.startWidth=B.width*(C/100)}if(Spry.Effect.Utils.isPercentValue(this.startHeight)){var F=Spry.Effect.Utils.getPercentValue(this.startHeight);this.startHeight=B.height*(F/100)}if(Spry.Effect.Utils.isPercentValue(this.stopWidth)){var D=Spry.Effect.Utils.getPercentValue(this.stopWidth);var B=Spry.Effect.getDimensionsRegardlessOfDisplayState(E);this.stopWidth=B.width*(D/100)}if(Spry.Effect.Utils.isPercentValue(this.stopHeight)){var G=Spry.Effect.Utils.getPercentValue(this.stopHeight);var B=Spry.Effect.getDimensionsRegardlessOfDisplayState(E);this.stopHeight=B.height*(G/100)}this.widthRange=this.startWidth-this.stopWidth;this.heightRange=this.startHeight-this.stopHeight;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(B){var E=0;var A=0;var F=0;if(this.direction==Spry.forwards){E=this.startWidth-(this.widthRange*B);A=this.startHeight-(this.heightRange*B);F=this.fontFactor*(this.startWidth+B*(this.stopWidth-this.startWidth))/this.originalWidth}else{if(this.direction==Spry.backwards){E=this.widthRange*B+this.stopWidth;A=this.heightRange*B+this.stopHeight;F=this.fontFactor*(this.stopWidth+B*(this.startWidth-this.stopWidth))/this.originalWidth}}if(this.options.scaleContent==true){this.element.style.fontSize=F+"em"}this.element.style.width=E+this.units;this.element.style.height=A+this.units;if(this.options.scaleContent){var D=(this.direction==Spry.forwards)?(this.startWidth+B*(this.stopWidth-this.startWidth))/this.originalWidth:(this.stopWidth+B*(this.startWidth-this.stopWidth))/this.originalWidth;for(var C=0;C(this.effectsArray.length-1)){B=true}else{for(var A=this.currIdx;Athis.currIdx)&&this.effectsArray[A].kind=="queue"){break}this.effectsArray[A].effect.start(true);this.effectsArray[A].isRunning=true;this.currIdx=A}}return B};Spry.Effect.Cluster.prototype.doToggle=function(){if(this.options.toggle==true){if(this.direction==Spry.forwards){this.direction=Spry.backwards}else{if(this.direction==Spry.backwards){this.direction=Spry.forwards}}}for(var A=0;A