PageSourceSearch

https://www.daikin.com.sg/wp-content/themes/daikin/js/main-script.js?ver=1790277999

js daikin.com.sg collected 2026-09-24 22:40:55 UTC 28,158 bytes, 772 lines download raw bytes

1"use strict";
2var $ = jQuery;
3
4function updateWrapper() {
5    var windowHeight = $(window).height();
6    var headerHeight = $("#pageHeaderWrapper").outerHeight();
7    var footerHeight = $(".footer-wrapper").outerHeight();
8    var takeHeight = $(".takeHeight").outerHeight();
9    //var bottomCta = $(".bottom-cta").outerHeight();
10    $(".giveHeight").css({ height: takeHeight });
11    //$(".margin-container").css({ marginTop: headerHeight });
12    //$(".banner .spacer,.banner .img-holder").css({ paddingBottom: windowHeight - headerHeight });
13    //$(".footer-wrapper").css({ paddingTop: bottomCta / 2 });
14    //$(".has-bottom-cta").css({ paddingBottom: bottomCta / 2 });
15    //$(".bottom-cta").css({ marginTop: - bottomCta });
16    //console.log("height " + headerHeight);
17    if ($(window).width() > 1920) {
18        //$(".topNavWrapper").css({ height: headerHeight });
19        $(".thankyou-img").css({ paddingBottom: windowHeight - headerHeight });
20    }
21}
22
23$(document).ready(function () {
24    updateWrapper();
25    $(window).resize(function () {
26        updateWrapper();
27    });
28    $(window).scroll(function () {
29        if ($(this).scrollTop() > 0) {
30            $('#pageHeaderWrapper').addClass('is-sticky');
31            $('.progress-wrap').addClass('show');
32
33        } else {
34            $("#pageHeaderWrapper").removeClass("is-sticky");
35            $('.progress-wrap').removeClass('show');
36        }
37    });
38});
39$(document).ready(function () {
40    //Comment it for Megamenu
41    // $(".nav-container .nav").meanmenu({
42    //     meanScreenWidth: "1199.98",
43    // });
44    //Comment it for Megamenu END
45});
46$(document).ready(function () {
47    updateContainer();
48    $(window).resize(function () {
49        updateContainer();
50    });
51});
52
53function updateContainer() {
54    // $(".inner-menu").next().remove("a.mean-expand");
55}
56//Match title height
57function MatchHeight() {
58    $(".equalheight").matchHeight();
59    $(".equalheight1").matchHeight();
60    $(".equalheight2").matchHeight();
61    $(".equalheight3").matchHeight();
62    $(".equalheight4").matchHeight();
63    $(".equalheight5").matchHeight();
64    $(".equalheight .grid-header").matchHeight();
65    $(".equalheight .grid-title").matchHeight();
66    $(".equalheight .grid-info").matchHeight();
67    $(".equalheight .grid-footer").matchHeight();
68    $(".equalheight .grid-content").matchHeight();
69    $(".equalheight .news-meta").matchHeight();
70    $(".tab-nav-holder .nav-tabs .nav-item .nav-link").matchHeight();
71}
72
73//(document).ready function- START
74$(document).ready(function () {
75
76    //Comment it for Megamenu
77    // jQuery(".meanmenu-reveal").on("click", function () {
78    //     jQuery(".mean-nav").toggleClass("active");
79    //     jQuery("body").toggleClass("body-noscroll");
80    // });
81    // One Page Mean Menu
82    // if ($(window).width() < 1199.98) {
83    //     jQuery(".mean-nav ul li a").on("click", function () {
84    //         jQuery(".mean-nav").toggleClass("active");
85    //         jQuery("body").toggleClass("body-noscroll");
86    //     });
87    // }
88    // One Page Mean Menu END
89    //Comment it for Megamenu END
90
91    $('[data-bs-toggle="tooltip"]').tooltip({
92        placement: "auto"
93    });
94
95    $('a[data-bs-toggle="tab"]').on("shown.bs.tab", function () {
96        MatchHeight();
97    });
98    $(".tab-content,.accordion").on("hidden.bs.collapse", function () {
99        MatchHeight();
100    });
101
102    //fancybox 
103    Fancybox.bind('[data-fancybox]', {
104        Thumbs: false,
105        Toolbar: false,
106
107        Carousel: {
108            Navigation: {
109                prevTpl: `<i class="fa-solid fa-angle-left"></i>`,
110                nextTpl: `<i class="fa-solid fa-angle-right"></i>`
111            }
112        },
113        on: {
114            done: () => {
115                setTimeout(() => {
116                    $(".slick-slider").slick("setPosition");
117                }, 0);   // important delay
118            }
119        }
120    });
121    //fancybox END
122
123    // Slick Slider START
124    /*- How to USE
125    <div class="slider" 
126     data-show="6" 
127     data-resp='[{"bp":1200, "show":5},{"bp":992, "show":4},{"bp":768, "show":3},{"bp":576, "show":2}]'
128     data-autoplay="true"
129     data-autoplay-speed="2500"
130     data-speed="1200"
131     data-fade="false"
132     data-center="false"
133     data-center-padding="0"
134     data-variable="false"
135     data-append-arrows="#slider-arrow1"
136     data-append-dots="#slider-dots1"
137     data-rows="2"
138     data-custom-paging="true"
139     data-asnavfor="#gallery-nav"
140     data-vertical="true"
141     data-vertical-swiping="true"
142     
143</div>
144
145<div class="custom-arrows" id="slider-arrow1"></div>
146<div class="slider" data-append-arrows="#slider-arrow1">
147
148<div class="custom-dots" id="slider-dots1"></div>
149<div class="slider" data-append-dots="#slider-dots1">
150-*/
151
152    /*--Add slide-last and .slide-first to first and last visible slide--*/
153    function initSlickSlider(selector, options = {}) {
154        $(selector).each(function () {
155            let $slider = $(this);
156
157            // Inline attributes
158            let inlineShow = $slider.data("show");
159            let inlineResp = $slider.data("resp");
160            let inlineAutoplay = $slider.data("autoplay");
161            let inlineAutoplaySpeed = $slider.data("autoplay-speed");
162            let inlineSpeed = $slider.data("speed");
163            let inlineFade = $slider.data("fade");
164            let inlineCenter = $slider.data("center");
165            let inlineCenterPadding = $slider.data("center-padding");
166            let inlineVariable = $slider.data("variable");
167            let inlineArrows = $slider.data("append-arrows");
168            let inlineDots = $slider.data("append-dots");
169            let inlineRows = $slider.data("rows");
170            let inlineCustomPaging = $slider.data("custom-paging");
171            let inlineAsNavFor = $slider.data("asnavfor");
172            let inlinePrevArrow = $slider.data("prev-arrow");
173            let inlineNextArrow = $slider.data("next-arrow");
174            let inlineInfinite = $slider.data("infinite");
175            let inlineVertical = $slider.data("vertical");
176            let inlineVerticalSwiping = $slider.data("vertical-swiping");
177            let inlineAdaptiveHeight = $slider.data("adaptive-height");
178            let inlinePauseOnHover = $slider.data("pause-on-hover");
179
180
181            const defaultOptions = {
182                slidesToShow: 1,
183                slidesToScroll: 1,
184                speed: 1000,
185                autoplay: true,
186                autoplaySpeed: 2000,
187                dots: true,
188                arrows: true,
189                infinite: true,
190                pauseOnHover: true,
191                focusOnSelect: true,
192                centerMode: false,
193                centerPadding: 0,
194                vertical: false,
195                verticalSwiping: false,
196                adaptiveHeight: false,
197                prevArrow:
198                    '<button class="slick-prev" type="button"><i class="arrow-icon"></i></button>',
199                nextArrow:
200                    '<button class="slick-next" type="button"><i class="arrow-icon"></i></button>'
201            };
202
203            // options mapping
204            if (inlineShow) defaultOptions.slidesToShow = parseInt(inlineShow);
205            if (inlineResp) {
206                try {
207                    let respArray = typeof inlineResp === "string" ? JSON.parse(inlineResp) : inlineResp;
208                    defaultOptions.responsive = respArray.map(item => ({
209                        breakpoint: item.bp,
210                        settings: { slidesToShow: item.show }
211                    }));
212                } catch (e) { console.warn("Invalid data-resp format", e); }
213            }
214
215            if (inlineAutoplay !== undefined) defaultOptions.autoplay = inlineAutoplay === true || inlineAutoplay === "true";
216            if (inlineAutoplaySpeed) defaultOptions.autoplaySpeed = parseInt(inlineAutoplaySpeed);
217            if (inlineSpeed) defaultOptions.speed = parseInt(inlineSpeed);
218            if (inlineFade !== undefined) defaultOptions.fade = inlineFade === true || inlineFade === "true";
219            if (inlineCenter !== undefined) defaultOptions.centerMode = inlineCenter === true || inlineCenter === "true";
220            if (inlineCenterPadding) defaultOptions.centerPadding = inlineCenterPadding;
221            if (inlineVariable !== undefined) defaultOptions.variableWidth = inlineVariable === true || inlineVariable === "true";
222            if (inlineArrows) defaultOptions.appendArrows = $(inlineArrows);
223            if (inlineDots) defaultOptions.appendDots = $(inlineDots);
224            if (inlineRows) defaultOptions.rows = parseInt(inlineRows);
225            if (inlineCustomPaging) defaultOptions.customPaging = () => '<a><span>0' + (i + 1) + '</span></a>';
226            if (inlineAsNavFor) defaultOptions.asNavFor = inlineAsNavFor;
227            if (inlineInfinite !== undefined) defaultOptions.infinite = inlineInfinite === true || inlineInfinite === "true";
228            if (inlineVertical !== undefined) defaultOptions.vertical = inlineVertical === true || inlineVertical === "true";
229            if (inlineVerticalSwiping !== undefined) defaultOptions.verticalSwiping = inlineVerticalSwiping === true || inlineVerticalSwiping === "true";
230            if (inlinePrevArrow) defaultOptions.prevArrow = $(inlinePrevArrow).length ? $(inlinePrevArrow) : inlinePrevArrow;
231            if (inlineNextArrow) defaultOptions.nextArrow = $(inlineNextArrow).length ? $(inlineNextArrow) : inlineNextArrow;
232            if (inlineAdaptiveHeight !== undefined) defaultOptions.adaptiveHeight = inlineAdaptiveHeight === true || inlineAdaptiveHeight === "true";
233            if (inlinePauseOnHover !== undefined) { defaultOptions.pauseOnHover = inlinePauseOnHover === true || inlinePauseOnHover === "true";
234            }
235
236            // initialize slick
237            $slider.slick($.extend(true, {}, defaultOptions, options));
238        });
239    }
240    initSlickSlider(".slider");
241    // Slick Slider END
242
243
244
245
246
247    $(".modal").on("shown.bs.modal", function () {
248        $(".slick-slider").slick("setPosition");
249    });
250    /*--tab + accordion + slick slider + matchheight--*/
251    $('a[data-toggle="tab"]').on("shown.bs.tab", function () {
252        setTimeout(function () {
253            MatchHeight();
254            $(".slick-slider").slick("setPosition");
255        }, 10);
256        $(".slick-slider").slick("setPosition");
257    });
258    $(".accordion").on("shown.bs.collapse", function () {
259        setTimeout(function () {
260            MatchHeight();
261            $(".slick-slider").slick("setPosition");
262        }, 10);
263        $(".slick-slider").slick("setPosition");
264    });
265    $(".card").on("shown.bs.collapse", function () {
266        setTimeout(function () {
267            MatchHeight();
268            $(".slick-slider").slick("setPosition");
269        }, 10);
270        $(".slick-slider").slick("setPosition");
271    });
272    /*-tab + accordion + slick slider + matchheight-  END*/
273
274    $("#quickSearch").on("shown.bs.modal", function () {
275        $("input[name=quickSearch]").trigger("focus");
276    });
277    //Search END 
278
279    // Load-more , <div class="row gutters-15 grid-15 loadmore-list" data-limit="6" data-load="1000" data-btn="#btn1">
280    $(".loadmore-list").each(function () {
281        let $list = $(this);
282        // Get limit & load values from data attributes
283        let limit = parseInt($list.data("limit")) || 9;
284        let load = parseInt($list.data("load")) || 9;
285
286        // Responsive adjustment Deducted by 1
287        const w = $(window).width();
288        if (w < 992) { limit--; load--; }
289        if (w < 768) { limit--; load--; }
290
291        // Find external button using data-btn selector
292        let btnSelector = $list.data("btn");
293        let $btn = $(btnSelector);
294
295        $list.loadMore({
296            selector: ".loadmore-item",
297            loadBtn: $btn, // external button
298            limit: limit,
299            load: load,
300            animate: false,
301            //animateIn: 'fadeInUp',
302        });
303    });
304    // Load-more END
305
306
307    //fileinput
308    $(".fileinput").fileinput({
309        browseIcon: "",
310        browseClass: "custom-button button-title button-rounded has-icon btn-upload",
311        browseLabel: "Choose File",
312        showPreview: false,
313        showRemove: false,
314        removeClass: "button",
315        showCancel: false,
316        showUpload: false,
317        initialCaption: "No file chosen",
318    });
319    //fileinput END
320    //DropZone
321    $(".dropzone").dropzone({
322        //url: 'upload.php',
323        margin: 0,
324        text: `<div class="dropzone-content">
325        <i class="fa-solid fa-arrow-up-from-bracket title size-30"></i>
326        <p class="size-16 text-uppercase bld-sm"><span class="primary">Drop or Upload</span> your CV / Resume here</p>
327        </div>`,
328        width: null,
329        height: null,
330        progressBarWidth: null,
331        filesName: 'files',
332        border: '',
333        background: '',
334        zIndex: 100,
335        textColor: '',
336        textAlign: 'center',
337        uploadMode: 'single',
338        progressContainer: '',
339        src: '',
340        dropzoneWraper: 'nniicc-dropzoneParent',
341        files: [],
342        maxFileSize: '10MB',
343        allowedFileTypes: '*',
344        clickToUpload: true,
345        showTimer: false,
346        removeComplete: true,
347        preview: false,
348        uploadOnPreview: false,
349        uploadOnDrop: true,
350        load: null,
351        progress: null,
352        uploadDone: null,
353        error: null,
354        previewDone: null,
355        params: {
356            'action': 'save'
357        },
358        success: function (res, index) {
359            console.log(res, index);
360        }
361    });
362    //DropZone END
363    //NiceSelect
364    $(".NiceSelect select").niceSelect();
365    $("select").on("change", function () {
366        $(this).parent().addClass("nice-selected");
367    });
368    //NiceSelect END   
369    // Form-Floating-Lables
370    $(".floating-label .form-control").focus(function () {
371        $(this).parent().addClass("focus");
372        $(this).parent().parent().addClass("focus");
373    });
374    $(".floating-label .form-control").focusout(function () {
375        $(this).parent().removeClass("focus");
376        $(this).parent().parent().removeClass("focus");
377    });
378    $(".floating-label .form-control").blur(function () {
379        var tmpval = $(this).val();
380        if (tmpval == "") {
381            $(this).parent().addClass("empty");
382            $(this).parent().removeClass("not-empty");
383            $(this).parent().parent().addClass("empty");
384            $(this).parent().parent().removeClass("not-empty");
385        } else {
386            $(this).parent().addClass("not-empty");
387            $(this).parent().removeClass("empty");
388            $(this).parent().parent().addClass("not-empty");
389            $(this).parent().parent().removeClass("empty");
390        }
391    });
392    var inputs = $(".floating-label .form-control");
393    for (var i = 0; i < inputs.length; i++) {
394        if ($(inputs[i]).val() == "") {
395            $(inputs[i]).parent().addClass("empty");
396            $(inputs[i]).parent().removeClass("not-empty");
397            $(inputs[i]).parent().parent().addClass("empty");
398            $(inputs[i]).parent().parent().removeClass("not-empty");
399        } else {
400            $(inputs[i]).parent().addClass("not-empty");
401            $(inputs[i]).parent().removeClass("empty");
402            $(inputs[i]).parent().parent().addClass("not-empty");
403            $(inputs[i]).parent().parent().removeClass("empty");
404        }
405    }
406    // Form-Floating-Lables END
407    /*--Custom-checkbox--*/
408    $(".checkbox label input").change(function () {
409        if ($(this).is(":checked")) {
410            $(this).parent("label").addClass("label-selected");
411        } else {
412            $(this).parent("label").removeClass("label-selected");
413        }
414    });
415    /*--Custom-checkbox END--*/
416    MatchHeight();
417    //Slick Slider in Tab-Accordion
418    $('.nav-tabs .nav-link,.accordion-header a').click(function () {
419        $('.slick-slider').slick('setPosition');
420        MatchHeight();
421    });
422    //Slick Slider in Tab-Accordion END
423    jQuery('.comment-form-cookies-consent').addClass('checkbox');
424
425    jarallax(document.querySelectorAll(".jarallax"), { speed: 0.5, });
426
427    //headerInfoBar
428    $(".header-close").on("click", function (event) {
429        $("#headerInfoBar").remove();
430        $(".header-container").addClass('headerInfo-removed');
431        $(".margin-container").addClass('headerInfo-removed');
432        updateWrapper();
433        event.preventDefault();
434    });
435    //headerInfoBar END
436
437    // Tabs Scroll + Arrows
438    document.querySelectorAll(".nav-tabs").forEach((scroller) => {
439        // Wrap scroller in a container
440        const wrapper = document.createElement("div");
441        wrapper.classList.add("tabs-wrapper");
442        scroller.parentNode.insertBefore(wrapper, scroller);
443        wrapper.appendChild(scroller);
444
445        // Create arrows
446        const leftArrow = document.createElement("button");
447        leftArrow.className = "tab-scroll-arrow arleft";
448        leftArrow.innerHTML = "<i class='fa-solid fa-angle-left'></i>";
449        const rightArrow = document.createElement("button");
450        rightArrow.className = "tab-scroll-arrow arright";
451        rightArrow.innerHTML = "<i class='fa-solid fa-angle-right'></i>";
452
453        wrapper.appendChild(leftArrow);
454        wrapper.appendChild(rightArrow);
455
456        // Mouse wheel → horizontal scroll
457        scroller.addEventListener(
458            "wheel",
459            (e) => {
460                if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) {
461                    scroller.scrollLeft += e.deltaY;
462                    e.preventDefault();
463                }
464            },
465            { passive: false }
466        );
467
468        // Click & drag scroll
469        let isDown = false,
470            startX = 0,
471            startLeft = 0;
472        scroller.addEventListener("mousedown", (e) => {
473            isDown = true;
474            startX = e.pageX;
475            startLeft = scroller.scrollLeft;
476        });
477        window.addEventListener("mouseup", () => {
478            isDown = false;
479        });
480        scroller.addEventListener("mouseleave", () => {
481            isDown = false;
482        });
483        scroller.addEventListener("mousemove", (e) => {
484            if (!isDown) return;
485            e.preventDefault();
486            const dx = e.pageX - startX;
487            scroller.scrollLeft = startLeft - dx;
488        });
489
490        // Arrow click scroll
491        const scrollAmount = 150;
492        leftArrow.addEventListener("click", () => {
493            scroller.scrollBy({ left: -scrollAmount, behavior: "smooth" });
494        });
495        rightArrow.addEventListener("click", () => {
496            scroller.scrollBy({ left: scrollAmount, behavior: "smooth" });
497        });
498
499        // Check scrollable & arrows
500        function updateUI() {
501            if (scroller.scrollWidth <= scroller.clientWidth) {
502                scroller.classList.add("centered");
503                leftArrow.style.display = "none";
504                rightArrow.style.display = "none";
505            } else {
506                scroller.classList.remove("centered");
507                // leftArrow.style.display = scroller.scrollLeft > 0 ? "flex" : "flex";
508                // rightArrow.style.display = scroller.scrollLeft + scroller.clientWidth < scroller.scrollWidth ? "flex" : "flex";
509                //Use below and comment upper if want to hide Arrow if scroll ends JJJ
510                leftArrow.style.display = scroller.scrollLeft > 0 ? "flex" : "none";
511                rightArrow.style.display = scroller.scrollLeft + scroller.clientWidth < scroller.scrollWidth ? "flex" : "none";
512            }
513        }
514
515        scroller.addEventListener("scroll", updateUI);
516        window.addEventListener("resize", updateUI);
517        updateUI(); // init
518
519        // Center active tab on click
520        scroller.querySelectorAll("li, .nav-link, button").forEach((tab) => {
521            tab.addEventListener("click", () => {
522                setTimeout(() => {
523                    const tabRect = tab.getBoundingClientRect();
524                    const scrollerRect = scroller.getBoundingClientRect();
525
526                    const offset =
527                        tab.offsetLeft -
528                        scroller.offsetWidth / 2 +
529                        tab.offsetWidth / 2;
530
531                    scroller.scrollTo({
532                        left: offset,
533                        behavior: "smooth",
534                    });
535                }, 50); // thodu delay for active class update
536            });
537        });
538    });
539    // Tabs Scroll END
540
541    // Counter
542    const stats = document.querySelectorAll(".counter");
543    stats.forEach((stat) => {
544        // pattern used to seperate input number from html into an array of numbers and non numbers. EX $65.3M -> ["$65.3M", "$", "65", ".", "3", "M"]
545        const patt = /(\D+)?(\d+)(\D+)?(\d+)?(\D+)?/;
546        const time = 10;
547        let result = [...patt.exec(stat.textContent)];
548        let fresh = true;
549        let ticks;
550        // Remove first full match from result array (we dont need the full match, just the individual match groups).
551        result.shift();
552        // Remove undefined values from result array where they didnt have a match in one of the optional regex groups
553        result = result.filter((res) => res != null);
554        while (stat.firstChild) {
555            stat.removeChild(stat.firstChild);
556        }
557        for (let res of result) {
558            if (isNaN(res)) {
559                stat.insertAdjacentHTML("beforeend", `<span>${res}</span>`);
560            } else {
561                for (let i = 0; i < res.length; i++) {
562                    stat.insertAdjacentHTML("beforeend", `<span data-value="${res[i]}">
563						<span>0</span>
564						${Array(parseInt(res[i]) + 1)
565                            .join(0)
566                            .split(0)
567                            .map((x, j) => `<span>${j}</span>`)
568                            .join("")}
569					</span>`);
570                }
571            }
572        }
573        ticks = [...stat.querySelectorAll("span[data-value]")];
574        let activate = () => {
575            let top = stat.getBoundingClientRect().top;
576            let offset = window.innerHeight * 0.8;
577            setTimeout(() => {
578                fresh = false;
579            }, time);
580            if (top < offset) {
581                setTimeout(
582                    () => {
583                        for (let tick of ticks) {
584                            let dist = parseInt(tick.getAttribute("data-value")) + 1;
585                            tick.style.transform = `translateY(-${dist * 100}%)`;
586                        }
587                    }, fresh ? time : 0);
588                window.removeEventListener("scroll", activate);
589            }
590        };
591        window.addEventListener("scroll", activate);
592        activate();
593    });
594    // Counter
595
596    //Footer Nav Accordion in Mobile
597    if ($(window).width() < 768) {
598        $(".ftbox h6").on("click", function (event) {
599            event.preventDefault();
600            const $thisBox = $(this).closest(".ftbox");
601            const $thisNav = $thisBox.find(".inner");
602            // Hide all other .footer-nav elements
603            $(".ftbox .inner").not($thisNav).slideUp();
604            // Remove "relative" class from all h6s except the one clicked
605            $(".ftbox h6").not(this).removeClass("active");
606            // Toggle this one
607            $(this).toggleClass("active");
608            $thisNav.stop(true, true).slideToggle();
609            updateWrapper();
610        });
611    }
612    //Footer Nav Accordion in Mobile END
613
614    $('#SmartControlSection1').on('click', function () {
615        $('.home-control').toggleClass('active');
616    });
617
618    // Image Div Hove Content Div Active
619    const imageDivs = document.querySelectorAll('.image-div');
620    const contentDivs = document.querySelectorAll('.content-div');
621
622    imageDivs.forEach((img, index) => {
623        img.addEventListener('mouseenter', () => {
624
625            // badha content mathi active remove karo
626            contentDivs.forEach(content => {
627                content.classList.remove('active');
628            });
629
630            // related content ma active add karo
631            contentDivs[index].classList.add('active');
632        });
633
634        img.addEventListener('mouseleave', () => {
635            contentDivs[index].classList.remove('active');
636        });
637    });
638    // Image Div Hove Content Div Active END
639
640});
641//(document).ready function-END
642
643// Date Time Picker
644$(function () {
645    $(".datepicker").datetimepicker({
646        format: "DD/MM/YYYY",
647        minDate: new Date(),
648    });
649});
650$(function () {
651    $(".inline-datepicker").datetimepicker({
652        format: "DD/MM/YYYY",
653        inline: true
654    });
655});
656$(function () {
657    $(".timepicker").datetimepicker({
658        format: "LT",
659        stepping: 15
660    });
661});
662// Date Time Picker END
663
664//mCustomScrollbar
665(function (jQuery) {
666    jQuery(window).load(function () {
667        $(".Scrollcontent").mCustomScrollbar({
668            //axis:"x", // horizontal scrollbar
669            //axis:"y", // vertical scrollbar
670            theme: "dark",
671            //scrollbarPosition: 'outside',
672            //autoHideScrollbar:false,
673            autoExpandScrollbar: true,
674            mouseWheel: {
675                enable: true
676            },
677            keyboard: {
678                enable: true
679            },
680            advanced: {
681                autoExpandHorizontalScroll: true,
682                updateOnContentResize: true,
683                autoScrollOnFocus: false,
684            },
685            updateOnContentResize: true,
686        });
687        var amount = Math.max.apply(Math, $(".Scrollcontent-horizontal-list li").map(function () {
688            return $(this).outerWidth(true);
689        }).get());
690        $(".Scrollcontent-horizontal-list").mCustomScrollbar({
691            axis: "x", // horizontal scrollbar
692            //axis:"y", // vertical scrollbar
693            theme: "dark",
694            //scrollbarPosition: 'outside',
695            //autoHideScrollbar:false,
696            autoExpandScrollbar: true,
697            mouseWheel: {
698                enable: true
699            },
700            keyboard: {
701                enable: true
702            },
703            advanced: {
704                autoExpandHorizontalScroll: true,
705                updateOnContentResize: true,
706                autoScrollOnFocus: false,
707            },
708            updateOnContentResize: true,
709        })
710    });
711})(jQuery);
712//mCustomScrollbar END
713
714//AOS
715window.addEventListener('load', function () {
716    setTimeout(function () {
717        AOS.init({
718            duration: 1200,
719            //easing: 'ease-in-out-sine',
720            once: true,
721            disable: function () {
722                //return window.innerWidth < 992;
723            },
724        });
725        AOS.refresh();
726    }, 100);
727});
728//AOS END
729
730//SSCROLL
731window.addEventListener("load", function () {
732    const hash = window.location.hash;
733    if (!hash) return;
734    const target = document.querySelector(hash);
735    const header = document.querySelector("#pageHeaderWrapper"); // change selector if needed
736
737    if (target && header) {
738        const headerHeight = header.offsetHeight;
739
740        setTimeout(() => {
741            const elementPosition =
742                target.getBoundingClientRect().top + window.pageYOffset;
743            window.scrollTo({
744                top: elementPosition - headerHeight,
745                behavior: "smooth"
746            });
747        }, 300);
748    }
749});
750//SSCROLL END
751$(window).load(function () {
752    $(".targetDiv").hide();
753    $(".targetDiv").first().show();
754    $(".showSingle").click(function () {
755        $(".targetDiv").hide();
756        $(".showSingle").removeClass("selected");
757        $("#div" + $(this).attr("target")).show();
758        $(this).addClass("selected");
759    });
760});
761
762/*---Accordion accordion-item Active---*/
763$(document).on('click', '.accordion-header a', function (e) {
764    e.preventDefault();
765
766    const $item = $(this).closest('.accordion-item');
767    const $group = $(this).closest('.accordion');
768
769    $group.find('.accordion-item').not($item).removeClass('active');
770    $item.toggleClass('active');
771});
772/*---Accordion accordion-item Active END---*/

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.