try{ //scroll bar

var minScrollSize = 100;
var scrollRatio = 3;
var clickDistance = 30;

var scroller;
var content;
var handle;
var track;
var scrollArea;

var slider = null;
var diff = null;
var distance = null;
var realRatio = null;
var clickLength = null;

var currentHeight;
var isScroll = false;

//alert(content.scrollHeight);
//alert(content.offsetHeight);
function doScroll(value){
	content.scrollTop = value * (content.scrollHeight - content.offsetHeight);
}

function scrollUp(){
	slider.setValue(slider.value - clickLength);
}
function scrollDown(){
	slider.setValue(slider.value + clickLength);
}
function mouseScroll(event){
	var delta = 0;
	if (!event) /* For IE. */
		event = window.event;
	if (event.wheelDelta) { /* IE/Opera. */
		delta = event.wheelDelta;
		/** 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;
	}

	/** 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>0)
		scrollUp();
	else
		scrollDown();
	/** 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();
}



function initSlider(){
	scroller = $('scroll-container');
	if(scroller){
	content = scroller.select('.body-scroll')[0];
	handle = scroller.select('.scroll-bar')[0];
	track = scroller.select('.scroll-channel')[0];
	scrollArea = scroller.select('.scroll')[0];
	
	slider = null;
	diff = null;
	distance = null;
	realRatio = null;
	clickLength = null;
	}

	scroller.select('#top-scroll-button')[0].observe('click', scrollUp);
	scroller.select('#bot-scroll-button')[0].observe('click', scrollDown);
	// mozilla
	content.observe('DOMMouseScroll', mouseScroll);
	// IE/Opera
	content.observe('mousewheel', mouseScroll);
	//$$('body').observe('load', updateSlider);

	updateSlider();
	setInterval('updateSlider(true)', 2000)
}

function makeSlider(){
	slider = new Control.Slider(handle, track, {
		axis: 'vertical',
		onSlide: doScroll,
		onChange: doScroll
	});
}

function updateSlider(fromtimer){
	//if(fromtimer && isScroll)
	//	return;
		
	if(scrollArea && currentHeight != content.scrollHeight){
		currentHeight = content.scrollHeight;
		diff = content.scrollHeight - content.offsetHeight;
			
		if(diff <= 0){
			scrollArea.style.display = 'none';
			isScroll = false;
		}
		else{
			scrollArea.style.display = 'block';
			isScroll = true;
		}
		
		if(slider != null)
			slider.dispose();
		slider = null;
		
		var trackHeight = track.getHeight();
		distance = diff / scrollRatio;
	
		if(trackHeight - distance < minScrollSize){
			handle.style.height = minScrollSize + 'px';
			realRatio = diff / (trackHeight - minScrollSize);
		}
		else{
			handle.style.height = (trackHeight - distance) + 'px';
			realRatio = scrollRatio;
		}
		makeSlider();
	
		clickLength = (clickDistance / realRatio) / (slider.trackLength - slider.handleLength);

	}
}

}catch(e){}