Ciao, sto risolvendo così (ma x ora funziona solo se rendo attivo un solo main menu):

//al click il menu si attiva e mantiene il colore azzurro del rollover anche se il mouse esce; al secondo click di chiusura ritorna il grigio.

<script language="JavaScript" type="text/javascript">
<!--
//click

selez=false;
function checkColor1(aDiv) {
if (selez==true){
aDiv.style.backgroundColor="ffffff";
selez=false;
}else{
aDiv.style.backgroundColor="95B1FF";
selez=true;
}
}

//over
function checkColor2(aDiv) {
if (selez==true){
aDiv.style.backgroundColor="95B1FF";

}else{
aDiv.style.backgroundColor="95B1FF";

}
}

//out
function checkColor3(aDiv) {
if (selez==true){
aDiv.style.backgroundColor="95B1FF";

}else{
aDiv.style.backgroundColor="cccccc";

}
}

function showHide(aDiv) {
aDiv.className = aDiv.className == "hideit" ? "shown" : "hideit";

}
//-->
</script>