jQuery(function () {
  /*
   * Define select statement [full, partial, no] -selected
   */
  (function () {
    var status = ['no-selected', 'partial-selected', 'full-selected'];
    $('.widget-axessia-select').each(function () {
      var element = $(this);
      var checkboxes = $(this).find('input[type=checkbox]')
        .change(function () {
          setTimeout(function () {
            var checked = checkboxes.filter('[checked]').length;
            if (checked < 1)
              element.removeClass(status.join(' ')).addClass(status[0]);
            else if (checked < checkboxes.length)
              element.removeClass(status.join(' ')).addClass(status[1]);
            else
              element.removeClass(status.join(' ')).addClass(status[2]);
          }, 1);
        });
        setTimeout(function () { checkboxes.first().change(); }, 1);
    });
  })();

});
