/**************************************************************************/
/*  Scripts der Pfarre Sandleiten:                                        */
/**************************************************************************/

// Javascript Fehlermeldungen unterbinden, um Fehler "Zugriff verweigert" zu verhindern.
window.onError = null;

// Prüfen welcher Browser im Einsatz ist
dom = (document.getElementById) ? true : false;
ie  = (document.all) ? true : false;
ie6 = (document.documentElement && document.documentElement.scrollTop) ? true : false;
ns4 = (document.layers) ? true : false;

// Globale Variablen zum Überwachen der Menus
offenesMenuNr = 0;
menuGesperrt = new Boolean(true);
var scrollUeberwachen = "";
var letzteXPos = 0;
var letzteYPos = 0;

// Position der Menus 1-5, Muss mit "Width" der IMG's "menuleiste0-5" in banner.html übereinstimmen!
menuAbsoluteXPos    = new Array;
menuAbsoluteXPos[0] = 0;                 //Startseite, kein Menu
menuAbsoluteXPos[1] = 95;                //Menu Pfarre
menuAbsoluteXPos[2] = 95+70;             //Menu Pfarrleben
menuAbsoluteXPos[3] = 95+70+100;         //Menu Gruppen
menuAbsoluteXPos[4] = 95+70+100+90;      //Menu Kindergarten
menuAbsoluteXPos[5] = 95+70+100+90+120;  //Menu Caritas 


function bibelstelle(monatNr)
// Blendet Bibeltext für einen ausgewählten Monat unter Aktuelles ein oder aus.
// Paragraphen haben eine id mit der monatsnummer, z.B. id="bibelstelle_1"
{
 for(i = 1; i <= 12; i++)
   {
    if (dom)
       eval("document.getElementById(\"bibelstelle_" + i + "\").style.display = 'none'");
    else if (ie)
       eval("document.all.bibelstelle_" + i + ".style.display = 'none'");
    else if (ns4)
       eval("document.layers.bibelstelle_" + i + ".visibility = 'hide'");
   }

 if (dom)
    document.getElementById("bibelstelle_" + monatNr).style.display = "inline";
 else if (ie)
    eval("document.all.bibelstelle_" + monatNr + ".style.display = 'inline'");
 else if (ns4)
    eval("document.layers.bibelstelle_" + monatNr + ".visibility = 'visible'");
}

function bodyClick()
// 3D Effekte auf der Menuleiste wieder entfernen und mögliche offene Menus schliessen
{
 rahmen3Dentfernen("menuleiste" + offenesMenuNr);
 menuSchliessen();
}

function fensterBreite()
// Gibt die momentane Breite des Fensters zurück.
{
 var breite = 0;

 if (dom)
    breite = parent.hauptframe.document.body.offsetWidth;
 else if (ie)
    breite = parent.hauptframe.document.body.clientWidth;
 else if (op || ns4)
    breite = self.innerWidth;
 else
    breite = 800;

 return breite;
}

function fensterOeffnen(datei, breite, hoehe)
// Öffnet eine html oder pdf Datei in einem eigenen Fenster.
{
 if (breite)
    style = "width=" + breite + ",";
 else
    style = "width=800,";
 if (hoehe)
    style = style + "height=" + hoehe + ",";
 else
    style = style + "height=600,";
 style = style + "scrollbars,resizable=yes,status=yes";
 
 if (!window.fenster || window.fenster.closed)
    fenster = window.open(datei, "fenster", style);
 else
    window.fenster.location.href = datei;
}

function fenster2Oeffnen(datei, breite, hoehe)
// Öffnet eine html oder pdf Datei in einem zweiten Fenster.
{
 if (breite)
    style = "width=" + breite + ",";
 else
    style = "width=800,";
 if (hoehe)
    style = style + "height=" + hoehe + ",";
 else
    style = style + "height=600,";
 style = style + "scrollbars,resizable=yes,status=yes";
 
 if (!window.fenster2 || window.fenster2.closed)
    fenster2 = window.open(datei, "fenster2", style);
 else
    window.fenster2.location.href = datei;
}

function fotoalbum(thema, name, nummer, vonNummer, bisNummer, seite)
// Diese Funktion wird beim Anklicken eines Bildes aufgerufen, um ein grosses Bild
// in einem eigenen Fenster anzuzeigen. Mehr Info unter fotoalbum_hilfe.txt.
{
 if (thema == "uebersicht")
    {
     fotoalbumFenster = window.open("/fotoalbum_index.html", "fotoalbumFenster", "width=690,height=580,scrollbars=yes,resizable=yes,status=yes");
     return;
    }

 if (!nummer)    nummer = 1;
 if (!vonNummer) vonNummer = 1;
 if (!bisNummer) bisNummer = vonNummer;

 var parameter = "?" + thema + "&" + name + "&" + nummer + "&" + vonNummer + "&" + bisNummer;
 if (seite)
    parameter = parameter + "&" + seite;

 if (!window.fotoalbumFenster || window.fotoalbumFenster.closed)
    fotoalbumFenster = window.open("/fotoalbum.php" + parameter, "fotoalbumFenster", "width=690,height=580,scrollbars=yes,resizable=yes,status=yes");
 else
    window.fotoalbumFenster.location.href = "/fotoalbum.php" + parameter;
}

function hauptframeLaden()
// Seite, die mit ?-Parameter mitgegeben wurde, in den Hauptfarme laden.
{
 var suchParameter = location.search;

 if (parent.hauptframe.location.href != "" && parent.hauptframe.location.href != "about:blank")
    return void(0);

 if (suchParameter && suchParameter != "")
    parent.hauptframe.location.href = suchParameter.substring(1,suchParameter.length);
 else
    parent.hauptframe.location.href = "startseite.shtml";
}

function menuleisteClick(menuNr)
// Bei Klicken auf Menuleiste Menu öffnen oder schließen, wenn bereits offen.
{
 if (menuNr < 1 || menuNr > 5)     //ungültige menuNr
    return;

 if (offenesMenuNr == 0)
    {
     rahmen3Dgedrueckt("menuleiste" + menuNr);
     menuOeffnen(menuNr);
    }
 else
    {
     rahmen3Derhoben("menuleiste" + menuNr);
     menuSchliessen(menuNr);
    }
}

function menuleisteOver(menuNr)
// Wenn Maus über Menuleiste fährt, 3D Effekt aktivieren und von anderen wegnehmen.
{
 if (menuNr > 5)     //ungültige menuNr
    return;

 rahmen3Dentfernen("menuleiste" + offenesMenuNr);

 if (offenesMenuNr == 0 || menuNr == 0)
    rahmen3Derhoben("menuleiste" + menuNr);
 else
    rahmen3Dgedrueckt("menuleiste" + menuNr);

 if (menuNr > 0 && offenesMenuNr > 0 && menuNr != offenesMenuNr)
    {
     menuSchliessen(offenesMenuNr);
     menuOeffnen(menuNr);
    }
}

function menuleisteOut(menuNr)
// Beim Verlassen der Menuleiste, 3D Effekt wegnehmen.
{
 if (menuNr > 5)     //ungültige menuNr
    return;

 rahmen3Dentfernen("menuleiste" + menuNr);
}

function menuClick(grafikName)
// Bei KLicken auf Menu, 3D Effekt kurz aktivieren und dann schließen
{
 rahmen3Dgedrueckt(grafikName);
 rahmen3Dentfernen("menuleiste" + offenesMenuNr);
 menuSchliessen(offenesMenuNr);
}

function menuEntsperren()
// Erlauben, dass Menu mit einem Click geschlossen werden kann.
{
 menuGesperrt = false;
}

function menuOeffnen(menuNr)
// Menu sichtbar machen durch aktivireren des Display Attributs.
{
 if (menuNr < 1 || menuNr > 5)     //ungültige menuNr
    return;

 offenesMenuNr = menuNr;

 letzteXPos = 0;
 letzteYPos = 0;
 menuPositionieren();

 if (dom) 
    eval("parent.hauptframe.document.getElementById(\"menu" + menuNr + "\").style.display = 'inline'");
 else if (ie)
    eval("parent.hauptframe.document.all.menu" + menuNr + ".style.display = 'inline'");
 else if (ns4)
    eval("parent.hauptframe.document.layers.menu" + menuNr + ".visibility = 'show'");
 else
    return void(0);

 // Menuposition beim Scrollen laufend korrigieren, damit Menu am oberen Fensterrand fixiert bleibt
 scrollUeberwachen = setInterval("menuPositionieren()",100);
}

function menuOver(menuNr)
// Wenn Cursor im Menu ist, das Schließen des Menus durch Klicken verhindern.
{
 menuSperren();
 rahmen3Dgedrueckt("menuleiste" + menuNr);
}

function menuPositionieren()
// Beim Scrollen des Fensters das Menu immer am obersten Rand nachpositionieren.
{
 var menuNr = 0;
 var xPos = 0;
 var yPos = 0;

 if (offenesMenuNr == 0)   //kein Menu offen
    return;
 else
    menuNr = offenesMenuNr;

 xPos = menuXPos(menuNr);
 yPos = menuYPos(menuNr);
 if (xPos == letzteXPos && yPos == letzteYPos)
    return void(0);
 else
    {
     letzteXPos = xPos;
     letzteYPos = yPos;
    }

 if (dom)
    {
     eval("parent.hauptframe.document.getElementById(\"menu" + menuNr + "\").style.left = xPos");
     eval("parent.hauptframe.document.getElementById(\"menu" + menuNr + "\").style.top  = yPos");
    }
 else if (ie)
    {
     eval("parent.hauptframe.document.all.menu" + menuNr + ".style.left = xPos");
     eval("parent.hauptframe.document.all.menu" + menuNr + ".style.top  = yPos");
    }
 else if (ns4)
    {
     eval("parent.hauptframe.document.layers.menu" + menuNr + ".left = xPos");
     eval("parent.hauptframe.document.layers.menu" + menuNr + ".top  = yPos");
    }
 else
    return void(0);
}

function menuSchliessen(menuNr)
// // Menu unsichtbar machen durch deaktivireren des Display Attributs.
{
 if (menuNr)
    {
     if (dom)
        eval("parent.hauptframe.document.getElementById(\"menu" + menuNr + "\").style.display = 'none'");
     else if (ie)
        eval("parent.hauptframe.document.all.menu" + menuNr + ".style.display = 'none'");
     else if (ns4)
        eval("parent.hauptframe.document.layers.menu" + menuNr + ".visibility = 'hide'");
     else
        return void(0);
     offenesMenuNr = 0;
    }

 if (! menuNr && ! menuGesperrt)
    {
     for(i = 1; i <= 5; i++)
       {
        if (dom)
           eval("parent.hauptframe.document.getElementById(\"menu" + i + "\").style.display = 'none'");
        else if (ie)
           eval("parent.hauptframe.document.all.menu" + i + ".style.display = 'none'");
        else if (ns4)
           eval("parent.hauptframe.document.layers.menu" + i + ".visibility = 'hide'");
        else
           return void(0);
       }
     offenesMenuNr = 0;
    }

 // Überwachen der Scrollbewegungen wieder stoppen
 if (scrollUeberwachen && offenesMenuNr == 0)
    clearInterval(scrollUeberwachen);
}

function menuSperren()
// Menu sperren, wenn der cursor in der Menuleiste oder in einem Menu ist.
{
 menuGesperrt = true;
}

function menuXPos(menuNr)
// Gibt die momentane horizontale Position des Menus zurück.
{
 if (offenesMenuNr == 0)   //kein Menu offen
    return 0;

 var xPos = 0;

 if (ie6)
     eval("xPos = menuAbsoluteXPos[" + menuNr + "] + parent.hauptframe.documentElement.scrollLeft");
 else if (ie)
     eval("xPos = menuAbsoluteXPos[" + menuNr + "] + parent.hauptframe.document.body.scrollLeft");
 else if (ns4)
     eval("xPos = menuAbsoluteXPos[" + menuNr + "] + parent.hauptframe.pageXOffset");
 else
     eval("xPos = menuAbsoluteXPos[" + menuNr + "] + parent.hauptframe.pageXOffset");

 if (xPos + 240 > fensterBreite())
    xPos = fensterBreite() - 240;

 return xPos;
}

function menuYPos(menuNr)
// Gibt die momentane vertikale Position des Menus zurück.
{
 if (offenesMenuNr == 0)   //kein Menu offen
    return 0;

 var yPos = 0;

 if (ie6)
     eval("yPos = parent.hauptframe.documentElement.scrollTop");
 else if (ie)
     eval("yPos = parent.hauptframe.document.body.scrollTop");
 else if (ns4)
     eval("yPos = parent.hauptframe.pageYOffset");
 else
     eval("yPos = parent.hauptframe.pageYOffset");

 return yPos;
}

function neueSeite()
// Bei Öffnen einer neuen Seite globale Felder initialisieren
{
 offenesMenuNr = 0;
 menuGesperrt  = true;
}

function pruefenLeer(feld)
// Prüft ob ein Formular Eingabefeld leer ist.

 { 
 if (feld.value == "")
    return false;
 else
    return true;
 }

function rahmen3Dentfernen(grafikName)
// Grafikrahmen verschwinden lassen (Border auf 0 und Width auf 1 setzen)
{
 if (grafikName.substr(0,10) == "menuleiste")
    frameReferenz = "parent.navigation.";
 else
    frameReferenz = "parent.hauptframe.";
 
 eval(frameReferenz + "document." + grafikName + ".style.borderWidth = 0");
}

function rahmen3Derhoben(grafikName)
// Grafik mit erhobenem 3D Rahmen versehen (oben + links weissgelb, unten + rechts schwarz)
{
 if (grafikName.substr(0,10) == "menuleiste")
    frameReferenz = "parent.navigation.";
 else
    frameReferenz = "parent.hauptframe.";
 
 eval(frameReferenz + "document." + grafikName + ".style.borderWidth = 1");
 eval(frameReferenz + "document." + grafikName + ".style.borderTopColor = '#FFFFCC'");
 eval(frameReferenz + "document." + grafikName + ".style.borderLeftColor = '#FFFFCC'");
 eval(frameReferenz + "document." + grafikName + ".style.borderBottomColor = '#000000'");
 eval(frameReferenz + "document." + grafikName + ".style.borderRightColor = '#000000'");
}

function rahmen3Dgedrueckt(grafikName)
// Grafik mit gedrücktem 3D Rahmen versehen (oben + links schwarz, unten + rechts weissgelb)
{
 if (grafikName.substr(0,10) == "menuleiste")
    frameReferenz = "parent.navigation.";
 else
    frameReferenz = "parent.hauptframe.";
 
 eval(frameReferenz + "document." + grafikName + ".style.borderWidth = 1");
 eval(frameReferenz + "document." + grafikName + ".style.borderTopColor = '#000000'");
 eval(frameReferenz + "document." + grafikName + ".style.borderLeftColor = '#000000'");
 eval(frameReferenz + "document." + grafikName + ".style.borderBottomColor = '#FFFFCC'");
 eval(frameReferenz + "document." + grafikName + ".style.borderRightColor = '#FFFFCC'");
}
