jQuery.noConflict();

function setupScroll() {
	var scrollBar = jQuery('.scrollbar');
	var viewport = jQuery('.viewport');
	var content = jQuery('.viewport .scroller');
	
	if (content.outerHeight() < viewport.outerHeight())
	{ scrollBar.css('display', 'none'); }
	else
	{ 
		scrollBar.css('display', 'block');
		var viewportHeight = viewport.outerHeight();
		var contentHeight = content.outerHeight();
		var scrollBarHeight = scrollBar.height();
		var knobHeight = jQuery('.knob', scrollBar).height();
		var deltaCst = scrollBarHeight - knobHeight;
		var cst;
		
		cst = (contentHeight - viewportHeight) / deltaCst;
		
		jQuery('.knob').draggable('destroy');
		jQuery('.knob').draggable({
			axis: 'y',
			containment: 'parent',
			drag: function(event ,ui) {
				viewport.scrollTop(cst * ui.position.top);
			},
			refreshPositions: true
		});
		
		jQuery('.viewport').unbind();
		
		var knobPos = 0;
		
		jQuery('.knob').animate({
			top: knobPos
		}, 50, function() {
			viewport.scrollTop(cst * knobPos);
		});
	}
}

