// <![CDATA[
// http://adomas.org/javascript-mouse-wheel/
function handle(delta) {
	if (delta < 0)
		scrollShift(slider_v,.1);
	else
		scrollShift(slider_v,-.1);
}
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;
}

// Slider Controls modified from Aldenta (by John Ford)
// shift the scroll element per click based on its current value
function scrollShift(slider,v) {
	slider.setValue(slider.value+v);
}
// scroll the element vertically based on its width and the slider maximum value
function scrollVertical(value, element, slider) {
	element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
}
// scroll the element horizontally based on its width and the slider maximum value
function scrollHorizontal(value, element, slider) {
	element.scrollLeft = Math.round(value/slider.maximum*(element.scrollWidth-element.offsetWidth));
}
// disable vertical scrolling if text doesn't overflow the div
if ($('scroll_window').scrollHeight > $('scroll_window').getHeight()) {
	/* Initialization code. */
	if (window.addEventListener)
		window.addEventListener('DOMMouseScroll', wheel, false);
	window.onmousewheel = document.onmousewheel = wheel;
	//slider_v.setDisabled();
	$('scrollbar_v').show();
	$('scrollbar_v').setStyle({ height: $('post_content').getHeight() + 'px'});
	$('scroll_window').setStyle({ width: $('post_content').getWidth()-$('scrollbar_v').getWidth()-5 + 'px'}); //- value = width of padding added to post_content to account for scrollbar
	$('track_v').setStyle({ height: $('scrollbar_v').getHeight()-36 + 'px'}); //- value = height of arrows

	// vertical slider control
	var slider_v = new Control.Slider('handle_v', 'track_v', {
		axis: 'vertical',
		onSlide: function(v) { scrollVertical(v, $('scroll_window'), slider_v);  },
		onChange: function(v) { scrollVertical(v, $('scroll_window'), slider_v); }
	});
}
// ]]>
