$(document).ready(function() {
    
    
    // handle checkbox click event
    $('#Region>div>input').click(function() {
        handleCheckbox(this.id, this.checked);
    });
    
    $('#Taetigkeitsbereich>div>input').click(function() {
      handleCheckbox(this.id, this.checked);
    });
    
    $('#SchuleInstitution>div>input').click(function() {
      handleCheckbox(this.id, this.checked);
    });
    
    $('#Sprache>div>input').click(function() {
      handleCheckbox(this.id, this.checked);
    });
    
});



function handleCheckbox(elementId, isChecked) {

      var spliter = elementId.split("-");
      var prefix = spliter[0];
      var suffix = spliter[1];
      
      // check if 'all' is checked
     if (suffix == "all")
     { 
         $("input[type='checkbox'][id^="+prefix+"]:not([disabled='disabled'])").attr('checked', isChecked);
          
     } else {
         if (!isChecked) {
             var selectAll = prefix + "-all";
             $("input[type='checkbox'][id^="+selectAll+"]:not([disabled='disabled'])").attr('checked', isChecked);
             }
     }
}
