var scrollerStep = 1;      // how many pixels the items move each frame
var scrollerDelay = 40;    // how many milliseconds between frames
var scrollerPause = 5000;  // milliseconds to keep each item at the top

var itemMargin = 4; // how much margin items naturally have in direction of motion

// use these values for vertical scrolling
var itemMeasure = 'offsetHeight';
var marginX = 'marginTop';

// use these values for horizontal scrolling
/*
var itemMeasure = 'offsetWidth';
var marginX = 'marginLeft';
*/

function startScroller()
{
   setTimeout('moveScroller( "scrollingList", true )', scrollerDelay );
}

function moveScroller( scrollerId, firstTime )
{
   scrollerObj = document.getElementById( scrollerId );

   itemObj = scrollerObj.getElementsByTagName('LI')[0];
   
   if( firstTime )
   {
    //duplicate top node to bottom of list
    scrollerObj.appendChild( itemObj.cloneNode(true) );
   }

   objectLength = itemObj[itemMeasure];
   
   if( itemObj.style[marginX] == '' )
       margin = 0;
   else
       margin = parseInt(itemObj.style[marginX]);
                        
   if( margin > 0-objectLength-itemMargin )
   {
     margin -= scrollerStep;
     itemObj.style[marginX] = margin;
     setTimeout( "moveScroller('"+scrollerObj.id+"', false)", scrollerDelay );
   }
   else
   {
     scrollerObj.removeChild( itemObj );
     setTimeout( "moveScroller('"+scrollerObj.id+"', true)", scrollerPause );  
   }
}