
<!--
//-----------------------------------------------------
// created by webmaster@olafbecker.de
//
// lib for netscape 4.x
//         nescape  6.x
//         MS IE    4.x
//         MS IE    5.x
//         opera    5.x (some funktions may not work)
//
//----------------------------------------------------

var navAg  = navigator.userAgent;
var pos;
var isNS4  = false;
var isNS6  = false;
var isDOM  = false;
var isIE4  = false;
var isOPI  = false;
var isDyn  = checkBrowser();
var brw    = browsercheck();

// --- Browser ueberpruefen -----------------------------------------
function checkBrowser()
{
  isDOM = (document.getElementById) ? true : false;
  isIE  = (document.all) ? true: false;
  isNS4 = (navigator.appName=='Netscape' && !isDOM) ? true : false;
  isNS6 = (!isIE && isDOM && navigator.appName=='Netscape') ? true : false;
  isOPI = ((pos=navAg.indexOf("Opera"))!=-1) ? true : false;
  isIE4 = (isIE && !isDOM) ? true : false;
  return (isDOM || isIE4 || isNS4 || isOPI);
}

// --- Browser ueberpruefen (alt) -----------------------------------------
function browsercheck()
{
  var br;
  var ua=navigator.userAgent;
  if ((pos=ua.indexOf("Opera"))!=-1)
    if (document.all=="[object ElementArray]") br="op_ie";
    else br="op_else";
  else
    if (ua.indexOf("MSIE")!=-1) br="ie";
    else
      if (document.layers) br="nc";
      else brw="no";
  return br;
};

// --- Referez auf Objekt holen -----------------------------------------
function objRef(o)
{
  return (isDOM) ? document.getElementById(o) : ((isIE) ? document.all[o] : document.layers[o]);
}

// --- Style des Objektes holen -----------------------------------------
function objStyle(o)
{
  return (isNS4) ? objRef(o) : objRef(o).style;
}

// --- Objekt neu schreiben --------------------------------------------
function objWrite(o,txt)
{
  var obj = (isDOM) ? objRef(o) : objRef(o).document;
  if(isNS4)
  {
    obj.open();
    obj.write(txt);
    obj.close();
  }
  else
    obj.innerHTML = txt;
}

// --- Objekt neu schreiben --------------------------------------------
//Alt, sollt nicht mehr verwendet werden
function objRewrite(o,txt)
{ switch (brw){
  case "ie":
    document.all[o].innerHTML = txt;
    break;
  case "nc":
    document.layers[o].document.open();
    document.layers[o].document.write(txt);
    document.layers[o].document.close();
    break;
  case "op_ie":
    document.getElementsByName(o);
    break;
  case "op_else":
  case "no":
    //dosn't work
  }
}

// --- fenster hoehe --------------------------------------------
function getWinHeight()
{ // !!! opera, NS6 muss wie NS4 behandelt werden !!!!!
  var was = isDOM && !isOPI && !isNS6;
  return (was) ? document.body.clientHeight : window.innerHeight;
}

/* function getWinHeight()
{ switch (brw){
  case "ie":
    return document.body.clientHeight;
    break;
  case "nc":
  case "op_ie":
    return window.innerHeight;
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
};  */

// --- fenster breite --------------------------------------------
function getWinWidth()
{ // !!! opera, NS6 muss wie NS4 behandelt werden !!!!!
  var was = isDOM && !isOPI && !isNS6;
  return (was) ? document.body.clientWidth : window.innerWidth;
}

/*function getWinWidth()
{ switch (brw){
  case "ie":
    return document.body.clientWidth;
    break;
  case "nc":
  case "op_ie":
    return window.innerWidth;
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
};  */

// --- win X pos --------------------------------------------
function getWinScrollX()
{ // !!! opera, NS6 muss wie NS4 behandelt werden !!!!!
  var was = isDOM && !isOPI && !isNS6;
  return (was) ? document.body.scrollLeft : window.pageXOffset;
}

/* function getWinScrollX()
{ switch (brw){
  case "ie":
    return document.body.scrollLeft;
    break;
  case "nc":
  case "op_ie":
    return window.pageXOffset;
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
};  */


// --- win Y pos --------------------------------------------
function getWinScrollY()
{ // !!! opera, NS6 muss wie NS4 behandelt werden !!!!!
  var was = isDOM && !isOPI && !isNS6;
  return (was) ? document.body.scrollTop : window.pageYOffset;
}

/*function getWinScrollY()
{ switch (brw){
  case "ie":
    return document.body.scrollTop;
    break;
  case "nc":
  case "op_ie":
    return window.pageYOffset;
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
}; */

// --- objekt breite --------------------------------------------
function getObjWidth(o)
{ // clientWidth
  return parseInt(isDOM ? objRef(o).offsetWidth : objRef(o).clip.width);
}

// --- objekt hoehe --------------------------------------------
function getObjHeight(o)
{ // clientHeight
  return parseInt(isDOM ? objRef(o).offsetHeight : objRef(o).clip.height);
}

// --- get x pos --------------------------------------------
function getObjX(o)
{ //alert("objekt XGet = "+o);
  return parseInt(objStyle(o).left);
}

// --- set x pos --------------------------------------------
function setObjX(o,wert)
{
  objStyle(o).left = wert;
}

// --- get y pos --------------------------------------------
function getObjY(o)
{
  return parseInt(objStyle(o).top);
}

// --- set y pos --------------------------------------------
function setObjY(o,wert)
{
  objStyle(o).top = wert;
}

// --- set z index --------------------------------------------
function setObjZ(o,wert)
{
  objStyle(o).zIndex = wert;
}

// --- zeige Element --------------------------------------------
function objShow(o)
{
  objStyle(o).visibility = (isNS4) ? "show" : "visible";
}

/*function objShow(snr)
{ //funktioniert unter nc nur mit position:relative bzw. absolute
  switch (brw){
  case "ie":
  case "op_ie":
    document.all[snr].style.visibility="visible";
    break;
  case "nc":
    document.layers[snr].visibility="show";
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
}; */

// --- verstecke Element --------------------------------------------
function objHide(o)
{
  objStyle(o).visibility = (isNS4) ? "hide" : "hidden";
}

/*function objHide(hnr)
{ //funktioniert unter nc nur mit position:relative bzw. absolute
  switch (brw){
  case "ie":
  case "op_ie":
    document.all[hnr].style.visibility="hidden";
    break;
  case "nc":
    document.layers[hnr].visibility="hidden";
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
}; */

// --- ist Element sichtbar ? --------------------------------------------
function getObjVisibility(o)
{
  if(objStyle(o).visibility == (isNS4) ? "show" : "visible") return(true);
  return(false);
}

// --- Bild tauschen -----------------------------------------------------
function setImg(oldName,newName)
{
  document[oldName].src = eval(newName+".src");
};

// --- Bild tauschen -----------------------------------------------------
//Alt, sollte nicht mehr verwendet werden
function Imgchg(imgname,neuname)
{
  setImg(imgname,neuname);
};

// --- Bild in Layers tauschen --------------------------------------------
function layerImgchg(imglayer,imgname,neuname)
{
  switch (brw)
  {
  case "ie":
  case "op_ie":
    eval("document."+imgname+".src="+neuname+".src;");
    break;
  case "nc":
    eval("document."+imglayer+".document."+imgname+".src="+neuname+".src");
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
};

// --- Warten ----------------------------------------------------
function wait(time)
{
 //if(isIE) return;
  var a = new Date();
  do
  {
    var b = new Date();
  }
  while (a.getTime()+time >= b.getTime());
}

// --- lade inhalt neu ----------------------------------------------------
function reload()
{
  window.location.reload()
}

// --- Erzeugt Array der positionierbaren Elemente mit uebergebenen Elementen -----
function erzeugeArray()
{
  var objList = new Array();
  var i;
  if(isNS4)
  {// nur f&uuml;r NS4 erforderlich
    for (i = 0; i < erzeugeArray.arguments.length; i++)
    {
      objList[i] = objStyle(erzeugeArray.arguments[i]);
    }
  }
  return objList;
}

// --- bewege objekt --------------------------------------------
function objMove(o,xwert,ywert)
{
  objStyle(o).top = ywert;
  objStyle(o).left = xwert;
}

/*function objMove(mnr,xwert,ywert)
{ switch (brw){
  case "ie":
  case "op_ie":
    document.all[mnr].style.top=ywert;
    document.all[mnr].style.left=xwert;
    break;
  case "nc":
    document.layers[mnr].top=ywert;;
    document.layers[mnr].left=xwert;;
    break;
  case "op_else":
  case "no":
    //dosn't work
  };
}; */


// --- bewege ein objekt nach -----------------------------------------------
function objMoveFormTo(o,endx,endy,speed,aktionAtTheEnd)
{
  var startx = getObjX(o);
  var starty = getObjY(o);
  var c = Math.sqrt( Math.pow(endx-startx,2) + Math.pow(endy-starty,2));
  var cir = 10;
  var s = cir/c;

  //n&auml;chste Position Berechnen
  var newx =startx + ((endx-startx)*s);
  var newy =starty + ((endy-starty)*s);

  //Schritt zu gro&szlig;?
  if( Math.abs(endx-startx) <= Math.abs(newx-startx) )
    newx  = endx;
  if( Math.abs(endy-starty) <= Math.abs(newy-starty) )
    newy  = endy;

  //Objekt setzen
  objMove(o,newx,newy);

  //Fertig oder nochmal?
  if ((newx==endx) &&
      (newy==endy))
  { if (aktionAtTheEnd!="") window.setTimeout(aktionAtTheEnd,speed);
  }
  else
  { var funk = "objMoveFormTo(\""+o+"\","+endx+","+endy+","+speed+",\""+aktionAtTheEnd+"\")";
    window.setTimeout(funk,speed);
  }
}

// -->
