function __el (id) {
  return document.getElementById (id);
}

function __el_of (el,tag) {
  return el.getElementsByTagName (tag);
}

function _getX (el) {
  if (el.style && parseInt (el.style.left) && el.style.position == 'absolute') return parseInt (el.style.left);
  var x = 0;
  while (el) {
    x += el.offsetLeft - el.scrollLeft;
    el = el.offsetParent;
  }
  return x;
}

function _getY (el) { 
  if (el.style && parseInt (el.style.top) && el.style.position == 'absolute') return parseInt (el.style.top);
  var y = 0;
  var sel = el;
  while (el) {
    y += el.offsetTop - el.scrollTop;
    el = el.offsetParent;
  }
  var scry = 0;
  while (sel) {
    if (sel.scrollTop) scry += sel.scrollTop;
    sel = sel.parentNode;
  }
  
  return y - scry;
}

function _width (obj) {
  if (obj.style && parseInt (obj.style.width)) return parseInt (obj.style.width);
  return obj.offsetWidth;
}

function _height (obj) {
  if (obj.style && parseInt (obj.style.height)) return parseInt (obj.style.height);
  return obj.offsetHeight;
}

function debug (el) {
  var str = '';
  for (k in el) {
    str += k + ' = ' + el[k] + '<br/>';
  }
  __el ('debug_div').innerHTML = str;
}

