﻿<!--

//############# MENU SETTINGS ####################################################
   // feineinstellung
   itemHeight = 24;  // hoehe einer zelle eines Menue-Punktes
   imageSpace = 0;  // zusaetzliche breite fuer Mneue-Punkte ohne grafik zum angleich an Menue-Punkte mit grafik
   nextMenuX = 0;   // x-versetzung eines menus zu seinem vorgaenger-menu (incl. raum fuer grafik)
   nextMenuY = 0;    // y-versetzung eines menus zu seinem vorgaenger-menu (gleiche hoehe)

   // bilder fuer die Menue-Punkte definieren

//########## Menue-Steuerung #####################################################
function pagemenu()
{
     ready = 0;

     // addSubMenu("Name","window.location.href='URL';",image,breite[,HTML-tag-ID]);
     // [,HTML-tag-ID] optional fuer den start eines menues aus der HTML-seite
     // addSubItem("Name","window.location.href='URL';",image,breite);

     //--HOME--
     kapitel1 		= addSubMenu("","","","","home");

     //--PICS--
     kapitel2 		= addSubMenu("","","","","pics");
     if (submenu_pics != "")
     {
        var teil = submenu_pics.split("==|==");

        for (var x=0; x<teil.length; x++)
        {
            var pkt = x+1;
            var temp = teil[x].split("|");
            kapitel21 = kapitel2.addSubItem(temp[1],'window.location.href="./?site=pics&art='+temp[0]+'";','',85,'submenu');
        }
     }

     //--HOT SPOTS--
     kapitel3 		= addSubMenu("","","","","hotspots");
     if (submenu_hotspots != "")
     {
        var teil = submenu_hotspots.split("==|==");

        for (var x=0; x<teil.length; x++)
        {
            var pkt = x+1;
            var temp = teil[x].split("|");
            kapitel31 = kapitel3.addSubItem(temp[1],'window.location.href="./?site=hotspots&art='+temp[0]+'";','',110,'submenu');
        }
     }
     
     //--GUESTBOOK--
     kapitel4 		= addSubMenu("","","","","gbook");

     //--FREE SMS--
     //kapitel5 		= addSubMenu("","","","","freesms");
     //--VIDEOS--
     kapitel5 		= addSubMenu("","","","","videos");

     //--MEMBER--
     kapitel6 		= addSubMenu("","","","","member");

     if (cfg_login == "OK")
     {
        kapitel61		= kapitel6.addSubItem("MemberSearch","window.location.href='./?site=member_search';","",100,"submenu");
        if (cfg_useronline_show == 1)
        { kapitel62		= kapitel6.addSubItem("Now online","window.location.href='./?site=member_online';","",100,"submenu"); }
        //kapitel63		= kapitel6.addSubItem("All Member","window.location.href='./?site=member_all';","",100,"submenu");
        kapitel64		= kapitel6.addSubItem("Messenger","window.location.href='./?site=member_messenger';","",100,"submenu");
     }

     ready = 1;
   }




//############################ BROWSERUNTERSCHEIDUNG ###########################################
   var DHTML=false, DOM=false, MSIE4=false, NS4=false, OP=false;

   if (document.getElementById) {
     DHTML = true;
     DOM = true;
   } else {
     if (document.all) {
       DHTML = true;
       MSIE4 = true;
     } else {
       if (document.layers) {
         DHTML = true;
         NS4 = true;
       }
     }
   }
   if (window.opera) {
     OP = true;
   }

   function getElement (Mode, Identifier, ElementNumber) {
     var Element;
     if (DOM) {
       if (Mode.toLowerCase() == "id") {
         if (typeof document.getElementById(Identifier) == "object") {
           Element = document.getElementById(Identifier);
         } else {
           Element = false;
         }
         return Element;
       }
       if (Mode.toLowerCase() == "name") {
         var ElementList = document.getElementsByName(Identifier);
         if (typeof ElementList == "object" || (OP && typeof ElementList == "function")) {
           Element = ElementList[ElementNumber];
         } else {
           Element = false;
         }
         return Element;
       }
       if (Mode.toLowerCase() == "tagname") {
         var ElementList = document.getElementsByTagName(Identifier);
         if (typeof ElementList == "object" || (OP && typeof ElementList == "function")) {
           Element = ElementList[ElementNumber];
         } else {
           Element = false;
         }
         return Element;
       }
       return null;
     }
     if (MSIE4) {
       if (Mode.toLowerCase() == "id") {
         if (typeof document.all[Identifier] == "object") {
           Element = document.all[Identifier];
         } else {
           Element = false;
         }
         return Element;
       }
       if (Mode.toLowerCase() == "tagname") {
         if (typeof document.all.tags(Identifier) == "object") {
           Element = document.all.tags(Identifier)[ElementNumber];
         } else {
           Element = false;
         }
         return Element;
       }
       if (Mode.toLowerCase() == "name") {
         if (typeof document[Identifier] == "object") {
           Element = document[Identifier];
         } else {
           Element = false;
         }
         return Element;
       }
       return false;
     }
     if (NS4) {
       if (Mode.toLowerCase() == "id" || Mode.toLowerCase() == "name") {
         if (typeof document[Identifier] == "object") {
           Element = document[Identifier];
         } else {
           Element = false;
         }
         return Element;
       }
       if (Mode.toLowerCase() == "index") {
         if (typeof document.layers[Identifier] == "object") {
           Element = document.layers[Identifier];
         } else {
           Element = false;
         }
         return Element;
       }
       return false;
     }
     return false;
   }
//##############################################################################################
  //++++++ globale variablen +++++++++++++++++++
  htmlDoc = this;
  lastElement = this;
  ebeneX = 0;



  // liefert eine variable mit x und y wert als abstand zum BODY-tag
  function getPosition(nrstr) {
    var tagname="", x=0, y=3;
    // sichtbare menupunkte sollten ein object und nicht unbestimmt sein
    while ((typeof(nrstr)=="object") && (typeof(nrstr.tagName)!="undefined")) {
      y+=nrstr.offsetTop;
      x+=nrstr.offsetLeft;
      tagname=nrstr.tagName.toUpperCase();
      if (tagname=="BODY") nrstr=0;
      if (typeof(nrstr)=="object") nrstr=nrstr.offsetParent;
    }
    position = new Object();
    position.x = x;
    position.y = y;
    //alert ("(X;Y):  ("+position.x+";"+position.y+")");
    return position;
  }

  function addSubMenu (name,exe,bild,breite,headid) {
    var subMenuLink;
    // aufruf aus document oder aus einem submenu
    if (this == htmlDoc) {
      subMenuLink = getElement("id",headid);
      subMenuLink.onmouseover = headItemMouseOver;
      subMenuLink.onmouseout = headItemMouseOut;
      subMenuLink.menuItemMouseOver = menuItemMouseOver;
      subMenuLink.menuItemMouseOut = menuItemMouseOut;
      subMenuLink.menuMouseOut = menuMouseOut;
      subMenuLink.menuMouseOver = menuMouseOver;
      subMenuLink.call = "HeadItem";
    }
    else {
      subMenuLink = this.addSubItem(name,exe,bild,breite);
    }
    newSubMenu = new SubMenu();
    subMenuLink.subm = newSubMenu;          // WICHTIG!
    subMenuLink.subm.source = subMenuLink;  // WICHTIG!
    subMenuLink.addSubItem = addSubItem;    // dem menue kann ein menuepunkt..
    subMenuLink.addSubMenu = addSubMenu;    // ..oder ein untermenue hinzugefeugt werden
    return subMenuLink;
  }

  function SubMenu() {
    var block = document.createElement("div");
    block.setAttribute("id","Submenu");
    block.style.position = "absolute";
    block.style.top = "0";
    block.style.left = "0";
    block.style.borderTop = "1px solid #FFFFFF";
    block.style.visibility = "hidden";
    document.body.appendChild(block);
    block.subItems = new Array();
    block.addSubItem = addSubItem;
    block.addSubMenu = addSubMenu;
    block.onmouseover = menuMouseOver;
    block.onmouseout = menuMouseOut;
    block.call = "SubMenu";
    return block;
  }

  function addSubItem (name,exe,bild,breite,design) {
    if (this.subm)  // aufruf aus einem submenu (alternative document) ...
      return this.subm.addSubItem(name,exe,bild,breite,design);   // ...fuege item dem submenu zu
    var block = new SubItem (name,exe,bild,breite,design);
    block.source = this;
    this.subItems[this.subItems.length] = block;
    this.appendChild(block);
    return block;
  }


//############### dynamische erzeugung von tabellen der untermenues #####
  function SubItem (name,exe,bild,breite,design) {
    var block = document.createElement("div");
    borderTab = document.createElement("table");
    borderTab.setAttribute("border","0","true");
    borderTab.setAttribute("cellpadding","0","true");
//################ abstand zwischen den untermenue-zellen ###############
    borderTab.setAttribute("cellspacing","0","true");
//#######################################################################
    //borderTab.setAttribute("bordercolor","#FFFFFF","true");
    //borderTab.setAttribute("style","border-collapse: collapse","true");
    borderTbody = document.createElement("tbody");
    borderRow = document.createElement("tr");
    borderCell = document.createElement("td");
//################ rahmen um menuepunkte (nur IE) #######################
//# borderCell.style.border = "solid 1 #07265F";                        #
//#######################################################################
    myTable = document.createElement("table");
    myTable.setAttribute("border","0","true");
    myTable.setAttribute("cellpadding","0","true");
    myTable.setAttribute("cellspacing","0","true");
    //myTable.setAttribute("bgcolor",htmlDoc.itemOffColor,"true");
    myTable.className = design;
      myTbody = document.createElement("tbody");
        myRow = document.createElement("tr");
        myRow.setAttribute("height",24);
          //myCell0 = document.createElement("td");
          //myCell0.style.width = 5;
          //myCell0.style.height = 24;
          myCell1 = document.createElement("td");
          myCell1.style.width = breite + "px";
          myCell1.style.height = 24 + "px";
          myCell1.setAttribute("align","center");
          //myCell1.style.paddingLeft = "padding-left:5px;";
          //myCell1.className = "submenu_over";
          //myCell1.style.color = htmlDoc.fontOffColor;
            myText = document.createTextNode(name);
          myCell1.appendChild(myText);
          //myCell2 = document.createElement("td");
          //myCell2.setAttribute("valign","middle");
          //if (bild) {
          //    myImag = document.createElement("img");
          //    myImag.setAttribute("src", bild.src);
         //     myCell2.appendChild(myImag);
         // } else
         //     myCell2.setAttribute("width",htmlDoc.imageSpace);
        //myRow.appendChild(myCell0);
        myRow.appendChild(myCell1);
        //myRow.appendChild(myCell2);
      myTbody.appendChild(myRow);
    myTable.appendChild(myTbody);
    borderCell.appendChild(myTable);
    borderRow.appendChild(borderCell);
    borderTbody.appendChild(borderRow);
    borderTab.appendChild(borderTbody);
    block.appendChild(borderTab);
    block.call = "SubItem";
    if(exe) {
      block.exe = exe;
    }
    block.onmouseover = menuItemMouseOver;
    block.onmouseout = menuItemMouseOut;
    block.onmousedown = action;
    return block;
  }



  function headItemMouseOver() {
    if (ready == 1) {
      if (this.subm) {
        var a = getPosition(this);  //position vom link bestimmen
//################### abstand vom HTML-start-tag #######################
		var tempY = a.y + 33;
		var tempX = a.x + 0;
        this.subm.style.top = tempY + "px";
        this.subm.style.left = tempX + "px";
//######################################################################
        this.subm.style.visibility = "visible";
      }
      this.menuMouseOver();
      this.menuItemMouseOver();
    }
  }


  function headItemMouseOut(){
    if(ready == 1){
      this.menuItemMouseOut();
      this.menuMouseOut();
    }
  }


  // versenkt das vorherige Submenu unverzueglich,
  // wenn ein neues Submenu erscheinen soll
  function menuMouseOver(){
    //alert("menuMouseOver");
    if(htmlDoc.timeoutID != -1){  // wenn setTimeout() laeuft
      clearTimeout(htmlDoc.timeoutID);  // siehe beschreibung unten
      htmlDoc.timeoutID = -1;
    }
    // versenke alle fremden subm's
    //if(lastElement != this && lastElement.subm != this)    {
    //timeout();
  }
  // clearTimeout() - Bricht ein Timeout ab, der mit der Methode setTiemeout() gestartet wurde.
  // Erwartet als Parameter die Variabele, in der der Aufruf von setTimeout() gespeichert
  // wurde.



  // fuehrt eine anwendung nach einer verzoegerungszeit aus, Parameter:
  // 1. code = JavaScript-anweisung, die verzoegert werden soll
  // 2. pause = wert in millisekundne bis zum ausfuehren
  // rueckgabewert ist unbestimmte browservariable (z.b. 34344478)
  function menuMouseOut(){
    //alert("menuMouseOut");
    htmlDoc.timeoutID = setTimeout("timeout();", 100);
  }


  // erwartet globale variablen lastElement, htmlDoc
  // sind beide unterschiedlich wurde mindestens ein Submenu angezeigt
  // und der ausgangszustand des gesamtmenus wieder hergestellt
  function timeout(){
    if(lastElement != htmlDoc) {
      if(lastElement.subm) {
        baumOff(lastElement.subm,htmlDoc);
      }
      else {
        baumOff(lastElement,htmlDoc);
      }
    }
    htmlDoc.timeoutID = -1; // timeout-erkennung auf startwert
  }


  // versenkt alle untermenus unterhalb des subm von overElement
  function baumOff(outElement, overElement){
    if(outElement.call != "HeadItem") {
      if(outElement.source != overElement) {
        if(outElement.call != "SubItem") {
          outElement.style.visibility = "hidden";
        }
        baumOff(outElement.source, overElement);
      }
    }
  }


  function action(){
    timeout();
    if(this.exe){
      eval(this.exe);
    }
    return false;
  }


  function menuItemMouseOver() {
    this.style.cursor='hand';
    // wandern im baum
    if(this.call == "SubItem") {
      this.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.style.color = "#FED507";
      //this.firstChild.firstChild.firstChild.firstChild.firstChild.style.backgroundColor = htmlDoc.itemOnColor;
      this.firstChild.firstChild.firstChild.firstChild.firstChild.className = "pagemenu_sub_tab_over";
    }
    if(this.subm && this.call=="SubItem"){
      var a = getPosition(this);
      var w = parseInt(this.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.style.width);
      // menugeruest hat x-wert = source-x + menulinkweite + abstand
      this.subm.style.left =  a.x + w + htmlDoc.nextMenuX;
      // menugeruest hat y-wert = source-y + abstand
      this.subm.style.top = a.y + htmlDoc.nextMenuY;
    }
    if(lastElement != htmlDoc) {
      if(this.call == "HeadItem") {
        if(lastElement != this) {
          timeout();
        }
      }
      else if(lastElement != this.source.source) {
        if(lastElement.subm) {
          lastElement.subm.style.visibility= "hidden";
        }
        if(lastElement.source != this.source) {
          baumOff(lastElement, this.source);
        }
      }
      lastElement = this;
    }
    if(this.subm) {
      this.subm.style.visibility = "visible";
    }
  }


  function menuItemMouseOut() {
    if(this.call != "HeadItem") {
      this.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.firstChild.style.color = "#FFFFFF";
      //this.firstChild.firstChild.firstChild.firstChild.firstChild.style.backgroundColor = htmlDoc.itemOffColor;
      this.firstChild.firstChild.firstChild.firstChild.firstChild.className = "pagemenu_sub_tab";
    }
    lastElement = this;
  }

-->
