var scrollerRunning		= false;
var scrollerCurrentPos	= 0;

document.observe("dom:loaded", function() {
	$$('a.left').invoke('observe', 'click', observeScrollerScrollsBy);
	$$('a.right').invoke('observe', 'click', observeScrollerScrollsBy);
});

function observeScrollerScrollsBy(event) {
	if (!scrollerRunning) {
		event.stop();
		element		= event.element();
		direction	= element.readAttribute('class');
		parentId	= element.readAttribute('rel');
		
		childs = $$('#' + parentId + ' div.scrollerMooItem');
		maxStep = childs.length;
		
		if (0 < maxStep) {
			width = childs[0].getWidth();
			
			if ('right' == direction) {
				if (scrollerCurrentPos+1 < maxStep) {
					scrollerCurrentPos = scrollerCurrentPos+1;
				} else {
					return;
				}
				step = -width;
				
			} else {
				if (scrollerCurrentPos-1 >= 0) {
					scrollerCurrentPos = scrollerCurrentPos-1;
				} else {
					return;
				}
				step = width;
				
			}
			
			new Effect.Move($(parentId), {
				'x'				: step, 
				'y'				: 0,
				'duration'		: 1,
				'mode'			: 'relative',
				'beforeStart'	: function() {scrollerRunning = true},
				'afterFinish'	: function() {scrollerRunning = false}
			});
		}
	}
}
