PageSourceSearch

https://lessecretsdusablier.com/wp-content/litespeed/js/fc23901fb41a5d468b4b54b511dfdaf8.js?ver=26ed5

js lessecretsdusablier.com collected 2026-10-08 03:05:34 UTC 12,500 bytes, 59 lines download raw bytes

1jQuery(document).ready(function($){'use strict';class EscapeFilters{constructor(){this.loopWidget=document.querySelector('.elementor-widget-loop-grid');this.activeFilters=new Set();this.init();this.initFromUrl()}
2init(){document.body.addEventListener('click',this.handleButtonClick.bind(this));window.addEventListener('popstate',()=>this.updateContentFromUrl())}
3handleButtonClick(event){const button=event.target.closest('.escape-filter-btn');if(!button)return;event.preventDefault();const filterValue=button.dataset.filter;if(filterValue===''){this.activeFilters.clear()}else{this.activeFilters.has(filterValue)?this.activeFilters.delete(filterValue):this.activeFilters.add(filterValue)}
4this.updateActiveButtons();this.updateUrl();this.refreshWidget();this.scrollToAnchor()}
5initFromUrl(){const params=new URLSearchParams(window.location.search);const filterParam=params.get('filter');if(filterParam){this.activeFilters=new Set(filterParam.split(','));this.updateActiveButtons()}}
6async refreshWidget(){if(!this.loopWidget||!window.elementorFrontend)return;try{const $widget=$(this.loopWidget);const elementId=$widget.data('id');$widget.addClass('loading');const response=await $.get(window.location.href);const $newContent=$(response).find(`.elementor-element-${elementId}`);if($newContent.length){$widget.fadeOut(200,()=>{$widget.html($newContent.html());this.reinitializeHandlers();if(elementorFrontend.elementsHandler){elementorFrontend.elementsHandler.runReadyTrigger($widget)}
7$widget.fadeIn(200);$widget.removeClass('loading')})}}catch(error){console.error('Erreur lors du rafraîchissement:',error)}}
8updateContentFromUrl(){const params=new URLSearchParams(window.location.search);const filterParam=params.get('filter');this.activeFilters=new Set(filterParam?filterParam.split(','):[]);this.updateActiveButtons();this.refreshWidget();this.scrollToAnchor()}
9updateActiveButtons(){document.querySelectorAll('.escape-filters .escape-filter-btn').forEach(btn=>
9{const filterValue=btn.dataset.filter;if(filterValue===''){btn.classList.toggle('active',this.activeFilters.size===0)}else{btn.classList.toggle('active',this.activeFilters.has(filterValue))}})}
10updateUrl(){const url=new URL(window.location);if(this.activeFilters.size>0){url.searchParams.set('filter',Array.from(this.activeFilters).join(','))}else{url.searchParams.delete('filter')}
11window.history.pushState({filters:Array.from(this.activeFilters)},'',url)}
12scrollToAnchor(){const anchor=document.getElementById('grille-aventures');if(anchor){const yOffset=-115;const y=anchor.getBoundingClientRect().top+window.pageYOffset+yOffset;window.scrollTo({top:y,behavior:'smooth'})}}
13reinitializeHandlers(){initPopupHandlers()}}
14function initFAQHandlers(){$(document).off('click','.post-faq .faq-question').on('click','.post-faq .faq-question',function(){const thisQuestion=$(this);const thisAnswer=thisQuestion.next('.faq-answer');const span=thisQuestion.find('span');$('.post-faq .faq-answer').not(thisAnswer).slideUp();$('.post-faq .faq-question').not(thisQuestion).removeClass('active');$('.post-faq .faq-question span').not(span).text('+');thisAnswer.slideToggle();thisQuestion.toggleClass('active');span.text(thisAnswer.is(':visible')?'-':'+')});$(document).off('click','.event-faq-title').on('click','.event-faq-title',function(){const thisTitle=$(this);const thisContent=thisTitle.next('.event-faq-content');if(!thisTitle.hasClass('active')){$('.event-faq-content').not(thisContent).slideUp();$('.event-faq-title').not(thisTitle).removeClass('active')}
15thisTitle.toggleClass('active');thisContent.slideToggle()});$(document).off('click','.event-faq-content .faq-question').on('click','.event-faq-content .faq-question',function(){const thisQuestion=$(this);const thisAnswer=thisQuestion.next('.faq-answer');const span=thisQuestion.find('span');if(!thisQuestion.hasClass('active')){$(this).closest('.event-faq-content').find('.faq-answer').not(thisAnswer).slideUp();$(this).closest('.event-faq-content').find('.faq-question').not(thisQuestion).removeClass('active');$(this).closest('.event-faq-content').find('.faq-question span').not(span).text('+')}
16thisQuestion.toggleClass('active');thisAnswer.slideToggle();span.text(thisAnswer.is(':visible')?'-':'+')})}
17function initPopupHandlers(){let scrollPosition;let currentPostId=null;$(document).off('click','.popup-faq-button').on('click','.popup-faq-button',function(e){e.preventDefault();scrollPosition=$(window).scrollTop();let postIdElement=$(this).closest('[data-post-id]');let postId=postIdElement.data('post-id')||postIdElement.attr('data-post-id');if(!postId){postIdElement=$(this).closest('article[data-post-id]');postId=postIdElement.data('post-id')||postIdElement.attr('data-post-id')}
18if(!postId){postIdElement=$(this).parents().filter('[data-post-id]').first();postId=postIdElement.data('post-id')||postIdElement.attr('data-post-id')}
19console.log('FAQ - Post ID trouvé:',postId);elementorProFrontend.modules.popup.showPopup({id:12567});$.ajax({url:unifiedEscapeAjax.ajaxurl,type:'POST',data:{action:'get_faq_fields',post_id:postId,nonce:unifiedEscapeAjax.nonce},success:function(response){if(response.success&&response.data.faq){let html='';response.data.faq.forEach(function(item){html+=`
20                                <div class="elementor-element elementor-widget">
21                                    <div class="faq-item">
22                                        <div class="faq-question">${item.question_faq} <span>+</span></div>
23                                        <div class="faq-answer">${item.reponse_faq}</div>
24                                    </div>
25                                </div>`});$('#elementor-popup-modal-12567 .acf-faq').html(html);$(document).off('click','#elementor-popup-modal-12567 .faq-question').on('click','#elementor-popup-modal-12567 .faq-question',function(){const thisQuestion=$(this);const thisAnswer=thisQuestion.next('.faq-answer');const span=thisQuestion.find('span');$('.faq-answer').not(thisAnswer).slideUp();$('.faq-question').not(thisQuestion).removeClass('active');$('.faq-question span').not(span).text('+');thisAnswer.slideToggle();thisQuestion.toggleClass('active');span.text(thisAnswer.is(':visible')?'-':'+')})}}})});$(document).off('click','[data-post-id] .elementor-button').on('click','[data-post-id] .elementor-button',function(e){if($(this).closest('.elementor-element-2673fc7c').length>0){e.preventDefault();e.stopPropagation();let $loopItem=$(this).closest('[data-elementor-type="loop-item"]');if($loopItem.length>0){const classes=$loopItem[0].className.split(' ');for(let className of classes){if(className.startsWith('e-loop-item-')&&className!=='e-loop-item'){const possibleId=className.replace('e-loop-item-','');if(!isNaN(possibleId)&&possibleId>0){currentPostId=parseInt(possibleId);break}}
26if(!currentPostId&&className.startsWith('post-')&&className!=='post'){const possibleId=className.replace('post-','');if(!isNaN(possibleId)&&possibleId>0){currentPostId=parseInt(possibleId);break}}}}else{let $dataPostId=$(this).closest('[data-post-id]');let rawPostId=$dataPostId.data('post-id');if(rawPostId&&!isNaN(rawPostId)){currentPostId=parseInt(rawPostId)}}
27if(!currentPostId||currentPostId===0){return}
28elementorProFrontend.modules.popup.showPopup({id:9594})}});$(document).off('elementor/popup/show').on('elementor/popup/show',(event,id,instance)=>{if(id!==9594||!currentPostId)return;const popup=$('#elementor-popup-modal-9594');popup.find('[class*="acf-"]').css('visibility','hidden');popup.find('.acf-video .elementor-widget-container').empty();popup.find('.elementor-element-50396df .elementor-widget-image').remove();popup.find('.popup-background-overlay').remove();popup.find('[class*="acf-"] .elementor-widget-container').empty();popup.find('.tarifs-container').hide();$.ajax({url:unifiedEscapeAjax.ajaxurl,type:'POST',data:{action:'get_all_acf_fields',post_id:currentPostId,nonce:unifiedEscapeAjax.nonce},success:function(response){if(!response.success)return;const fields=response.data;if(fields.is_interieur){popup.find('.tarifs-container').show()}else{popup.find('.tarifs-container').hide()}
29if(fields.fond_bandeau){const dialogContent=popup.find('.dialog-widget-content');dialogContent.find('.popup-background-overlay').remove();dialogContent.css('background-color','#2A2A2A');const overlay=$(`<div class="popup-background-overlay" style="
30                            position: absolute;
31                            top: 0;
32                            left: 0;
33                            right: 0;
34                            bottom: 0;
35                            background-image: url('${fields.fond_bandeau}');
36                            background-size: cover;
37                            background-position: center;
38                            opacity: 0.15;
39                            pointer-events: none;
40                            z-index: 0;
41                        "></div>`);
41dialogContent.prepend(overlay)}
42const grid=popup.find('.elementor-element-50396df');if(grid.length>0){grid.find('.elementor-widget-image').remove();for(let i=1;i<=3;i++){if(fields[`illustration_${i}`]){grid.append(`
43                                    <div class="elementor-element elementor-widget elementor-widget-image">
44                                        <div class="elementor-widget-container">
45                                            <img src="${fields[`illustration_${i}`]}" class="elementor-image" alt="Image ${i}">
46                                        </div>
47                                    </div>
48                                `)}}}
49if(fields.video){const videoElement=popup.find('.acf-video');if(videoElement.length>0){let videoUrl=fields.video;if(videoUrl.includes('watch?v=')){videoUrl=videoUrl.replace('watch?v=','embed/')}
50if(videoUrl.includes('youtu.be/')){const videoId=videoUrl.split('youtu.be/')[1].split('?')[0];videoUrl=`https://www.youtube.com/embed/${videoId}`}
51videoElement.find('.elementor-widget-container').html(`<iframe width="100%" height="315" src="${videoUrl}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`)}}
52const elements={'titre-principal':fields['titre-principal'],'titre_bis':fields.titre_bis,'sous-titre':fields['sous-titre'],'description-salle':fields.description_salle,'nombre-joueurs':fields.nombre_joueurs,'duree-salle':fields.duree_salle,'prix_etudiant':fields.prix_etudiant,'prix_regulier':fields.prix_regulier,'prix-salle':fields.prix_salle?`${fields['prix_salle']} €<br> <span style="font-size: 13px;"></span>`:'','hashtag-salle':fields.hashtag_salle};Object.entries(elements).forEach(([key,value])=>{const element=popup.find(`.acf-${key}`);if(element.length>0){const container=element.find('.elementor-widget-container');if(container.length>0){if(value){container.html(`<p>${value}</p>`)}else{container.empty()}}}});if(fields.post_url){const aventureBtns=popup.find('.page-aventure, .decouvrir-btn, [data-link="aventure"]');aventureBtns.each(function(){const btn=$(this);if(btn.is('a')){btn.attr('href',fields.post_url)}else if(btn.parent('a').length>0){btn.parent('a').attr('href',fields.post_url)}else if(btn.closest('a.elementor-button-link').length>0){btn.closest('a.elementor-button-link').attr('href',fields.post_url)}else if(btn.find('a.elementor-button-link').length>0){btn.find('a.elementor-button-link').attr('href',fields.post_url)}else{btn.off('click.aventureLink').on('click.aventureLink',function(e){e.preventDefault();window.location.href=fields.post_url})}});if(aventureBtns.length>0){console.log('Bouton(s) aventure configuré(s) avec URL:',fields.post_url)}}
53popup.find('[class*="acf-"]').css('visibility','visible')}})});$(document).off('elementor/popup/hide').on('elementor/popup/hide',function(){setTimeout(()=>{$(window).scrollTop(scrollPosition)},100)})}
54function initAnchorHandlers(){function isMobile(){return window.matchMedia("(max-width: 767px)").matches}
55function isExcludedPage(){return window.location.href.includes('https://lessecretsdusablier.com/3-2-1-express/')}
56$(document).off('click','.ancre-reservation-button .elementor-button-link').on('click','.ancre-reservation-button .elementor-button-link',function(e){if(!isMobile()&&!isExcludedPage()){e.preventDefault();const currentHref=$(this).attr('href');if(currentHref){window.location.href=currentHref+'#reservation'}}})}
57function initializeAll(){new EscapeFilters();initFAQHandlers();initPopupHandlers();initAnchorHandlers()}
58initializeAll()})
59;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.