function SetTous(Form,ThisCheckBox,CheckBoxName)
{

   // Parcourir chaque CheckBox nommée CheckBoxName de value non vide (les depts)
   // Allumer la case TOUS Si aucune case est allumée
   var i;
   var CheckTous;
   CheckTous=true;
   
   // Si case "TOUS" (value vide) traiter celle-ci
   if (ThisCheckBox.name == CheckBoxName && ThisCheckBox.value.length == 0) {
      OnClickTous(Form,CheckBoxName);
   }
   // Si case "DEPT" (value non vide)
   else {
      for(i=0; i<Form.length; i++){
         if (Form.elements[i].name == CheckBoxName && Form.elements[i].value.length > 0 ) {
            if (Form.elements[i].checked) {
                CheckTous=false;
                break;
            }
         }
      }
   }
   SetCheckedTous(Form,CheckTous,CheckBoxName);
}

function OnClickTous(Form,CheckBoxName)
{
   // CheckBox TOUS modifiée :
   // Si passée à ON : eteindre tous les autres
   var i;
   var CheckTous;
   if (GetCheckedTous(Form,CheckBoxName)) {
     for(i=0; i<Form.length; i++){
        if (Form.elements[i].name == CheckBoxName && Form.elements[i].value.length > 0) {
            Form.elements[i].checked=false;
       }
     }
   } 
   else {
      SetCheckedTous(Form,true,CheckBoxName);
      // On passe la case "TOUS" à OFF ==> Sauf si aucune autre n'est à ON
      for(i=0; i<Form.length; i++){
         if (Form.elements[i].name == CheckBoxName && Form.elements[i].value.length > 0 && Form.elements[i].checked) {
            // Un Element DEPT a ON ==> TOUS= False
            SetCheckedTous(Form,false,CheckBoxName);
            break;
         }
      }
   }
}

function GetCheckedTous(Form,CheckBoxName)
{
// Lire la valeur de la case "TOUS" (True ou False)
   var Result;
   var i;
   for(i=0; i<Form.length; i++){
      if (Form.elements[i].name == CheckBoxName && Form.elements[i].value.length == 0 ) {
         Result=Form.elements[i].checked
         break;
      }
   }
   return(Result);
}

function SetCheckedTous(Form,Check,CheckBoxName)
// Forcer la case "TOUS" à True ou False
{
   var i;
   for(i=0; i<Form.length; i++){
      if (Form.elements[i].name == CheckBoxName && Form.elements[i].value.length == 0 ) {
         Form.elements[i].checked=Check;
         break;
      }
   }
}

