<script language="JavaScript">
<!--
function getLeft(obj,Left,n)
{
n++;
if(typeof(obj) != "object") return 0;
if(typeof(obj.tagName) != "string") return 0;
if(isNaN(Left)) Left = 0;
Left = Left * 1;
if(obj.parentElement.tagName == "BODY")
{
return Left + obj.clientLeft + obj.offsetLeft;
}
else
{
var obj2 = obj.parentElement;
var Left2 = 0;
Left2 = Left + obj.clientLeft + obj.offsetLeft;
if(n < 100) return getLeft(obj2,Left2,n);
}
}function getTop(obj,Top,n)
{
n++;
if(typeof(obj) != "object") return 0;
if(typeof(obj.tagName) != "string") return 0;
if(isNaN(Top)) Top = 0;
Top = Top * 1;
if(obj.parentElement.tagName == "BODY")
{
return Top + obj.clientTop + obj.offsetTop;
}
else
{
var obj2 = obj.parentElement;
var Top2 = 0;
if(obj2.tagName != "TR")Top2 = Top + obj.clientTop + obj.offsetTop;
if(n < 100) return getTop(obj2,Top2,n);
}
}
//-->
</script>
<div id="a" style="position:absolute;width:300px;height:300px;border:1 solid blue;background-color:yellow;cursor:default;" onmousemove="this.innerText='X:' + (event.x-getLeft(this)) + '\nY:' + (event.y-getTop(this))"></div>