/* Spry.Effect.js - Revision: Spry Preview Release 1.3 */

// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
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()};Spry.Effect.Registry.prototype.getRegisteredEffect=function(D,F){var B=this.getIndexOfElement(D);if(B==-1){var E=new Spry.Effect.AnimatedElement(D);this.elements[this.elements.length]=E;B=this.elements.length-1}var H=-1;for(var C=0;C<this.elements[B].effectArray.length;C++){if(this.elements[B].effectArray[C]){if(this.effectsAreTheSame(this.elements[B].effectArray[C],F)){H=C;this.elements[B].effectArray[C].reset();this.elements[B].currentEffect=C;if(this.elements[B].effectArray[C].options&&(this.elements[B].effectArray[C].options.toggle!=null)){if(this.elements[B].effectArray[C].options.toggle==true){this.elements[B].effectArray[C].doToggle()}}else{this.elements[B].effectArray[C]=F}break}}}if(H==-1){var G=this.elements[B].effectArray.length;this.elements[B].effectArray[G]=F;this.elements[B].currentEffect=G}var A=this.elements[B].currentEffect;return this.elements[B].effectArray[A]};Spry.Effect.Registry.prototype.getIndexOfElement=function(B){var C=-1;for(var A=0;A<this.elements.length;A++){if(this.elements[A]){if(this.elements[A].element==B){C=A}}}return C};Spry.Effect.Registry.prototype.effectsAreTheSame=function(B,A){if(B.name!=A.name){return false}if(B.effectsArray!=null){for(var C=0;C<B.effectsArray.length;C++){if(!Spry.Effect.Utils.optionsAreIdentical(B.effectsArray[C].effect.options,A.effectsArray[C].effect.options)){return false}}}else{if(!Spry.Effect.Utils.optionsAreIdentical(B.options,A.options)){return false}}return true};SpryRegistry=new Spry.Effect.Registry;if(!Spry.Effect.Utils){Spry.Effect.Utils={}}Spry.Effect.Utils.Position=function(){this.x=0;this.y=0};Spry.Effect.Utils.Rectangle=function(){this.width=0;this.height=0};Spry.Effect.Utils.PositionedRectangle=function(){this.position=new Spry.Effect.Utils.Position;this.rectangle=new Spry.Effect.Utils.Rectangle};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(B,D,C){var E=Spry.Effect.Utils.intToHex(B);var A=Spry.Effect.Utils.intToHex(D);var F=Spry.Effect.Utils.intToHex(C);compositeColorHex=E.concat(A,F);compositeColorHex="#"+compositeColorHex;return compositeColorHex};Spry.Effect.Utils.camelize=function(B){var E=B.split("-");if(E.length==1){return E[0]}var C=B.indexOf("-")==0?E[0].charAt(0).toUpperCase()+E[0].substring(1):E[0];for(var D=1,A=E.length;D<A;D++){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=B.substring(0,B.lastIndexOf("%"))}catch(C){alert("ERR: Spry.Effect.Utils.getPercentValue: "+C)}return A};Spry.Effect.Utils.getPixelValue=function(B){var A=0;try{A=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.optionsAreIdentical=function(D,C){if(D==null&&C==null){return true}if(D!=null&&C!=null){var B=0;var G=0;for(var A in D){B++}for(var F in C){G++}if(B!=G){return false}for(var E in D){if((C[E]===undefined)||(D[E]!=C[E])){return false}}return true}return false};Spry.Effect.getElement=function(B){var A=null;if(B&&typeof B=="string"){A=document.getElementById(B)}else{A=B}if(A==null){alert('ERROR in Spry.Effect.js: Element "'+B+'" not found.')}return A};Spry.Effect.getStyleProp=function(B,E){var C;try{C=B.style[Spry.Effect.Utils.camelize(E)];if(!C){if(document.defaultView&&document.defaultView.getComputedStyle){var A=document.defaultView.getComputedStyle(B,null);C=A?A.getPropertyValue(E):null}else{if(B.currentStyle){C=B.currentStyle[Spry.Effect.Utils.camelize(E)]}}}}catch(D){alert("ERR: Spry.Effect.getStyleProp: "+D)}return C=="auto"?null:C};Spry.Effect.setStyleProp=function(A,D,B){try{A.style[Spry.Effect.Utils.camelize(D)]=B}catch(C){alert("ERR: Spry.Effect.setStyleProp: "+C)}return null};Spry.Effect.makePositioned=function(A){var B=Spry.Effect.getStyleProp(A,"position");if(!B||B=="static"){A.style.position="relative"}};Spry.Effect.enforceVisible=function(C){var A=Spry.Effect.getStyleProp(C,"display");if(A&&A.toLowerCase()=="none"){Spry.Effect.setStyleProp(C,"display","")}var B=Spry.Effect.getStyleProp(C,"visibility");if(B&&B.toLowerCase()=="hidden"){Spry.Effect.setStyleProp(C,"visibility","visible")}};Spry.Effect.makeClipping=function(A){var B=Spry.Effect.getStyleProp(A,"overflow");if(B!="hidden"){A.style.overflow="hidden"}};Spry.Effect.cleanWhitespace=function(B){for(var A=0;A<B.childNodes.length;A++){var C=B.childNodes[A];if(C.nodeType==3&&!/\S/.test(C.nodeValue)){try{B.parentNode.removeChild(B)}catch(D){alert("ERR: Spry.Effect.cleanWhitespace: "+D)}}}};Spry.Effect.getDimensions=function(A){dimensions=new Spry.Effect.Utils.Rectangle;if(Spry.Effect.getStyleProp(A,"display")!="none"){dimensions.width=A.offsetWidth;dimensions.height=A.offsetHeight}return dimensions};Spry.Effect.getOffsetPosition=function(B){var A=new Spry.Effect.Utils.Position;if(B.offsetTop!=null){A.y=B.offsetTop}if(B.offsetLeft!=null){A.x=B.offsetLeft}return A};Spry.Effect.Animator=function(A){this.timer=null;this.interval=42;this.direction=Spry.forwards;this.startMilliseconds=0;this.repeat="none";this.nextEffect=null;this.isFinished=false;this.options={duration:500,toggle:false,transition:Spry.linearTransition};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(A){this.isFinished=false;this.queue=A;var B=this;if(this.options.setup){try{this.options.setup(this.element,this)}catch(D){alert("ERR: Spry.Effect.Animator.prototype.start: "+D)}}var C=new Date();this.startMilliseconds=C.getTime();this.timer=setInterval(function(){B.drawEffect()},this.interval)};Spry.Effect.Animator.prototype.stop=function(){if(this.timer){clearInterval(this.timer);this.timer=null}this.startMilliseconds=0;if(this.queue!=null){this.queue.startNextEffect()}else{if(this.options.finish){try{this.options.finish(this.element,this)}catch(A){alert("ERR: Spry.Effect.Animator.prototype.stop: "+A)}}this.isFinished=true}};Spry.Effect.Animator.prototype.cancel=function(){if(this.timer){clearInterval(this.timer);this.timer=null}this.isFinished=true};Spry.Effect.Animator.prototype.drawEffect=function(){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{alert("unknown transition")}}}this.animate(A);if(this.getElapsedMilliseconds()>this.options.duration){this.stop()}};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.animate=function(A){};Spry.Effect.Move=function(C,B,D,A){this.name="Move";Spry.Effect.Animator.call(this,A);this.element=Spry.Effect.getElement(C);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+"px";this.element.style.top=B+"px"};Spry.Effect.Move.prototype.reset=function(){if(!this.isFinished){this.cancel();this.startX=this.startX;this.startY=this.startY}};Spry.Effect.MoveSlide=function(C,B,E,A){this.name="MoveSlide";Spry.Effect.Animator.call(this,A);this.element=Spry.Effect.getElement(C);this.firstChildElement=Spry.Effect.Utils.getFirstChildElement(C);var D=Spry.Effect.getDimensions(C);this.startHeight=D.height;this.startX=Number(B.x);this.stopX=Number(E.x);this.startY=Number(B.y);this.stopY=Number(E.y);this.rangeMoveX=this.startX-this.stopX;this.rangeMoveY=this.startY-this.stopY};Spry.Effect.MoveSlide.prototype=new Spry.Effect.Animator();Spry.Effect.MoveSlide.prototype.constructor=Spry.Effect.MoveSlide;Spry.Effect.MoveSlide.prototype.animate=function(A){var D=(this.direction==Spry.forwards)?this.startY:this.stopY;var B=(this.direction==Spry.forwards)?this.stopY:this.startY;var E=(D>B)?A*(B-D):(1-A)*(D-B);var C=D+A*(B-D);if(C<0){C=0}this.firstChildElement.style.top=E+"px";this.element.style.height=C+"px"};Spry.Effect.MoveSlide.prototype.reset=function(){if(!this.isFinished){this.cancel();this.startX=this.startX;this.startY=this.startY}};Spry.Effect.Size=function(E,A,H,I){this.name="Size";Spry.Effect.Animator.call(this,I);this.element=Spry.Effect.getElement(E);var B=Spry.Effect.getDimensions(E);this.originalWidth=B.width;this.startWidth=A.width;this.startHeight=A.height;this.stopWidth=H.width;this.stopHeight=H.height;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.getDimensions(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.getDimensions(E);this.stopHeight=B.height*(G/100)}this.widthRange=this.startWidth-this.stopWidth;this.heightRange=this.startHeight-this.stopHeight};Spry.Effect.Size.prototype=new Spry.Effect.Animator();Spry.Effect.Size.prototype.constructor=Spry.Effect.Size;Spry.Effect.Size.prototype.animate=function(B){var C=0;var A=0;var D=0;if(this.direction==Spry.forwards){C=this.startWidth-(this.widthRange*B);A=this.startHeight-(this.heightRange*B);D=(this.startWidth+B*(this.stopWidth-this.startWidth))/this.originalWidth}else{if(this.direction==Spry.backwards){C=this.widthRange*B+this.stopWidth;A=this.heightRange*B+this.stopHeight;D=(this.stopWidth+B*(this.startWidth-this.stopWidth))/this.originalWidth}}if(this.options.scaleContent==true){this.element.style.fontSize=D+"em"}this.element.style.width=C+"px";this.element.style.height=A+"px"};Spry.Effect.Size.prototype.reset=function(){if(!this.isFinished){this.cancel();this.startWidth=this.startWidth;this.startHeight=this.startHeight}};Spry.Effect.Opacity=function(C,B,D,A){this.name="Opacity";Spry.Effect.Animator.call(this,A);this.element=Spry.Effect.getElement(C);this.startOpacity=B;this.stopOpacity=D;this.opacityRange=this.startOpacity-this.stopOpacity};Spry.Effect.Opacity.prototype=new Spry.Effect.Animator();Spry.Effect.Opacity.prototype.constructor=Spry.Effect.Opacity;Spry.Effect.Opacity.prototype.animate=function(A){var B=0;if(this.direction==Spry.forwards){B=this.startOpacity-(this.opacityRange*A)}else{if(this.direction==Spry.backwards){B=this.opacityRange*A+this.stopOpacity}}this.element.style.opacity=B;this.element.style.filter="alpha(opacity="+Math.floor(B*100)+")"};Spry.Effect.Opacity.prototype.reset=function(){if(!this.isFinished){this.cancel();this.startOpacity=this.startOpacity}};Spry.Effect.Color=function(C,D,A,B){this.name="Color";Spry.Effect.Animator.call(this,B);this.element=Spry.Effect.getElement(C);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));this.redColorRange=this.startRedColor-this.stopRedColor;this.greenColorRange=this.startGreenColor-this.stopGreenColor;this.blueColorRange=this.startBlueColor-this.stopBlueColor};Spry.Effect.Color.prototype=new Spry.Effect.Animator();Spry.Effect.Color.prototype.constructor=Spry.Effect.Color;Spry.Effect.Color.prototype.animate=function(A){var B=0;var D=0;var C=0;if(this.direction==Spry.forwards){B=parseInt(this.startRedColor-(this.redColorRange*A));D=parseInt(this.startGreenColor-(this.greenColorRange*A));C=parseInt(this.startBlueColor-(this.blueColorRange*A))}else{if(this.direction==Spry.backwards){B=parseInt(this.redColorRange*A)+this.stopRedColor;D=parseInt(this.greenColorRange*A)+this.stopGreenColor;C=parseInt(this.blueColorRange*A)+this.stopBlueColor}}this.element.style.backgroundColor=Spry.Effect.Utils.rgb(B,D,C)};Spry.Effect.Color.prototype.reset=function(){if(!this.isFinished){this.cancel();this.startColor=this.startColor;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))}};Spry.Effect.ClusteredEffect=function(B,A){this.effect=B;this.kind=A};Spry.Effect.Cluster=function(){this.name="Cluster";this.effectsArray=new Array();this.currIdx=-1;this.direction=Spry.forwards;this.options={toggle:false};this.clusterIsFinished=false};Spry.Effect.Cluster.prototype.addNextEffect=function(A){this.effectsArray[this.effectsArray.length]=new Spry.Effect.ClusteredEffect(A,"queue")};Spry.Effect.Cluster.prototype.addParallelEffect=function(A){this.effectsArray[this.effectsArray.length]=new Spry.Effect.ClusteredEffect(A,"parallel")};Spry.Effect.Cluster.prototype.getNextEffect=function(){if((this.currIdx+1)<(this.effectsArray.length)){this.currIdx=this.currIdx+1;return this.effectsArray[this.currIdx].effect}else{return null}};Spry.Effect.Cluster.prototype.resetIndex=function(){this.currIdx=-1};Spry.Effect.Cluster.prototype.start=function(){if(this.setup){try{this.setup(this.effectsArray[0].effect.element,this.effectsArray)}catch(B){alert("ERR: Spry.Effect.Cluster.prototype.start: "+B)}}this.currIdx=0;var A=false;while(A==false){this.effectsArray[this.currIdx].effect.start(this);if((this.currIdx+1)<(this.effectsArray.length)){if(this.effectsArray[this.currIdx].kind=="queue"){A=true}}else{A=true}if(A==false){this.currIdx++}}};Spry.Effect.Cluster.prototype.startNextEffect=function(){if((this.currIdx+1)<(this.effectsArray.length)){this.currIdx++;this.effectsArray[this.currIdx].effect.start(this)}else{if(this.finish){try{this.finish(this.effectsArray[0].effect.element,this.effectsArray)}catch(A){alert("ERR: Spry.Effect.Cluster.prototype.startNextEffect: "+A)}}this.clusterIsFinished=true}};Spry.Effect.Cluster.prototype.setToggle=function(A){this.options.toggle=A};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<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.reset=function(){if(this.currIdx==-1){return }for(var A=0;A<this.effectsArray.length;A++){if(!this.effectsArray[A].effect.isFinished){this.effectsArray[A].effect.reset()}}};Spry.Effect.Cluster.prototype.cancel=function(){for(var A=0;A<this.effectsArray.length;A++){if(this.effectsArray[A].effect.timer!=null){this.effectsArray[A].effect.cancel()}}};Spry.Effect.AnimatedElement=function(A){this.element=A;this.currentEffect=-1;this.effectArray=new Array()};Spry.Effect.AppearFade=function(F,J){var F=Spry.Effect.getElement(F);var A=1000;var H=0;var E=100;var K=false;var B=Spry.sinusoidalTransition;var D=null;var I=null;if(J){if(J.duration!=null){A=J.duration}if(J.from!=null){H=J.from}if(J.to!=null){E=J.to}if(J.toggle!=null){K=J.toggle}if(J.transition!=null){B=J.transition}if(J.setup!=null){D=J.setup}if(J.finish!=null){I=J.finish}}J={duration:A,toggle:K,transition:B,setup:D,finish:I,from:H,to:E};H=H/100;E=E/100;var G=new Spry.Effect.Opacity(F,H,E,J);G.name="AppearFade";var C=SpryRegistry.getRegisteredEffect(F,G);C.start();return C};Spry.Effect.Blind=function(C,E){var C=Spry.Effect.getElement(C);C.style.overflow="hidden";C.style.visibility="visible";var K=1000;var I=100;var F=0;var S=false;var T=Spry.sinusoidalTransition;var O=false;var U=null;var M=null;var J=Spry.Effect.getDimensions(C);var Q=J.width;var L=J.height;var G=E.from;var H=E.to;if(E){if(E.duration!=null){K=E.duration}if(E.from!=null){if(Spry.Effect.Utils.isPercentValue(E.from)){I=Spry.Effect.Utils.getPercentValue(E.from)}else{I=(Spry.Effect.Utils.getPixelValue(E.from)/L)*100}}if(E.to!=null){if(Spry.Effect.Utils.isPercentValue(E.to)){F=Spry.Effect.Utils.getPercentValue(E.to)}else{F=(Spry.Effect.Utils.getPixelValue(E.to)/L)*100}}if(E.toggle!=null){S=E.toggle}if(E.transition!=null){T=E.transition}if(E.setup!=null){U=E.setup}if(E.finish!=null){M=E.finish}}var N=Q;var R=L;var P=new Spry.Effect.Utils.Rectangle;P.width=Q;P.height=L*(I/100);var A=new Spry.Effect.Utils.Rectangle;A.width=N;A.height=R*(F/100);E={duration:K,toggle:S,transition:T,scaleContent:O,setup:U,finish:M,from:G,to:H};var B=new Spry.Effect.Size(C,P,A,E);B.name="Blind";var D=SpryRegistry.getRegisteredEffect(C,B);D.start();return D};function setupHighlight(A,B){Spry.Effect.setStyleProp(A,"background-image","none")}function finishHighlight(A,B){Spry.Effect.setStyleProp(A,"background-image",B.options.restoreBackgroundImage);if(B.direction==Spry.forwards){Spry.Effect.setStyleProp(A,"background-color",B.options.restoreColor)}}Spry.Effect.Highlight=function(H,M){var B=1000;var C="#ffffff";var N=false;var D=Spry.sinusoidalTransition;var F=setupHighlight;var O=finishHighlight;var H=Spry.Effect.getElement(H);var I=Spry.Effect.getStyleProp(H,"background-color");var K=I;if(I=="transparent"){I="#ffff99"}var J=M.from;var A=M.to;if(M){if(M.duration!=null){B=M.duration}if(M.from!=null){I=M.from}if(M.to!=null){C=M.to}if(M.restoreColor){K=M.restoreColor}if(M.toggle!=null){N=M.toggle}if(M.transition!=null){D=M.transition}if(M.setup!=null){F=M.setup}if(M.finish!=null){O=M.finish}}var L=Spry.Effect.getStyleProp(H,"background-image");M={duration:B,toggle:N,transition:D,setup:F,finish:O,restoreColor:K,restoreBackgroundImage:L,from:J,to:A};var G=new Spry.Effect.Color(H,I,C,M);G.name="Highlight";var E=SpryRegistry.getRegisteredEffect(H,G);E.start();return E};Spry.Effect.Slide=function(A,C){var A=Spry.Effect.getElement(A);var K=2000;var P=false;var Q=Spry.sinusoidalTransition;var R=null;var M=null;var H=Spry.Effect.Utils.getFirstChildElement(A);Spry.Effect.makeClipping(A);if(/MSIE 6.0/.test(navigator.userAgent)&&/Windows NT 5.1/.test(navigator.userAgent)){var D=Spry.Effect.getStyleProp(A,"position");if(D&&(D=="static"||D=="fixed")){Spry.Effect.setStyleProp(A,"position","relative");Spry.Effect.setStyleProp(A,"top","");Spry.Effect.setStyleProp(A,"left","")}}if(H){Spry.Effect.makePositioned(H);Spry.Effect.makeClipping(H)}var J=Spry.Effect.getDimensions(A);var I=new Spry.Effect.Utils.Position();I.x=parseInt(Spry.Effect.getStyleProp(H,"left"));I.y=parseInt(Spry.Effect.getStyleProp(H,"top"));if(!I.x){I.x=0}if(!I.y){I.y=0}var E=J.height;var O=new Spry.Effect.Utils.Position;O.x=I.x;O.y=I.y;var N=new Spry.Effect.Utils.Position;N.x=I.x;N.y=I.y-E;var F=C.from;var G=C.to;if(C){if(C.duration!=null){K=C.duration}if(C.from!=null){if(Spry.Effect.Utils.isPercentValue(C.from)){O.y=E*Spry.Effect.Utils.getPercentValue(C.from)/100}else{O.y=Spry.Effect.Utils.getPixelValue(C.from)}}if(C.to!=null){if(Spry.Effect.Utils.isPercentValue(C.to)){N.y=E*Spry.Effect.Utils.getPercentValue(C.to)/100}else{N.y=Spry.Effect.Utils.getPixelValue(C.to)}}if(C.toggle!=null){P=C.toggle}if(C.transition!=null){Q=C.transition}if(C.setup!=null){R=C.setup}if(C.finish!=null){M=C.finish}}C={duration:K,toggle:P,transition:Q,setup:R,finish:M,from:F,to:G};var L=new Spry.Effect.MoveSlide(A,O,N,C);L.name="Slide";var B=SpryRegistry.getRegisteredEffect(A,L);B.start();return B};Spry.Effect.GrowShrink=function(B,D){var B=Spry.Effect.getElement(B);B.style.visibility="visible";Spry.Effect.makePositioned(B);Spry.Effect.makeClipping(B);var I=new Spry.Effect.Utils.Position();I.x=parseInt(Spry.Effect.getStyleProp(B,"left"));I.y=parseInt(Spry.Effect.getStyleProp(B,"top"));if(!I.x){I.x=0}if(!I.y){I.y=0}var E=new Spry.Effect.Cluster;var K=Spry.Effect.getDimensions(B);var V=K.width;var M=K.height;var L=500;var T=false;var U=Spry.sinusoidalTransition;var S=new Spry.Effect.Utils.Rectangle;S.width=0;S.height=0;var A=new Spry.Effect.Utils.Rectangle;A.width=V;A.height=M;var W=null;var O=null;var P=true;var G=D.from;var H=D.to;if(D){if(D.duration!=null){L=D.duration}if(D.from!=null){if(Spry.Effect.Utils.isPercentValue(D.from)){S.width=V*(Spry.Effect.Utils.getPercentValue(D.from)/100);S.height=M*(Spry.Effect.Utils.getPercentValue(D.from)/100)}else{S.width=Spry.Effect.Utils.getPixelValue(D.from);S.height=Spry.Effect.Utils.getPixelValue(D.from)}}if(D.to!=null){if(Spry.Effect.Utils.isPercentValue(D.to)){A.width=V*(Spry.Effect.Utils.getPercentValue(D.to)/100);A.height=M*(Spry.Effect.Utils.getPercentValue(D.to)/100)}else{A.width=Spry.Effect.Utils.getPixelValue(D.to);A.height=Spry.Effect.Utils.getPixelValue(D.to)}}if(D.toggle!=null){T=D.toggle}if(D.transition!=null){U=D.transition}if(D.setup!=null){W=D.setup}if(D.finish!=null){O=D.finish}}D={duration:L,toggle:T,transition:U,scaleContent:P,from:G,to:H};var J=new Spry.Effect.Size(B,S,A,D);E.addParallelEffect(J);D={duration:L,toggle:T,transition:U,from:G,to:H};var R=new Spry.Effect.Utils.Position;R.x=I.x+(V-S.width)/2;R.y=I.y+(M-S.height)/2;var N=new Spry.Effect.Utils.Position;N.x=I.x+(V-A.width)/2;N.y=I.y+(M-A.height)/2;var Q={top:R.y,left:R.x};var F=new Spry.Effect.Move(B,R,N,D,Q);E.addParallelEffect(F);E.setup=W;E.finish=O;E.setToggle(T);E.name="GrowShrink";var C=SpryRegistry.getRegisteredEffect(B,E);C.start();return C};Spry.Effect.Shake=function(E,I){var E=Spry.Effect.getElement(E);Spry.Effect.makePositioned(E);var C=null;var J=null;if(I){if(I.setup!=null){C=I.setup}if(I.finish!=null){J=I.finish}}var B=new Spry.Effect.Utils.Position();B.x=parseInt(Spry.Effect.getStyleProp(E,"left"));B.y=parseInt(Spry.Effect.getStyleProp(E,"top"));if(!B.x){B.x=0}if(!B.y){B.y=0}var D=new Spry.Effect.Cluster();var G=new Spry.Effect.Utils.Position;G.x=B.x+0;G.y=B.y+0;var F=new Spry.Effect.Utils.Position;F.x=B.x+20;F.y=B.y+0;I={duration:50,toggle:false};var H=new Spry.Effect.Move(E,G,F,I);D.addNextEffect(H);var G=new Spry.Effect.Utils.Position;G.x=B.x+20;G.y=B.y+0;var F=new Spry.Effect.Utils.Position;F.x=B.x+-20;F.y=B.y+0;I={duration:100,toggle:false};var H=new Spry.Effect.Move(E,G,F,I);D.addNextEffect(H);var G=new Spry.Effect.Utils.Position;G.x=B.x+-20;G.y=B.y+0;var F=new Spry.Effect.Utils.Position;F.x=B.x+20;F.y=B.y+0;I={duration:100,toggle:false};var H=new Spry.Effect.Move(E,G,F,I);D.addNextEffect(H);var G=new Spry.Effect.Utils.Position;G.x=B.x+20;G.y=B.y+0;var F=new Spry.Effect.Utils.Position;F.x=B.x+-20;F.y=B.y+0;I={duration:100,toggle:false};var H=new Spry.Effect.Move(E,G,F,I);D.addNextEffect(H);var G=new Spry.Effect.Utils.Position;G.x=B.x+-20;G.y=B.y+0;var F=new Spry.Effect.Utils.Position;F.x=B.x+20;F.y=B.y+0;I={duration:100,toggle:false};var H=new Spry.Effect.Move(E,G,F,I);D.addNextEffect(H);var G=new Spry.Effect.Utils.Position;G.x=B.x+20;G.y=B.y+0;var F=new Spry.Effect.Utils.Position;F.x=B.x+0;F.y=B.y+0;I={duration:50,toggle:false};var H=new Spry.Effect.Move(E,G,F,I);D.addNextEffect(H);D.setup=C;D.finish=J;D.name="Shake";var A=SpryRegistry.getRegisteredEffect(E,D);A.start();return A};Spry.Effect.Squish=function(I,N){var I=Spry.Effect.getElement(I);var A=500;var O=true;var E=null;var P=null;if(N){if(N.duration!=null){A=N.duration}if(N.toggle!=null){O=N.toggle}if(N.setup!=null){E=N.setup}if(N.finish!=null){P=N.finish}}Spry.Effect.makePositioned(I);var D=Spry.Effect.getDimensions(I);var J=D.width;var L=D.height;var F=0;var H=0;var C=new Spry.Effect.Utils.Rectangle;C.width=J;C.height=L;var M=new Spry.Effect.Utils.Rectangle;M.width=F;M.height=H;var G=true;N={duration:A,toggle:O,scaleContent:G,setup:E,finish:P};var K=new Spry.Effect.Size(I,C,M,N);K.name="Squish";var B=SpryRegistry.getRegisteredEffect(I,K);B.start();return B};Spry.Effect.Pulsate=function(F,L){var F=Spry.Effect.getElement(F);var A=400;var J=100;var E=0;var M=false;var B=Spry.linearTransition;var D=null;var K=null;if(L){if(L.duration!=null){A=L.duration}if(L.from!=null){J=L.from}if(L.to!=null){E=L.to}if(L.toggle!=null){M=L.toggle}if(L.transition!=null){B=L.transition}if(L.setup!=null){D=L.setup}if(L.finish!=null){K=L.finish}}L={duration:A,toggle:M,transition:B,setup:D,finish:K};J=J/100;E=E/100;var I=new Spry.Effect.Cluster();var G=new Spry.Effect.Opacity(F,J,E,L);var H=new Spry.Effect.Opacity(F,E,J,L);I.addNextEffect(G);I.addNextEffect(H);I.addNextEffect(G);I.addNextEffect(H);I.addNextEffect(G);I.addNextEffect(H);I.name="Pulsate";var C=SpryRegistry.getRegisteredEffect(F,I);C.start();return C};Spry.Effect.Puff=function(C,E){var C=Spry.Effect.getElement(C);Spry.Effect.makePositioned(C);var V=null;var P=null;if(E){if(E.setup!=null){V=E.setup}if(E.finish!=null){P=E.finish}}var S=new Spry.Effect.Cluster;var L=500;var K=Spry.Effect.getDimensions(C);var M=K.width;var N=K.height;var T=M*2;var B=N*2;var U=new Spry.Effect.Utils.Rectangle;U.width=M;U.height=N;var A=new Spry.Effect.Utils.Rectangle;A.width=T;A.height=B;var Q=false;E={duration:L,toggle:false,scaleContent:Q};var J=new Spry.Effect.Size(C,U,A,E);S.addParallelEffect(J);E={duration:L,toggle:false};var G=1;var I=0;var F=new Spry.Effect.Opacity(C,G,I,E);S.addParallelEffect(F);E={duration:L,toggle:false};var R=new Spry.Effect.Utils.Position;R.x=0;R.y=0;var O=new Spry.Effect.Utils.Position;O.x=M/2*-1;O.y=N/2*-1;var H=new Spry.Effect.Move(C,R,O,E);S.addParallelEffect(H);S.setup=V;S.finish=P;S.name="Puff";var D=SpryRegistry.getRegisteredEffect(C,S);D.start();return D};Spry.Effect.DropOut=function(H,M){var H=Spry.Effect.getElement(H);var C=new Spry.Effect.Cluster;var B=500;Spry.Effect.makePositioned(H);var F=null;var N=null;if(M){if(M.setup!=null){F=M.setup}if(M.finish!=null){N=M.finish}}var E=new Spry.Effect.Utils.Position();E.x=parseInt(Spry.Effect.getStyleProp(H,"left"));E.y=parseInt(Spry.Effect.getStyleProp(H,"top"));if(!E.x){E.x=0}if(!E.y){E.y=0}var L=new Spry.Effect.Utils.Position;L.x=E.x+0;L.y=E.y+0;var J=new Spry.Effect.Utils.Position;J.x=E.x+0;J.y=E.y+160;M={from:L,to:J,duration:B,toggle:true};var I=new Spry.Effect.Move(H,M.from,M.to,M);C.addParallelEffect(I);M={duration:B,toggle:true};var K=1;var G=0;var A=new Spry.Effect.Opacity(H,K,G,M);C.addParallelEffect(A);C.setup=F;C.finish=N;C.name="DropOut";var D=SpryRegistry.getRegisteredEffect(H,C);D.start();return D};Spry.Effect.Fold=function(H,N){var H=Spry.Effect.getElement(H);var A=1000;var O=false;var G=true;var K=new Spry.Effect.Cluster();var D=Spry.Effect.getDimensions(H);var I=D.width;var L=D.height;var E=I;var F=L/5;var C=new Spry.Effect.Utils.Rectangle;C.width=I;C.height=L;var M=new Spry.Effect.Utils.Rectangle;M.width=E;M.height=F;N={duration:A,toggle:O,scaleContent:G};var J=new Spry.Effect.Size(H,C,M,N);K.addNextEffect(J);A=500;N={duration:A,toggle:O,scaleContent:G};C.width="100%";C.height="20%";M.width="10%";M.height="20%";var J=new Spry.Effect.Size(H,C,M,N);K.addNextEffect(J);K.name="Fold";var B=SpryRegistry.getRegisteredEffect(H,K);B.start();return B};

