window.node = {};
window.node.coords  = function(ev)
{
 if (!ev) ev = window.event;

 var x = window.Event?parseFloat(ev.pageX):parseFloat(window.event.clientX)+parseFloat(document.body.scrollLeft)-parseFloat(document.body.clientLeft);
 var y = window.Event?parseFloat(ev.pageY):parseFloat(window.event.clientY)+parseFloat(document.body.scrollTop)-parseFloat(document.body.clientTop);

 /* Firefox 2.0 mousescroll error fix */
 if (ev.delta && window.instance.browserDetect.appname == 'Firefox' && window.instance.browserDetect.version == '2')
 {
  var target = ev.target ? ev.target : ev.srcElement;
  var pos = window.std.node.pos(target);
  x = pos.x + x/15;
  y = pos.y + y/15;
 }

 return {x: x, y: y}
};

window.node.pos = window.__pos__ = function(node)
{
 var curleft = curtop = 0;

 if (node && node.offsetParent)
 {
  curleft = node.offsetLeft;
  curtop = node.offsetTop;
  while (node = node.offsetParent)
  {
   curleft += node.offsetLeft;
   curtop += node.offsetTop;
  }
 }

 return {x: parseInt(curleft), y: parseInt(curtop)};
};

