function PW_moveLayerAbsolute( l_id, relimg_id, wid, dx, dy ) {
    var d = document;
    var l = MM_findObj(l_id, d);
    if( ! l ) 
        return;

    l.zIndex = 2;
    l.style.position="absolute";

    var oimg = MM_findObj(relimg_id, d);
    if( oimg ) { // Layerposition festlegen
      dx = Math.round( + oimg.width/2 - wid / 2 + dx );
      dy = Math.round( + oimg.height + dy );
      l.style.left = oimg.x + dx;
      l.style.top  = oimg.y + dy;
    }

    l.style.display="block"; // jetzt den Layer anzeigen!
}

function PW_moveLayerRelative( l_id, relimg_id, wid, dx, dy ) {
    var d = document;
    var l = MM_findObj(l_id, d);
    if( ! l ) 
        return;

    l.zIndex = 2;
    l.style.position="absolute";

    var oimg = MM_findObj(relimg_id, d);
    if( oimg ) { // Layerposition festlegen
      dx = Math.round( + oimg.width/2 - wid / 2 + dx );
      dy = Math.round( + oimg.height + dy );
      l.style.left = oimg.x + dx;
      l.style.top  = oimg.y + dy;
    }

    l.style.display="block"; // jetzt den Layer anzeigen!
}

function PW_displayLayer() {
  var a = PW_displayLayer.arguments;
  for( var i=0; i<a.length; i++ ) {
    var l = MM_findObj(a[i], document);
    if( l ) {
      l.style.display = "block";
    }
  }
}

function PW_hideLayer() {
  var a = PW_hideLayer.arguments;
  for( var i=0; i<a.length; i++ ) {
    var l = MM_findObj(a[i], document);
    if( l ) {
      l.style.display = "none";
    }
  }
}

//
// Objekt finden
//

function MM_findObj(n, d) { //v4.0
  var p,i,x;  
  if(!d) d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; 
    n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) 
    x=d.all[n]; 
  for (i=0;!x&&i<d.forms.length;i++) 
    x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
    x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) 
    x=document.getElementById(n);
  return x;
}

//
// Swap Funktionen
//

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ 
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
    for(i=0; i<a.length; i++)
      if (a[i].indexOf("#")!=0){ 
	d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
      }
  }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; 
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
    x.src=x.oSrc;
}

function MM_swapImgRestore2() { //v3.0
  var i,x,a=document.MM_sr2; 
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
    x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3) {
    if ((x=MM_findObj(a[i]))!=null) {
      document.MM_sr[j++]=x; 
      if(!x.oSrc) 
	x.oSrc=x.src; 
      x.src=a[i+2];
    }
  }
}

function MM_swapImage2() { //v3.0
  var i,j=0,x,a=MM_swapImage2.arguments; 
  document.MM_sr2=new Array; 
  for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){
     document.MM_sr2[j++]=x; 
     if(!x.oSrc) 
       x.oSrc=x.src; 
     x.src=a[i+2];
   }
}

//
// Content Layer Resize Option (HEIGHT)
//

//
// Browsergrößenbestimmung
// nach Oli Bär
// http://www.vampirehost.de/gruft/coding/
// cybaer@vampirehost.de
//
function PW_getBrowserWidth() {
  if(top.window.innerWidth) {
    winW = top.window.innerWidth;
  } else if(top.document.body && top.document.body.clientWidth) {
    winW = top.document.body.clientWidth;
  }

  return winW;
}

function PW_getBrowserHeight() {
    if(top.window.innerHeight) {
      winH = top.window.innerHeight;
    } else if(top.document.body && top.document.body.clientHeight) {
      winH = top.document.body.clientHeight;
    }

  return winH;
}


//
// Positionsbestimmung eines Layers im IE
//
function PW_lyAbsLeft(el) {
   return (el.offsetParent)?el.offsetLeft+PW_lyAbsLeft(el.offsetParent) : el.offsetLeft;
}

function PW_lyAbsTop(el) {
  return (el.offsetParent)?el.offsetTop+PW_lyAbsTop(el.offsetParent) : el.offsetTop;
}

//
// Objekt ly_id auf die Maximalhöhe der Seite vergrößern
// und abzüglich dx
//
// die window Größen Ermittlung basiert auf einem Skript von
// Ollie-Bär
// http://www.vampirehost.de/gruft/coding/
// cybaer@vampirehost.de
//
function PW_resizeContent( ly_id, dy) {
    var d = document;

    var ly = MM_findObj(ly_id, d);
    if( ! ly ) 
        return;

    winH = PW_getBrowserHeight();

    if (document.all) { // IE4, IE5.X
      // -20, da ich nicht weiss, wie man den unteren Margin ausliest beim IE!!
      var y = winH - PW_lyAbsTop(ly) - 20 + dy;
    } else if (document.layers) { // NN4.X
      var y = winH - 200 - 20 + dy;
    } else if (document.getElementById) { // NN6, Mozilla
      margin = parseInt(document.defaultView.getComputedStyle(ly,null).getPropertyValue("margin-bottom"));
      var y = winH - PW_lyAbsTop(ly) - margin + dy - 20;
    }

    if( y ) {
      ly.style.height = y;
    }
}
