var mooquee=new Class({initialize:function(B,A){this.setOptions({marHeight:40,marWidth:550,steps:1,speed:20,direction:"bottom",pauseOnOver:true},A);this.timer=null;this.textElement=null;this.mooqueeElement=B;this.constructMooquee()},constructMooquee:function(){var A=this.mooqueeElement;A.setStyles({width:this.options.marWidth,height:this.options.marHeight});this.textElement=new Element("div",{"class":"mooquee-text",id:"mooquee-text"}).set("html",A.innerHTML);A.set("html","");this.textElement.inject(A);if(!this.setStartPos()){return }if(this.options.pauseOnOver){this.addMouseEvents()}this.timer=this.startMooquee.delay(this.options.speed,this)},setStartPos:function(){if(this.options.direction=="bottom"){this.textElement.setStyle("bottom",(-1*this.textElement.getCoordinates().height.toInt()))}else{if(this.options.direction=="top"){this.textElement.setStyle("bottom",this.options.marHeight)}else{if(this.options.direction=="left"){this.textElement.setStyle("left",(-1*this.textElement.getCoordinates().width.toInt()))}else{if(this.options.direction=="right"){this.textElement.setStyle("left",this.options.marWidth)}else{alert("direction config error: "+this.options.direction);return false}}}}return true},addMouseEvents:function(){this.textElement.addEvents({mouseenter:function(A){this.clearTimer()}.bind(this),mouseleave:function(A){this.timer=this.startMooquee.delay(this.options.speed,this)}.bind(this)})},startMooquee:function(){if(this.options.direction=="bottom"||this.options.direction=="top"){var A=this.textElement.getStyle("bottom").toInt()}else{if(this.options.direction=="left"||this.options.direction=="right"){var A=this.textElement.getStyle("left").toInt()}}if(this.options.direction=="bottom"){this.textElement.setStyle("bottom",(A+-1)+"px")}else{if(this.options.direction=="top"){this.textElement.setStyle("bottom",(A+1)+"px")}else{if(this.options.direction=="left"){this.textElement.setStyle("left",(A+-1)+"px")}else{if(this.options.direction=="right"){this.textElement.setStyle("left",(A+1)+"px")}}}}this.checkEnd(A);this.timer=this.startMooquee.delay(this.options.speed,this)},resumeMooquee:function(){this.stopMooquee();if(this.options.pauseOnOver){this.addMouseEvents()}this.timer=this.startMooquee.delay(this.options.speed,this)},stopMooquee:function(){this.clearTimer();this.textElement.removeEvents()},clearTimer:function(){$clear(this.timer)},checkEnd:function(A){if(this.options.direction=="bottom"){if(A<-1*(this.textElement.getCoordinates().height.toInt())){this.textElement.setStyle("bottom",this.options.marHeight)}}else{if(this.options.direction=="top"){if(A>this.options.marHeight.toInt()){this.textElement.setStyle("bottom",-1*(this.textElement.getCoordinates().height.toInt()))}}else{if(this.options.direction=="left"){if(A<-1*(this.textElement.getCoordinates().width.toInt())){this.textElement.setStyle("left",this.options.marWidth)}}else{if(this.options.direction=="right"){if(A>this.options.marWidth.toInt()){this.textElement.setStyle("left",-1*(this.textElement.getCoordinates().width.toInt()))}}}}}},setDirection:function(A){this.options.direction=A;this.setStartPos()}});mooquee.implement(new Options);