1 — не видя полностью документа, сказать не могу со 100% уверенностью, но в html strict таблица не имеет высоты.
Если тебе нужно реальную высоту таблицы, то пользуйся document.geElementById('maintable').offsetHeight
плюс, пользуйся DOM методами для нахождения элемента — document.getElementById
2 — опять же, пользуйся стандартными методами DOM
window.addHandler('load', function () {…})
или даже этой функцией — как наиболее кроссбраузерной
Code:
function addHandler(object, event, handler)
{
if (typeof object.addEventListener != 'undefined')
object.addEventListener(event, handler, false);
else if (typeof object.attachEvent != 'undefined')
object.attachEvent('on' + event, handler);
else
{
var handlersProp = '_handlerStack_' + event;
var eventProp = 'on' + event;
if (typeof object[handlersProp] == 'undefined')
{
object[handlersProp] = [];
if (typeof object[eventProp] != 'undefined')
object[handlersProp].push(object[eventProp]);
object[eventProp] = function(e)
{
var ret = true;
for (var i = 0; ret != false && i < object[handlersProp].length; i++)
ret = object[handlersProp][i](e);
return ret;
}
}
object[handlersProp].push(handler);
}
}
addHandler (window, 'load', function() {…}) // передавать именно event, без 'on'
2.2 — не в курсе.