//common ui javascript functions 
function getParentObj(aobj_O){ 
  if (!(aobj_O=xGetElementById(aobj_O))) return null;
  var lobj_Parent = null;
  if (aobj_O.parentLayer){if (aobj_O.parentLayer!=window) lobj_Parent=aobj_O.parentLayer;}
  else{
    if (aobj_O.offsetParent) lobj_Parent = aobj_O.offsetParent;
    else if (aobj_O.parentNode) lobj_Parent = aobj_O.parentNode;
    else if (aobj_O.parentElement) lobj_Parent = aobj_O.parentElement;
  }
  return lobj_Parent;
} 
  
function xGetElementById(aobj_O) {
  if(typeof(aobj_O)!="string") return aobj_O;
  if(document.getElementById) aobj_O = document.getElementById(aobj_O);
  else if(document.all) aobj_O = document.all[aobj_O]; 
  else 
    {
      aobj_O=null;
    }
  return aobj_O;
}

function getPageX(aobj_O) { 
  if (hasDefined(aobj_O.pageX)) return aobj_O.pageX;
  var x = 0;
  var lobj_Parent = aobj_O;
  while (lobj_Parent) {
    if (hasDefined(lobj_Parent.offsetLeft)) x += lobj_Parent.offsetLeft; 
    lobj_Parent = getParentObj(lobj_Parent);
  }
  return x;
}
  
function getPageY(aobj_O) {
  if (!(aobj_O=xGetElementById(aobj_O))) return 0;
  if (hasDefined(aobj_O.pageY)) return aobj_O.pageY;
  var y = 0;
  while (aobj_O) {
    if (hasDefined(aobj_O.offsetTop)) y += aobj_O.offsetTop;
    aobj_O = getParentObj(aobj_O);
  }
  return y;
}

function hasDefined() {
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=="" || typeof(arguments[i])=="undefined") return false;}
  return true;
} 