PageSourceSearch

https://latepoint.com/wp-content/themes/latepoint-wp-landing8/assets/js/main.js?ver=1.2.6

js latepoint.com collected 2026-09-25 02:32:18 UTC 18,510 bytes, 421 lines download raw bytes

1(function ($) {
2    "use strict";
3
4    $(function () {
5
6        function reduce_time(current_time){
7            let new_time = parseInt(current_time) - 1;
8            if(new_time < 0){
9                new_time = 59;
10            }
11            return String(new_time).padStart(2, '0');
12        }
13
14        jQuery('.close-banner').on('click', function(){
15           jQuery('.top-banner-w').slideUp(300);
16           return false;
17        });
18
19        if(jQuery('.timer-wrapper').length){
20            let $timer = jQuery('.timer-wrapper');
21            let $seconds = $timer.find('.second strong');
22            setInterval(function () {
23                let new_second = reduce_time($seconds.text());
24                $seconds.text(new_second);
25                if(new_second == '59'){
26                    let new_minute = reduce_time($timer.find('.minute strong').text());
27                    $timer.find('.minute strong').text(new_minute);
28                    if(new_minute == '59'){
29                        let new_hour = reduce_time($timer.find('.hour strong').text());
30                        $timer.find('.hour strong').text(new_hour);
31                    }
32                }
33            }, 1000)
34        }
35
36        function reload_demo_iframe() {
37            $('.frame').addClass('loading');
38            let page_type = $('.page-type-selector.selected').data('page-type');
39
40            let url = new URL($('.demo-iframe').data('base-'+page_type+'-src'));
41            url.searchParams.append($('.pages-selection a.selected').data('key'), $('.pages-selection a.selected').data('value'));
42            url.searchParams.append('page_type', page_type);
43
44            url.searchParams.append('color', $('.settings-field .color.selected').data('color'));
45
46            $('.settings-toggler-field input[type="checkbox"]').each(function(){
47                url.searchParams.append($(this).attr('name'), $(this).is(':checked') ? 'yes' : 'no');
48            });
49
50            $('.settings-field select').each(function(){
51                url.searchParams.append($(this).attr('name'), $(this).val());
52            })
53
54
55            $('.demo-iframe').attr("src", url.toString());
56        }
57
58        function set_as_active_step($step) {
59            $('.demo-form-wrapper').attr('data-active-step', $step.data('step-name'));
60            if ($step.data('step-name') == 'contact') $('.customer-info-row').removeClass('hidden');
61        }
62
63        function prev_step() {
64            $('.demo-form-wrapper').removeClass('content-loaded');
65            $('.demo-form-wrapper').addClass('content-hiding');
66            $('.demo-form-wrapper .btn-prev.step-btn').addClass('loading');
67            setTimeout(function () {
68                $('.demo-form-wrapper').removeClass('content-hiding');
69                $('.demo-form-wrapper').addClass('content-loading');
70                setTimeout(function () {
71                    $('.demo-form-wrapper .btn-prev.step-btn').removeClass('loading');
72                    $('.demo-form-wrapper').removeClass('content-loading');
73                    let current_step = $('.demo-form-wrapper .step.active');
74                    let prev_step = current_step.prev('.step');
75                    if (!prev_step.length) {
76                        $('.intro-w').removeClass('showing-demo-form');
77                        return;
78                    }
79                    if (current_step.hasClass('sub-step-active')) {
80                        current_step.removeClass('sub-step-active');
81                        $('.demo-form-wrapper .btn-next.step-btn span').text('Next');
82                        $('.demo-form-wrapper .btn-next.step-btn').addClass('hidden');
83                        return;
84                    }
85                    current_step.removeClass('active');
86                    prev_step.addClass('active');
87                    $('.demo-form-wrapper .summary-panel').removeClass('hidden');
88                    $('.demo-form-wrapper .step-footer').removeClass('hidden');
89                    if (prev_step.data('step-name') == 'contact') {
90                        $('.step-footer .btn-next').removeClass('hidden');
91                    }
92                    $('.demo-form-wrapper .step-heading span').text(prev_step.data('step-title'));
93                    $('.steps-progress .pill.active').removeClass('active').prev('.pill').addClass('active');
94                    // if (false && !prev_step.prev('.step').length) {
95                    //     $('.demo-form-wrapper .step-footer').addClass('hidden');
96                    //     $('.demo-form-wrapper .summary-panel').addClass('hidden');
97                    // }
98                    set_as_active_step(prev_step);
99                }, 300);
100            }, 150);
101        }
102
103        function next_step() {
104            $('.demo-form-wrapper').removeClass('content-loaded');
105            $('.demo-form-wrapper').addClass('content-hiding');
106            $('.demo-form-wrapper .btn-next.step-btn').addClass('loading');
107            setTimeout(function () {
108                $('.demo-form-wrapper').removeClass('content-hiding');
109                $('.demo-form-wrapper').addClass('content-loading');
110                setTimeout(function () {
111                    $('.demo-form-wrapper .btn-next.step-btn').removeClass('loading');
112                    $('.demo-form-wrapper').removeClass('content-loading');
113
114                    let current_step = $('.demo-form-wrapper .step.active');
115                    current_step.removeClass('active');
116                    let next_step = current_step.next('.step');
117                    next_step.addClass('active');
118                    $('.demo-form-wrapper .summary-panel').removeClass('hidden');
119                    $('.demo-form-wrapper .step-footer').removeClass('hidden');
120                    $('.demo-form-wrapper .step-heading span').text(next_step.data('step-title'));
121                    if (next_step.data('step-name') == 'contact') {
122                        $('.step-footer .btn-next').removeClass('hidden');
123                    } else {
124                        $('.step-footer .btn-next').addClass('hidden');
125                    }
126                    $('.steps-progress .pill.active').removeClass('active').next('.pill').addClass('active');
127
128                    if (!next_step.next('.step').length) {
129                        $('.demo-form-wrapper .step-footer').addClass('hidden');
130                        $('.demo-form-wrapper .summary-panel').addClass('hidden');
131                        $('.step-payment.sub-step-active').removeClass('sub-step-active');
132                        $('.demo-notice').hide();
133                    }
134                    set_as_active_step(next_step);
135                }, 300);
136            }, 150);
137        }
138
139        if($('.demo-iframe').length) reload_demo_iframe();
140
141        $(".demo-iframe").on("load", function () {
142            $(this).closest('.frame').removeClass('loading');
143        });
144
145
146        $('.demo-form-wrapper').on('click', '.close-booking-modal', function () {
147            $('.intro-w').removeClass('showing-demo-form');
148            $('.demo-form-wrapper').attr('data-active-step', '');
149            $('.demo-form-wrapper .step-content .step.active').removeClass('active');
150            $('.demo-form-wrapper .step-content .step').first().addClass('active');
151            $('.demo-form-wrapper .summary-panel').removeClass('hidden');
152            $('.demo-form-wrapper .steps-progress .pill').first().addClass('active');
153            $('.demo-form-wrapper .btn-next.step-btn span').text('Next');
154            $('.demo-form-wrapper .sub-info .row').addClass('hidden');
155            return false;
156        });
157
158        $('.demo-form-wrapper').on('keyup', '.affects-summary', function () {
159            $('.customer-info-row .value').text($('.affects-summary.first-name').val() + ' ' + $('.affects-summary.last-name').val());
160        });
161
162        $('.demo-services-list').on('click', '.button', function () {
163            $('.intro-w').addClass('showing-demo-form');
164            $('.demo-notice').show();
165            return false;
166        });
167
168        $('.demo-form-wrapper .timeslots').on('click', '.slot.is-available', function () {
169            next_step();
170            $('.booking-info .booking-time').find('span').length ? $('.booking-info .booking-time').find('span').text(', ' + $(this).text()) : $('.booking-info .booking-time').append('<span>, ' + $(this).text() + '</span>');
171            return false;
172        });
173
174        $('.demo-form-wrapper .step-footer').on('click', '.step-btn.btn-prev', function () {
175            prev_step();
176            return false;
177        });
178
179        $('.demo-form-wrapper .step-footer').on('click', '.step-btn.btn-next', function () {
180            next_step();
181            return false;
182        });
183
184
185        $('.demo-form-wrapper .month-days').on('click', '.day.is-available', function () {
186            $('.timeslots .slot').removeClass('is-available').addClass('is-off');
187            if($(this).hasClass('is-edge')){
188                $('.timeslots .slot:nth-child(1), .timeslots .slot:nth-child(4)').removeClass('is-off').addClass('is-available');
189            }else if($(this).hasClass('is-left-half')){
190                $('.timeslots .slot:nth-child(1), .timeslots .slot:nth-child(2)').removeClass('is-off').addClass('is-available');
191            }else if($(this).hasClass('is-right-half')){
192                $('.timeslots .slot:nth-child(3), .timeslots .slot:nth-child(4)').removeClass('is-off').addClass('is-available');
193            }else{
194                $('.timeslots .slot').removeClass('is-off').addClass('is-available');
195            }
196            $('.demo-form-wrapper .available-times').slideDown(300);
197            $('.day.is-selected').removeClass('is-selected');
198            $(this).addClass('is-selected');
199            $('.booking-info .booking-time').text($(this).data('day-name'));
200            $('.times-heading .label span').text($(this).data('day-name'));
201            return false;
202        });
203
204        $('input[name="price-cat"]').val('annual');
205
206        $('.mobile-menu-trigger, .mobile-menu-close').on('click', function () {
207            $('body').toggleClass('show-mobile-menu');
208            return false;
209        });
210
211        $(document).on('click', '.show-mobile-menu .header-menu-w li.menu-item-has-children > a, .mobile-header-w li.menu-item-has-children > a', function(e) {
212            e.preventDefault();
213            var $elem = $(this).closest('li').find('.sub-menu');
214            $elem.slideToggle(300);
215        });
216
217
218        $('.demo-form-wrapper').on('click', '.item', function () {
219            if ($(this).hasClass('pay-now-trigger')) {
220                $('.step.step-payment.active').addClass('sub-step-active');
221                $('.btn-next.step-btn').removeClass('hidden').find('span').text('Submit');
222            } else {
223                next_step();
224                if ($(this).hasClass('agent')) {
225                    $('.agent-info-row').removeClass('hidden');
226                    $('.agent-info-row .value').text($(this).data('item-name'));
227                }
228            }
229            return false;
230        });
231
232        $('.demo-controls .colors .color').on('click', function () {
233            $('.settings-field .color.selected').removeClass('selected');
234            $(this).addClass('selected');
235            reload_demo_iframe();
236        });
237        $('.demo-controls input[type="checkbox"], .demo-controls select').on('change', function () {
238            reload_demo_iframe();
239        });
240
241        $('.toggle-responsive-frame').on('click', function () {
242            $('.toggle-responsive-frame.active').removeClass('active');
243            $(this).addClass('active');
244            $('.demos-w').removeClass('size-desktop').removeClass('size-phone').removeClass('size-tablet').addClass('size-' + $(this).data('size'));
245
246            reload_demo_iframe();
247            return false;
248        });
249
250        $('.page-type-selector').on('click', function () {
251            $('.page-type-selector.selected').removeClass('selected');
252            $(this).addClass('selected');
253            if($(this).data('page-type') === 'output') {
254                $('.information-w.element-info').show();
255                $('.information-w.shortcode-info').hide();
256            }else if($(this).data('page-type') === 'shortcode'){
257                $('.information-w.element-info').hide();
258                $('.information-w.shortcode-info').show();
259            }else{
260                $('.information-w.element-info').hide();
261                $('.information-w.shortcode-info').hide();
262            }
263            reload_demo_iframe();
264            return false;
265        });
266
267        $('.demos-w .pages-selection a').on('click', function () {
268            $('.demos-w .pages-selection a.selected').removeClass('selected');
269            $(this).addClass('selected');
270            if($(this).hasClass('show-demo-request-form')){
271                $('.demos-w').addClass('showing-demo-request');
272                $('.demo-request-w input.form-control').get(0).focus();
273            }else{
274                $('.information-w.element-info .information').hide();
275                $('.information-w.element-info .information[data-element="'+$(this).data('value')+'"]').show();
276                $('.demos-w').removeClass('showing-demo-request');
277                $('.demos-w').attr('data-selected-element', $(this).data('value'));
278                reload_demo_iframe();
279            }
280            return false;
281        });
282
283        if ($('.feature.tab-trigger').length) {
284            $('.feature.tab-trigger').click(function () {
285                let tab = $(this);
286                $('.tab-developers.is-active').removeClass('is-active');
287                $('.feature.tab-trigger.is-active').removeClass('is-active');
288
289                let activeTabId = tab.data('target');
290                $('#' + activeTabId + '.tab-developers').addClass('is-active');
291                tab.addClass('is-active');
292            });
293        }
294
295        $('.latepoint-tabs').each(function() {
296            const $tabContainer = $(this);
297
298            $tabContainer.find('.tab-nav[data-tab]').on('click', function() {
299                const tabId = $(this).data('tab');
300                $tabContainer.find('.tab-nav').removeClass('is-active');
301                $tabContainer.find('.tab-content').removeClass('is-active');
302                $(this).addClass('is-active');
303                $tabContainer.find(`.tab-content[data-content="${tabId}"]`).addClass('is-active');
304            });
305        });
306
307        if ($('.pricing-w').length) {
308            $('.toggler-btn').on('click', function () {
309                let val = $(this).data('category-id');
310                $('.seats .seat-category').removeClass('active');
311                $('#seat_category_' + val).addClass('active');
312                $('.price-toggles-w .toggler-btn').removeClass('active');
313                $(this).addClass('active');
314                return false;
315            });
316            $('.seat input[type="checkbox"]').change(function () {
317                let isChecked = $(this).is(':checked');
318                let singleHref = $(this).data('single-href');
319                let splitHref = $(this).data('split-href');
320
321                let purchaseBtn = $(this).closest('.seat').find('.purchase-btn');
322
323                if (isChecked) {
324                    purchaseBtn.attr('href', splitHref);
325                } else {
326                    purchaseBtn.attr('href', singleHref);
327                }
328            });
329        }
330
331
332        if ($('.ph-cases').length) {
333            $('.ph-cases').slick({
334                centerMode: true,
335                variableWidth: true,
336                centerPadding: '60px',
337                slidesToShow: 5,
338                slidesToScroll: 1,
339                // autoplay: true,
340                // autoplaySpeed: 2000,
341                responsive: [
342                    {
343                        breakpoint: 768,
344                        settings: {
345                            centerMode: true,
346                            centerPadding: '40px',
347                            slidesToShow: 3
348                        }
349                    },
350                    {
351                        breakpoint: 480,
352                        settings: {
353                            centerMode: true,
354                            centerPadding: '40px',
355                            slidesToShow: 1
356                        }
357                    }
358                ]
359            });
360        }
361
362        if ($('.ph-focus-cards').length) {
363            $('.ph-focus-cards').slick({
364                centerMode: true,
365                variableWidth: true,
366                centerPadding: '60px',
367                slidesToScroll: 1,
368                slidesToShow: 5,
369                // autoplay: true,
370                // autoplaySpeed: 2000,
371                responsive: [
372                    {
373                        breakpoint: 768,
374                        settings: {
375                            centerMode: true,
376                            centerPadding: '40px',
377                            slidesToShow: 3
378                        }
379                    },
380                    {
381                        breakpoint: 480,
382                        settings: {
383                            arrows: false,
384                            centerMode: true,
385                            centerPadding: '40px',
386                            slidesToShow: 1
387                        }
388                    }
389                ]
390            });
391        }
392
393        function randomizeActiveServices() {
394            const $services = $('.latepoint-service').not('.wide');
395            const totalServices = $services.length; // 54
396            const activeCount = 12;
397            const blockSize = Math.floor(totalServices / activeCount);
398
399            setInterval(function () {
400                $services.removeClass('active');
401
402                const indices = [];
403
404                for (let i = 0; i < activeCount; i++) {
405                    const blockStart = i * blockSize;
406                    const blockEnd = Math.min((i + 1) * blockSize, totalServices);
407                    const randomInBlock = blockStart + Math.floor(Math.random() * (blockEnd - blockStart));
408                    indices.push(randomInBlock);
409                }
410
411                indices.forEach(index => $services.eq(index).addClass('active'));
412            }, 3000);
413        }
414
415        // if ($('.latepoint-service').length) {
416        //     randomizeActiveServices();
417        // }
418
419    });
420
421} )( jQuery );

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.