Christian: Javascript-Problem im Firefox

Hallo!
Ich nutze folgendes Script:

window.onload = function() {
   var o = document.getElementById('tabelle'); var x, y;

if (self.innerHeight) { y = self.innerHeight; x = self.innerWidth; }
   else if (document.documentElement && document.documentElement.clientHeight) { y = document.documentElement.clientHeight; x = document.documentElement.clientWidth; }
   else if (document.body) { y = document.body.clientHeight; x = document.body.clientWidth; }

o.style.marginTop = (y < o.offsetHeight) ? 0 : Math.round(o.offsetHeight/2)*-1+'px';
   o.style.top = (y < o.offsetHeight) ? 0 : '50%';
   o.style.marginLeft = (x < o.offsetWidth) ? 0 : Math.round(o.offsetWidth/2)*-1+'px';
   o.style.left = (x < o.offsetWidth) ? 0 : '50%';

Im IE & Safari ist alles bestens, aber der Firefox macht mir Probleme und zwar insofern, dass durch die Funktion anscheinend irgendwin Bereich größer dargestellt wird, sprich es werden Scrollbalken gezeigt, obwohl eigentlich keine nötig wären. Kommt Firefox vielleicht mit einem Teil der Funktion nicht klar??