/* =========================================================================== */
// Javascript zur Erzeugung einer dynamischen Navigation mit drei Ebenen
// (c)2001 - Antje Kunkel
// Kontakt: meritaa@webpoesie.de
/* =========================================================================== */
// basierend auf einem kostenlosen Skript, Fehler in der Logik wurden ausgemerzt
// eine eigene Logik entwickelt, der Quellcode für den Hauptteil neu entwickelt
// und geschrieben, 3. Ebene eingefügt, Dateinamen größtenteils 
// beibehalten, damit Anwender sich nicht umgewöhnen müssen (beim Anpassen des
// Skriptes für die eigene Site)
/* =========================================================================== */
// Anpassung der Standardwerte
/* =========================================================================== */

/* Angabe der Url des Pages-ordners */
 // var page_url = ""//htm/";
//var page_url = "file:///E:/jobs/webpoesie.de/projekt webpoesie/Internet/pages/";
  var page_url = "http://www.webpoesie.de/poesie/pages/";
//var page_url = "http://www.g-grafikdesign.de/ifd/htm/";

/* Angabe der Url für den Imageordner */
  //var image_url = "pics/";
 // var image_url = "file:///E:/";
//var image_url = "file:///E:/jobs/webpoesie.de/projekt webpoesie/Internet/pics/navpics/";
  var image_url = "http://www.webpoesie.de/poesie/pics/navpics/";
//var image_url = "http://www.g-grafikdesign.de/ifd/navpics/";

/* Angabe der Dateiendung der html-Seiten */
var html_extension = ".asp";

/* Angabe der Dateiendung der Images */
var img_extension = ".gif"

/* Angabe des Namenszusatzes für Rollover */
var rollover_extension = "ov";

/* Angabe des Namenszusatzes für gedrückte Buttons */
var pushed_extension = "dn";

/* Angabe ob Rollover ja (true) oder nein (false) */
var rollover = true; //true;

/* Defaultwert für width-Werte der Grafiken */
var default_width = "198";

/* Defaultwert für height-Werte der Grafiken */
var default_height = "19";

/* Reihenfolge der Menüeinträge der 1. Ebene festlegen */
var MenuOrder = new Array ('themen','veroeffentlichen','desmonats','suche','forum','aktuelles','links','meinwebpoesie','urheberrecht','impressum','faq');

/* Target-Angabe für den Link */
var mytarget="_self";

/* =========================================================================== */
// Ende Anpassung
/* =========================================================================== */

var MenuEntries = new Object();
var aktuellerEintrag = "";


/* Funktion zum Erstellen der Menüobjekte auf oberster Ebene */
function Add_MenuEntry(name, mother, imgname, imgovname, imgdownname, link) {
         MenuEntries[name] = new Object;
         MenuEntries[name].name = name;
	 MenuEntries[name].imgname = imgname;
	 MenuEntries[name].imgovname = imgovname + rollover_extension;
	 MenuEntries[name].imgdownname = imgdownname;
         MenuEntries[name].url = image_url + imgname + img_extension;
         MenuEntries[name].width = default_width;
         MenuEntries[name].height = default_height;
         MenuEntries[name].mothernodename = mother;
         MenuEntries[name].link = link;
         if (mother.length == 0) { MenuEntries[name].nodelevel = 0; }
         else {
              if (MenuEntries[name].mothernodename != ""
                  && MenuEntries[MenuEntries[name].mothernodename].mothernodename == "") {
                     MenuEntries[name].nodelevel = 1; }
              else { MenuEntries[name].nodelevel = 2;}
              }
         if (MenuEntries[name].childcounter == null){
                  MenuEntries[name].childcounter = 0;
                  MenuEntries[name].children = new Array(); }
         if (mother.length != 0 && MenuEntries[mother]){
             MenuEntries[mother].children[MenuEntries[mother].childcounter] = name;
             MenuEntries[mother].childcounter += 1; }
}

/* Funktion zum Bauen der Navigation */
function show_nav(mOrder, rollovfix) {
         var mother = "";
         var mothermother = "";
         if (rollovfix != null && rollovfix.length != 0){
            //prüfen ob Mutterknoten der 2.Ebene oder Mutterknoten der 3.Ebene existiert
            if (MenuEntries[rollovfix].nodelevel == 0){ // wenn Eintrag 1. Ebene
               for (var i = 0; i < mOrder.length; i++) {
                   aktuellerEintrag = mOrder[i];
                   write_html(aktuellerEintrag, rollovfix,false);
                   if (aktuellerEintrag == rollovfix) { // wenn gleich aktivem Button
                      if (MenuEntries[aktuellerEintrag].childcounter != 0) {
                         for (var n = 0; n < MenuEntries[aktuellerEintrag].childcounter; n++) {
                             var aktuellesKind = MenuEntries[aktuellerEintrag].children[n];
                             write_html(aktuellesKind, rollovfix,false); }
                      }
                }}
            }
            else {
                 if (MenuEntries[rollovfix].nodelevel == 1) {
                    // Sicherheitsprüfung ob Muttername existiert
                    if (MenuEntries[rollovfix].mothernodename != null
                        && MenuEntries[rollovfix].mothernodename != "") {
                            mother = MenuEntries[rollovfix].mothernodename;
                            // prüfe für alle Einträge 1.Ebene, ob Mutter von rollovfix
                            for (var z = 0; z < mOrder.length; z++) {
                                aktuellerEintrag = mOrder[z];
                                if (aktuellerEintrag == mother) {
                                   write_html(aktuellerEintrag, rollovfix, true);
                                   // für alle Brüder und Schwestern Html-Code schreiben
                                   for (var k = 0; k < MenuEntries[mother].childcounter; k++) {
                                       aktuellerEintrag = MenuEntries[mother].children[k];
                                       write_html(aktuellerEintrag,rollovfix,false);
		           // wenn rollovfix, dann überprüfen, ob Kinder vorhanden
		          if (aktuellerEintrag == rollovfix) {
			if (MenuEntries[aktuellerEintrag].childcounter != 0) {
                         		   for (var n = 0; n < MenuEntries[aktuellerEintrag].childcounter; n++) {
                             		var aktuellesKind = MenuEntries[aktuellerEintrag].children[n];
                            	   write_html(aktuellesKind, rollovfix,false); }
			}
		          }
                                   }
                                }
                                else { write_html(aktuellerEintrag, rollovfix,false); }	///////true
                            }
                        }
                    }
                    else {
                         if (MenuEntries[rollovfix].nodelevel == 2) {
                            // prüfe, ob Mütter existieren
                            if (MenuEntries[rollovfix].mothernodename != null
                                && MenuEntries[rollovfix].mothernodename != "") {
                                   mother = MenuEntries[rollovfix].mothernodename;
                                   if (MenuEntries[mother].mothernodename != null
                                       && MenuEntries[mother].mothernodename != "") {
                                          mothermother = MenuEntries[mother].mothernodename
                                          // schreibe für alle Einträge 1.Ebene html-Code
                                          for (var t = 0; t < mOrder.length; t++) {
                                              aktuellerEintrag = mOrder[t];
                                              // wenn aktuellerEintrag die Großmutter von rollovfix ist
                                              // schreibe für alle Kinder html-Code
                                              if (aktuellerEintrag == mothermother) {
                                                 write_html(aktuellerEintrag, rollovfix,true);	///////true
                                                 for (var s = 0; s < MenuEntries[mothermother].childcounter; s++) {
                                                     aktuellerEintrag = MenuEntries[mothermother].children[s];
                                                     write_html(aktuellerEintrag, rollovfix,false);
                                                     // wenn aktEintrag gleich dem direkten Mutterknoten von rollovfix
                                                     // entspricht, dann schreibe html-Code für alle Brüder und Schw.
                                                     if (aktuellerEintrag == mother) {
                                                        for (var e = 0; e < MenuEntries[mother].childcounter; e++) {
                                                            aktuellerEintrag = MenuEntries[mother].children[e];
                                                            write_html(aktuellerEintrag, rollovfix,false);
                                                        }
                                                     }
                                                     else {
                                                         write_html(aktuellerEintrag, rollovfix,false);
                                                     }
                                                 }
                                              }
                                              else {
                                                   write_html(aktuellerEintrag, rollovfix,false);
                                              }
                                          }
                                   }
                            }
                         }
                    }
         }}

         else {
              for (var i = 0; i < mOrder.length; i++) {
                   aktuellerEintrag = mOrder[i];
                   write_html(aktuellerEintrag, "",false);
              }
         }
    }



