var a = new Array('A' ,'B' ,'C' ,'D' ,'E' ,'F' ,'G' ,'H' ,'J' ,'K' ,'L' ,'M' ,'N' ,'P' ,'Q' ,'R' ,'S' ,'T' ,'U' ,'V' ,'W' ,'X' ,'Y' ,'Z') ;
// supprimes:'I' et 'O'
var flagniv1 = new Array() ;
var flagniv2 = new Array() ;


function niv1(n) {
if (flagniv1[n] != 1) {
    document.getElementById('cb'+n).checked = true ;
    for(i=0; i<=9 ; i++) {
    if(document.getElementById('cb'+n+i)) {
    document.getElementById('cb'+n+i).checked = true ;
     flagniv2[n+''+i] = 1;
        for(j=0; j<=23; j++) { 
        if(document.getElementById('cb'+n+i+a[j])) {
        document.getElementById('cb'+n+i+a[j]).checked = true ;
        }
        }
}
}

flagniv1[n] = 1;
}

else{
for(i=0; i<=9 ; i++) {
    if(document.getElementById('cb'+n+i)) {
    document.getElementById('cb'+n+i).checked = false ;
    flagniv2[n+''+i] = 0;
        for(j=0; j<=23; j++) { 
        if(document.getElementById('cb'+n+i+a[j])) {
        document.getElementById('cb'+n+i+a[j]).checked = false ;
        }
        }
}
}
flagniv1[n] = 0;
}
}
;

function niv2(n){
if (flagniv2[n] != 1) {
        for(j=0; j<=23; j++) { 
        if(document.getElementById('cb'+n+a[j])) {
        document.getElementById('cb'+n+a[j]).checked = true ;
        }
        }
        flagniv2[n] = 1;
        
        }
else {
         for(j=0; j<=25; j++) { 
        if(document.getElementById('cb'+n+a[j])) {
        document.getElementById('cb'+n+a[j]).checked = false ;
        }
        }
flagniv2[n] = 0;
}        
verifniv1(n);
}
;

function niv3(nivo) {
nivo = nivo.toString();
var niv2 = nivo

var longniv1 = niv2.length-1;
var niv1 = niv2.substring(0,longniv1);

        for(j=0; j<=23; j++) { 
        if(document.getElementById('cb'+niv2+a[j]) && document.getElementById('cb'+niv2+a[j]).checked == false) {
        document.getElementById('cb'+niv1).checked = false;
        flagniv1[niv1] = 0;
        document.getElementById('cb'+niv2).checked = false;
        flagniv2[niv2] = 0;
        break;
           }
           
        else{
            if(j==23){
            document.getElementById('cb'+niv2).checked = true;
            flagniv2[niv2] = 1;
            verifniv1(niv2);
            }
        }
      }
return true ; 
}

/*        
        }
else {
         for(j=0; j<=25; j++) { 
        if(document.getElementById('cb'+n+a[j])) {
        document.getElementById('cb'+n+a[j]).checked = false ;
        }
        }
flagniv2[n] = 0;
}        
verifniv1(n);
}
*/
;



function verifniv1(nivo){
nivo = nivo.toString();
var longniv = nivo.length-1;
var niv0 = nivo.substring(0,longniv);

for(i=0; i<=9;i++){
    if(document.getElementById('cb'+niv0+i) && document.getElementById('cb'+niv0+i).checked == false )
    { 
    document.getElementById('cb'+niv0).checked = false;
    flagniv1[niv0] = 0;
    break;
        }
    else{
            if(i==9) {
            //ici on sait que toutes le cb du niveau sont cochées, et que l'utilisateur vient d'effectuer une action sur l'une d'elles.
                    if (flagniv2[nivo] == 0) {
                    document.getElementById('cb'+niv0).checked = false;
                    flagniv1[niv0] = 0;
                    }
                    else{
                    flagniv1[niv0] = 0;
                    niv1(niv0);
                    }
            }
    }
}
}
;

