var scrollers = new Array();
var speeds = new Array();
var tops = new Array();
var tos = new Array();
var tmpspeed = 0;

function startScroller(elm, speed) {
   var scrollerNo = scrollers.length;
   scrollers.push(elm);
   speeds.push(speed);
   tops.push(0);
   setTimeout("goScroller(" + scrollerNo + ");", speed);
   elm.onmouseover = function() {
      eval("clearTimeout(tos[" + scrollerNo + "]);");
      }
   elm.onmouseout = function() {
      eval("tos[" + scrollerNo + "] = setTimeout('goScroller(" + scrollerNo + ");', speeds[" + scrollerNo + "]);");
      }
   return false;
   }

function goScroller(no) {
   tops[no] -= 1;
   scrollers[no].style.top = tops[no] + "px";
   if (tops[no] < - scrollers[no].offsetHeight - scrollers[no].parentNode.offsetHeight) tops[no] = scrollers[no].parentNode.offsetHeight;
   scrollers[no].style.top = tops[no] + "px";
   clearTimeout(tos[no]);
   if (tops[no] == - 1) tos[no] = setTimeout("goScroller(" + no + ");", 5000);
   else tos[no] = setTimeout("goScroller(" + no + ");", speeds[no]);
   return false;
   }