Ciao,
grazie per la risposta prima di tutto! 
Ho provato a fare solo la modifica che mi hai indicato tu, ma non mi è cambiato nulla. Ho provato anche a togliere eval dall'ultimo if, ma senza successo.
Ho provato anche una soluzione di questo tipo:
codice:
<html>
<head></head>
<script language="JavaScript1.2">
<!-- modified from "Toggle Layer Visibility" by Eddie Traversa @ nirvana.media3.net
function toggleVisibility(id, mode) {
if(mode=='hidden')
document.getElementById(id).style.visibility = 'hidden';
else
document.getElementById(id).style.visibility = 'visible';
}
//-->
<body>
<div id="menu">Uno due tre</div>
<form>
<input type="button" value="Mostra" onClick="toggleVisibility('menu','show');"><input type="button" value="Nascondi" onClick="toggleVisibility('menu','hidden');">
</form>
</body>
</html>
Ma niente.