E` un po' piu` complesso del necessario. ...
E poi hai una strana idea sui "campi".
Per me un campo e` un elemento di un form, per te sono i div.

Provo a rielaborare quello script:
codice:
function mostra(menu){
  var c = getElementsByTagName("div");
  var numeromenu=menu.substr(menu.indexOf("_")-1,1);

  for(var i=0; i<=c.length; i++) {
    if(typeof c[i]!='undefined') {
      var cid=c[i].id.toString();
      if(cid!="" && typeof(document.getElementById(cid))!='undefined' && cid.indexOf("menu")!=-1) {
        var numero=cid.substr(cid.indexOf("_")-1,1);
        if(numero > numeromenu && cid != menu) 
          document.getElementById(cid).style.display="none";
      }
    }
  }

  if((mm = document.getElementById(menu) )) {
    mm.style.display = mm.style.display=="block" ? 'none' : 'block;
  }
}