se ti accontenti invece di visibility:hidden usando:

display:none e quindi nello script display:block

fa il bravo.

o così ti crea problemi?