Si, non sono molto pratico di javascript.
Questo è quello che ho messo insieme ma ovviamente non funziona:

javascript nell'header:
codice:
function enabler(comandante,cat){
  var c=comandante;
  var f=document.form;

  if(f.elementbyid[cat].length){
    for(var k=0;k<f.elements[cat].length;k++){ 
      f.elementbyid[cat][k].disabled =! c.checked;
    }
  }
  else{ // c' è un solo checkbox, non è un array
    f.elementbyid[cat].disbled =! c.checked;
  }
}