$(document).ready(function() {
    aktiviereAkkordion();
    aktiviereSchriftgradwechsel();
    aktiviereEmailAdressen();
    aktiviereAnzeigeDesAktualisierungsblocks();
    aktiviereTerminblockNavigation();
});

function aktiviereAkkordion() {
    var $navigation = $("#navigation");
    $navigation.children("ul.menuepunkte").removeClass("unsichtbar");
    $navigation.accordion({ 
        active: false,
        alwaysOpen: false,
        animated: false,
        autoheight: false,
        event: "click",
        header: "span.kategorie",
        navigation: false
    }).bind("change.ui-accordion", function(event, ui) {
        $navigation.children("a.current").removeClass("current");
    });
}

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) {
    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;
}

