/* DHTML-Bibliothek */
/* Danke an Selfhtml (http://selfaktuell.teamone.de/)*/
/* Danke an © 2004 Struppi URL: http://home.nexgo.de/struebig/computer/javascript*/

var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;
M_POS = new Object();

function DHTML_init() {

 if (window.opera) {
     OP = 1;
 }
 if(document.getElementById) {
   DHTML = 1;
   DOM = 1;
 }
 if(document.all && !OP) {
   DHTML = 1;
   MS = 1;
 }
if(document.layers && !OP) {
   DHTML = 1;
   NS = 1;
 }
}

function getElem(p1,p2,p3) {
 var Elem;
 if(DOM) {
   if(p1.toLowerCase()=="id") {

     if (typeof document.getElementById(p2) == "object")
     Elem = document.getElementById(p2);
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document.getElementsByName(p2) == "object")
     Elem = document.getElementsByName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.getElementsByTagName(p2) == "object" || (OP && typeof document.getElementsByTagName(p2) == "function"))
     Elem = document.getElementsByTagName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(MS) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.all[p2] == "object")
     Elem = document.all[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.all.tags(p2) == "object")
     Elem = document.all.tags(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(NS) {
   if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
   if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="index") {
    if (typeof document.layers[p2] == "object")
     Elem = document.layers[p2];
    else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
}

function getCont(p1,p2,p3) {
   var Cont;
   if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild) {
     if(getElem(p1,p2,p3).firstChild.nodeType == 3)
       Cont = getElem(p1,p2,p3).firstChild.nodeValue;
     else
       Cont = "";
     return(Cont);
   }
   else if(MS && getElem(p1,p2,p3)) {
     Cont = getElem(p1,p2,p3).innerText;
     return(Cont);
   }
   else return void(0);
}

function getAttr(p1,p2,p3,p4) {
   var Attr;
   if((DOM || MS) && getElem(p1,p2,p3)) {
     Attr = getElem(p1,p2,p3).getAttribute(p4);
     return(Attr);
   }
   else if (NS && getElem(p1,p2)) {
       if (typeof getElem(p1,p2)[p3] == "object")
        Attr=getElem(p1,p2)[p3][p4]
       else
        Attr=getElem(p1,p2)[p4]
         return Attr;
       }
   else return void(0);
}

function setCont(p1,p2,p3,p4) {
   if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild)
     getElem(p1,p2,p3).firstChild.nodeValue = p4;
   else if(MS && getElem(p1,p2,p3))
     getElem(p1,p2,p3).innerText = p4;
   else if(NS && getElem(p1,p2,p3)) {
     getElem(p1,p2,p3).document.open();
     getElem(p1,p2,p3).document.write(p4);
     getElem(p1,p2,p3).document.close();
   }
}



function setElemPos (p1,p2,p3,xwert,ywert){
   //alert( getElem(p1,p2,p3));
   if(DOM)
   {
       getElem(p1,p2,p3).style.top = ywert+"px";
       getElem(p1,p2,p3).style.left = xwert+"px";
   }
   else if(NS) {
        getElem(p1,p2,p3).top = window.pageYOffset + ywert;
        getElem(p1,p2,p3).left = xwert;
   }
}

function moveElem (p1,p2,p3,dx,dy){
   //alert( getElem(p1,p2,p3))
   if(DOM) {
      var y =parseInt(getElem(p1,p2,p3).style.top);
      var x =parseInt(getElem(p1,p2,p3).style.left);
// alert(x + "   " + dx);
//      setElemPos(p1,p2,p3,x,y);
      getElem(p1,p2,p3).style.left = x + dy + "px";
      getElem(p1,p2,p3).style.top = y + dx + "px";
   }
   else if(NS) {
   //untested
        getElem(p1,p2,p3).top += dy;
        getElem(p1,p2,p3).left += dx;
   }
}

function changeElemSize (p1,p2,p3,dx,dy)
{
   if(DOM) {
      var x =parseInt(getElem(p1,p2,p3).style.width);
      var y = parseInt(getElem(p1,p2,p3).style.height);
      getElem(p1,p2,p3).style.width = x + dx + "px";
      getElem(p1,p2,p3).style.height = y + dy + "px";
   }
   else if(NS)
   {}
}

function setElemVis (p1,p2,p3,sehen){
   if(DOM || MS)
     {if (sehen.toLowerCase()=="visible") getElem(p1,p2,p3).style.visibility="visible";
      if (sehen.toLowerCase()=="hidden")  getElem(p1,p2,p3).style.visibility="hidden";}
   if(NS)
     {if (sehen.toLowerCase()=="visible") getElem(p1,p2,p3).visibility ="show";
      if (sehen.toLowerCase()=="hidden") getElem(p1,p2,p3).visibility="hide";}
}

function setElemIndex (p1,p2,p3,z) {
   if(DOM || MS)
      getElem(p1,p2,p3).style.zIndex=z;
   if(NS)
      getElem(p1,p2,p3).zIndex=z;
}

document.onmousemove = function(e)
{
M_POS = mouse_pos(e);
}
function mouse_pos(evt)
{
    //alert(evt.clientX);
    if(!evt) evt = window.event;
    var pos = new Object();

    pos.left = evt.clientX;
    pos.top = evt.clientY;

    var b = getBody(window)
    if (b) {
        pos.scrollLeft= pos.left + b.scrollLeft;
        pos.scrollTop = pos.top + b.scrollTop;
    }
    else if(document.layers)
    {
        // Netscape 4.
        pos.scrollLeft = evt.pageX;
        pos.scrollTop = evt.pageY;
        pos.left = evt.pageX - window.pageXOffset;
        pos.top = evt.pageY - window.pageYOffset;

    }
    return pos;
}

////////////////////////////////////////////////////////////
// Der IE hat 2 verschiedene Objekte f&uuml;r den strict und quirks Mode.
function getBody(w)
{
    return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ? w.document.documentElement : w.document.body || null;
}

DHTML_init();