// Initialisierung //
// Variable müssen hier def. sein, da global verwendet!!
// 100-300 Pixel ist angenehm (Anz.d.Zeilen richtet sich nach Textlänge)
 var breite = "	";
// Farbe Rahmen und Hintergrund bei Überschrift (dunkel)
 var backcolor = "";
// Farbe Text-Überschrift (weiß)
 var capcolor = "";
// Rahmendicke 1-5 Pixel sind annehmbar
 var border = "0";
// Textbereich Hintergrund
 var fcolor = "";
// Textfarbe
 var textcolor = "";
// Abstand popup Fenster neben der Maus; 3 - 12 sind annehmbar
 var offsetx = 5;
// Abstand popup Fenster unterhalb der Maus; 3 - 10 Pixel sind annehmbar
 var offsety = 5;
// Ende der Initialisierung
// welcher Browser
function lib_bwcheck(){ //Browsercheck (needed)
        this.ver=navigator.appVersion
        this.agent=navigator.userAgent
        this.dom=document.getElementById?1:0
        this.opera5=this.agent.indexOf("Opera 5")>-1
        this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
        this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
        this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
        this.ie=this.ie4||this.ie5||this.ie6
        this.mac=this.agent.indexOf("Mac")>-1
        this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
        this.ns4=(document.layers && !this.dom)?1:0;
        this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
        return this
}
var bw=new lib_bwcheck()



// IE
var ie = ((document.all) && (window.offscreenBuffering)) ? true : false;
// Netscape
var ns = ((document.captureEvents) && (!document.getElementById)) ? true : false;
// Mozilla
var mz = ((document.getElementById) && (!document.all) && (document.documentElement)) ? true : false;
// Opera
var op = ((document.getElementById) && (navigator.userAgent.indexOf('Opera') != -1)) ?  true : false
var xxx = 0; /* maus horizontal */
var yyy = 0; /* maus vertikal */
var sx = 0;  /* scroll horizontal */
var sy = 0;  /* scroll vertikal */
var zx = 0;  /* window-Breite */
var zy = 0;  /* window-Höhe */
var sichtbar = false;
var dir = '0';  /* 1=layer rechts zeigen 0=links zeigen */
var objekt = "";



function init()
{
  if ((mz)  || (op)) { objekt = document.getElementById("layer2");
     document.addEventListener("mousemove", mouseMove, true);
  }
  if ( (bw.ns4) || (bw.ie) )
  {
    if (bw.ns4)  objekt = document.layer2;
    if (bw.ie)  objekt = layer2.style
    document.onmousemove = mouseMove
    if (bw.ns4)  document.captureEvents(Event.MOUSEMOVE)
  }
}

// löschen popup Hilfefenster
function funk2() {
  if ( (bw.ns4) || (bw.ie) || (mz)  || (op))
  {
  sichtbar = false;
     bewege(objekt,1,1)
     verstecke(objekt);
//     window.status = "";
  }
}

// Layer füllen und anzeigen
function funk1(breit, titel, text) { init()

//TEST AJAX HoverMenu
return;
//\TEST

if (breit > 20) breite=breit;
  txt = "<TABLE WIDTH="+breite+" BORDER=0 CELLPADDING=0 CELLSPACING="+border+" BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER="+border+" CELLPADDING=2 CELLSPACING=0><TR><TD><SPAN ID=\"xyz\"><B><FONT COLOR=\""+capcolor+"\">"+titel+"</FONT></B></SPAN></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=1 CELLSPACING="+border+" BGCOLOR=\""+fcolor+"\"><TR><TD><SPAN ID=\"PST\"><FONT COLOR=\""+textcolor+"\">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
  ausgabe(txt);
// popup Fenster rechts=1, links=0

//  window.status=  location.href + " --- " + titel + " ---";
  //dir = '1';
  //if (xxx-20 < breite) { dir = '1'; };
  if ( (bw.ns4) || (bw.ie) || (mz) || (op)) {
     if (dir == '1') { // Right
        bewege(objekt,xxx+offsetx,yyy+offsety);
     }
     if (dir == '0') { // Left
        bewege(objekt,xxx-offsetx-breite,yyy+offsety);
     }
     if (dir == '2') { // Left
        bewege(objekt,xxx-offsetx-breite-document.all.layer2.clientWidth/2,yyy+offsety);
     }
     if (sichtbar == false) {
        zeige(objekt);
        sichtbar = true;
     }
  }
}


// nach Layer schreiben
function ausgabe(txt) {
  if (bw.ns4) {
     var lyr = document.layer2.document
     lyr.write(txt)
     lyr.close()
  }
  if (bw.ie) document.all["layer2"].innerHTML = txt
  if ((mz) || (op)) { objekt.innerHTML = txt; }
}

// Layer positionieren
function mouseMove(e) {
   if ((mz) || (op))
   {  
    xxx = e.clientX; yyy = e.clientY;//-window.pageYOffset;
  zy = window.innerHeight + window.pageYOffset; /* Seitenende */
  zzy = document.getElementById("layer2").offsetHeight; /* Elementhöhe */
  zz = window.pageYOffset; /* = scroll Höhe */

  if (yyy+zzy+offsety > zy) yyy-=(zzy + offsety);
   }
   if (bw.ns4) { xxx=e.pageX; yyy=e.pageY;
      zy = window.pageYOffset + window.innerHeight /* koo bis BS-Ende */
      zx =  window.innerWidth /*  BS-Breite */
      zzy=document.layers["layer2"].clip.height;
      if (yyy+zzy-5 > zy) yyy-=(zzy + offsety);
   }
   if (bw.ie) { sx = document.body.scrollLeft; sy = document.body.scrollTop;
      xxx=event.clientX; yyy=event.clientY;
      zx= document.body.clientWidth;  /* Breite des Bilschirminhaltes */
      zy= document.body.clientHeight;  /* Höhe des Bilschirminhaltes */
      zzy=document.all.layer2.clientHeight /* Höhe des Layers      */
       /* Breite des Layers      */
      if (bw.ie6){
         if (document.compatMode && document.compatMode != "BackCompat")
            {sy=document.documentElement.scrollTop;
             sx=document.documentElement.scrollLeft;
             zx=document.documentElement.clientWidth;
             zy=document.documentElement.clientHeight; }
         else
             {sy=document.body.scrollTop;
              sx=document.body.scrollLeft;
              zx=document.body.clientWidth;
              zy=document.body.clientHeight;}
      }
      if (yyy+zzy-5 > zy) yyy-=(zzy + offsety*1.7);
      xxx = xxx + sx; yyy = yyy + sy;
   }
    if (sichtbar) {
     if (dir == '1') { // rechts der Maus
        bewege(objekt,xxx+offsetx,yyy+offsety);
     }
     if (dir == '0') { // links der Maus
        bewege(objekt,xxx-offsetx-breite,yyy+offsety);
     }
     if (dir== "2") { // zentriert
        bewege(objekt,xxx-offsetx-document.all.layer2.clientWidth/2,yyy+offsety);
     }
   }
}

// Objekt layer1 sichtbar machen
function zeige(obj) {
  if ((mz) || (op)) { obj.style.visibility = 'visible'; }
  if (bw.ns4) obj.visibility = "show"
  if (bw.ie) obj.visibility = "visible"
}

// Objekt layer1 verstecken -- ok
function verstecke(obj) {
   if ((mz) || (op)) {
     obj.innerHTML = "";
//     obj.style.visibility = 'hidden';
   }
   if (bw.ns4) obj.visibility = "hide"
   if (bw.ie) { obj.innerHTML = ""; obj.visibility = "hidden" }
}

// Objekt layer1 bewegen
function bewege(obj,x2,y2) {
//status= 'dir='+dir+' maus-x2='+x2+'  vertikal y2='+y2 + ' scroll sx='+sx+' Breit zx='+zx+' NS4='+bw.ns4 ;
   if (bw.ns4) zx+=10;
   if (dir=='0' &&(x2 < 1+sx)){
      x2 = sx;
   };
   if ((bw.ie) || (bw.ns4))  {
        obj.left = x2;
        obj.top = y2;
   }
   if ((mz) || (op)) {
      obj.style.left = x2 + 'px';
      obj.style.top = y2 + 'px';
   }
}


function menuPos(){
var gescrollt = (document.all)? document.body.scrollTop : window.pageYOffset;
   var neuPos = gescrollt + 0;
   if (document.layers) // Netscape 4
      document.menu.top = neuPos;
   else if (document.all) // IE
      document.all.menu.style.top = neuPos;
   else if (document.getElementById) // W3C
      document.getElementById("menu").style.top = neuPos;
}

function starr() {
   // für IE onscroll das Menü neu positionieren:
   if (document.all) document.body.onscroll = menuPos;

   // für W3C-Browser position auf "fixed" stellen:
   else if (document.getElementById) // W3C
     document.getElementById("menu").style.position="fixed";

   // für Netscape 4 wie gehabt:
   else if (document.layers) setInterval("menuPos()",40);
}