var featurefader = false;
var faderelements = false;
var fader = false;
var go = true;
var controls = false;

Event.observe(window, 'load', function() {
	featurefader = $('featurefaders');
	faderelements = $$('li.fader');

	if (faderelements.length > 1) {
		fader = setTimeout("fade_init('forward')",7000);
	}
});

function fade_init(direction) {
	clearTimeout(fader);

	for (i=0; i<faderelements.length;i++) {
		if (faderelements[i].style.display == "none") {
			
		} else {
			var current = faderelements[i];
			var prevNo = i - 1;
			var nextNo = i + 1;
			
			if (nextNo == faderelements.length) {
				nextNo = 0;
			}

			if (prevNo == "-1") {
				prevNo = faderelements.length - 1;
			}
			
			var prev = faderelements[prevNo];
			var next = faderelements[nextNo];
			
			if (direction == "forward") {
				fade(current,next);				
			} else {				
				fade(current,prev);
			}
			
			return;
		}
	}
}

function clearOut(node) {
	if (go == true) {
		clearTimeout(fader);
		$('startstopImage').src = "images/crossfade_play.png";
		go = false;
	} else {
		go = true;
		$('startstopImage').src = "images/crossfade_pause.png";
		fade_init("forward");
	}
}

function fadeforward() {
	clearTimeout(fader);
	go = false;
	$('startstopImage').src = "images/crossfade_play.png";
	
	fade_init("forward");
}

function back() {
	clearTimeout(fader);
	go = false;
	$('startstopImage').src = "images/crossfade_play.png";

	fade_init("back");
}

function fade(current,next) {
	Effect.Fade(current);
	Effect.Appear(next);

	if (go == true) {
		fader = setTimeout("fade_init('forward')",7000);
	}
}

function showControls() {
	clearTimeout(controls);
	
	if ($("controls").style.display == "none") {
		Effect.Appear("controls",{duration: .5});
	}
}

function hideControls() {
	controls = setTimeout('Effect.Fade("controls")',"700");
}