var Spry;if(!Spry)Spry={};if(!Spry.Effects)Spry.Effects={};Spry.Effects.getElement=function(ele)
{if(ele&&typeof ele=="string")
return document.getElementById(ele);return ele;}
Spry.Effects.getStyleProp=function(element,prop)
{try
{if(element.style[prop])
return element.style[prop];else if(element.currentStyle)
return element.currentStyle[prop];else if(document.defaultView&&document.defaultView.getComputedStyle)
{var style=document.defaultView.getComputedStyle(element,null);return style.getpropValue(prop);}}
catch(e){}
return null;};Spry.Effects.Animator=function(options)
{this.timer=null;this.interval=0;this.stepCount=0;this.options={fps:0,steps:10,duration:500,onComplete:null};this.setOptions(options);if(this.options.fps>0)
{this.interval=Math.floor(1000/this.options.fps);this.options.steps=parseInt((this.options.duration+(this.interval-1))/this.interval);}
else if(this.options.steps>0)
this.interval=this.options.duration/this.options.steps;this.timeElapsed=0;};Spry.Effects.Animator.prototype.setOptions=function(options)
{if(!options)
return;for(var prop in options)
this.options[prop]=options[prop];};Spry.Effects.Animator.prototype.start=function()
{var self=this;this.timer=setTimeout(function(){self.stepAnimation();},this.interval);};Spry.Effects.Animator.prototype.stop=function()
{if(this.timer)
clearTimeout(this.timer);this.timer=null;};Spry.Effects.Animator.prototype.stepAnimation=function()
{++this.stepCount;this.animate();if(this.stepCount<this.options.steps)
this.start();else if(this.options.onComplete)
this.options.onComplete();};Spry.Effects.Animator.prototype.animate=function(){};Spry.Effects.Move=function(element,x,y,options)
{Spry.Effects.Animator.call(this,options);this.element=Spry.Effects.getElement(element);this.stopX=x;this.stopY=y;this.x=Spry.Effects.getStyleProp(element,"left");this.y=Spry.Effects.getStyleProp(element,"top");if(!this.x||this.x=="auto")
this.x=element.offsetLeft;else
this.x=parseInt(this.x);if(!this.y||this.y=="auto")
this.y=element.offsetTop;else
this.y=parseInt(this.y);this.incrX=(this.stopX-this.x)/this.options.steps;this.incrY=(this.stopY-this.y)/this.options.steps;this.start();};Spry.Effects.Move.prototype=new Spry.Effects.Animator();Spry.Effects.Move.prototype.constructor=Spry.Effects.Move;Spry.Effects.Move.prototype.animate=function()
{if(this.stepCount>=this.options.steps)
{this.x=this.stopX;this.y=this.stopY;}
else
{this.x+=this.incrX;this.y+=this.incrY;}
this.element.style.left=this.x+"px";this.element.style.top=this.y+"px";};Spry.Effects.Size=function(element,w,h,options)
{Spry.Effects.Animator.call(this,options);this.element=Spry.Effects.getElement(element);this.stopW=w;this.stopH=h;this.w=Spry.Effects.getStyleProp(element,"width");this.h=Spry.Effects.getStyleProp(element,"height");if(!this.w||this.w=="auto")
this.w=element.offsetWidth;else
this.w=parseInt(this.w);if(!this.h||this.h=="auto")
this.h=element.offsetHeight;else
this.h=parseInt(this.h);this.incrW=(this.stopW-this.w)/this.options.steps;this.incrH=(this.stopH-this.h)/this.options.steps;this.start();};Spry.Effects.Size.prototype=new Spry.Effects.Animator();Spry.Effects.Size.prototype.constructor=Spry.Effects.Size;Spry.Effects.Size.prototype.animate=function()
{if(this.stepCount>=this.options.steps)
{this.w=this.stopW;this.h=this.stopH;}
else
{this.w+=this.incrW;this.h+=this.incrH;}
this.element.style.width=this.w+"px";this.element.style.height=this.h+"px";};Spry.Effects.Opacity=function(element,opacity,options)
{Spry.Effects.Animator.call(this,options);this.element=Spry.Effects.getElement(element);this.stopOpacity=opacity;this.opacity=Spry.Effects.getStyleProp(element,"opacity");if(!this.opacity)
this.opacity=1.0;else
this.opacity=parseFloat(this.opacity);this.incrO=(this.stopOpacity-this.opacity)/this.options.steps;this.start();};Spry.Effects.Opacity.prototype=new Spry.Effects.Animator();Spry.Effects.Opacity.prototype.constructor=Spry.Effects.Opacity;Spry.Effects.Opacity.prototype.animate=function()
{if(this.stepCount>=this.options.steps)
this.opacity=this.stopOpacity;else
this.opacity+=this.incrO;this.element.style.opacity=this.opacity;this.element.style.filter="alpha(opacity="+Math.floor(this.opacity*100)+")";};Spry.Effects.cssColors=[];Spry.Effects.cssColors["maroon"]="#800000";Spry.Effects.cssColors["red"]="#ff0000";Spry.Effects.cssColors["orange"]="#ffA500";Spry.Effects.cssColors["yellow"]="#ffff00";Spry.Effects.cssColors["olive"]="#808000";Spry.Effects.cssColors["purple"]="#800080";Spry.Effects.cssColors["fuchsia"]="#ff00ff";Spry.Effects.cssColors["white"]="#ffffff";Spry.Effects.cssColors["lime"]="#00ff00";Spry.Effects.cssColors["green"]="#008000";Spry.Effects.cssColors["navy"]="#000080";Spry.Effects.cssColors["blue"]="#0000ff";Spry.Effects.cssColors["aqua"]="#00ffff";Spry.Effects.cssColors["teal"]="#008080";Spry.Effects.cssColors["black"]="#000000";Spry.Effects.cssColors["silver"]="#c0c0c0";Spry.Effects.cssColors["gray"]="#808080";Spry.Effects.SizeAndPosition=function(element,x,y,w,h,options)
{this.mover=new Spry.Effects.Move(element,x,y,options);this.sizer=new Spry.Effects.Size(element,w,h,options);};Spry.Effects.SizeAndPosition.prototype.stop=function()
{this.mover.stop();this.sizer.stop();};
