var slider;
var steps = 10000;
 
function makeScrollbar(content,scrollbar,handle){
  var scrollSize = content.getSize().scrollSize.y - content.getSize().size.y;
  handle.setStyle('height', Math.floor(content.getSize().size.y * (content.getSize().size.y/content.getSize().scrollSize.y)) + 'px');  
	slider = new Slider(scrollbar, handle, {	
		steps: steps,
		mode: 'vertical',
		onChange: function(step){
			var y = scrollSize/(steps/step);
			content.scrollTo(0,y);
		}
	}).set(0);
	
$$(content, scrollbar).addEvent('mousewheel', function(e){	
						e = new Event(e).stop();
						var step = slider.step - e.wheel * 300;	
						slider.set(step);					
					});
	
}
 
window.addEvent('domready', function(){
  var scrollbodyWidth = 0;
  $('scrollbody').getChildren().each(function(el) {
   scrollbodyWidth += el.getSize().size.y;
  });
  $('scrollbody').setStyle('height', scrollbodyWidth + 'px');
  makeScrollbar( $('scrollbody_container'), $('scrollbar'), $('handle') );	
});
 
window.addEvent('resize', function(){
  var oldpos = slider.step;
  $('scrollbar').removeEvents('mousedown');
  $('handle').removeEvents('mousedown');
  makeScrollbar( $('scrollbody_container'), $('scrollbar'), $('handle') );	
	slider.set(oldpos);
});
