/*********************************************
* Custom Scrollbars
*********************************************/

var vertdiv = new Element('div', {
	'class': 'scrollarea',
	'html': '<div class="scrollBack"></div><div class="scrollBarContainer"><div class="scrollKnob"><div class="scrollKnobTop"></div><div class="scrollKnobBottom"></div></div><div class="scrollForward"></div>'
});


function initScrollbars(parent) {
	parent.getElements('.scroller').each(function(el){
		if (!el.hasClass('horizontal')){
			el.grab(vertdiv.clone());
			el.getElement('.scrollable-content').scroller = new MooScroller(el.getElement('.scrollable-content'), el.getElement('.scrollKnob'), {
				hideWhenNoOverflow: true,
				scrollLinks: {
					forward: el.getElement('div.scrollForward'),
					back: el.getElement('div.scrollBack')
				}
			});
			toggleScrollbarVisibility(el);
			setKnobElements(el);
		}
	});
}

function toggleScrollbarVisibility(parent) {
	if (parent.getElement('.scrollBarContainer').getStyle('visibility') == 'hidden'){
		parent.getElement('.scrollarea').setStyle('visibility', 'hidden');
	} else if (parent.getElement('.scrollarea').getStyle('visibility') == 'hidden') {
		parent.getElement('.scrollarea').setStyle('visibility', 'visible');
	}
}
function setKnobElements(parent){
	var knob = parent.getElement('.scrollKnob').getSize();
	var knobBottom = parent.getElement('.scrollKnobBottom').getSize();
	var knobTop = parent.getElement('.scrollKnobTop').getSize();
	knobBottomTopMargin = knob.y - knobBottom.y - knobTop.y;
	parent.getElement('.scrollKnobBottom').setStyle('margin-top', knobBottomTopMargin);
}
function updateScrollbars(parent) {
	parent.getElements('.scroller .scrollable-content').each(function(el) {
		if (typeof el.scroller != 'undefined') {
			el.scroller.update();
			toggleScrollbarVisibility(el.getParent());
			setKnobElements(el.getParent());
		}
	});
}


