function makeScrollbar(content, scrollbar, handle, horizontal, ignoreMouse) {
	if ($$('.scrollbar_wrapper')[0]) {

    var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))

	 var start_pos = 0;
	 
	 if (content.offsetTop != 0) {
		 var start_pos = content.offsetTop;
	 }  

    var 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);					
        });
    }

    $$('.arrow_up').addEvents({
        'click': function() {
            var step = slider.step - 30;
            slider.set(step);
        }
    });

    $$('.arrow_down').addEvents({
        'click': function() {
            var step = slider.step + 30;
            slider.set(step);
        }
    });

    $$('.arrow_up_hover, .arrow_down_hover, .handle-vert-hover').set('opacity', 0.1).addEvents({
        'mouseover': function() {
            $(this).set('tween', {duration: 200}).tween('opacity', 1);
        },
        'mouseout': function() {
            $(this).set('tween', {duration: 200}).tween('opacity', 0.1);
        }
    });

    $$('a[href^=#]').each(function(el) {
        $(el).addEvents({
            'click': function() {
                var anchorName = $(this).href.substr(el.href.indexOf('#')+1);
                var posY = $$('a[name=' + anchorName + ']')[0].getPosition().y - 400;

                slider.set(posY);

                return false;
            }
        });
    });

    // Stops the handle dragging process when the mouse leaves the document body.
    $(document.body).addEvent('mouseleave', function() { slider.drag.stop() } );
   }
}

