L'attributo visibility ha le seguenti opzioni:
visible
hidden
collapse
inherit
L'attributo display, invece, supporta le seguenti (solo quelle di interesse per questo scopo):
block
compact
none
Credo (ma dovresti provare) che se usi display:block / display:none oppure visibility:visible / visibility:collapse lo spazio occupato dal blocco si riduce al minimo o si espande. Se invece usi visibility:visible / visibility:hidden lo spazio occupato rimane lo stesso.
Nota che document.all non e` sintassi JS, ma sintassi jscript (dialetto microsoft).
Per usare JS (valido crossbrowser) devi usare:
document.getElementById('IDNAME').style.display = block;
...
(non ricordo se in questo caso block va inserito fra apici).
Ciao
Michele