PageSourceSearch

https://makesyoufluent.com/wp-content/plugins/360mind-core/src/che…/js/popup-checkout.js?ver=1860226442

js makesyoufluent.com collected 2026-09-24 11:36:25 UTC 7,666 bytes, 200 lines download raw bytes

1jQuery(function($) {
2    setInterval(function() {
3        $('.model-opened:not(.appeared)')
4            .addClass('appeared')
5            .each(function() {
6                special_offer_layer();
7            });
8    }, 500);
9
10
11
12    let scrollPosition = $(window).scrollTop();
13    let firstScrollRevealed = false;
14    let modalOpenedOnce = false;
15
16
17    if( !firstScrollRevealed ){
18        $(window).scroll(function() {
19            let scrolled = $(window).scrollTop();
20            if(scrolled > scrollPosition) {
21                firstScrollReveal = true;
22
23                if( $('.custom-model-main').hasClass("show-instantly") && !$('.custom-model-main').hasClass("opened-once") ){
24
25                    console.log('show-instantly');
26                    $('body').addClass('mod-opened');
27                    openCheckoutModal();
28                }
29            }
30        });
31    }
32
33    //TODO: refactor: re-use this function all over instead of repeating
34    function openCheckoutModal(){
35        let modalEl = $('.custom-model-main');
36        if ( !modalEl.hasClass("opened-once") && !$("body").hasClass('checkout-modal-open')  && !modalEl.hasClass('model-open') && !modalOpenedOnce) {
37            console.log('open dispatch');
38            modalEl.addClass('model-open model-opened opened-once');
39            document.dispatchEvent(openEvent);
40            modalOpenedOnce = true;
41        }
42    }
43
44
45    document.addEventListener("modalOpen", function(e) {
46        let vidElement = jQuery('#json-video');
47        let videoUrl = vidElement.data('video-url');
48
49        if( ! vidElement.hasClass('on-load-loaded')){
50            var animItem = bodymovin.loadAnimation({
51                container: document.getElementById('json-video'),
52                renderer: 'svg',
53                loop: false,
54                autoplay: false,
55                path: videoUrl
56            });
57
58            jQuery(vidElement).on('click', function(){
59                animItem.play();
60                let buttonAppearDelay = $(vidElement).data('delay');
61                let buttonEl = $('#popup-button-main');
62                let closeButtonEl = $('#offer-modal-close');
63                setTimeout(function() {
64                    if( !buttonEl.hasClass('enable') ){
65                        buttonEl.addClass('enable');
66                    }
67                    if( !closeButtonEl.hasClass('enable') ){
68                        closeButtonEl.addClass('enable');
69                    }
70                }, buttonAppearDelay * 1000);
71
72            })
73        }
74    });
75
76    var openEvent = new CustomEvent("modalOpen", {});
77
78    let prev_link = document.referrer;
79    if ($(window).width() < 800) {
80        if (!$('.custom-model-main').hasClass('opened-once') && !modalOpenedOnce) {
81            setTimeout(
82                function() {
83                    if (!$("body").hasClass('wfacp_overflow_hide') && !$("body").hasClass('checkout-modal-open') && !modalOpenedOnce) {
84                        $(".custom-model-main").addClass('model-open model-opened');
85                        modalOpenedOnce = true;
86                        console.log('mobile open 82');
87                        document.dispatchEvent(openEvent);
88                    }
89                },25000);
90        }
91        $(".wfacp_modal_close").click(function () {
92            if (!$('.custom-model-main').hasClass('opened-once') && !$("body").hasClass('checkout-modal-open') && !modalOpenedOnce) {
93                $(".custom-model-main").addClass('model-open model-opened');
94                document.dispatchEvent(openEvent);
95                modalOpenedOnce = true;
96            }
97        });
98        var lastScrollTop = 0;
99        $(window).scroll(function(event){
100            var st = $(this).scrollTop();
101            if (!$('.custom-model-main').hasClass("opened-once") && !$("body").hasClass('checkout-modal-open') && !modalOpenedOnce) {
102                if( !$("body").hasClass('show-instantly') ){
103                    if ( st < lastScrollTop ) {
104                        modalOpenedOnce = true;
105                        setTimeout(
106                            function() {
107                                $(".custom-model-main").addClass('model-open model-opened');
108                                console.log('mobile open 101');
109                                document.dispatchEvent(openEvent);
110                            },2000);
111                    }
112                }
113            }
114            lastScrollTop = st;
115        });
116
117    } else {
118        var mY = 0;
119        $(document).mousemove(function(e) {
120            $(".checkout-sticky-header").hover(function(){
121                if (!$(".custom-model-main").hasClass('model-opened') &&  !modalOpenedOnce ) {
122
123                    $(".custom-model-main").addClass('model-open model-opened');
124                    document.dispatchEvent(openEvent);
125                }
126            });
127            mY = e.pageY;
128        });
129
130
131        $(".wfacp_modal_close").click(function () {
132            if (!$(".custom-model-main").hasClass('model-opened') &&  !modalOpenedOnce ) {
133                $(".custom-model-main").addClass('model-open model-opened');
134                document.dispatchEvent(openEvent);
135            }
136        });
137    }
138
139    $(".close-btn").click(function () {
140        $(".custom-model-main").removeClass('model-open');
141        $(".custom-model-main").addClass('opened-once');
142        $(".custom-model-main").remove();
143        $('body').removeClass('mod-opened');
144    });
145
146    $('.custom-model-main a').click(function(){
147        $(".custom-model-main").removeClass('model-open model-opened');
148        $('body').removeClass('mod-opened');
149        document.dispatchEvent(openEvent);
150        $(".custom-model-main").remove();
151    });
152
153    function special_offer_layer() {
154        window.dataLayer = window.dataLayer || [];
155        window.dataLayer.push({
156            'event': 'auto_event_reached_special_offer',
157            'user_id': popup_params.quiz_submit,
158            'language': 'english',
159            'angle': popup_params.angle,
160            'event_GA4': 'reached_special_offer',
161            'event_category': 'special_offer',
162            'event_action': 'page_view',
163            'event_label': popup_params.current_url,
164            'plan_language_type': popup_params.plan_language_type
165        });
166    }
167
168    jQuery(document).ready(function($) {
169        let vidElement = jQuery('#json-video');
170        let videoUrl = vidElement.data('video-url');
171        if(vidElement && videoUrl){
172            var animItem = bodymovin.loadAnimation({
173                container: document.getElementById('json-video'),
174                renderer: 'svg',
175                loop: false,
176                autoplay: false,
177                path: videoUrl
178            });
179            vidElement.addClass('on-load-loaded');
180
181            jQuery(vidElement).on('click', function(){
182                animItem.play();
183                let buttonAppearDelay = $(vidElement).data('delay');
184                let buttonEl = $('#popup-button-main');
185                let closeButtonEl = $('#offer-modal-close');
186                setTimeout(function() {
187                    if( !buttonEl.hasClass('enable') ){
188                        buttonEl.addClass('enable');
189                    }
190                    if( !closeButtonEl.hasClass('enable') ){
191                        closeButtonEl.addClass('enable');
192                    }
193                }, buttonAppearDelay * 1000);
194
195            })
196        }
197    });
198
199});
200

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.