var TheSnake = new Snake();
function Snake()
{
   this.x = 0;
   this.y = 0;
   this.xpos  = new Array();
   this.ypos  = new Array();
   this.stepX = 11;
   this.stepY = 0;

   var message  = "Tim's Outdoor Adventures";
   this.message = message.split("");
   this.working = false;
   this.IE      = (document.all);
}

function handlerMM( e )
{
   with( TheSnake )
   {
      x = IE ? (document.body.scrollLeft+event.clientX) : e.pageX;
      y = IE ? (document.body.scrollTop +event.clientY) : e.pageY;
   }
}

function buildSnake() 
{
   with( TheSnake )
   {
      for( i=0; i<message.length; i++ ) 
         xpos[i] = ypos[i] = 0;

      for( i=0; i<message.length; i++ ) 
         document.write( "<span id='span" + i + "' class='snakestyle'>" + message[i] + "</span>" );
   }

   if( document.layers )
      document.captureEvents( Event.MOUSEMOVE );

   document.onmousemove = handlerMM;
   TheSnake.working = true;

   DoSnake();
}

function DoSnake()  
{
   if( TheSnake.working ) with( TheSnake )
   {
      for( i=message.length; i>0; i-- ) 
      {
         xpos[i] = xpos[i-1] + stepX;
         ypos[i] = ypos[i-1] + stepY;
      }
      xpos[0] = x + stepX;
      ypos[0] = y + stepY;
	
      for( i=0; i<message.length; i++ ) 
      {
         var thisspan = IE ? eval( "span" + i + ".style" ) : eval( "document.span" + i );
         if( IE )
         {
            thisspan.posLeft = xpos[i];
            thisspan.posTop  = ypos[i];
         }
         else
         {
            thisspan.left = xpos[i];
            thisspan.top  = ypos[i];
         }
      }
   }

   setTimeout( "DoSnake()", 30 );
}




