$(function () {
  $belegungenSammelbearbeitenEinzelbelegung = $('.belegungen_sammelbearbeiten_einzelbelegung');

  $belegungenSammelbearbeitenEinzelbelegung.on('shown.bs.collapse', function () {
    document.getElementById(this.id + '_icon').classList = 'fas fa-minus';
  });

  $belegungenSammelbearbeitenEinzelbelegung.on('hidden.bs.collapse', function () {
    document.getElementById(this.id + '_icon').classList = 'fas fa-plus';
  });

  /**
   * @param {int} belIdPart
   */
  function setBelegungStatusIcon(belIdPart) {
    var $statusIcon = jQuery(".b" + belIdPart + ".status_icon");
    var $formErrors = jQuery('.form_error', $(this));
    if ($formErrors.length > 0) {
      $statusIcon.css('color', 'red');
    } else {
      $statusIcon.css('color', 'green');
    }
  }

  var $form = $('form.validate_form');

  function setBelegungenStatusIcons() {
    var $ids = $('.belegungen_sammelbearbeiten_einzelbelegung input.belid', $form);
    $ids.each(function (index, element) {
      setBelegungStatusIcon.call(element.parentNode.parentNode, element.value);
    });
  }

  setBelegungenStatusIcons();
  $form.on('submit', setBelegungenStatusIcons);
  $('.form-control', $form).on('change', setBelegungenStatusIcons);
});