To get the X position:
function GetXPosition(elem)
{
var currentLeft = 0;
if(elem.offsetParent)
while(1==1)
{
currentLeft = currentLeft + elem.offsetLeft;
if(!elem.offsetParent)
{
break;
}
elem = elem.offsetParent;
}
else if(elem.x)
{
currentLeft = currentLeft + elem.x;
}
return currentLeft;
}
To get the Y position
function GetYPosition(elem)
{
var currentTop = 0;
if(elem.offsetParent)
while(1==1)
{
currentTop = currentTop + elem.offsetTop;
if(!elem.offsetParent)
{
break;
}
elem = elem.offsetParent;
}
else if(elem.y)
{
currentTop = currentTop + elem.y;
}
return currentTop;
}
To get the viewport dimensions, use window.innerWidth and window.innerHeight. But if it's IE6, then you'll need to use document.documentElement.clientWidth.