<!--
/* Diese Browserabfrage stellt fest, ob ein Browser DHTM-fähig ist.
wenn ja, dann steht die Variable dhtml auf 1,
wenn nein, steht die Variable dhtml auf 0.
5.12.2002 - entwickelt aus dem Buch CSS und DHTML - Seite 184 ff */

var iddom=0;   // ID-DOM W3C
var alldom=0;  // allDom Windows
var laydom=0;  // LayerDom NetScape
var dhtml=0;   // DHTML-fähig?

var objektvorher = null;   // Variable für Objekte verschieben
var stapelvorher = 0;      // Variable für Objekte verschieben

var grafikenladen = new Array();  // Variable zum Vorausladen von Grafiken

// alert ("Intro");

if (document.getElementById) {
   iddom=1;
   dhtml=1;
   }
else {
   if (document.all) {
      alldom=1;
      dhtml=1;
      }
   else {
      browserVersion=parseInt(navigator.appVersion);
      if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {
         laydom=1;
         dhtml=1;
         }
   }
}
// Verifikationsausgabe, welchen Browser ich vor mir habe
// alert ("ID = " + iddom + " all = " + alldom + " lay = " + laydom + " dhtml = " + dhtml);
//
// if (dhtml) {
//           document.write("<br>Das ist ein DHTML-fähiger Browser.<br><br>Er benutzt das ");
//           if (iddom) {document.write("ID-DOM. ");}
//           else {
//           if (alldom) {document.write("All-DOM. ");}
//           if (laydom) {document.write("Layer-DOM. ");}
//   else {document.write("Dieser Browser kann mit DHTM nicht umgehen. ");}
//   }
// }
// Ende

// Die nächsten Funktion geben jeweils Auskunft über Höhe und Breite bzw. über die
// Positions von Objekten.
//
// f1: Höhe eines Objekts festellen. Zu übergebende Parameter: Objekt-ID
//
// f2: Breite eines Objekts feststellen. Zu übergebende Parameter: Objekt-ID
//

function f1(objid) {
   dom=crossdom(0,objid);
   if (dom.offsetHeight) {
      return dom.offsetHeight; }
   if (laydom) {
      return dom.clip.height; }
   else {return (0); }
}

function f2(objid) {
   dom=crossdom(0,objid);
   if (dom.offsetWidth) {
      return dom.offsetWidth; }
   if (laydom) {
      return dom.clip.width; }
   else {return (0); }
}

//
//
// f3: Die top-Positionen feststellen. Zu übergebende Parameter: Objekt-ID
//
// f4: Die left-Positionen feststellen. Zu übergebende Parameter: Objekt-ID
//

function f3(objid) {
   dom=crossdom(0,objid);
   domstil=crossdom(1,objid);
   if (dom.offsetTop) {
      return dom.offsetTop; }
   if (domstil.top) {
      return domstil.top; }
   if (domstil.pixelTop) {
      return domstil.pixelTop; }
   else {return (0); }
}

function f4(objid) {
   dom=crossdom(0,objid);
   domstil=crossdom(1,objid);
   if (dom.offsetLeft) {
      return dom.offsetLeft; }
   if (domstil.left) {
      return domstil.left; }
   if (domstil.pixelLeft) {
      return domstil.pixelLeft; }
   else {return(0); }
}

//
//
// f5: Die unten-Positionen feststellen - aus top plus hoehe. Parameter: Objekt-ID
//
// f6: Die right-Positionen feststellen - aus left plus breite. Parameter: Objekt-ID
//

function f5(objid) {
hoehe=f1(objid);
oben=f3(objid);
return (hoehe + oben);
}

function f6(objid) {
breite=f2(objid);
links=f4(objid);
return (breite + links);
}

//
//
// f7: Für Objekte den Status visible oder hidden setzen
//
// f8: Für Objekte ohne den Status visvibility setzen
//
// f9: Für Objekte den Status hidden setzen
//


function f7(objid,sichtbar) {
dom = crossdom(1,objid);
dom.visibility = sichtbar;
}

function f8(objid) {
dom = crossdom(1,objid);
dom.visibility = 'visible';
}

function f9(objid) {
dom = crossdom(1,objid);
dom.visibility = 'hidden';
}


//
//
// f10: Für Objekte den Sichtbarkeitsstatus auslesen
//

function f10(objid) {
var dom=crossdom(1,objid);
if ((dom.visibility == 'visible') || (dom.visibility == 'show')) {
   return 'visible'; }

if ((dom.visibility == 'hidden') || (dom.visibility == 'hide')) {
   return 'hidden'; }

else { return 'ohne'; }
}


//
//
// f11: Für Objekte den z-Index dynamisch setzen
//
// f12: Für Objekte den z-Index auslesen
//

function f11(objid,stapel) {
dom=crossdom(1,objid);
dom.zIndex=stapel;
}

function f12(objid) {
dom=crossdom(1,objid);
var index=0;
if (dom.zIndex != null) {
   index=dom.zIndex;
   return dom.zIndex;
   }
else {return (null);}
}


//
//
// f13: Farbtiefe festellen
//

function f13(BildName,res1,res2) {
dom=document.images[BildName];
if(screen.colorDepth > 8) {
return (dom.src = res2);}
else { return(dom.src = res1);}
}

//
//
// f14: Höhe der Anzeigefläche im Browser feststellen
//
// f15: Breite der Anzeigefläche im Browser feststellen
//

function f14() {
if(window.innerHeight != null) {
return (window.innerHeight);}
if (document.body.clientHeight != null) {
return (document.body.clientHeight);}
else { return(null);}
}

function f15() {
if (window.innerWidth != null) {
return (window.innerWidth); }
if (document.body.clientWidth != null) {
return (document.body.clientWidth); }
else { return(null); }
}

//
//
// f16: Resize-Bug in Netscape 4 abfangen
//

if (document.layers) {
LadeBreite = innerWidth;
LadeHoehe = innerHeight;
}

function f16() {
if (innerWidth != LadeBreite || innerHeight != LadeHoehe)
location.reload();
}
if (document.layers) onResize = f16;


//
// Ende der Standardfunktionen
//
//
// Beginn der e-Beispielfunktionen
//
//
// e1: ein Objekt um einen bestimmten Wert verschieben
//


function e1(objid,umh,umv) {
// 2 Variable mit und ohne style

var dom = crossdom(0,objid);
var domstil = crossdom(1,objid);

if (domstil.pixelTop) {
   domstil.pixelTop += umv;
   domstil.pixelLeft += umh;
   }
else {
   if (dom.offsetTop) {
      var oben = dom.offsetTop;
      var links = dom.offsetLeft;
      domstil.top = umv + oben;
      domstil.left = umh + links;
      }
   else dom.moveBy(umh,umv);
   }
}

//
// e2: ein Objekt in den Vordergrund holen
//

function e2(objid) {
if (objektvorher != null) {
   f11 (objektvorher,stapelvorher);
   }
stapelvorher = f12(objid);
objektvorher = objid;
f11(objid,1000);
}

//
// e3: Funktion zum Vorausladen von Grafiken
//

function e3() {
if (document.images) {
   var bild = e3.arguments;

for (var i=0; i < e3.arguments.length; i++) {
    grafikenladen[i] = new Image;
    grafikenladen[i].src = bild[i];
    }
}
}

//
// e4: Funktion für RollOver-Effekt
//

function e4() {
if (document.images)
   {document[e4.arguments[0]].src=e4.arguments[1]}
}

function crossdom(stil, objid) {
   // Parameter ohjid steht für den ID-Namen des Objekts auf das zugegriffen werden soll
   // Parameter stil steht für die style-Eigenschaft des jeweils zutreffenden Objekts.
   // D.h. wenn auf die style-Eigenschaft zugegriffen werden soll, bekommt der Parameter
   // den Wert 1, aufgrund dessen dann die style-Eigenschaft in der Funktion angesprochen
   // wird

// alert ("crossdom");

   if (iddom) {
      if (stil == 1) {
         return (document.getElementById(objid).style); }
      else {
         return (document.getElementById(objid)); }
      }
   if (alldom) {
      if (stil == 1) {
         return (document.all[objid].style); }
      else {
         return (document.all[objid]); }
      }
   else {
      if (laydom) {
      return (document.layers[objid]); }
      }
}

//end -->