
function Marquee(){
   this.ID=document.getElementById(arguments[0]);
   this.Direction=arguments[1];
   this.Step=arguments[2];
   this.Width=arguments[3];
   this.Height=arguments[4];
   this.Timer=arguments[5];
   this.WaitTime=arguments[6];
   this.StopTime=arguments[7];
   if(arguments[3])
     this.ScrollStep=arguments[3];
   else
     this.ScrollStep=this.Direction>1?this.Width:this.Height;
   this.CTL=this.StartID=this.Stop=this.MouseOver=0;
   this.ID.style.overflowX=this.ID.style.overflowY="hidden";
   this.ID.noWrap=true;
   this.ID.style.width=this.Width;
   this.ID.style.height=this.Height;
   this.ClientScroll=this.Direction>1?this.ID.scrollWidth:this.ID.scrollHeight;
   this.ID.innerHTML+=this.ID.innerHTML;
   this.Start(this,this.Timer,this.WaitTime,this.StopTime);
   }
Marquee.prototype.Start=function(msobj,timer,waittime,stoptime){
   msobj.StartID=function(){
     msobj.Scroll();
     }
   msobj.Continue=function(){
     if(msobj.MouseOver==1)
       setTimeout(msobj.Continue,waittime);
     else{
       clearInterval(msobj.TimerID);
       msobj.CTL=msobj.Stop=0;
       msobj.TimerID=setInterval(msobj.StartID,timer);
       }
     }
   msobj.Pause=function(){
     msobj.Stop=1;
     clearInterval(msobj.TimerID);
     setTimeout(msobj.Continue,waittime);
     }
   msobj.Begin=function(){
     msobj.TimerID=setInterval(msobj.StartID,timer);
     msobj.ID.onmouseover=function(){
       msobj.MouseOver=1;
       clearInterval(msobj.TimerID);
       }
     msobj.ID.onmouseout=function(){
       msobj.MouseOver=0;
       if(msobj.Stop==0){
         clearInterval(msobj.TimerID);
         msobj.TimerID=setInterval(msobj.StartID,timer);
         }
       }
     }
   setTimeout(msobj.Begin,stoptime);
   }
Marquee.prototype.Scroll=function(){
   switch(this.Direction){
     case 0:
       this.CTL+=this.Step;
       if(this.CTL>=this.ScrollStep&&this.WaitTime>0){
         this.ID.scrollTop+=this.ScrollStep+this.Step-this.CTL;
         this.Pause();
         return;
         }
       else{
         if(this.ID.scrollTop>=this.ClientScroll)
           this.ID.scrollTop-=this.ClientScroll;
         this.ID.scrollTop+=this.Step;
         }
       break;
     case 1:
       this.CTL+=this.Step;
       if(this.CTL>=this.ScrollStep&&this.WaitTime>0){
         this.ID.scrollTop-=this.ScrollStep+this.Step-this.CTL;
         this.Pause();
         return;
         }
       else{
         if(this.ID.scrollTop<=0)
           this.ID.scrollTop+=this.ClientScroll;
         this.ID.scrollTop-=this.Step;
         }
       break;
     case 2:
       this.CTL+=this.Step;
       if(this.CTL>=this.ScrollStep&&this.WaitTime>0){
         this.ID.scrollLeft+=this.ScrollStep+this.Step-this.CTL;
         this.Pause();
         return;
         }
       else{
         if(this.ID.scrollLeft>=this.ClientScroll)
           this.ID.scrollLeft-=this.ClientScroll;
         this.ID.scrollLeft+=this.Step;
         }
       break;
     case 3:
       this.CTL+=this.Step;
       if(this.CTL>=this.ScrollStep&&this.WaitTime>0){
         this.ID.scrollLeft-=this.ScrollStep+this.Step-this.CTL;
         this.Pause();
         return;
         }
       else{
         if(this.ID.scrollLeft<=0)
           this.ID.scrollLeft+=this.ClientScroll;
         this.ID.scrollLeft-=this.Step;
         }
       break;
     }
   }

