$(document).ready(function() {
	var $inhalt = $('#inhalt');
	aktiviereMenue();
	aktiviereSchriftgradwechsel();
	aktiviereEmailAdressen();
	aktiviereAnzeigeDesAktualisierungsblocks();
	aktiviereTerminblockNavigation();
	if ($inhalt.find('div.highslide-gallery').size()) {
		aktiviereVergroesserungVonBildern();
	}
  if ($inhalt.find('table.fachobjektetabelle').size()) {
  	reichereTabellenAn($inhalt.find('table.fachobjektetabelle').get());
  }
	if ($inhalt.closest('body#EinsatzStatistikSeite')) {
		aktiviereStatistikGrafikWechsel();
		filtereTabelleBeimSeitenaufruf();
	}
	if ($("div#inhalt span.soundwiedergabe").size()) {
		aktiviereSoundwiedergabe();
	}
	if ($inhalt.closest('body#OrtskommandoSeite').size()) {
		aktiviereKlappmechanismus($inhalt);
	}
});

function aktiviereMenue() {
	var $navigation = $('#navigation');
	var $verweise = $navigation.children('a.kategorie');
	var $untermenues = $navigation.children('ul.menuepunkte');
	var steuereUntermenueAnzeige = function steuereUntermenueAnzeige() {
		var $verweis = $(this);
		$untermenues.filter(':visible').hide();
		if ($verweis.hasClass('selected')) {
			$verweis.removeClass('selected');
			$verweis.blur();
			return false;
		}
		$verweise.filter('.selected').removeClass('selected');
		$verweis.toggleClass('selected').next('ul.menuepunkte').toggle();
		return false;
	};
	$verweise.bind('click', steuereUntermenueAnzeige);
}

function aktiviereSchriftgradwechsel() {
	$('#fontsizer').jfontsizer({
		applyTo : '#linkerBereich,#rechterBereich',
		changesmall : '2',
		changelarge : '2',
		expire : 30
	});
}

function aktiviereEmailAdressen() {
	for ( var i = 0, anker; anker = $("a.post").get(i); i++) {
		var mailto = anker.innerHTML.replace(/<(img|IMG) style=.*alt=.*@.* src=.*misc.(weisses|rotes)_at\.gif.>/, "@");
		anker.setAttribute("href", "mailto:" + mailto);
	}
}

function aktiviereAnzeigeDesAktualisierungsblocks() {
	var aktualisierungsblock = $("div#rechterBereich div#aktualisierung");
	aktualisierungsblock.find("span.datum").bind("click", function() {
		aktualisierungsblock.find("ul.aufzaehlung1").toggleClass("unsichtbar");
	});
}

function aktiviereTerminblockNavigation() {
	var angezeigteTermine = $("#terminblock div.termin");
	if (angezeigteTermine.length < 1)
		return false;
	$("#aktuelleTermine.aktiv").die("click");
	$("#aktuelleTermine.aktiv").live("click", function(e) {
		$("#aktuelleTermine.aktiv").die("click");
		var data = {};
		data.start = 0;
		data.anzahl = 2;
		$.post("./Front.php?seite=TerminblockAjax", data, zeigeAktuelleTermine, "html");
	});
	$("#weitereTermine.aktiv").die("click");
	$("#weitereTermine.aktiv").live("click", function(e) {
		$("#weitereTermine.aktiv").die("click");
		var data = {};
		data.start = $(angezeigteTermine.get(angezeigteTermine.length - 1)).attr("class").replace(/^.*_/, "");
		data.anzahl = 1;
		$.post("./Front.php?seite=TerminblockAjax", data, zeigeWeiterenTerminAn, "html");
	});
}

function zeigeAktuelleTermine(data, textStatus) {
	$("#aktuelleTermine").toggleClass("aktiv", false);
	$("#weitereTermine").toggleClass("aktiv", true);
	$("#terminblock div.inhalt div.termin").fadeOut(300, function() {
		$("#terminblock div.inhalt").html(data);
		$("#terminblock div.inhalt div.nachgeladenerTermin").fadeIn(300);
		aktiviereTerminblockNavigation();
	});
}

function zeigeWeiterenTerminAn(data, textStatus) {
	$("#aktuelleTermine").toggleClass("aktiv", true);
	if (data == "") {
		$("#weitereTermine").toggleClass("aktiv", false);
		return;
	}
	$("#terminblock div.termin:first").slideUp(300, function() {
		var nachgeladenerTermin = $(this).closest("div.nachgeladenerTermin");
		if (nachgeladenerTermin.length > 0)
			nachgeladenerTermin.remove();
		else
			$(this).remove();
		$("#terminblock div.inhalt").append(data);
		$("#terminblock div.inhalt div.nachgeladenerTermin").fadeIn(300);
		aktiviereTerminblockNavigation();
	});
}

function ersetzeUmlaute(string, index) {
	var umlaute = new Array(2);
	umlaute[0] = new Array("Ö", "ö", "Ä", "ä", "Ü", "ü", "ß");
	umlaute[1] = new Array("Oe", "oe", "Ae", "ae", "Ue", "ue", "sz");
	for ( var i = 0; i < umlaute[index].length; i++)
		string = string.replace(new RegExp(umlaute[index][i], "g"), umlaute[(index == 0 ? 1 : 0)][i]);
	return string;
}

function erzeugeDateObjekt(wert) {
	if (wert.length == 0)
		return null;
	var jahr, monat, tag;
	if (wert.length == 10) {
		jahr = wert.substr(6, 4);
		monat = wert.substr(3, 2) - 1;
		tag = wert.substr(0, 2);
		return new Date(jahr, monat, tag);
	}
	if (wert.length == 8 && wert.match(/[0-9]{2}\.[0-9]{2}\.[0-9]{2}/)) {
		jahr = Number(wert.substr(6, 2));
		var pruefJahr = new Date().getFullYear() + 5;
		if (jahr >= 0 && jahr <= ("" + pruefJahr).substr(2, 2))
			jahr += 2000;
		monat = wert.substr(3, 2) - 1;
		tag = wert.substr(0, 2);
		return new Date(jahr, monat, tag);
	}
	if (wert.length == 8) {
		jahr = wert.substr(4, 4);
		monat = wert.substr(2, 2) - 1;
		tag = wert.substr(0, 2);
		return new Date(jahr, monat, tag);
	}
	if (wert.length == 6) {
		jahr = Number(wert.substr(4, 2));
		var pruefJahr = new Date().getFullYear() + 5;
		if (jahr >= 0 && jahr <= ("" + pruefJahr).substr(2, 2))
			jahr += 2000;
		monat = wert.substr(2, 2) - 1;
		tag = wert.substr(0, 2);
		return new Date(jahr, monat, tag);
	}
	if (wert.length == 4) {
		jahr = Number(wert);
		monat = 0;
		tag = 1;
		return new Date(jahr, monat, tag);
	}
	return null;
}

/*****************************/
/* Filterung für Tabellen    */
/*****************************/
var anzahlFilter = 0;
var aktiveFilter = new Array();

function filtere(table, filter) {
	var spaltennummer = bestimmeSpaltennummerAusCssClass(filter.attr("class"));
	var $inhalt = filter.closest("#linkerBereich").children("div.filterinhalt.spalte" + spaltennummer);
	$("div.filterinhalt").not($inhalt).removeClass("aktiv");
	$inhalt.toggleClass("aktiv");

	var attribute = {
		"opacity" : 0.925,
		"left" : filter.offset().left,
		"top" : filter.offset().top + 18
	};
	$inhalt.css(attribute);
	$inhalt.children(":input:first").focus();
	$inhalt.children(":input").keydown(function(event) {
		if (event.keyCode == 13)
			aktiviereFilter(filter, $inhalt, event, table);
	});

	var eingabefelder = $inhalt.children("input:text, select");
	eingabefelder.bind("keyup click", function(event) {
		event.stopPropagation();
		if (!sindEingabefelderGefuellt(eingabefelder)) {
			$inhalt.children("a.button.ok").removeClass("aktiv");
			$inhalt.children("a.button.ok").addClass("inaktiv");
			return;
		}
		$inhalt.children("a.button.ok").removeClass("inaktiv");
		$inhalt.children("a.button.ok").addClass("aktiv");
	});
	if (eingabefelder.length == 0)
		eingabefelder = $inhalt.find("input:checkbox");
	if (eingabefelder.length > 0) {
		$inhalt.children("a.button.ok").removeClass("inaktiv");
		$inhalt.children("a.button.ok").addClass("aktiv");
	}

	$inhalt.bind("click", function(event) {
		event.stopPropagation();
	});

	var okButtons = $inhalt.children("a.button.ok");
	okButtons.click(function(event) {
		event.stopPropagation();
		if ($(this).hasClass("inaktiv"))
			return;
		aktiviereFilter(filter, $inhalt, event, table);
	});

	var loeschenButtons = $inhalt.children("a.button.loeschen");
	loeschenButtons.click(function(event) {
		event.stopPropagation();
		deaktiviereFilter(event, table, $inhalt);
	});
	var abbrechenButtons = $inhalt.children("a.button.abbrechen");
	abbrechenButtons.click(function() {
		$inhalt.removeClass("aktiv");
	});
	$("body").click(function() {
		$("div.filterinhalt").removeClass("aktiv");
	});
}

function aktiviereFilter(filter, $inhalt, event, tabelle) {
	$inhalt.removeClass("aktiv");

	var eingabefelder = $inhalt.children("input:text, select");
	var suchbegriffe;
	if (eingabefelder.length > 0) {
		if (!sindEingabefelderGefuellt(eingabefelder)) {
			deaktiviereFilter(event, tabelle, $inhalt);
			return false;
		}
		suchbegriffe = ermittleSuchebegriffe(eingabefelder);
	} else {
		eingabefelder = $inhalt.find("input:checkbox");
		suchbegriffe = ermittleSuchebegriffeAusCheckboxFilter(eingabefelder);
	}
	filter.addClass("angewendet");

	var regexTyp = /typ(\D+)/;
	regexTyp.exec(eingabefelder.eq(0).attr("class"));
	fuegeFilterHinzu(tabelle.attr("id"), RegExp.$1, bestimmeSpaltennummerAusCssClass(filter.attr("class")), suchbegriffe);
	var zeilen = tabelle.get(0).tBodies[0].rows;
	for ( var i = 0; i < zeilen.length; i++)
		zeilen[i].style.display = "";
	filtereTabelle(tabelle);
	eingabefelder.blur();
}

function sindEingabefelderGefuellt(eingabefelder) {
	var aEingabefelder = eingabefelder.get();
	if (aEingabefelder.length == 1 && aEingabefelder[0].value && aEingabefelder[0].value.length > 0)
		return true;
	for ( var i = aEingabefelder.length - 1; i >= 0; i--) {
		var feld = aEingabefelder[i];
		if (feld.value && feld.className.match(/typDatum/)
				&& feld.value.match(/^\d{6}$|^\d{8}$|^\d{2}\.\d{2}\.\d{4}|^\d{4}$/))
			return true;
		if (feld.value && feld.className.match(/typZahl/) && feld.value.match(/^(\d+|\d+,\d+)$/))
			return true;
	}
	return false;
}

function ermittleSuchebegriffe(eingabefelder) {
	var suchbegriffe = {};
	if (eingabefelder.length == 1)
		suchbegriffe["standard"] = eingabefelder;
	else if (eingabefelder.length == 2) {
		suchbegriffe["von"] = eingabefelder.eq(0);
		suchbegriffe["bis"] = eingabefelder.eq(1);
	}
	return suchbegriffe;
}

function ermittleSuchebegriffeAusCheckboxFilter(eingabefelder) {
	var suchbegriffe = {};
	eingabefelder.each(function() {
		var eingabefeld = $(this);
		if (eingabefeld.prop("checked") == true)
			suchbegriffe[eingabefeld.prop("name")] = eingabefeld.prop("value");
	});
	return suchbegriffe;
}

function fuegeFilterHinzu(id, typ, spaltennummer, suchbegriffe) {
	for ( var i = 0; i < aktiveFilter.length; i++) {
		if (aktiveFilter[i].id == id && aktiveFilter[i].spaltennummer == spaltennummer) {
			aktiveFilter[i].suchbegriffe = suchbegriffe;
			return;
		}
	}
	aktiveFilter[anzahlFilter] = {};
	aktiveFilter[anzahlFilter].id = id;
	aktiveFilter[anzahlFilter].typ = typ;
	aktiveFilter[anzahlFilter].spaltennummer = spaltennummer;
	aktiveFilter[anzahlFilter].suchbegriffe = suchbegriffe;
	anzahlFilter++;
}

function filtereTabelle(tabelle) {
	for ( var i = 0; i < aktiveFilter.length; i++) {
		if (aktiveFilter[i].id != tabelle.attr("id"))
			continue;
		var zeilen = tabelle.get(0).tBodies[0].rows;
		for ( var j = 0; j < zeilen.length; j++)
			eval("filtereZeile" + aktiveFilter[i].typ + "(i, zeilen[j], aktiveFilter[i].suchbegriffe)");
	}
	if ($("div#einsatztabelle tbody tr:visible td:nth-child(1)").size()) {
		var spalten = $("div#einsatztabelle tbody tr:visible td:nth-child(1)").css("textAlign", "center").get();
		for ( var i = 1; i <= spalten.length; i++) {
			spalten[spalten.length - i].innerHTML = i;
		}
	}
}

function filtereZeileStandard(filterId, zeile, suchbegriffe) {
	var suchbegriff = new RegExp("^" + suchbegriffe["standard"].prop("value").toLowerCase());
	var wert = $(zeile.cells[aktiveFilter[filterId].spaltennummer]).text();
	if (!wert.toLowerCase().match(suchbegriff))
		zeile.style.display = "none";
}

function filtereZeileZahl(filterId, zeile, suchbegriffe) {
	var von = (suchbegriffe["von"].prop("value").length > 0) ? Number(suchbegriffe["von"].prop("value").replace(/\./, "")
			.replace(/,/, ".")) : null;
	var bis = (suchbegriffe["bis"].prop("value").length > 0) ? Number(suchbegriffe["bis"].prop("value").replace(/\./, "")
			.replace(/,/, ".")) : null;
	var text = $(zeile.cells[aktiveFilter[filterId].spaltennummer]).text();
	var wert = Number(text.replace(/\./, "").replace(/,/, "."));
	if (text.length == 0)
		wert = null;
	pruefeVonBisFuerZeile(zeile, wert, von, bis);
}

function filtereZeileDatum(filterId, zeile, suchbegriffe) {
	var von = erzeugeDateObjekt(suchbegriffe["von"].prop("value"));
	var bis = erzeugeDateObjekt(suchbegriffe["bis"].prop("value"));
	var zelleninhalt = $(zeile.cells[aktiveFilter[filterId].spaltennummer]).text().split(" - ");
	var wert = erzeugeDateObjekt(zelleninhalt[0]);
	pruefeVonBisFuerZeile(zeile, wert, von, bis);
}

function filtereZeileCheckbox(filterId, zeile, suchbegriffe) {
	var regex = "";
	for (begriff in suchbegriffe)
		regex = regex + suchbegriffe[begriff] + "|";
	regex = regex.replace(/\|$/, "");
	var wert = $(zeile.cells[aktiveFilter[filterId].spaltennummer]).text();
	if (wert == null || regex == "")
		zeile.style.display = "none";
	else if (!wert.match(regex))
		zeile.style.display = "none";
}

function pruefeVonBisFuerZeile(zeile, wert, von, bis) {
	if (wert == null)
		zeile.style.display = "none";
	else {
		if ((von && bis) && (wert < von || wert > bis))
			zeile.style.display = "none";
		if ((von && !bis) && (wert < von))
			zeile.style.display = "none";
		if ((!von && bis) && (wert > bis))
			zeile.style.display = "none";
	}
}

function deaktiviereFilter(event, tabelle, $inhalt) {
	if (!event)
		return;
	var spaltennummer = bestimmeSpaltennummerAusCssClass($inhalt.attr("class"));
	var divFilter = tabelle.children("thead").find("div.filter.spalte" + spaltennummer);
	$inhalt.removeClass("aktiv");
	divFilter.removeClass("angewendet");
	entferneFilter(tabelle, spaltennummer);
}

function entferneFilter(tabelle, spaltennummer) {
	var id = tabelle.attr("id");
	var zeilen = tabelle.get(0).tBodies[0].rows;
	for ( var i = 0; i < zeilen.length; i++)
		zeilen[i].style.display = "";
	for ( var i = 0; i < aktiveFilter.length; i++) {
		if (aktiveFilter[i].id == id && aktiveFilter[i].spaltennummer == spaltennummer) {
			aktiveFilter.splice(i, 1);
			anzahlFilter = anzahlFilter - 1;
		}
	}
	filtereTabelle(tabelle);
}

function bestimmeSpaltennummerAusCssClass(cssClass) {
	var regexSpalte = /spalte([0-9]+)/;
	regexSpalte.exec(cssClass);
	return RegExp.$1;
}

function reichereTabellenAn(tabellen) {
	var i = tabellen.length;
	while (i--) {
		var $tabelle = $(tabellen[i]);
		reichereTabelleAn($tabelle);
	}
}

function reichereTabelleAn($tabelle) {
	behandleKlickenAufTabellenkopf($tabelle);
	behandleMouseoverAufTabelleninhalt($tabelle);
	behandleKlickenAufTabelleninhalt($tabelle);
}

function behandleKlickenAufTabellenkopf($tabelle) {
	$tabelle.children('thead').bind('click', function(event) {
		var $ausloeser = $(event.target);
		if ($ausloeser.is('div.filter')) {
			filtere($tabelle, $ausloeser);
			return false;
		}
		if (!$ausloeser.is('th'))
			$ausloeser = $ausloeser.closest('th');
		if ($ausloeser.hasClass('header')) {
			sortiere($tabelle, $ausloeser);
		}
		return false;
	});
}

function behandleMouseoverAufTabelleninhalt($tabelle) {
	if ($tabelle.closest("#terminetabelle").length == 1)
		return;
	$tabelle.children("tbody").bind("mouseover", function(event) {
		var $ausloeser = $(event.target);
		if ($ausloeser.attr("tagName") != "tr")
			$ausloeser = $ausloeser.closest("tr");
		var $zellen = $ausloeser.children("td");
		$zellen.addClass("highlight");
		var $verweise = $zellen.children("a");
		if ($verweise.length == 1) {
			$zellen.addClass("klickbar");
			$verweise.css({
				"text-decoration" : "underline"
			});
		}
		$zellen.bind("mouseout", function() {
			$zellen.removeClass("highlight").removeClass("klickbar");
			$verweise.css({
				"text-decoration" : "none"
			});
		});
	});
}

function behandleKlickenAufTabelleninhalt($tabelle) {
	$tabelle.find("a").bind("click", function(e) {
		e.stopPropagation();
	});
	$tabelle.children("tbody").bind("click", function(event) {
		var $ausloeser = $(event.target);
		if ($ausloeser.attr("tagName") != "tr")
			$ausloeser = $ausloeser.closest("tr");
		var $anker = $ausloeser.find("td > a");
		if ($anker.length < 1)
			return;
		var href = $anker.attr("href");
		if ($(this).closest("div#linktabelle").length > 0)
			window.open(href, "_blank");
		else
			location.href = href;
	});
}

/*****************************/
/* Sortierung für Tabellen   */
/*****************************/
function sortiere(table, th) {
	if (table.hasClass("tablesorterAktiviert")) {
		return;
	}
	$.tablesorter.addParser({
		id : 'zeitpunkt',
		is : function(s) {
			return false;
		},
		format : function(s) {
			s = s.replace(/ Uhr/, "");
			var datum = s.split(" - ")[0];
			var uhrzeit = s.split(" - ")[1];
			var wert = datum.split(".")[2] + datum.split(".")[1] + datum.split(".")[0] + uhrzeit.split(":")[0]
					+ uhrzeit.split(":")[1];
			return wert;
		},
		type : 'numeric'
	});

	$.tablesorter.addParser({
		id : 'text',
		is : function(s) {
			return false;
		},
		format : function(s) {
			wert = s.toLowerCase().replace(/ä/, "ae").replace(/ö/, "oe").replace(/ü/, "ue").replace(/ß/, "ss");
			return wert;
		},
		type : 'text'
	});
	var sortierteSpalte = th.get(0).cellIndex;
	var sortierrichtung = th.hasClass("headerSortUp") ? 0 : 1;
	var eigenschaften = {};
	if (table.closest("div#einsatztabelle").length > 0) {
		eigenschaften = {
			sortList : [ [ sortierteSpalte, sortierrichtung ] ],
			headers : {
				0 : {
					sorter : 'numeric'
				},
				1 : {
					sorter : 'zeitpunkt'
				},
				2 : {
					sorter : 'text'
				},
				3 : {
					sorter : 'text'
				},
				4 : {
					sorter : 'text'
				}
			}
		}
	} else if (table.closest("div#terminetabelle").length > 0) {
		eigenschaften = {
			sortList : [ [ sortierteSpalte, sortierrichtung ] ],
			headers : {
				0 : {
					sorter : 'zeitpunkt'
				},
				1 : {
					sorter : 'text'
				},
				2 : {
					sorter : 'text'
				},
				3 : {
					sorter : 'text'
				}
			}
		}
	} else if (table.closest("div#linktabelle").length > 0) {
		eigenschaften = {
			sortList : [ [ sortierteSpalte, sortierrichtung ] ],
			headers : {
				0 : {
					sorter : 'text'
				}
			}
		}
	}
	table.tablesorter(eigenschaften);
	table.children('thead').find('th.fahrzeuge').removeClass('header');
}

/*****************************/
/* Spaltenbreiten setzen     */
/*****************************/
function bestimmeSpaltenbreiten(tabelle) {
	var spaltenbreiten = berechneSpaltenbreiten(tabelle);
	var cols = tabelle.children("colgroup").children("col").get();
	var i = cols.length;
	while (i--)
		cols[i].style.width = spaltenbreiten[i] + "px";
	tabelle.css("table-layout", "fixed");
}

function berechneSpaltenbreiten(tabelle) {
	var spaltenbreiten = new Array();
	var trs = tabelle.get(0).tHead.rows;
	var i = trs.length;
	while (i--) {
		var ths = trs[i].cells;
		var j = ths.length;
		while (j--)
			spaltenbreiten.push(ths[j].clientWidth);
	}
	return spaltenbreiten.reverse();
}

/*****************************/
/* Bildergalerie Highslide   */
/*****************************/
function aktiviereVergroesserungVonBildern() {
	hs.graphicsDir = 'plugins/highslide/graphics/';
	hs.align = 'center';
	hs.transitions = [ 'expand', 'crossfade' ];
	hs.outlineType = 'rounded-white';
	hs.fadeInOut = true;
	hs.dimmingOpacity = 0.75;
	hs.numberPosition = 'caption';
	hs.lang = {
		cssDirection : 'ltr',
		loadingText : 'Lade...',
		loadingTitle : 'Klicken zum Abbrechen',
		focusTitle : 'Klicken um nach vorn zu bringen',
		fullExpandTitle : 'Zur Originalgröße erweitern',
		creditsText : '<i>Highslide JS</i>',
		creditsTitle : 'Hier geht es zur Highslide JS Webseite',
		previousText : 'Vorheriges Bild',
		nextText : 'Nächstes Bild',
		moveText : 'Verschieben',
		closeText : 'Schließen',
		closeTitle : 'Schließen (Esc)',
		resizeTitle : 'Größe wiederherstellen',
		playText : 'Abspielen',
		playTitle : 'Slideshow abspielen (Leertaste)',
		pauseText : 'Pause',
		pauseTitle : 'Pausiere Slideshow (Leertaste)',
		previousTitle : 'Vorheriges Bild (Pfeiltaste links)',
		nextTitle : 'Nächstes Bild (Pfeiltaste rechts)',
		moveTitle : 'Verschieben',
		fullExpandText : 'Vollbild',
		number : 'Bild %1 von %2',
		restoreTitle : 'Klicken um das Bild zu schließen, klicken und ziehen um zu verschieben. Pfeiltasten nutzen für vor und zurück.'
	};

	if (hs.addSlideshow)
		hs.addSlideshow({
			interval : 5000,
			repeat : true,
			useControls : true,
			fixedControls : 'fit',
			overlayOptions : {
				opacity : .75,
				position : 'bottom center',
				hideOnMouseOut : true
			}
		});

	var verweise = $("div#inhalt a.highslide");
	if (verweise.length < 1) {
		return;
	}
	verweise.each(function() {
		this.onclick = function() {
			return hs.expand(this);
		};
	});

}

/*****************************/
/* Einsatzstatisitk          */
/*****************************/
function aktiviereStatistikGrafikWechsel() {
	var einsatzstatistik = $('div#einsatzstatistik');
	if (einsatzstatistik.length < 1)
		return;
	einsatzstatistik.find('a.statistikVerweis').live(
			'click',
			function() {
				var verweis = $(this);
				verweis.css('color', '#9D0825');
				verweis.closest('td').css('background-color', '#FFFFFF');
				verweis.closest('td').find('a.statistikVerweis').css('text-decoration', 'none');
				verweis.closest('td').siblings().css('background-color', '#9D0825');
				verweis.closest('td').siblings().find('a.statistikVerweis').css('color', '#FFFFFF');
				var grafik = einsatzstatistik.find('.statistik > img');
				grafik.attr('src', './' + verweis.html().replace(/ /g, '').replace(/pro/, 'Pro').replace(/ä/, 'ae')
						+ 'Grafik.php');
				return false;
			});
}

function filtereTabelleBeimSeitenaufruf() {
	var $tabelle = $('div#einsatztabelle table.fachobjektetabelle');
	if ($tabelle.length == 0) {
		return;
	}
	var $ersterFilter = $tabelle.children('thead').find('div.filter:first');
	var $ersterFilterinhalt = $('div.filterinhalt:first');
	aktiviereFilter($ersterFilter, $ersterFilterinhalt, null, $tabelle);
	$ersterFilterinhalt.find('a.button.ok').removeClass('inaktiv');
	$ersterFilterinhalt.find('a.button.ok').addClass('aktiv');
	$('div#einsatztabelle').removeClass('ausserhalbDesBildschirms');
	/*
	 * var spalten = $('div#einsatztabelle tbody tr:visible
	 * td:nth-child(1)').get(); for (var i = 1; i <= spalten.length; i++) {
	 * spalten[spalten.length - i].innerHTML = i; }
	 */
}

/*****************************/
/* Soundwiedergabe           */
/*****************************/
function aktiviereSoundwiedergabe() {
  var optionen = {
    filepath: "downloads/",
    backcolor: "73051d",
    forecolor: "ffffff",
    width: 200,
    showdownload: "false",
    showfilename: "false"
  };
  $("div#inhalt span.soundwiedergabe").jmp3(optionen);
}

/*****************************/
/* Ortskommando */
/*****************************/
function aktiviereKlappmechanismus($inhalt) {
	var $klickbareUeberschriften = $inhalt.find('span.kommandomitglied');
	$klickbareUeberschriften.bind('click.klappen', function(event) {
		$(this).toggleClass('selected').next('div.zusatzinformationen').slideToggle(246);
	});

	$inhalt.find('a.alleKlappen').bind('click.alleKlappen', function(event) {
		var $alleKlappenLinks = $(this).closest('table').find('a.alleKlappen');
	  if ($alleKlappenLinks.html() === 'Alle aufklappen') {
			$alleKlappenLinks.html('Alle zuklappen');
			$klickbareUeberschriften.addClass('selected').next('div.zusatzinformationen').show();
		} else {
			$alleKlappenLinks.html('Alle aufklappen');
			$klickbareUeberschriften.removeClass('selected').next('div.zusatzinformationen').hide();
		}
	});
}

/*****************************/
/* Old-School: Bildergalerie */
/*****************************/
function oeffneGalerie(seite, ordner, titel, breite, hoehe) {
	window.open("./Front.php?seite=" + seite + "&ordner=" + ordner, titel, "width=" + breite + ",height=" + hoehe
			+ ",toolbar=no,menubar=no,statusbar=no");
}

function zeigeGrossesBild(bildnummer, bildanzahl, source) {
	if (navigator.appName.indexOf("Explorer") == -1)
		grossesBild = document.getElementById("grossesBild");
	einBildZurueck = "<img alt='' src='img/buttons/weiss.gif'>";
	einBildVor = "<img alt='' src='img/buttons/weiss.gif>'";
	if (bildnummer > 1) {
		vorherigeBildnummer = bildnummer - 1;
		einBildZurueck = "<a href='javascript:zeigeGrossesBild(" + vorherigeBildnummer + ", " + bildanzahl + ", \""
				+ source + "\")'><img style='pfeil' alt='zurueck' src='img/buttons/minus1.png'></a>";
	}
	if (bildnummer < bildanzahl) {
		naechsteBildnummer = bildnummer + 1;
		einBildVor = "<a href='javascript:zeigeGrossesBild(" + naechsteBildnummer + ", " + bildanzahl + ", \"" + source
				+ "\")'><img style='pfeil' alt='vor' src='img/buttons/plus1.png'></a>";
	}
	grossesBild.innerHTML = einBildZurueck + "<img class='bild' alt='Bild " + bildnummer + "' src='" + source
			+ "/big/bild" + bildnummer + ".jpg'>" + einBildVor;
}

