var form = document.getElementById("myform");
var DivHeight = form.offsetHeight; //получаем высоту формы
var DivWidth = form.offsetWidth; //получаем ширину формы
var browser=navigator.appName; //название браузера пользователя
//Попытка обойти баг IE6.0, который для document.body.scrollTop всегда возвращает нуль
//document.documentElement.scrollTop - а это он понимает, но уж как-то очень по своему,
//получает странно большое значение, из-за чего форма сползает далеко вниз экрана
var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
var scrollLeft = document.body.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft;
//Это уже от безысходности.. Так более-менее получается отцентровать форму в видимой области
//хотя она и не выравнивается точно, особенно заметно расхождение на разных разрешениях монитора
if (browser=="Microsoft Internet Explorer") {
scrollTop = scrollTop/2;
}
//Центрируем по вертикали и горизонтали в зависимости от скроллинга и размера формы;
//работает для Opera и по великой идее должно работать для IE
form.style.top = (scrollTop + document.body.clientHeight/2 - DivHeight/2)+’px’;
form.style.left = (scrollLeft + document.body.clientWidth/2 - DivWidth/2)+’px’;
//У Firefox свои причуды, у него свои функции для получения размера окна и текущего скроллинга
if (document.getElementById && !document.all) {
form.style.top = (window.pageYOffset + window.innerHeight/2 - DivHeight/2)+’px’;
form.style.left = (window.pageXOffset + window.innerWidth/2 - DivWidth/2)+’px’;
}[/QUOTE]
В итоге все это работает как и задумывалось - в Opera 9 и Firefox 1.5.
А в IE 6.0 вследствие бага - не работает, точнее - форма уползает вниз экрана.
Перекопал кучу инфы в рунете и буржунете, нашел-таки подсказку, где искать.
Оказывается, дело в том, что IE 6.0 при явном указании типа документа DOCTYPE криво обрабатывает document.documentElement.scrollTop.
А у меня как раз DOCTYPE указан как:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/QUOTE]
Тупо перебирал и подставлял ему разные типы, от HTML 4.01 Transitional до XHTML 1.0 Strict, ничего не помогало...
И вдруг идеально сработало, когда я вообще убрал DOCTYPE. Полный бредЯ бы так и оставил.. Работает ведь во всех браузерах. Но требуется валидность кода, которую можно обеспечить только прописав правильный тип документа.
И вот собственно теперь такая задачка - каким образом заставить IE обработать HTML документ либо как неимеющий декларированного типа, либо переписать мой код так, чтобы форма не уползала вниз, но при этом оставить для W3C валидности DOCTYPE?

1 вариант не работает. Дело в том, что IE правильно обрабатывает код только когда document.compatMode возвращает значение "BackCompat". Как я понимаю, этого можно добиться только если нет декларированного типа HTML документа (если есть тип - обычно возвращает "CSS1Compat"). Пытался динамически менять этот параметр, но не тут то было
Оказалось, что данный параметр document.compatMode только для чтения.. блин. У меня такие мысли крутятся - может динамически с помощью JavaScript удалять строку с описанием типа документа в случае IE.. если такое вообще возможно. Может быть через DOM? Есть ли какой способ (childNodes?) добраться до DOCTYPE и например просто удалить его? 
может уже при запросе браузера проверять тип браузера, если IE - выдавать ему страницу без DOCTYPE, т.е. с другим шаблоном, не имещим DOCTYPE.. так вообще реально?
)
ничем помочь не могу
значения большинства слов, которые ты употребил, мне не знакомы
... ишчо одна глупая мысль пришла может уже при запросе браузера проверять тип браузера, если IE - выдавать ему страницу без DOCTYPE, т.е. с другим шаблоном, не имещим DOCTYPE.. так вообще реально? )
завтра попробую на твоем примере разобраться со своей формой..