// <script language="javascript"> <!--
function Area(){
    this.x = 0;
    this.y = 0;
    this.w = 0;
    this.h = 0;
}
function Point(){
    this.x = 0;
    this.y = 0;
}
function GetElementArea(element){
    var retarea;
    retarea = new Area();
    if (element.style != null){
      retarea.x = parseInt(element.style.left);
      retarea.y = parseInt(element.style.top);
    } else if (element.body != null) {
      // document offset is always 0
      retarea.x = 0;
      retarea.y = 0;
    } else {
      retarea.x = 0;
      retarea.y = 0;
    }
    if (element.body != null){
      if (element.body.clientWidth == 0) {
        retarea.w = parseInt(element.body.offsetWidth);
        retarea.h = parseInt(element.body.offsetHeight);
      } else {
        retarea.w = parseInt(element.body.clientWidth);
        retarea.h = parseInt(element.body.clientHeight);
      }
    }
    else if (element.style != null) {
      retarea.w = parseInt(element.style.width);
      retarea.h = parseInt(element.style.height);
    } else if (element.innerWidth != null) {
      retarea.w = parseInt(element.innerWidth);
      retarea.h = parseInt(element.innerHeight);
    }
    return retarea;
}
function SetElementArea(element, newarea) {
    if (element.style != null) {
      element.style.left = newarea.x;
      element.style.top = newarea.y;
    } else if (element.body != null) {
      // do nothing on a document
    } else {
    }
    if (element.body != null) {
      if (element.body.clientWidth == 0) {
        element.body.offsetWidth = newarea.w;
        element.body.offsetHeight = newarea.h;
      } else {
        element.body.clientWidth = newarea.w;
        element.body.clientHeight = newarea.h;
      }
    } else if (element.style != null) {
      element.style.width = newarea.w;
      element.style.height = newarea.h;
    } else if (element.innerWidth != null) {
      element.innerWidth = newarea.w;
      element.innerHeight = newarea.h;
    }
}
function PGetElementByName(name) {
    var layer;
    if (document.all != null) {
    	layer = document.all[name]
    } else {
    	layer = document.getElementById(name)
    }
    return layer;
}
function GetAbsolutePos(element) {
    var p;
    p = new Point();
    p.x = 0;
    p.y = 0;
    while (element != null) {
      p.x += element.offsetLeft;
      p.y += element.offsetTop;
      element = element.offsetParent;
    }
    return p
}


function CreateDynLayer(parent, name, x, y, w, h, zindex) {
    var elm = null;
    // does the name already exist?: use this one; else use the existing
    elm = GetLayerByName(name);
    if (elm == null) elm = parent.createElement("DIV");
    elm.id = name;
    elm.style.position = "absolute";
    elm.style.left = x + "px";
    elm.style.top =  y + "px";
    elm.style.width = w + "px";
    elm.style.height = h + "px";
    elm.style.visibility = "hidden";
    elm.style.background = "transparent";
    elm.style.border = "0px solid #FFFFFF";
    elm.style.zIndex = zindex;

    // by default the layer catches mouse and keyboard events
    elm.onmouseover = defhandler;
    elm.onmousemove = defhandler;
    elm.onmouseout = defhandler;

    parent.body.appendChild(elm);

    return elm;
}

function defhandler()
  {
    return false;
  }

function RemoveDynLayer(layer) {
    // for now... (removeChild does not work)
    layer.style.visibility = "hidden";
}
// --> </script>
