var slideCount = 3;
var slideTimeout = 0;
var slideIndex = 1;
var slideDelay = 6;			// (seconds)
var transitionTime = 1;		// (seconds)

var slideQueue = null;
var effect1 = null;
var effect2 = null;

var slideDelay = (slideDelay + transitionTime) * 1000;

function startSlidePause(newDelay) {
	if (!newDelay) {	newDelay = slideDelay;	}
	clearTimeout(slideTimeout);
	slideTimeout = setTimeout(triggerChangeSlide,newDelay);
}

function triggerChangeSlide() {
	changeSlide(0);
}

function changeSlide(toSlide) {
	
	if ((toSlide!=slideIndex)&&(!effect1)&&(!effect2)) {
		clearTimeout(slideTimeout);
		
		oldSlide = 'slide'+slideIndex;
		slideIndex++;
		if ((toSlide>0)&&(toSlide<=slideCount)) {	slideIndex = toSlide;	}
		if (slideIndex>slideCount) {	slideIndex = 1;	}
		if (slideIndex<1) {	slideIndex = 1;	}
		newSlide = 'slide'+slideIndex;
		
		
		get(oldSlide).style.top = '0px';
		
		for (i=1;i<=slideCount;i++) {
			targButton = 'button'+i;
			get(targButton).style.background = '#aaa';
			get(targButton).style.opacity = '0.65';
			get(targButton).style.filter = 'alpha(opacity=65)';
			
			targSlide = 'slide'+i;
			if (targSlide != oldSlide) {
				get(targSlide).style.top = '-275px';
			}
		}
		get('button'+slideIndex).style.background = '#5a6e96';
		get('button'+slideIndex).style.opacity = '1';
		get('button'+slideIndex).style.filter = 'alpha(opacity=100)';
	
		startSlidePause()
		effect1 = new Effect.Move(newSlide, { x: 0, y: 0, mode: 'absolute', duration: transitionTime, afterFinish: function(){	effect1 = null;	 if (slideQueue) {	changeSlide(slideQueue);	slideQueue = null;	}	}  });
		effect2 = new Effect.Move(oldSlide, { x: 0, y: 275, mode: 'absolute', duration: transitionTime, afterFinish: function() {	effect2=null;	} });
	} else if ((effect1)||(effect2)) {
		slideQueue = toSlide;
	}
}
