Position.Page doesn't work correctly in Netscape up to version 7. The return values for are too low, when the page is scrolled. The Position.Page function has at the end this:
element = forElement;
do {
if (!window.opera || element.tagName=='BODY') {
valueT -= element.scrollTop || 0;
valueL -= element.scrollLeft || 0;
}
} while (element = element.parentNode);
If you remove that part it works. I've tested it with: IE6, IE7, Firefox 1.5, Firefox 2, Opera 9, Netscape 7.1, Netscape 8.1, Konqueror
I don't know why this part of code is there, but even if it is usefull for some exotic browsers. It should have been written like this:
if (!window.opera || element.tagName=='BODY') {
element = forElement;
do {
valueT -= element.scrollTop || 0;
valueL -= element.scrollLeft || 0;
} while (element = element.parentNode);
}