(function($){'use strict';$(function(){init_data_layer_events()});let main_offer_selectors=['.campaign-list-item','.campaign-compact-table__offer','.casino_finder__final_offer','.toplist-flagship-crypto__offer','.toplist-poker__offer','.toplist-poker-v2__offer','.toplist-poker-compact__offer','.toplist-tech__offer','.toplist-repurposed__offer',].join(', ');const cta_button_selectors=['.campaign-list-item_cta-btn','.campaign-compact-table__offer-cta-button a','.campaign-list-item__cta_button','.toplist-flagship-crypto__offer-visit-link','.toplist-poker__offer-cta-btn','.toplist-poker-v2__offer-cta-btn','.toplist-poker-compact__offer-cta-btn','.toplist-tech__offer-cta-btn','.toplist-repurposed__offer-cta-btn',].join(', ');const coupon_copied_selectors=['.country_code_right','.coupon-code__copy-btn','.campaign-list-item__coupon-wrapper',].join(', ');const toplist_database={'campaign-list-item':{type:'Casino Toplist v1',selectors:{title:'.campaign-list-item_key-features > p, .campaign-list-item__offer',rating:'.campaign_list_item__score_text, .campaign-list-item__rating',coupon:'.coupon_code, .campaign-list-item__coupon span',},},'campaign-compact-table__offer':{type:'Casino Toplist v2',selectors:{title:'.campaign-compact-table__offer-description',rating:'.campaign-compact-table__offer-rating-text',coupon:'.coupon-code',},},'casino_finder__final_offer':{type:'',selectors:{title:'.casino_finder__final_offer_title',rating:'.casino_finder__final_marks_section p',coupon:'.casino_finder__final_coupon_text:first',},},'toplist-flagship-crypto__offer':{type:'CryptoNews Toplist',selectors:{title:'.toplist-flagship-crypto__offer-title',rating:'.toplist-flagship-crypto__offer-rating',},},'toplist-poker__offer':{type:'Poker Toplist',selectors:{title:'.toplist-poker__offer-title',rating:'.toplist-poker__offer-rating',},},'toplist-poker-v2__offer':{type:'Poker Toplist v2',selectors:{title:'.toplist-poker-v2__offer-title',rating:'.toplist-poker-v2__offer-rating',},},'toplist-poker-compact__offer':{type:'Poker Toplist Compact',selectors:{title:'.toplist-poker-compact__offer-title',rating:'.toplist-poker-compact__offer-rating',},},'toplist-tech__offer':{type:'Tech Toplist',selectors:{title:'.toplist-tech__offer-title',},},'toplist-repurposed__offer':{type:'Casino Repurposed Toplist',selectors:{title:'.toplist-repurposed__offer-title',rating:'.toplist-repurposed__offer-rating-score',},},}
const init_data_layer_events=()=>{if(typeof dataLayer!=='undefined'){init_data_layer_campaign_events();init_data_layer_casino_finder_events()}}
const init_data_layer_campaign_events=(campaign=!1,database={})=>{if(typeof dataLayer==='undefined'){return}
if(jQuery.isEmptyObject(database)===!1&&typeof database.selectors.offer!=='undefined'&&typeof database.selectors.cta!=='undefined'){const offer_class_name=database.selectors.offer.replace('.','');toplist_database[offer_class_name]=database;event_campaign_hover(database.selectors.offer,campaign);event_campaign_cta_button(database.selectors.cta,campaign,database.selectors.offer);return}
event_campaign_vote_action(campaign);event_campaign_learn_more(campaign);event_campaign_coupon_copied(coupon_copied_selectors,campaign);event_campaign_cta_button(cta_button_selectors,campaign);event_campaign_hover(main_offer_selectors,campaign);event_campaign_filter_start(campaign);event_campaign_filter_applied(campaign);event_campaign_extra_filter_start(campaign);event_campaign_extra_filter_applied(campaign);event_campaign_popular_filter(campaign);event_campaign_compare_toggle(campaign);event_campaign_compare_view_section_click(campaign)}
const init_data_layer_casino_finder_events=()=>{event_casino_finder_start();event_casino_finder_form_interaction();event_casino_finder_form_end();$('.casino_finder__final_screen_show_more').click(function(){event_campaign_hover('.casino_finder__final_offer')})}
const init_data_layer_casino_finder_final_offers_events=()=>{if(typeof dataLayer!=='undefined'){event_campaign_coupon_copied('.casino_finder__final_copy_btn');event_campaign_cta_button('a.casino_finder__final_cta');event_campaign_hover('.casino_finder__final_offer')}}
const data_layer_compare_view_visible=(campaign=!1)=>{if(typeof dataLayer!=='undefined'){event_campaign_compare_view_section_click(campaign)}}
const event_campaign_vote_action=(campaign=!1)=>{let selector='.campaign__voting_section__btn';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const campaign_item=$(this).parents('.campaign-list-item').first();const $params=get_event_default_params(campaign_item);$params.event='Bonus';$params.workflowName='vote action';$params.voteType=$(this).hasClass('like-action')?'like':'dislike';$params.interfaceComponent='vote button';$params.filterType='';dataLayer.push($params)})}
const event_campaign_learn_more=(campaign=!1)=>{let selector='.campaign-list-item_open-more-btn, .campaign-list-item__show-more-btn';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const campaign_item=$(this).parents('.campaign-list-item').first();const $params=get_event_default_params(campaign_item);$params.event='Bonus';$params.workflowName='more info';$params.interfaceComponent='learn more button';$params.filterType='';dataLayer.push($params)})}
const event_campaign_coupon_copied=(selectors,campaign=!1)=>{let selector=selectors;if(campaign!==!1){selector=$(campaign).find(selectors)}
$(selector).click(function(){const campaign_item=$(this).parents(main_offer_selectors).first();const $params=get_event_default_params(campaign_item);$params.event='Bonus';$params.workflowName='bonus copied';$params.interfaceComponent='copy coupon button';$params.filterType='';dataLayer.push($params)})}
const event_campaign_cta_button=(selectors,campaign=!1,custom_main_offer_selectors='')=>{let selector=selectors;if(campaign!==!1){selector=$(campaign).find(selectors)}
$(selector).click(function(){let campaign_item;if(custom_main_offer_selectors===''){campaign_item=$(this).parents(main_offer_selectors).first()}else{campaign_item=$(this).parents(custom_main_offer_selectors).first()}
const $params=get_event_default_params(campaign_item);$params.event='Bonus';$params.workflowName='Toplist CTA Click';$params.interfaceComponent='cta button';$params.filterType='';dataLayer.push($params)})}
const event_campaign_hover=(selectors,campaign=!1)=>{let selector=selectors;if(campaign!==!1){selector=$(campaign).find(selectors)}
let hovered_offers=[];$(selector).hover(function(){const campaign_item=$(this).first();let offer_id=$(campaign_item).data('id');if(typeof offer_id==='undefined'){offer_id=$(campaign_item).attr('offer_id')}
if(hovered_offers.includes(offer_id)===!1){const $params=get_event_default_params(campaign_item);$params.event='Bonus';$params.workflowName='Toplist shown';$params.interfaceComponent='cta button';$params.filterType='';dataLayer.push($params);hovered_offers.push(offer_id)}})}
const get_event_default_params=(campaign_item)=>{const $campaign_item=$(campaign_item);return{affcode:$campaign_item.data('offer-name'),bonusCode:get_campaign_bonus_code($campaign_item),toplistTitle:get_campaign_bonus_title($campaign_item),toplistType:get_campaign_toplist_type($campaign_item),partnerRating:get_campaign_bonus_rating($campaign_item),interfaceOfferPosition:$campaign_item.index(),}}
const event_campaign_filter_start=(campaign=!1)=>{let selector='.campaign_sport_filters__quick_block:not(.disable_click)';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const filter_type='Main Filter';dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'start',filterType:filter_type,})})}
const event_campaign_filter_applied=(campaign=!1)=>{let selector='.campaign_sport_filters__quick_block_field';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const filter_type='Main Filter';const filter_value=$(this).find('.campaign_sport_filters__quick_block_label').first().text();dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'applied',filterType:filter_type,filterValue:filter_value,})});selector='.campaign_sport_filters__quick_block_select_option';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const filter_type='Main Filter';const filter_value=$(this).find('span').first().text();dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'applied',filterType:filter_type,filterValue:filter_value,})})}
const event_campaign_extra_filter_start=(campaign=!1)=>{let selector='.campaign_sport_filters__open_btn';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const filter_type='Extra Filter';dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'start',filterType:filter_type,})})}
const event_campaign_extra_filter_applied=(campaign=!1)=>{let selector='.campaign_sport_filters__extended_view';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const filter_type='Extra Filter';let filter_field='';let filter_value={};const checked_inputs=$('.campaign_sport_filters__quick_block_field input:checked');$(checked_inputs).each(function(){const filter_group=$(this).parents('.campaign_sport_filters__extended_group').first();const filter_group_title=$(filter_group).find('.campaign_sport_filters__extended_group_title').text();const input_label=$(this).parents('label').first().find('.campaign_sport_filters__quick_block_label').first().text();if(input_label!=='Show all'){if(typeof filter_value[filter_group_title]==='undefined'){filter_value[filter_group_title]=input_label}else{filter_value[filter_group_title]=filter_value[filter_group_title]+', '+input_label}}});filter_value=JSON.stringify(filter_value);dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'applied',filterType:filter_type,filterField:filter_field,filterValue:filter_value,})})}
const event_campaign_popular_filter=(campaign=!1)=>{let selector='.campaign_sport_filters__tag, .campaign-shortcode-table_filter-list-item';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).click(function(){const filter_type='Most Popular Filter';let filter_value='';if($(this).hasClass('campaign_sport_filters__tag')){filter_value=$(this).clone().children().remove().end().text()}else{filter_value=$(this).text()}
dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'applied',filterType:filter_type,filterValue:filter_value,})})}
const event_campaign_compare_toggle=(campaign=!1)=>{let selector='.campaign_sport_filters__compare-toggle-input';if(campaign!==!1){selector=$(campaign).find(selector)}
$(selector).change(function(){if($(this).is(':checked')){dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'start',filterType:'Extra filter',filterValue:'Compare toggle',})}})}
const event_campaign_compare_view_section_click=(campaign=!1)=>{let selector='.campaign-shortcode__compare-view__section';if(campaign!==!1){selector=$(campaign).find(selector)}
if($(selector).length===0){return}
const $campaign_compare_view_wrapper=$(selector).parents('.campaign-compare-view-wrapper').first();if($campaign_compare_view_wrapper.hasClass('bm-data-layer-init')){return}
$campaign_compare_view_wrapper.addClass('bm-data-layer-init');$(selector).click(function(){if($(this).hasClass('collapsed')){return}
const filter_value=$(this).find('.campaign-shortcode__compare-view__section-name').first().text().trim();dataLayer.push({event:'Filter',workflowName:'Toplist filter',workflowStepName:'start',filterType:'Compare toggle accordion',filterValue:filter_value,})})}
const event_casino_finder_start=()=>{$('.casino_finder__start_btn, .casino_finder__first_button_screen_wrapper').click(function(){let interface_component='';if($(this).parents('header').length>0){interface_component='header'}
if($(this).parents('footer').length>0){interface_component='footer'}
if($(this).parents('.sidebar').length>0){interface_component='sidebar'}else if($(this).parents('main').length>0){interface_component='content'}
dataLayer.push({event:'Casino Finder',workflowStepName:'form start',interfaceComponent:interface_component,})})}
const event_casino_finder_form_interaction=()=>{$('.casino_finder__tile').click(function(){const question_screen_wrapper=$(this).parents('.casino_finder__question_screen_wrapper').first();const form_step_number=$(question_screen_wrapper).attr('screen-number');const form_question=$(question_screen_wrapper).find('.casino_finder__question_header_question').first().text();const form_value=$(this).find('.casino_finder__label').text();dataLayer.push({event:'Casino Finder',workflowStepName:'form interaction',formStepNumber:form_step_number,formQuestion:form_question,formValue:form_value,})})}
const event_casino_finder_form_end=()=>{$('.casino_finder__wrapper').each(function(){const question_screen_wrapper=$(this).find('.casino_finder__question_screen_wrapper').last();const tiles=$(question_screen_wrapper).find('.casino_finder__tile');$(tiles).click(function(){dataLayer.push({event:'Casino Finder',workflowStepName:'form end',})})})}
const get_entity_value=(campaign_item,selector_key)=>{const $campaign_item=$(campaign_item);for(const[class_name,dictionary]of Object.entries(toplist_database)){if($campaign_item.hasClass(class_name)){const selector=dictionary.selectors[selector_key];return selector?$campaign_item.find(selector).first().text().trim():''}}
return''}
const get_campaign_bonus_code=(campaign_item)=>{return get_entity_value(campaign_item,'coupon')}
const get_campaign_bonus_title=(campaign_item)=>{return get_entity_value(campaign_item,'title')}
const get_campaign_toplist_type=(campaign_item)=>{for(const[class_name,dictionary]of Object.entries(toplist_database)){if(campaign_item.hasClass(class_name)){return dictionary.type}}
return''}
const get_campaign_bonus_rating=(campaign_item)=>{return get_entity_value(campaign_item,'rating').replace('/10','').replace('/5','')}
window.dataLayer_initCampaignEvents=init_data_layer_campaign_events;window.dataLayer_initCasinoFinderFinalOffersEvents=init_data_layer_casino_finder_final_offers_events;window.dataLayer_compareViewVisible=data_layer_compare_view_visible})(jQuery)