window.addEvent('domready', function(){

	var visibleElements	= 2;
	var clickSpeed		= 1;
	var stepSpeed		= 1;
	var stepPause		= 7;
	var stepInterrupt	= 10;

	var allElements 	= $$('#sliderList li');
	var numElements 	= allElements.length;
	var firstElement	= allElements[0];
	var elemWidth		= 385; //firstElement.getStyle('width').replace('px','') * 1;
	var elemMargin		= 0; //(firstElement.getStyle('margin-left').replace('px','') * 1)
						//+ (firstElement.getStyle('margin-right').replace('px','') * 1);

	var totIncrement	= 0;
	var increment		= elemWidth + elemMargin;
	var maxIncrement	= increment*(-1*(numElements-visibleElements));

	var autoFlip 		= false;

	//$('slider').setStyle('width',visibleElements * increment);
	$('sliderList').setStyle('width',numElements * increment);

	var fxStep = new Fx.Style('sliderList', 'margin-left', {
		duration: stepSpeed * 1000,
		transition: Fx.Transitions.Sine.easeOut,
		wait: true
	});

	var fxClick = new Fx.Style('sliderList', 'margin-left', {
		duration: clickSpeed * 1000,
		transition: Fx.Transitions.Sine.easeOut,
		wait: true
	});

	function Toggle() {
		//if (autoFlip) {
			// if (totIncrement<0) { totIncrement += increment; }
			// else { totIncrement = 0; /*-= increment;*/	autoFlip = false; }
		//} else {
			if (totIncrement>maxIncrement) { totIncrement -= increment;	}
			else {
				$('sliderList').setStyle('margin-left',0);
				totIncrement = -1 * increment; 
				//totIncrement += increment; autoFlip = true; 
			}
		//}
		fxStep.stop()
		fxStep.start(totIncrement);
		$clear(hTimeout);
		hTimeout = Toggle.delay((stepSpeed + stepPause) * 1000);
	}

	function delayToggle() {
		$clear(hTimeout);
		hTimeout = Toggle.delay(stepInterrupt * 1000);
	}

	var hTimeout = Toggle.delay((stepSpeed + stepPause) * 1000);

	$('previous').addEvents({
    	'click' : function(event){
			delayToggle();
			if (totIncrement>=0) {
				totIncrement = -1 * increment * (numElements - visibleElements);
				$('sliderList').setStyle('margin-left',totIncrement);
			}
			//if (totIncrement<0){
				totIncrement += increment;
				fxClick.stop()
				fxClick.start(totIncrement);
			//}
    	}
    });

	$('next').addEvents({
    	'click' : function(event){
			delayToggle();
			if (totIncrement<=maxIncrement) {
				totIncrement=0;
				$('sliderList').setStyle('margin-left',0);
			}
			//if (totIncrement>maxIncrement){
				totIncrement -= increment;
				fxClick.stop()
				fxClick.start(totIncrement);
			//}
    	}
    })

});

