// Initialisiere Variablen.
var cT_currentTopic = 0;
var cT_previousTopic = cT_currentTopic-1;
var cT_nextTopic = cT_currentTopic+1;
var cT_triggersContainer = "durchschaltNavigation";
var cT_previousTrigger = "pfeilLinks";
var cT_nextTrigger = "pfeilRechts";
var cT_singleTrigger = "button";
var cT_singleTriggerActive = "buttonAktiv";
var cT_singleTriggerInactive = "buttonInaktiv";
var cT_paginationCurrent = "aktuellesThema";
var cT_showTime = 10000;
var cT_timer = 0;
var cT_fadingTime = 750;
var cT_identifier = {};
function clickThroughNavigation(a, b, c, d, e, f, g, h, i) {
	// Initialisiere die eindeutige Identifizierungs-Variable.
	cT_identifier[a] = {};
	// Initialisiere die eindeutigen Zaehler-Variablen.
	cT_identifier[a]['cT_currentTopic'] = cT_currentTopic;
	cT_identifier[a]['cT_previousTopic'] = cT_previousTopic;
	cT_identifier[a]['cT_nextTopic'] = cT_nextTopic;
	// Initialisiere die eindeutigen Container-Variablen fuer das Wechseln der Themen.
	cT_identifier[a]['cT_moduleContainer'] = a;
	cT_identifier[a]['cT_topicContainer'] = b;
	cT_identifier[a]['cT_topicIdPrefix'] = c;
	// Initialisiere die eindeutige Variable, welche angibt, welche Datei via AJAX geladen werden soll.
	cT_identifier[a]['cT_fileToLoad'] = d;
	// Initialisiere die eindeutige Variable mit der Gesamtzahl der Themen basierend auf einem Index beginnend bei 0.
	cT_identifier[a]['cT_totalTopics'] = e-1;
	// Initialisiere die eindeutige Variable, welche angbit, ob die Modul-Ueberschrift auch gewechselt werden soll.
	cT_identifier[a]['cT_transitionModuleTitle'] = f;
	// Initialisiere die eindeutigen Container-Variablen fuer das Wechseln der Modul-Ueberschrift.
	cT_identifier[a]['cT_moduleTitleContainer'] = g;
	cT_identifier[a]['cT_moduleTitleIdPrefix'] = h;
	// Initialisiere die eindeutige Variable, welche angibt, ob das Thema automatisch gewechselt werden soll.
	cT_identifier[a]['cT_autoSwitcher'] = i;
	// Initialisiere die eindeutige Variable, welche als Platzhalter fuer den Timer dient.
	cT_identifier[a]['cT_timer'] = cT_timer;
	// Lade das erste Thema per AJAX. (auskommentiert, weil das erste Thema nicht dynamisch gesetzt wird).
	//$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_identifier[a]['cT_topicContainer']).load(cT_identifier[a]['cT_fileToLoad']+" #"+cT_identifier[a]['cT_topicIdPrefix']+cT_identifier[a]['cT_currentTopic']);
	// Lade das die erste Modul-Ueberschrift per AJAX. (auskommentiert, weil das erste Thema nicht dynamisch gesetzt wird).
	//$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_identifier[a]['cT_moduleTitleContainer']).find("h2").load(cT_identifier[a]['cT_fileToLoad']+" #"+cT_identifier[a]['cT_moduleTitleIdPrefix']+cT_identifier[a]['cT_currentTopic']);
	// Update die Funktionsknoepfe.
	cT_updateTriggers(a);
	// Pruefe ob das Thema automatisch gewechselt werden soll.
	if (cT_identifier[a]['cT_autoSwitcher'] == 1) {
		// Starte den Timer fuer den automatischen Wechsel des Themas.
		cT_startTimer(a, 1);
	}
}
function cT_showTopic(target, a, type) {
	// Pruefe ob das vorherige Thema angezeigt werden soll.
	if (target == "previous") {
		// Modifiziere die Variablen.
		cT_identifier[a]['cT_currentTopic'] = cT_identifier[a]["cT_previousTopic"];
		cT_identifier[a]['cT_previousTopic']--;
		cT_identifier[a]['cT_nextTopic']--;
	// Pruefe ob das naechste Thema angezeigt werden soll.
	} else if (target == "next") {
		// Modifiziere die Variablen.
		cT_identifier[a]['cT_currentTopic'] = cT_identifier[a]["cT_nextTopic"];
		cT_identifier[a]['cT_previousTopic']++;
		cT_identifier[a]['cT_nextTopic']++;
	// Pruefe ob das erste Thema angezeigt werden soll.
	} else if (target == "first") {
		// Modifiziere die Variablen.
		cT_identifier[a]['cT_currentTopic'] = 0;
		cT_identifier[a]['cT_previousTopic'] = cT_identifier[a]["cT_currentTopic"]-1;
		cT_identifier[a]['cT_nextTopic'] = cT_identifier[a]["cT_currentTopic"]+1;
	// Pruefe ob das letzte Thema angezeigt werden soll.
	} else if (target == "last") {
		// Modifiziere die Variablen.
		cT_identifier[a]['cT_currentTopic'] = cT_identifier[a]["cT_totalTopics"];
		cT_identifier[a]['cT_previousTopic'] = cT_identifier[a]["cT_currentTopic"]-1;
		cT_identifier[a]['cT_nextTopic'] = cT_identifier[a]["cT_currentTopic"]+1;
	} else {
		// Modifiziere die Variablen.
		cT_identifier[a]['cT_currentTopic'] = target;
		cT_identifier[a]['cT_previousTopic'] = cT_identifier[a]["cT_currentTopic"]-1;
		cT_identifier[a]['cT_nextTopic'] = cT_identifier[a]["cT_currentTopic"]+1;
	}
	// Fuehre den Wechsel des Themas aus.
	cT_transitionTopic(a, type);
}
function cT_startTimer(a, type) {
	// Pruefe, ob das letzte Thema angezeigt wird.
	if (cT_identifier[a]['cT_nextTopic']>cT_identifier[a]['cT_totalTopics']) {
		// Starte den automatischen Wechsel des Themas.
		cT_identifier[a]['cT_timer'] = setTimeout("cT_showTopic('first', '"+a+"', 1)", cT_showTime);
	} else {
		// Starte den automatischen Wechsel des Themas.
		cT_identifier[a]['cT_timer'] = setTimeout("cT_showTopic('next', '"+a+"', 1)", cT_showTime);
	}
}
function cT_stopTimer(a) {
	// Stoppe den automatischen Wechsel der Themen.
	clearTimeout(cT_identifier[a]['cT_timer']);
}
function cT_transitionModuleTitle(a) {
	// Lade die angeforderte Modul-Ueberschrift per AJAX.
	$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_identifier[a]['cT_moduleTitleContainer']).find("h2").load(cT_identifier[a]['cT_fileToLoad']+" #"+cT_identifier[a]['cT_moduleTitleIdPrefix']+cT_identifier[a]['cT_currentTopic']);
}
function cT_transitionTopic(a, type) {
	// Lade das angeforderte Thema per AJAX.
	 $("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_identifier[a]['cT_topicContainer']).load(cT_identifier[a]['cT_fileToLoad']+" #"+cT_identifier[a]['cT_topicIdPrefix']+cT_identifier[a]['cT_currentTopic']);
	// Lade das angeforderte Thema per AJAX und blende es ueber das aktuelle Thema ein.
	//$.ajax({
	//	success: function(data){
	//		newTopic = jQuery(data).filter("#"+cT_identifier[a]['cT_topicIdPrefix']+cT_identifier[a]['cT_currentTopic']);
	//		$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_identifier[a]['cT_topicContainer']).append(newTopic);
	//		$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_identifier[a]['cT_topicContainer']).find("#"+cT_identifier[a]['cT_topicIdPrefix']+cT_identifier[a]['cT_currentTopic'])
	//			.fadeIn(cT_fadingTime)
	//			.prevAll().fadeOut(cT_fadingTime, function() {
	//				$(this).remove();
	//			});
	//	},
	//	url: cT_identifier[a]['cT_fileToLoad']
	//});
	// Pruefe, ob die Modul-Ueberschrift auch gewechselt werden soll.
	if (cT_identifier[a]['cT_transitionModuleTitle'] == 1) {
		// Fuehre den Wechsel der Modul-Ueberschrift aus.
		cT_transitionModuleTitle(a);
	}
	// Update die Funktionsknoepfe.
	cT_updateTriggers(a);
	// Pruefe ob das Thema automatisch oder manuell gewechselt wurde.
	if (type == 1) {
		// Modifiziere die Variable.
		cT_identifier[a]['cT_autoSwitcher'] = 1;
		// Starte den Timer fuer den automatischen Wechsel des Themas.
		cT_startTimer(a, 1);
	} else {
		// Modifiziere die Variable.
		cT_identifier[a]['cT_autoSwitcher'] = 0;
		// Stoppe den Timer fuer den automatischen Wechsel des Themas.
		cT_stopTimer(a);
	}
}
function cT_updateTriggers(a) {
	// Pruefe, ob das erste Thema angezeigt wird.
	if (cT_identifier[a]['cT_previousTopic']<0) {
		// Modifiziere die Attribute des "Vorheriges Thema"-Knopfes.
		$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_triggersContainer).find("."+cT_previousTrigger).attr("href", "javascript:cT_showTopic('last', '"+a+"', 0);");
	} else {
		// Modifiziere die Attribute des "Vorheriges Thema"-Knopfes.
		$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_triggersContainer).find("."+cT_previousTrigger).attr("href", "javascript:cT_showTopic('previous', '"+a+"', 0);");
	}
	// Pruefe, ob das letzte Thema angezeigt wird.
	if (cT_identifier[a]['cT_nextTopic']>cT_identifier[a]['cT_totalTopics']) {
		// Modifiziere die Attribute des "Naechstes Thema"-Knopfes.
		$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_triggersContainer).find("."+cT_nextTrigger).attr("href", "javascript:cT_showTopic('first', '"+a+"', 0);");
	} else {
		// Modifiziere die Attribute des "Naechstes Thema"-Knopfes.
		$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_triggersContainer).find("."+cT_nextTrigger).attr("href", "javascript:cT_showTopic('next', '"+a+"', 0);");
	}
	// Modifiziere die Attribute der Einzel-Knoepfe.
	$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_triggersContainer).find("."+cT_singleTrigger).each(function(i) {
		if (cT_identifier[a]['cT_currentTopic']==i) {
			$(this).attr("href", "javascript:void(0);").removeClass(cT_singleTriggerInactive).addClass(cT_singleTriggerActive);
		} else {
			$(this).attr("href", "javascript:cT_showTopic("+i+", '"+a+"', 0);").removeClass(cT_singleTriggerActive).addClass(cT_singleTriggerInactive);
		}
	});
	// Update die Paginierung.
	cT_updatePagination(a);
}
function cT_updatePagination(a) {
	// Aktualisiere die Zahl fuer das aktuell angezeigte Thema basierend auf einem Index beginnend bei 1.
	$("."+cT_identifier[a]['cT_moduleContainer']).find("."+cT_triggersContainer).find("."+cT_paginationCurrent).html(cT_identifier[a]['cT_currentTopic']+1);
}
function cT_updateTotalPageCount(a, e) {
	// Gesamtzahl der Items setzen
	cT_identifier[a]['cT_totalTopics'] = e-1;
}

//--------------------------------------------
// Neue Navigation fuer den Blaetterteaser
//--------------------------------------------
var runTimer = true;
var timerId = -111;

function prepareTeaserNavigation(teaserDiv, teaserIndex, maxTeaserAmount) {
	var nextIndex = teaserIndex + 1;
	if(nextIndex >= maxTeaserAmount) {
		nextIndex = 0;
	}
	var previousIndex = teaserIndex - 1;
	if(previousIndex < 0) {
		previousIndex = maxTeaserAmount - 1;
	} 
	var naviDiv = $(teaserDiv).find(".durchschaltNavigation");
	naviDiv.find(".pfeilLinks").attr("href", "javascript:changeTeaser(" + teaserIndex + ", " + previousIndex + ", " + maxTeaserAmount + ", true);");
	naviDiv.find(".pfeilRechts").attr("href", "javascript:changeTeaser(" + teaserIndex + ", " + nextIndex + ", " + maxTeaserAmount + ", true);");
	naviDiv.find(".buttonAktiv,.buttonInaktiv").each(
		function(i) {
			if(i == teaserIndex) {
				$(this).attr("href", "javascript:void(0);"); //.removeClass("buttonInaktiv").addClass("buttonAktiv");
			} else {
				$(this).attr("href", "javascript:changeTeaser(" + teaserIndex + ", " + i + ", " + maxTeaserAmount + ", true);"); //.removeClass("buttonAktiv").addClass("buttonInaktiv");
			}
		}
	);
}

function setTimer(teaserIndex, maxTeaserAmount) {
	if(runTimer) {
		var nextIndex = teaserIndex + 1;
		if(nextIndex >= maxTeaserAmount) {
			nextIndex = 0;
		}
		timerId = setTimeout("changeTeaser(" + teaserIndex + ", " + nextIndex + ", " + maxTeaserAmount + ", false)", 10000);
	}
}

function changeTeaser(oldTeaserIndex, newTeaserIndex, maxTeaserAmount, clearTimer) {
	if(clearTimer && timerId != -111) {
		clearTimeout(timerId);
		runTimer = false;
	}
	$("#grosserTeaser" + oldTeaserIndex).hide();
	$("#grosserTeaser" + newTeaserIndex).show();
	setTimer(newTeaserIndex, maxTeaserAmount);
}
