var DOM = (document.getElementById)?true:false;
var NN = (document.layers)?true:false;
var IE = (document.all)?true:false;
var NN6 = DOM;
var Opera = DOM && window.opera;

function hideObject(el)
{
  el.style.display = "none"
  if (NN) el.visibility = "hide"
  else el.style.visibility = "hidden"
}

function showObject(el)
{
  el.style.display = "block"
  if (NN) el.visibility = "show"
  else el.style.visibility = "visible"
}

function newImage(arg) 
{
  if (document.images) 
  {
     rslt = new Image();
     rslt.src = arg;
     return rslt;
  }
}

function getElement(objname)
{
  if (IE) return document.all[objname];  
  if (NN) return getNNElement(null, objname);
  if (DOM) return document.getElementById(objname);
}  

function getParent(el)
{
  if (NN) return getNNParent(el);
  else return el.offsetParent;
}  

function getRelTop(el) 
{
  if (NN) 
  {    
    if (el.pageY) var t = el.pageY;
    else 
    {
      var t = el.y;
      prnt = getParent(el);
      if (prnt != null) t += prnt.pageY;    
    }
  }
  else
  {    
    var t = el.offsetTop;
    while (el.offsetParent != null) 
    {
      t += el.offsetParent.offsetTop;
      if (el.offsetParent.tagName == 'BODY') break;
      el = el.offsetParent;
    }     
  }  
  return t;
}

function getRelLeft(el) 
{
  if (NN) 
  {
    if (el.pageX) var t = el.pageX;
    else 
    {
      var t = el.x;
      prnt = getParent(el);
      if (prnt != null) t += prnt.pageX;    
    }
  }
  else
  {
    var t = el.offsetLeft;
    while (el.offsetParent != null) 
    {
      t += el.offsetParent.offsetLeft;
      if (el.offsetParent.tagName == 'BODY') break;
      el = el.offsetParent;
    }
  }
  return t;
}

function getWidth(el) 
{
  if (NN) var t = (el.width)?el.width:el.clip.width;
  else var t = (el.offsetWidth)?el.offsetWidth:el.style.pixelWidth;
  return t;
}

function getNNElement(obj, objname)
{  
  if (obj != null)
  {
    if (obj.name == objname) return obj;
    var l = obj.document.layers;
    var m = obj.document.images;
  }
  else 
  {
    var l = document.layers;
    var m = document.images;
  }
  for(var i = 0; i < l.length; i++)
  {
    el = getNNElement(l[i],objname);
    if (el != false) return el;
  }
  for(var i = 0; i < m.length; i++) if (m[i].name == objname) return m[i];
  return false;
}

function getNNParent(el)
{
  if (el.parentLayer) return el.parentLayer;
  else return getNNImageParent(null, el)
}

function getNNImageParent(parent, img)
{
  if (parent != null)
  {
    var l = parent.document.layers;
    var m = parent.document.images;
  }
  else 
  {
    var l = document.layers;
    var m = document.images;
  }
  for(var i = 0; i < l.length; i++)
  {
    el = getNNImageParent(l[i], img);
    if (el != false) return el;
  }
  for(var i = 0; i < m.length; i++) if (m[i] == img) return parent;
  return false;
}