var scrollbar;

function scrollbarPressed (o, c, e)
{
	o.className += "-Pressed";
};

function scrollbarReleased (o, c, e)
{
	o.className = o.className.replace("-Pressed", "");
};

function handle(delta)
{
	if (delta < 0)
	{
		scrollbar.scrollBy(30);
	}
	else
	{
		scrollbar.scrollBy(-30);
	}
}

function wheel(event)
{
	var delta = 0;
	if (!event) /* For IE. */
	{
		event = window.event;
	}
	if (event.wheelDelta) /* IE/Opera. */
	{
		delta = event.wheelDelta/120;
		/** In Opera 9, delta differs in sign as compared to IE.*/
		if (window.opera)
		{
			delta = -delta;
		}
	}
	else if (event.detail)
	{
		/** Mozilla case. */
		/** In Mozilla, sign of delta is different than in IE.
		* Also, delta is multiple of 3.
		*/
		delta = -event.detail/3;
	}
	/** If delta is nonzero, handle it.
	* Basically, delta is now positive if wheel was scrolled up,
	* and negative, if wheel was scrolled down.
	*/
	if (delta)
	{
		handle(delta);
	}
	/** Prevent default actions caused by mouse wheel.
	* That might be ugly, but we handle scrolls somehow
	* anyway, so don't bother here..
	*/
	if (event.preventDefault)
	{
		event.preventDefault();
		event.returnValue = false;
	}
}

/** Initialization code. 
* If you use your own event management code, change it as required.
*/
function InitScroller()
{
	var content = document.getElementById("ScrollerContent");
	var scrollb = document.getElementById("Scrollbar");

	scrollbar = new Scrolling.Scrollbar
	(
		scrollb,
		new Scrolling.Scroller (content, 584, 171),
		new Scrolling.ScrollTween()
	);
	
	scrollbar.onMouseDown = scrollbarPressed;
	scrollbar.onMouseUp   = scrollbarReleased;
	if (window.addEventListener) /** DOMMouseScroll is for mozilla. */
	{
		window.addEventListener('DOMMouseScroll', wheel, false);
	}
	/** IE/Opera. */
	window.onmousewheel = document.onmousewheel = wheel;
}

function keyDown(f)
{
	var evt=(f)?f:(window.event)?window.event:null;
	if(evt)
	{
		var key=(evt.charCode)?evt.charCode:
			((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
			//alert(key);
			if(key == '40')
			{
				scrollbar.scrollBy(30);
			}
			if(key == '38')
			{
				scrollbar.scrollBy(-30);
			}
			if(key == '36')
			{
				scrollbar.tweenTo(0);
			}
			if(key == '35')
			{
				scrollbar.tweenTo(1000000000);
			}
			if(key == '34')
			{
				scrollbar.tweenBy(280);
			}
			if(key == '33')
			{
				scrollbar.tweenBy(-280);
			}
			if(key == '32')
			{
				scrollbar.tweenBy(280);
			}
	}
}
function KeyPressAction(thisOne)
{
	if(document.all)
	{
		if (window.event.keyCode == 40)
		{
			scrollbar.scrollBy(30);
		}
		if (window.event.keyCode == 38)
		{
			scrollbar.scrollBy(-30);
		}
		if (window.event.keyCode == 36)
		{
			scrollbar.tweenTo(0);
		}
		if (window.event.keyCode == 35)
		{
			scrollbar.tweenTo(1000000000);
		}
		if (window.event.keyCode == 34)
		{
			scrollbar.tweenBy(360);
		}
		if (window.event.keyCode == 33)
		{
			scrollbar.tweenBy(-360);
		}
		if (window.event.keyCode == 32)
		{
			scrollbar.tweenBy(360);
		}
	}
	else
	{
		window.onkeypress=keyDown;
	}
}

function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			if (oldonload)
			{
				oldonload();
			}
			func();
		}
	}
}

setTimeout(InitScroller, 500);

