Event.observe(window, 'load', startscroller, false);

var itemheight = 160;
var offsetincrement = 1;
var intervalpause = 20;
var itempause = 6000;

var scrollID;
var scrollpauseID;
var currentitem;
var topoffset = 0;
var offsetcounter = 0;
var quotes;
var items;

function startscroller() {
   quotes = $('quotes');
	if (quotes) {
	   quotes.onmouseover = function(){ pausescroll() };
	   quotes.onmouseout = function(){ resumescroll() };
	   var cloneditem = quotes.getElementsByTagName('LI')[0].cloneNode(true);
	   quotes.appendChild(cloneditem); // duplicating the top item allows us to restart the list more easily...
	   items = quotes.getElementsByTagName('LI').length;
	   currentitem = 0;
	   scrollID = setInterval(function(){ scrollup() },intervalpause);
	}
}

function pausescroll() {
   clearInterval(scrollID);
   if (scrollpauseID) { clearTimeout(scrollpauseID) };
   if (currentitem == items -1) {
      topoffset = 0;
      offsetcounter = 0;
      currentitem = 0;
      quotes.style.top = topoffset + 'px';
   }
}

function resumescroll() {
   scrollID = setInterval(function(){ scrollup() },intervalpause);   
}

function scrollup() {
   if (offsetcounter == itemheight) {
      offsetcounter = 0;
      currentitem = currentitem + 1;
   }
   if (offsetcounter == 0) {
      pausescroll();
      scrollpauseID = setTimeout("resumescroll()",itempause);
   }
   quotes.style.top = topoffset + 'px';
   topoffset = topoffset - offsetincrement;
   offsetcounter = offsetcounter + offsetincrement;
}