<!-- 

var enableScroll = true;
var preStartBuffer = 100; 
var postReloadBuffer = 100;
var scrollspeed = 1;
var timeout = 100;

// init
var lastScrollPos = 0;
var preBuffer = 0;
var postBuffer = 0;

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
  
}

function getMaxScrollXY() {
	var x,y;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) // all but Explorer Mac
	{
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	}
	else // Explorer Mac;
		 //would also work in Explorer 6 Strict, Mozilla and Safari
	{
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	return [x,y];

}

function loadScroll() {
	preBuffer = 0;
	postBuffer = 0;
	lastScrollPos = 0;
	doScroll();
}

function doScroll() {
	if (preBuffer < preStartBuffer) { 
		preBuffer++;
	} else {
		if (enableScroll) {
			window.scrollBy(0,scrollspeed); 
			var nowxy = getScrollXY();
			if (nowxy[1] != lastScrollPos) {
				lastScrollPos = nowxy[1];
				postBuffer = 0;
			} else {
				if (postBuffer > postReloadBuffer) {
					preBuffer = 0;
					postBuffer = 0;
					window.scroll(0,0); 
				} else {
					postBuffer++;	
				}
			}
		}
	}
	setTimeout('doScroll()',timeout);
	
}

function stopScroll() {
	enableScroll = false;	
}

function startScroll() {
	enableScroll = true;
}

// -->