function dhtml_support() {
  return (document.layers || 
          document.all || 
          document.getElementById)
}
function dhtml_obj(id) {
  if (document.layers)
    return document.layers[id];
  else if (document.all)
    return document.all[id];
  else if (document.getElementById)
    return document.getElementById(id);
}
function dhtml_style(id) {
  if (document.layers)
    return dhtml_obj(id);
  else if (document.layers || document.getElementById)
    return dhtml_obj(id).style;
}
function dhtml_hide(id) {
  if (dhtml_support())
    dhtml_style(id).visibility = "hidden";
}
function dhtml_show(id) {
  if (dhtml_support())
    dhtml_style(id).visibility = "visible";
}
function dhtml_getX(id) {
  if (dhtml_support())
    if (document.layers || document.getElementById)
      return dhtml_style(id).left;
    else
      return dhtml_style(id).posLeft;
}
function dhtml_getY(id) {
  if (dhtml_support())
    if (document.layers || document.getElementById)
      return dhtml_style(id).top;
    else
      return dhtml_style(id).posTop;
}
function dhtml_setX(id, n) {
  if (dhtml_support())
    if (document.layers)
      dhtml_style(id).left = n;
    else if (document.getElementById)
      dhtml_style(id).left = n + "px";
    else
      dhtml_style(id).posLeft = n + "px";
}
function dhtml_setY(id, n) {
  if (dhtml_support())
    if (document.layers)
      dhtml_style(id).top = n;
    else if (document.getElementById)
      dhtml_style(id).top = n + "px";
    else
      dhtml_style(id).posTop = n + "px";
}
function dhtml_moveTo(id, x, y) {
  if (dhtml_support()) {
    dhtml_setX(id, x);
    dhtml_setY(id, y);
  }
}
function dhtml_moveBy(id, deltaX, deltaY) {
  if (dhtml_support()) {
    var x = parseInt(dhtml_getX(id));
    var y = parseInt(dhtml_getY(id));
    x += deltaX;
    y += deltaY;
    dhtml_setX(id, x);
    dhtml_setY(id, y);
  }
}
function dhtml_text(id, text) {
  if (dhtml_support())
    if (document.layers)
      with (document.layers[id].document) {
        open();
        write(text);
        close();
      }
    else
      dhtml_obj(id).innerHTML = text;
}
function dhtml_width() {
  if (window.innerWidth)
    return window.innerWidth;
  else if (document.body)
    return document.body.clientWidth;
}
function dhtml_height() {
  if (window.innerHeight)
    return window.innerHeight;
  else if (document.body)
    return document.body.clientHeight;
}
function dhtml_style_width(id) {
  if (document.layers)
    return dhtml_obj(id).document.width;
  else if (document.all || document.getElementById)
    return dhtml_obj(id).offsetWidth;
}
function dhtml_style_height(id) {
  if (document.layers)
    return dhtml_obj(id).document.height;
  else if (document.all || document.getElementById)
    return dhtml_obj(id).offsetHeight;
}