so gehört es ausgebessert:
function getPos (o)
{
var r = { top:0, left:0 };
if(!o) return r;
else if(typeof o == 'string' ) o = document.getElementById(o);
if( typeof o != 'object' ) return r;
if(typeof o.offsetTop != 'undefined')
{
r.left = r.top = 0;
while (o && o.tagName != 'BODY')
{
// sonst werden die Offsets doppelt gezählt...
if(o.currentStyle.position!='relative')
{
r.top += parseInt( o.offsetTop );
r.left += parseInt( o.offsetLeft );
}
o = o.offsetParent;
}
}
return r;
}