
get_element = document.all ?
	function (s_id) { return document.all[s_id] } :
	(document.getElementById ?
		function (s_id) { return document.getElementById(s_id) } :
		function (s_id) { return null });
		
var e_scroller = get_element('scrollDiv');
var n_period = 20; // mS
var b_scrolling = false;
var e_timer, n_newPosition, n_scrollHeight;

function f_scroll(b_step) {
	// stop scrolling if 
	if (!b_step) {
		b_scrolling = false;
		if (e_timer)
			clearTimeout (e_timer);
		return;
	}

	b_scrolling = true;
	n_newPosition = e_scroller.scrollTop + b_step;
	n_scrollHeight = e_scroller.scrollHeight;
	// stop when reached top
	if (n_newPosition < 0) {
		n_newPosition = 0;
		f_scroll();
	}
	// stop when reached bottom
	if (n_newPosition > n_scrollHeight) {
		n_newPosition = n_scrollHeight;
		f_scroll();
	}
	// schedule next step
	e_scroller.scrollTop = n_newPosition;
	if (b_scrolling)
		e_timer = setTimeout('f_scroll(' + b_step +')', n_period);
}








