var timer;

function scroll(div_id, direction, scroll_amount, auto)
{
	//var scroll_amount = 1;// in Pixel, mehr=schneller
	var div = document.getElementById(div_id);
	clearTimeout(timer);
	y = div.scrollTop;
	if( direction == 'up' ) y -= scroll_amount;
	if( direction == 'down' ) y += scroll_amount;
	if( ( y <= div.scrollHeight - div.offsetHeight + (scroll_amount) ) && ( y >= 0 - ( scroll_amount) ) )
	{
		div.scrollTop=y;
		if (auto) { timer=setTimeout('scroll("' + div_id + '","' + direction + '",' + scroll_amount + ', true)',5);}
	}
	if( ( y <0 ) || ( y > div.scrollHeight - div.offsetHeight ) )
	{
		if (auto) clearTimeout(timer);
	}
}

function showScroller() {
	if (document.getElementById('main_content')) 
	{
		div = document.getElementById('main_content');
		scroll_id = "scroll";
		div_id = "main_content";
	}
	else if (document.getElementById('main_content_gallery'))
	{
		div = document.getElementById('main_content_gallery');
		scroll_id = "scroll_full";
		div_id = "main_content_gallery"; 
	}
	else
	{
		div = document.getElementById('main_content_full');
		scroll_id = "scroll_full";
		div_id = "main_content_full"; 
	}

	if ( (div.scrollHeight > div.offsetHeight) )
	{
		document.getElementById(scroll_id).style.visibility = 'visible';
	}
	/* Scrollwheel Initialization code. */
	if (window.addEventListener) {
		document.getElementById('content').addEventListener('DOMMouseScroll', wheel, false);
		}
	document.getElementById('content').onmousewheel = wheel;
} 

/** This is high-level function; REPLACE IT WITH YOUR CODE.
 * It must react to delta being more/less than zero.
 */
function handle(delta) {
	if (delta < 0)
		scroll(div_id, "down", delta * (-10), false);
	else
		scroll(div_id, "up", delta * 10, false);
}

function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta)
		handle(delta);
        if (event.preventDefault)
                event.preventDefault();
        event.returnValue = false;
}
