il codice da te postato da qualche problema. praticamente i quando chiudo il div cliccando una seconda volta sul tasto del menu mi si riapre immediatamente lo stesso (ed invece non dovrebbe fare nulla) e quando apro il secondo box me lo apre sotto e non va a sostituire il primo (che resta sempre aperto)

Per quel che riguarda la classe dei box in realtà me ne servono più di 2, ogni box contiene del testo diverso da ogni altro (chiaramente) quindi non credo di poter fare una classe .box, infatti creavo gli id #box1 ... #boxN così da poter inserire dentro ciò che voglio senza alcun problema di conflitti. Come dicevo prima si troverà tutto in un unica pagina html.

codice:
<div id="center">
        	<a id="menu" onclick="mostra_box('box1');" class="testo">mostra box 1</a> 
                <a id="menu" onclick="mostra_box('box2');" class="testo">mostra box 2</a>
                <a id="menu" onclick="mostra_box('box1');" class="testo">mostra box 3</a>  
</div>
<div id="right">
             <div id="box1"> testo e strucchioli vari del primo box</div>  
             <div id="box2"> testo e strucchioli vari del secondo box</div>
             <div id="box3"> testo e strucchioli vari del terzo box</div>   
</div>
lo stato iniziale dei box (impostato come css) è display:none ma, come vedi, nella pagina in realtà già è presente il div, solo che non si vede.

Ho scelto questa soluzione perchè ho sempre avuto il dubbio (penso confermato) che i ltesto generato da javascript non venisse indicizzato, quindi io, onde evitare questo problema, il testo l oscrivo direttamente nel file html cosi viene letto dagli spider.

come potrei ottenere questo tanto agognato effetto che tanto desidero? non ho ancora preso bene la mano con jquery....