
oRcsf.RegisterObject('Customscroll');
var RCSF_Project_Customscroll=
{
	 
	/**
	 */
	OnDomLoaded : function()
	{
		var a_vert_scrollbars = $$('.scrollbar-y');
		var a_hor_scrollbars = $$('.scrollbar-x');
		if (a_vert_scrollbars.size() > 0)
		{
			a_vert_scrollbars.each(function(oEl) { if (oEl.scrollHeight > oEl.offsetHeight) {
				this.InsertVerticalScrollbar(oEl) }}.bind(this) );
		}
		
		if (a_hor_scrollbars.size() > 0)
		{
			a_hor_scrollbars.each(function(oEl) { if (oEl.scrollWidth > oEl.offsetWidth) {
				this.InsertHorizontalScrollbar(oEl) }}.bind(this) );
		}
	}
	
	,InsertVerticalScrollbar : function(oEl) {
		oEl.insert({
			'after' : new Element('div',{id : 'track'})
				.update(new Element('div',{id : 'handle'}))});
		
		var slider = new Control.Slider($('handle'), $('track'), {
			axis: 'vertical',
			onSlide: function(v) { ScrollVertical(v, oEl, slider);  }.bind(this),
			onChange: function(v) { ScrollVertical(v, oEl, slider); }.bind(this)
		});
		
		// 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));
		}
	}
	
	,InsertHorizontalScrollbar : function(oEl) {
		oEl.insert({
			'after' : new Element('div',{id : 'track'})
				.update(new Element('div',{id : 'handle'}))});
		
		var slider = new Control.Slider($('handle'), $('track'), {
			axis: 'vertical',
			onSlide: function(v) { ScrollHorizontal(v, oEl, slider);  }.bind(this),
			onChange: function(v) { ScrollHorizontal(v, oEl, slider); }.bind(this)
		});
		
		// 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));
		}
	}
	
}