


var slider = null;
var steps = null;
function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
	steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
	slider = new Slider(scrollbar, handle, {	
		steps: steps,
		mode: (horizontal?'horizontal':'vertical'),
		onChange: function(step){
			// Scrolls the content element in x or y direction.
			var x = (horizontal?step:0);
			var y = (horizontal?0:step);
			content.scrollTo(x,y);
		}
	}).set(0);
	if( !(ignoreMouse) ){
		// Scroll the content element when the mousewheel is used within the 
		// content or the scrollbar element.
		$$(content, scrollbar).addEvent('mousewheel', function(e){	
			e = new Event(e).stop();
			var step = slider.step - e.wheel * 30;	
			slider.set(step);					
		});
	}
	// Stops the handle dragging process when the mouse leaves the document body.
	$(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
}







/*
	TEST IF SCOLL IS NEEDED
	will also reset scroller
*/
function checkOverflow( ){

	if( !$('scrollcontent1') ) return;

	$('scrollcontent1').removeClass('scollActive');
	
	if( $('scrollcontent1').getScrollSize().y > $('scrollcontent1').getSize().y ){
		$('scrollcontent1').addClass('scollActive');
		$('scrollbar').setStyle('display','block');
		$('scrollbar1').setStyle( 'height', ( $('scrollcontent1').getSize().y - ( $('sb_top').getSize().y + $('sb_bot').getSize().y ) ) + 'px' );
		
		makeScrollbar( $('scrollcontent1'), $('scrollbar1'), $('handle1') );
		
	} else {
		/*
			SCOLL NOT NEEDED
		*/
		$('scrollbar').setStyle('display','none');
	}
	
	/*
		SCROLL TOP
	*/
	$('scrollcontent1').scrollTo( 0, 0 );
	
} 


/*
	ENTRY
*/
window.addEvent('domready',function(){

	checkOverflow();
	
	/*
		EVENTS
	*/
	$('sb_top').addEvent('click', function(e){ $('scrollcontent1').scrollTo( 0, 0 );slider.set(0); });
	$('sb_bot').addEvent('click', function(e){ $('scrollcontent1').scrollTo( 0, steps );slider.set(steps); });
	
});

