(function($){'use strict';$(function(){const filterOffersByTag=($tagButton,selectors)=>{const $toplistWrapper=$tagButton.closest(selectors.wrapper);$toplistWrapper.find(selectors.filterTag+'.filter-tag-active').removeClass('filter-tag-active');$tagButton.addClass('filter-tag-active');$toplistWrapper.find(selectors.offer).addClass('hidden');const selectedTagId=$tagButton.data('filter-tag-id');$toplistWrapper.find(selectors.offer).each(function(){const tags=$(this).data('filter-tags');if(tags.includes(selectedTagId)){$(this).find(selectors.offerLogo).hide().show();$(this).removeClass('hidden')}else{$(this).addClass('hidden')}});$toplistWrapper.find(selectors.showMoreBtn).first().remove();reorderOffers($toplistWrapper,$tagButton.data('filter-tag-id'),selectors)};const reorderOffers=($toplistWrapper,selectedTagId,selectors)=>{const tagsJson=$toplistWrapper.find(selectors.filterTagsJson).first().text();const tags=JSON.parse(tagsJson);const selectedTagOffers=tags[selectedTagId];if(!selectedTagOffers){return}
$toplistWrapper.find(selectors.offer).sort(function(a,b){const aPosition=selectedTagOffers.indexOf(parseInt($(a).attr('data-id')));const bPosition=selectedTagOffers.indexOf(parseInt($(b).attr('data-id')));return aPosition-bPosition}).detach().appendTo($toplistWrapper.find(selectors.offersWrapper).first())};window.BM_initFilter=function BM_initFilter($toplistWrapper,selectors={},finalCallback=()=>{}){if(jQuery.isEmptyObject(selectors)){return}
if($toplistWrapper.find(selectors.filterWrapper).length===0){return}
$toplistWrapper.on('click',selectors.filterTag,function(){filterOffersByTag($(this),selectors);finalCallback($toplistWrapper)});reorderOffers($toplistWrapper,$toplistWrapper.find(selectors.filterTag).first().data('filter-tag-id'),selectors)}})})(jQuery)