var Rototicker=Class.create();Rototicker.prototype={counter:0,current:0,maxnum:0,target:null,cssRule:null,intervalfunc:null,initialize:function(d,c,b,a){this.target=$(d);this.cssRule=c;this.maxnum=b;this.options=Object.extend({updateRate:5,duration:0.5,direction:"top"},a||{});var e=0;this.target.select(this.cssRule).each(function(f){++e});if(e>this.maxnum){this.start.bind(this).delay(this.options.updateRate)}},shownext:function(c){element=this.target.select(this.cssRule)[0].cleanWhitespace();var a=element.down().getStyle("bottom");var b=element.getDimensions();new Effect.Scale(element,0,{duration:this.options.duration,scaleContent:false,scaleX:this.options.direction=="left",scaleY:this.options.direction=="top",scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();d.element.makeClipping().show()},afterFinishInternal:function(e){e.element.hide().undoClipping().undoPositioned();e.element.down().undoPositioned().setStyle({bottom:a});var d=e.element.remove();d.show();this.target.insert(d);if(this.intervalfunc){this.intervalfunc.delay(this.options.updateRate)}}.bind(this)})},start:function(){this.intervalfunc=this.shownext.bind(this);this.intervalfunc()},stop:function(){this.intervalfunc=null},elasticEffect:function(a){return -1*Math.pow(4,-8*a)*Math.sin((a*6-1)*(2*Math.PI)/2)+1}};