Ciao carlomarx, grazie per la risposta, mi piace molto la tua soluzione (grazie mille anche a KillerWorm, in effetti la mia domanda era mirata al Javascript e lui mi ha dato un'ottima risposta).
Vorrei chiederti un'ultima cosa: siccome all'hover element1 dovrebbe scomparire mentre dovrebbe comparire element2 ho modificato il css della tua classe relativa all'hover dividendo i due elementi. Ecco qui quello che fa al caso mio:

.switchbox:hover .element2 {
height: 180px;
}
.switchbox:hover .element1 {
height: 0px;
}

Va tutto alla grande, se non fosse che...non viene interpretato correttamente da Internet Explorer!
Succede che quando passo con il mouse sopra a switchbox si nasconde correttamente element1 e compare correttamente element2, ma il problema è che quest'ultimo non resta fisso, continua a lampeggiare, come se IE "non fosse sicuro che deve farlo visualizzare".
Sai se qualche stile di questi non gli piace? Secondo me è l'height:0, ma anche se fosse non saprei come rimpiazzarlo (se non con display:none e overflow:hidden, prove non andate a buon fine)
Ti ringrazio