
(function ($) {
  $(function () {

    // ========================================================================
    // Ein- und Ausklappen
    var image = $('<img src="/db/images/minus.png" class="expander"/>');
    image.css({
      position: 'absolute',
      top: '3px',
      left: '-19px',
      cursor: 'pointer'
    });

    $('ul.js-shareholdings li:has(ul)').css({
      position: 'relative',
      'list-style-type': 'none'
    }).prepend(image);

    $('img.expander').live('click', function () {
      var expanded = $(this).attr('src').match(/minus/);
      $(this).attr('src',
        expanded ?
        '/db/images/plus.png' :
        '/db/images/minus.png');
      var display = expanded ? 'none' : 'block';
      $(this).nextAll('ul').css('display', display);
    });


    // ========================================================================
    // Medienfilter
    var filterMedia = function () {
      // find selected type id's
      var selectedIds = [];
      $('input.js-media-filter').each(function () {
        if (!$(this).attr('checked')) return;
        selectedIds.push($(this).attr('value'));
      });


      // expand all ul's
      $('ul.js-ownedCompanies ul').css('display', 'block');

      if (selectedIds.length == 0) {
        // expand all
        $('ul.js-ownedCompanies li').css('display', 'list-item');
        return;
      }

      // change ul's expanded state
      $('ul.js-ownedCompanies img.expander').attr('src', '/db/images/minus.png');
      // collapse all li's
      $('ul.js-ownedCompanies li').css('display', 'none');
      // expand specified li's
      for (var i = 0; i < selectedIds.length; i++) {
        var cssClass = 'media-type-id-' + selectedIds[i];
        $('ul.js-ownedCompanies li:has(li.' + cssClass + '), ul.js-ownedCompanies li.' + cssClass + '').css('display',
        'list-item');
      }
    };

    $('input.js-media-filter').live('click', filterMedia);

    filterMedia();

  });
})(jQuery);
