Senza avere l'array sono riuscito a realizzarlo in questo modo:

codice:
function SelezTT(el)
{
	var elIsChecked = el.checked;
	var i = 0;
	var modulo = document.getElementsByName(el.id);
	for (i=0; i<modulo.length; i++)
    {
        if(modulo[i].type == "checkbox" && modulo[i].name == el.id)
        {   
            modulo[i].checked = elIsChecked;
            SelezTT(modulo[i]);
        }
    }
}

function ifchecked(el1){

		var modulo = document.getElementsByName(el1.name);
		var isChecked = false;
		
		for (i=0; i<modulo.length; i++){
			if(modulo[i].checked){
				isChecked = true;
				break;
				}
			}
	    
		if(isChecked){
				checkPid = document.getElementById(el1.name);	
					checkPid.checked = true;
					ifchecked(checkPid);
			}
		
		if(!isChecked){
				checkPid = document.getElementById(el1.name);	
					checkPid.checked = false;
					ifchecked(checkPid);
					
			}
	}
ma a questo punto avrei la difficoltà di recuperare i valori con php... quindi sono punto e a capo. La strada con l'array penso sia l'unica da seguire.