// Topfader start
$(document).ready(function(){
	window.pause = 5000;
	window.fadeTime = 700;
	$(".fader").find("li:not(:eq(0))").hide();
	window.timeoutId = setTimeout("fadeNext()",window.pause);
	
	$(".switcher").find("li").click(function(){
		$(".fader").find("li").stop(true);
		clearTimeout(window.timeoutId);
		btnShiftClick($(this));
		return false;
	});
	
	$(".switcher").find("span.next").click(function(){
		$(".fader").find("li").stop(true,true);
		fadeNext();
	});
	
});

function fadeNext() {
	var visibleElement = $(".fader").find("li:visible");
	var amountOfElements = $(".fader").find("li").size();
	
	if((visibleElement.index()+1) == amountOfElements) {
		visibleElement.fadeOut(window.fadeTime,function(){
			btnShiftAuto(true);
			$(".fader").find("li:first").fadeTo(window.fadeTime,1,function(){
				clearTimeout(window.timeoutId);
				window.timeoutId = setTimeout("fadeNext()",window.pause);
			});
		});

	}
	else {
	
		visibleElement.fadeOut(window.fadeTime,function(){
			btnShiftAuto();
			visibleElement.next().fadeTo(window.fadeTime,1,function(){
				clearTimeout(window.timeoutId);
				window.timeoutId = setTimeout("fadeNext()",window.pause);
			});
		});
	}
	
}

function btnShiftClick(element) {
	
	var clickFadeTime = 300;
	$(".fader").find("li").stop(true);
	$(".switcher").find("li.active").removeClass("active");
	element.addClass("active");
	
	var elementIndex = element.index();
	
	if($(".fader").find("li:visible").index() != elementIndex) {
		$(".fader").find("li:visible").fadeOut(clickFadeTime,function(){
			$(".fader").find("li:eq("+elementIndex+")").fadeTo(clickFadeTime,1,function(){
				window.timeoutId = setTimeout("fadeNext()",window.pause);
			});
			
		});
	}
	else {
		$(".fader").find("li:eq("+elementIndex+")").fadeTo(clickFadeTime,1,function(){
			window.timeoutId = setTimeout("fadeNext()",window.pause);
		});
	}
}

function btnShiftAuto(first) {
	var fromElement = $(".switcher").find("li.active");
	fromElement.removeClass("active");
	if(first) {
		$(".switcher").find("li:first").addClass("active");
	}
	else {
		fromElement.next().addClass("active");
	}
}
