Senza andare a sporcare il markup con id e classi, propongo di seguire il seguente concetto (per quanto riguarda semplicemente il mostra/nascondi):

- http://www.htmldog.com/articles/suckerfish/dropdowns/