function objInitAsVisible (el, visible) {
	if ( !$(el) ) return false;
	if (visible) {
		$(el).setStyle('display', 'block');
		$(el).setStyle('opacity', 1);
	}
	else {
		$(el).setStyle('display', 'none');
		$(el).setStyle('opacity', 0);
	}
}

function objFadeIn (el) {
	var fade = new Fx.Style(el, 'opacity', {duration:600});
	$(el).setStyle('display', 'block');
	fade.start(1);
}

function objFadeOut (el) {
	var fade = new Fx.Style(el, 'opacity', {duration:600});
	fade.start(0);
	setTimeout('$(\''+el+'\').setStyle(\'display\', \'block\')', 600);
}

// scrollObj must be object
// left/rightArrow must be a name, i.e. string, not object
function setupScrollArrows( scrollObj, leftArrow, rightArrow, scrollAreaWidth, scrollLimit, fadeDelay ) {
	var scrollcounter = 0;
	$(rightArrow).addEvent('click', function(event) {
		event = new Event(event).stop();
		if (scrollcounter == 0) objFadeIn(leftArrow);
		if (scrollcounter < scrollLimit) {
			scrollcounter = scrollcounter + 1;
			scrollObj.scrollTo(scrollAreaWidth*scrollcounter,0);
			if (scrollcounter == scrollLimit ) setTimeout('objFadeOut(\'' + rightArrow + '\')', fadeDelay);
		}
	});
	
	$(leftArrow).addEvent('click', function(event) {
		event = new Event(event).stop();
		if (scrollcounter == scrollLimit) objFadeIn(rightArrow);
		if (scrollcounter > 0 ) {
			scrollcounter = scrollcounter - 1;
			scrollObj.scrollTo(scrollAreaWidth*scrollcounter,0);
			if (scrollcounter == 0 ) setTimeout('objFadeOut(\'' + leftArrow + '\')', fadeDelay);
		}
	});
}

var SCROLL_SPEED = 1400;

window.addEvent('domready', function() {
	var scrollcounter1 = 0;
	var scrollcounter2 = 0;
	var scrollcounter3 = 0;
	
	objInitAsVisible('scrollleft1', false);
	objInitAsVisible('scrollright1', true);
	objInitAsVisible('scrollleft2', false);
	objInitAsVisible('scrollright2', true);
	objInitAsVisible('scrollleft3', false);
	objInitAsVisible('scrollright3', true);
	
	// variables for scrollobject
	var scroll1, scroll2, scroll3;
	var SCROLL_LIMIT1, SCROLL_LIMIT2, SCROLL_LIMIT3;
	
	if ($('scrollobject1')) {
		scroll1 = new Fx.Scroll('scrollobject1', {
			wait: false,
			duration: SCROLL_SPEED,
			transition: Fx.Transitions.Quad.easeInOut,
			wheelStops: false
		});
		// reset the scrolled object - toLeft() is needed for scrolling to work properly
		scroll1.set(0); scroll1.toLeft();
		// set scroller limit based on number of images in the box, minus 1
		SCROLL_LIMIT1 = $('scrollobject1').getElements('img').length - 1;
	}
	
	if ($('scrollobject2')) {
		scroll2 = new Fx.Scroll('scrollobject2', {
			wait: false,
			duration: SCROLL_SPEED,
			transition: Fx.Transitions.Quad.easeInOut,
			wheelStops: false
		});
		// reset the scrolled object - toLeft() is needed for scrolling to work properly
		scroll2.set(0); scroll2.toLeft();
		// set scroller limit based on number of images in the box, minus 1
		SCROLL_LIMIT2 = $('scrollobject2').getElements('img').length - 1;
	}
	
	if ($('scrollobject3')) {
		scroll3 = new Fx.Scroll('scrollobject3', {
			wait: false,
			duration: SCROLL_SPEED,
			transition: Fx.Transitions.Quad.easeInOut,
			wheelStops: false
		});
		// reset the scrolled object - toLeft() is needed for scrolling to work properly
		scroll3.set(0); scroll3.toLeft();
		// set scroller limit based on number of images in the box, minus 1
		SCROLL_LIMIT3 = $('scrollobject3').getElements('img').length - 1;
	}
	
	if ($('scrollleft1')) setupScrollArrows( scroll1, 'scrollleft1', 'scrollright1', 586, SCROLL_LIMIT1, SCROLL_SPEED/2 );
	if ($('scrollleft2')) setupScrollArrows( scroll2, 'scrollleft2', 'scrollright2', 586, SCROLL_LIMIT2, SCROLL_SPEED/2 );
	if ($('scrollleft3')) setupScrollArrows( scroll3, 'scrollleft3', 'scrollright3', 586, SCROLL_LIMIT3, SCROLL_SPEED/2 );
	
});