PageSourceSearch

https://www.talenta.co/wp-content/themes/talenta/scripts/main.js?ver=1790224944

js talenta.co collected 2026-09-24 09:37:30 UTC 129,048 bytes, 3,467 lines download raw bytes

1(function ($) {
2    "use strict";
3
4    function setCookie(cname, cvalue, exdays) {
5        var d = new Date();
6        d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
7        var expires = "expires=" + d.toUTCString();
8        document.cookie =
9            cname + "=" + cvalue + ";" + expires + ";path=/;domain=" + document.domain.match(/[^\.]*\.[^.]*$/)[0] + ";";
10        //document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/;domain=" + (document.domain.match(/[^\.]*\.[^.]*$/)) + ";";
11    }
12
13    function getCookie(cname) {
14        var name = cname + "=";
15        var ca = document.cookie.split(";");
16        for (var i = 0; i < ca.length; i++) {
17            var c = ca[i];
18            while (c.charAt(0) == " ") {
19                c = c.substring(1);
20            }
21            if (c.indexOf(name) == 0) {
22                return c.substring(name.length, c.length);
23            }
24        }
25        return "";
26    }
27
28    function updateCookie(cname, cvalue) {
29        //var d = new Date();
30        //d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
31        var ed = getCookie("journey_at");
32        if (ed) {
33            //console.log('created_at : '+ed);
34            var expires = "expires=" + ed;
35            document.cookie =
36                cname +
37                "=" +
38                cvalue +
39                ";" +
40                expires +
41                ";path=/;domain=" +
42                document.domain.match(/[^\.]*\.[^.]*$/)[0] +
43                ";";
44        }
45    }
46
47    function animation() {
48        $(".anim").each(function () {
49            var bottom_of_object = $(this).offset().top + $(this).height() / 4;
50            var bottom_of_window = $(window).scrollTop() + $(window).height();
51
52            if (bottom_of_window > bottom_of_object) {
53                $(this).addClass("animate-in");
54            } else if (bottom_of_object < 100) {
55                $(this).addClass("animate-in");
56            }
57        });
58    }
59
60    function sectionAccordion() {
61        $(".accordion--section").each(function () {
62            var t = $(this),
63                c = t.find(".card");
64
65            c.each(function () {
66                var ct = $(this),
67                    co = ct.find(".card__toggle .link-show"),
68                    cc = ct.find(".card__toggle .link-close"),
69                    cb = ct.find(".collapse");
70
71                co.click(function () {
72                    var ca = $(this).closest(".card");
73                    if (!$(ca).hasClass("open")) {
74                        ca.addClass("open");
75                        $(this).find(".collapse").slideDown();
76                    }
77                });
78
79                cc.click(function () {
80                    var ca = $(this).closest(".card");
81                    if ($(ca).hasClass("open")) {
82                        ca.removeClass("open");
83                        $(this).find(".collapse").slideUp();
84                    }
85                });
86            });
87        });
88    }
89
90    function closeModalTY() {
91        var el = document.querySelector("#modal-thankyou");
92        if (el) {
93            var close = el.querySelector(".modal-close");
94            if (close) {
95                close.addEventListener("click", function () {
96                    var body = document.querySelector("body");
97                    if (body.classList.contains("modal-open")) {
98                        body.classList.remove("modal-open");
99                    }
100
101                    var modal = document.querySelector("#modal-thankyou");
102                    if (modal) {
103                        if (modal.classList.contains("show")) {
104                            modal.classList.remove("show");
105
106                            modal.setAttribute("style", "");
107                        }
108                    }
109
110                    var backdrop = document.querySelector(".modal-backdrop");
111                    if (backdrop) {
112                        if (backdrop.classList.contains("show")) {
113                            backdrop.classList.remove("show");
114                            backdrop.setAttribute("style", "display:none;");
115                        }
116                    }
117                });
118            }
119        }
120    }
121
122    function closeModalEbook() {
123        var el = document.querySelector("#modal-ebook");
124        if (el) {
125            var close = el.querySelector(".gform_button.button");
126            if (close) {
127                close.addEventListener("click", function () {
128                    var body = document.querySelector("body");
129                    if (body.classList.contains("modal-open")) {
130                        body.classList.remove("modal-open");
131                    }
132
133                    var modal = document.querySelector("#modal-ebook");
134                    if (modal) {
135                        if (modal.classList.contains("show")) {
136                            modal.classList.remove("show");
137
138                            modal.setAttribute("style", "");
139                        }
140                    }
141
142                    var backdrop = document.querySelector(".modal-backdrop");
143                    if (backdrop) {
144                        if (backdrop.classList.contains("show")) {
145                            backdrop.classList.remove("show");
146                            backdrop.setAttribute("style", "display:none;");
147                        }
148                    }
149                });
150            }
151        }
152    }
153
154    function stickySide() {
155        if ($(window).width() > 991) {
156            $(".css_sidebar-sticky").each(function () {
157                var obj,
158                    col = $(this),
159                    ph,
160                    wrp;
161
162                obj = $(this).find(".sticky_wrapper");
163                obj.removeClass("fixed").removeAttr("style");
164                ph = obj.height();
165
166                jQuery(window).scroll(function () {
167                    var nav = obj,
168                        hh = $("header").outerHeight(),
169                        nh = nav.height(),
170                        top = jQuery(window).scrollTop(),
171                        parent = col,
172                        mt = parseInt(col.css("margin-top")),
173                        pr = obj.closest(".row"),
174                        prt = pr.offset().top,
175                        tn = nav.offset().top,
176                        tp = parent.offset().top - 20,
177                        te = top - tp + hh + mt,
178                        tf = parseInt(pr.outerHeight()) + prt,
179                        vf = top + nh + 60,
180                        ts = pr.height() - ph,
181                        st = te > ts ? ts : te,
182                        bs = prt + pr.height() - mt;
183                    //console.log(mt);
184
185                    if (top > tp && te < ts) {
186                        nav.css({
187                            top: st,
188                            position: "absolute",
189                            left: 12,
190                            right: 12,
191                        })
192                            .addClass("fixed")
193                            .removeClass("onbottom");
194                    } else if (te > ts) {
195                        nav.removeClass("fixed").addClass("onbottom");
196                    } else if (top < tp) {
197                        nav.removeAttr("style").removeClass("fixed onbottom");
198                    }
199
200                    if (scheduledAnimationFrame) {
201                        return;
202                    }
203
204                    scheduledAnimationFrame = true;
205                    requestAnimationFrame(readAndUpdatePage);
206                });
207            });
208        }
209    }
210
211    function slidermobile() {
212        var w = $(window).width(),
213            slider = $(".slider-xs");
214        if (w < 760) {
215            if (slider.children().length > 1) {
216                slider.addClass("owl-carousel").removeClass("ns");
217                slider.each(function () {
218                    var t = $(this),
219                        item = t.attr("data-items") ? t.attr("data-items") : 1,
220                        navs = t.attr("data-nav") && t.attr("data-nav") == "no" ? false : true,
221                        dot = navs ? false : true,
222                        centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
223                        sP = t.attr("data-sp") ? t.attr("data-sp") : 0,
224                        loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
225                        itemtab = item > 3 ? 3 : item,
226                        itemltab = item > 4 ? 4 : item;
227                    t.owlCarousel({
228                        loop: loops,
229                        dots: true,
230                        nav: false,
231                        autoplay: true,
232                        autoHeight: true,
233                        autoplayTimeout: 10000,
234                        autoplaySpeed: 800,
235                        stagePadding: parseInt(sP),
236                        center: centers,
237                        rewind: true,
238                        responsive: {
239                            0: {
240                                items: item,
241                            },
242                            992: {
243                                items: 3,
244                            },
245                        },
246                    });
247                });
248            }
249        } else {
250            slider.trigger("destroy.owl.carousel").removeClass("owl-carousel owl-loaded");
251            slider.find(".owl-stage-outer").children().unwrap();
252        }
253    }
254    //slidermobile();
255
256    function slidermobilesm() {
257        var w = $(window).width(),
258            slider = $(".slider-sm");
259        if (w < 768) {
260            slider.addClass("owl-carousel").removeClass("ns");
261            slider.each(function () {
262                var t = $(this),
263                    item = t.attr("data-items") ? t.attr("data-items") : 1,
264                    navs = t.attr("data-nav") && t.attr("data-nav") == "no" ? false : true,
265                    dot = navs ? false : true,
266                    centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
267                    sP = t.attr("data-sp") ? t.attr("data-sp") : 0,
268                    loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
269                    itemtab = item > 3 ? 3 : item,
270                    itemltab = item > 4 ? 4 : item;
271                t.owlCarousel({
272                    loop: loops,
273                    dots: true,
274                    nav: false,
275                    autoplay: true,
276                    autoHeight: true,
277                    autoplayTimeout: 10000,
278                    autoplaySpeed: 800,
279                    stagePadding: parseInt(sP),
280                    center: centers,
281                    rewind: true,
282                    responsive: {
283                        0: {
284                            items: item,
285                        },
286                        992: {
287                            items: 3,
288                        },
289                    },
290                });
291            });
292        } else {
293            slider.trigger("destroy.owl.carousel").removeClass("owl-carousel owl-loaded");
294            slider.find(".owl-stage-outer").children().unwrap();
295        }
296    }
297    //slidermobilesm();
298
299    function attendance_slider() {
300        //console.log('abc');
301        $(".full-slider").each(function () {
302            var t = $(this),
303                item = t.attr("data-items") ? t.attr("data-items") : 1,
304                loop = t.attr("data-loop") ? t.attr("data-loop") : true,
305                aw = t.attr("data-width") && t.attr("data-width") == "auto" ? true : false;
306            t.addClass("owl-carousel");
307            t.owlCarousel({
308                navText: ["<i class='fa fa-angle-left'></i>", "<i class='fa fa-angle-right'></i>"],
309                autoplay: true,
310                autoplayTimeout: 1000,
311                autoplayHoverPause: true,
312                center: true,
313                loop: loop,
314                nav: true,
315                items: item,
316                autoWidth: false,
317                autoHeight: true,
318                onInitialized: updateCarousel,
319                onResized: updateCarousel,
320            });
321        });
322
323        function updateCarousel(ev) {
324            var e = ev.currentTarget;
325            var t = e.querySelectorAll(".owl-item");
326            $(t).each(function () {
327                $(this).attr("style", "width:" + e.offsetWidth + "px!important;");
328            });
329        }
330    }
331    //attendance_slider();
332
333    function timeline() {
334        if ($(window).width() > 426) {
335            var windowHeight = $(window).height(),
336                gridTop = windowHeight * 0.3,
337                gridBottom = windowHeight * 0.7;
338
339            $(window).on("scroll", function () {
340                $(".timeline__list li").each(function () {
341                    var thisTop = $(this).offset().top - $(window).scrollTop();
342
343                    if (thisTop > gridTop && thisTop + $(this).height() < gridBottom) {
344                        $(".timeline__list li").not(this).removeClass();
345                        $(this).addClass("active");
346                        $(".timeline__img .img").attr("src", $(this).data("img"));
347                    }
348                });
349
350                if (scheduledAnimationFrame) {
351                    return;
352                }
353
354                scheduledAnimationFrame = true;
355                requestAnimationFrame(readAndUpdatePage);
356            });
357
358            var $window = $(window);
359            var $st = $(".timeline__img");
360            var $stHeight = $st.innerHeight();
361            var $footerOffsetTop = $(".stickyEnd").offset().top;
362            var $stOffset = $st.offset();
363            var $stPos = $window.height() * 0.5 - $stHeight * 0.5;
364            var $stW = $st.width();
365
366            //console.log($stHeight)
367
368            $window.scroll(function () {
369                if ($window.scrollTop() > $stOffset.top - $stPos) {
370                    $st.addClass("fixed");
371                    $st.css({
372                        width: $stW,
373                        top: $stPos + "px",
374                    });
375                } else {
376                    $st.removeClass("fixed");
377                }
378                if ($window.scrollTop() + ($window.height() * 0.5 + $stHeight * 0.5) > $footerOffsetTop) {
379                    $st.css({
380                        top: -($window.scrollTop() + $stHeight - $footerOffsetTop),
381                    });
382                    //console.log('stop')
383                }
384
385                if (scheduledAnimationFrame) {
386                    return;
387                }
388
389                scheduledAnimationFrame = true;
390                requestAnimationFrame(readAndUpdatePage);
391            });
392        }
393    }
394
395    Number.prototype.format = function (n, x) {
396        var re = "\\d(?=(\\d{" + (x || 3) + "})+" + (n > 0 ? "\\." : "$") + ")";
397        return this.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, "g"), "$&,");
398    };
399
400    function tabsAlt() {
401        var dropdown = $(".page-tabs--alt .page-tabs__dropdown");
402        if (dropdown) {
403            $(dropdown).click(function () {
404                if ($(window).width() < 769) {
405                    $(dropdown).toggleClass("active");
406                }
407            });
408
409            var tabs = $(dropdown).find(".nav-link");
410            if (tabs) {
411                $(tabs).click(function () {
412                    var val = $(this).find(".nav-item__title h3").html(),
413                        target = $(dropdown).find(".selected");
414                    $(target).html(val);
415                });
416            }
417        }
418    }
419
420    function tabsRed() {
421        var dropdown = $(".page-tabs--red .page-tabs__dropdown");
422        if (dropdown) {
423            $(dropdown).click(function () {
424                if ($(window).width() < 769) {
425                    $(dropdown).toggleClass("active");
426                }
427            });
428
429            var tabs = $(dropdown).find(".nav-link");
430            if (tabs) {
431                $(tabs).click(function () {
432                    var val = $(this).find("label").html(),
433                        target = $(dropdown).find(".selected");
434                    $(target).html(val);
435                });
436            }
437        }
438    }
439
440    function sliderFeatured() {
441        // console.log('sini');
442        var sync1 = $(".ssync-block__slider");
443        var sync2 = $(".ssync-block__slider-thumb");
444        var sync2Child = sync2.find(".item").length;
445        var slidesPerPage = 4;
446        var syncedSecondary = true;
447        //console.log(sync1);
448        if (sync1.length > 0) {
449            sync1
450                .owlCarousel({
451                    items: 1,
452                    autoplaySpeed: 1000,
453                    nav: false,
454                    autoplay: true,
455                    autoplayTimeout: 10000,
456                    dots: false,
457                    loop: true,
458                    responsiveRefreshRate: 200,
459                })
460                .on("changed.owl.carousel", syncPosition);
461        }
462
463        if (sync2.length > 0) {
464            sync2
465                .on("initialized.owl.carousel", function () {
466                    sync2.find(".owl-item").eq(0).addClass("current");
467                })
468                .owlCarousel({
469                    items: slidesPerPage,
470                    dots: false,
471                    nav: true,
472                    autoplay: true,
473                    autoplayTimeout: 8000,
474                    navText: ["<span class='prev'></span>", "<span class='next'></span>"],
475                    smartSpeed: 200,
476                    slideSpeed: 500,
477                    slideBy: slidesPerPage,
478                    responsiveRefreshRate: 100,
479                    mouseDrag: false,
480                    responsive: {
481                        0: {
482                            items: 1,
483                            navText: [
484                                "<span class='prev'><img src='https://www.talenta.co/wp-content/themes/talenta/images/chevron-left-round.svg' width='30' height='30'></span>",
485                                "<span class='next'><img src='https://www.talenta.co/wp-content/themes/talenta/images/chevron-right-round.svg' width='30' height='30'></span>",
486                            ],
487                        },
488                        768: {
489                            items: 2,
490                        },
491                        1025: {
492                            items: sync2Child,
493                        },
494                    },
495                })
496                .on("changed.owl.carousel", syncPosition2);
497        }
498
499        function syncPosition(el) {
500            var count = el.item.count - 1;
501            var current = Math.round(el.item.index - el.item.count / 2 - 0.5);
502            var vid = $(".ssync-block__slider").find("video");
503
504            vid.trigger("load");
505
506            if (current < 0) {
507                current = count;
508            }
509            if (current > count) {
510                current = 0;
511            }
512
513            sync2.find(".owl-item").removeClass("current").eq(current).addClass("current");
514            var onscreen = sync2.find(".owl-item.active").length - 1;
515            var start = sync2.find(".owl-item.active").first().index();
516            var end = sync2.find(".owl-item.active").last().index();
517
518            if (current > end) {
519                sync2.data("owl.carousel").to(current, 100, true);
520            }
521            if (current < start) {
522                sync2.data("owl.carousel").to(current - onscreen, 100, true);
523            }
524        }
525
526        function syncPosition2(el) {
527            if (syncedSecondary) {
528                var number = el.item.index;
529                sync1.data("owl.carousel").to(number, 100, true);
530            }
531        }
532
533        $(".ssync-block__tab").each(function () {
534            var item = $(this).find(".item"),
535                vid = $(".ssync-block__slider").find("video");
536            item.click(function () {
537                //console.log('tes')
538                vid.trigger("load");
539            });
540        });
541
542        sync2.on("click", ".owl-item", function (e) {
543            e.preventDefault();
544            var number = $(this).index();
545            sync1.data("owl.carousel").to(number, 300, true);
546        });
547    }
548
549    function sliderTabs() {
550        $(".slider-tabs").each(function () {
551            var $slider = $(this),
552                $ww = $(window).width();
553
554            if ($ww > 1601) {
555                $slider.owlCarousel({
556                    items: 4,
557                    autoplay: false,
558                    nav: false,
559                    dots: false,
560                    autoHeight: false,
561                });
562            } else if ($ww > 768) {
563                $slider.owlCarousel({
564                    items: 3,
565                    autoplay: false,
566                    nav: false,
567                    dots: false,
568                    autoHeight: false,
569                });
570            } else {
571                $slider.trigger("destroy.owl.carousel").removeClass("owl-carousel owl-loaded");
572                $slider.find(".owl-stage-outer").children().unwrap();
573            }
574
575            var $link = $slider.find(".nav-link");
576            $link.each(function () {
577                $(this).click(function () {
578                    $link.removeClass("active");
579                });
580            });
581        });
582    }
583
584    function depend() {
585        $(".depend").each(function (i) {
586            var t = $(this),
587                target = $('[name="' + t.data("target") + '"]'),
588                v = t.data("value"),
589                ds = t.css("display");
590
591            function checkDepend(obj) {
592                if (obj.prop("type") == "checkbox" || obj.prop("type") == "radio") {
593                    var isChecked = target.is(":checked");
594                    if (isChecked && !t.hasClass("reverse")) {
595                        t.show(ds);
596                        showDepend(t);
597                    } else if (isChecked && t.hasClass("reverse")) {
598                        t.hide();
599                        hideDepend(t);
600                    } else if (!isChecked && t.hasClass("reverse")) {
601                        t.show(ds);
602                        showDepend(t);
603                    } else {
604                        t.hide();
605                        hideDepend(t);
606                    }
607                } else {
608                    var vv = target.val();
609
610                    if (vv == v && !t.hasClass("reverse")) {
611                        t.show(ds).find(":input");
612                        showDepend(t);
613                    } else if (vv != v && t.hasClass("reverse")) {
614                        t.show(ds);
615                        showDepend(t);
616                    } else {
617                        t.hide();
618                        hideDepend(t);
619                    }
620                }
621            }
622
623            function hideDepend(obj) {
624                obj.find(":input").each(function () {
625                    var tt = $(this);
626                    tt.val(0);
627                    if (tt.prop("tagName") == "SELECT") {
628                        tt.selectpicker("refresh");
629                    }
630                });
631            }
632
633            function showDepend(obj) {
634                obj.find("[data-source]").each(function () {
635                    var tt = $(this),
636                        s = $('input[name="' + tt.data("source") + '"]'),
637                        v = s.val();
638                    tt.val(v).trigger("updates");
639                });
640            }
641            target.change(function () {
642                checkDepend($(this));
643            });
644            checkDepend(target);
645        });
646    }
647
648    function currency() {
649        $("input.currency").each(function () {
650            var t = $(this),
651                plc = $(this).attr("placeholder"),
652                val = $(this).val(),
653                n = parseInt(val.replace(/\D/g, ""), 10).toLocaleStr
653ing(),
654                c = n.replace(/,/g, ".") == "NaN" ? "" : n.replace(/,/g, "."),
655                inp = $("<input type='text' class='field input' placeholder='" + plc + "' value='" + c + "'/>"),
656                par = $(this).parent();
657            t.prop("type", "hidden");
658            par.append(inp);
659
660            inp.keyup(function () {
661                var val = $(this).val(),
662                    vals = val.replace(/\./g, "");
663
664                var n = parseInt(val.replace(/\D/g, ""), 10).toLocaleString();
665                var c = n.replace(/,/g, ".") == "NaN" ? "" : n.replace(/,/g, ".");
666
667                $(this).val(c);
668                t.val(vals).trigger("typed");
669            });
670
671            t.on("updates", function () {
672                var val = $(this).val(),
673                    vals = val.replace(/\./g, "");
674
675                var n = parseInt(val.replace(/\D/g, ""), 10).toLocaleString();
676                var c = n.replace(/,/g, ".") == "NaN" ? "" : n.replace(/,/g, ".");
677
678                inp.val(c);
679                t.val(vals);
680            });
681        });
682    }
683
684    function number() {
685        $(".number").on("keydown", function (e) {
686            -1 !== $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) ||
687                (/65|67|86|88/.test(e.keyCode) && (!0 === e.ctrlKey || !0 === e.metaKey)) ||
688                (35 <= e.keyCode && 40 >= e.keyCode) ||
689                ((e.shiftKey || 48 > e.keyCode || 57 < e.keyCode) &&
690                    (96 > e.keyCode || 105 < e.keyCode) &&
691                    e.preventDefault());
692        });
693    }
694
695    function getNumberofTab() {
696        var tab_number = getCookie("tab");
697        //console.log(tab_number);
698        if (window.name == null || window.name == undefined || window.name == "") {
699            if (!tab_number) {
700                window.name = 1;
701                tab_number = setCookie("tab", 1, 1);
702            } else {
703                //console.log('sini 1');
704                window.name = Number(tab_number) + 1;
705                tab_number = setCookie("tab", Number(tab_number) + 1, 1);
706            }
707        } else {
708            if (!tab_number) {
709                //window.name = 1;
710                tab_number = setCookie("tab", 1, 1);
711            } else {
712                //console.log('sini 2');
713                //window.name = (Number(tab_number)+1);
714                if (window.name != null && window.name != undefined && window.name != "") {
715                    //tab_number = setCookie('tab', (Number(tab_number)+1), 1);
716                } else {
717                    tab_number = setCookie("tab", Number(tab_number) + 1, 1);
718                }
719            }
720        }
721        //console.log(window.name);
722    }
723
724    function hashSmoothScroll() {
725        $(".hash-scroll").each(function () {
726            $(this).css("cursor", "pointer");
727        });
728        $(".hash-scroll").on("click", function (event) {
729            var $top = $(this).data("top") !== undefined ? $(this).data("top") : 0;
730            var $target = $(this).data("target");
731            // console.log('top: '+$top);
732            if (this.hash !== undefined) {
733                event.preventDefault();
734                var hash = this.hash;
735                $("html, body").animate(
736                    {
737                        scrollTop: $(hash).offset().top - $top,
738                    },
739                    500,
740                    function () {
741                        history.pushState(null, null, hash);
742                    }
743                );
744            }
745            if ($target) {
746                $("html, body").animate(
747                    {
748                        scrollTop: $($target).offset().top - $top,
749                    },
750                    500,
751                    function () {
752                        history.pushState(null, null, $target);
753                    }
754                );
755            }
756        });
757    }
758
759    function searchForm() {
760        var sf = document.querySelectorAll("#searchform");
761        if (sf) {
762            var sf_b = document.querySelectorAll(".open-sf");
763            var sf_c = document.querySelectorAll("#searchform .close");
764            if (sf_b) {
765                for (var i = 0; i < sf_b.length; i++) {
766                    sf_b[i].addEventListener("click", function () {
767                        for (var j = 0; j < sf.length; j++) {
768                            $(sf[j]).addClass("show");
769                            $(".header").addClass("searcShow");
770                        }
771                    });
772                }
773            }
774
775            if (sf_c) {
776                for (var i = 0; i < sf_c.length; i++) {
777                    sf_c[i].addEventListener("click", function () {
778                        for (var j = 0; j < sf.length; j++) {
779                            $(sf[j]).removeClass("show");
780                            $(".header").removeClass("searcShow");
781                        }
782                    });
783                }
784            }
785        }
786    }
787
788    var loadMorePost = function () {
789        var list = document.querySelectorAll(".load-more-post");
790        if (list) {
791            $(list).slice(0, 2).show();
792            if ($(".load-more-post:hidden").length == 0) {
793                $(".btn-more").fadeOut("slow");
794            }
795            $(".btn-more").on("click", function (e) {
796                e.preventDefault();
797                $(".load-more-post:hidden").slice(0, 6).slideDown();
798                if ($(".load-more-post:hidden").length == 0) {
799                    $(".btn-more").fadeOut("slow");
800                }
801            });
802        }
803    };
804    loadMorePost();
805
806    function slidersync() {
807        var sync1 = $(".slider-anchor");
808        var sync2 = $(".slider-sync");
809        //console.log(sync1);
810        if (sync1.length > 0) {
811            sync1.owlCarousel({
812                singleItem: true,
813                items: 1,
814                slideSpeed: 1000,
815                navs: false,
816                dots: false,
817                pagination: false,
818                lazyload: true,
819                autoplay: false,
820                onChanged: syncPosition,
821                responsiveRefreshRate: 200,
822                animateOut: "fadeOut",
823            });
824        }
825
826        if (sync2.length > 0) {
827            sync2.owlCarousel({
828                singleItem: true,
829                dots: false,
830                pagination: false,
831                responsiveRefreshRate: 100,
832                onInitialized: function (el) {
833                    sync2.find(".owl-item").eq(el.item.index).addClass("synced");
834                    progressBar(el.item.index);
835                },
836                responsive: {
837                    0: {
838                        items: 1,
839                        loop: false,
840                        nav: false,
841                        mouseDrag: false,
842                        touchDrag: false,
843                        pullDrag: false,
844                        freeDrag: false,
845                    },
846                    769: {
847                        items: 4,
848                        nav: false,
849                    },
850                },
851            });
852        }
853
854        function syncPosition(el) {
855            var current = el.item.index;
856            $(".slider-sync").find(".owl-item").removeClass("synced").eq(current).addClass("synced");
857            if ($(".slider-sync").data("owlCarousel") !== undefined) {
858                center(current);
859            }
860        }
861        var anim;
862
863        function progressBar(idx) {
864            var target = document.querySelectorAll(".slider-sync .owl-item"); //.querySelector('path');
865            var progress = target[idx].querySelector("svg path");
866            var borderLen = progress.getTotalLength() + 5,
867                offset = borderLen;
868            progress.style.strokeDashoffset = borderLen;
869            progress.style.strokeDasharray = borderLen + "," + borderLen;
870            anim = window.requestAnimationFrame(progressBarr);
871
872            function progressBarr() {
873                offset -= 1;
874                progress.style.strokeDashoffset = offset;
875                anim = window.requestAnimationFrame(progressBarr);
876                if (offset < 0) {
877                    window.cancelAnimationFrame(anim);
878                    if (idx < 3) {
879                        sync1.trigger("to.owl.carousel", idx + 1);
880                        progressBar(idx + 1);
881                    } else {
882                        sync1.trigger("to.owl.carousel", 0);
883                        progressBar(0);
884                    }
885                }
886            }
887        }
888
889        $(".slider-sync").on("click", ".owl-item", function (e) {
890            e.stopImmediatePropagation();
891            var number = Number(this.querySelector(".item").getAttribute("data-no"));
892            sync1.trigger("to.owl.carousel", number);
893            window.cancelAnimationFrame(anim);
894            progressBar(number);
895        });
896
897        var next = document.querySelector(".slider-sync-nav .next");
898        if (next) {
899            next.addEventListener("click", function (e) {
900                e.preventDefault();
901                window.cancelAnimationFrame(anim);
902                var current = document.querySelector(".slider-sync .synced .item");
903                if (current) {
904                    var idx = Number(current.getAttribute("data-no"));
905                    if (idx >= 0 && idx < 3) {
906                        sync1.trigger("to.owl.carousel", idx + 1);
907                        progressBar(idx + 1);
908                    } else {
909                        sync1.trigger("to.owl.carousel", 0);
910                        progressBar(0);
911                    }
912                }
913            });
914        }
915
916        var prev = document.querySelector(".slider-sync-nav .prev");
917        if (prev) {
918            prev.addEventListener("click", function (e) {
919                e.preventDefault();
920                window.cancelAnimationFrame(anim);
921                var current = document.querySelector(".slider-sync .synced .item");
922                if (current) {
923                    var idx = Number(current.getAttribute("data-no"));
924                    if (idx == 0) {
925                        sync1.trigger("to.owl.carousel", 3);
926                        progressBar(3);
927                    } else {
928                        //console.log('sini 2');
929                        sync1.trigger("to.owl.carousel", idx - 1);
930                        progressBar(idx - 1);
931                    }
932                }
933            });
934        }
935    }
936
937    function sliderVendor() {
938        var slider = document.querySelectorAll(".slider-row");
939        if (slider.length > 0) {
940            $(".slider-row").each(function () {
941                var t = $(this),
942                    item = t.attr("data-items") ? t.attr("data-items") : 1,
943                    navs = t.attr("data-nav") && t.attr("data-nav") == "yes" ? true : false,
944                    centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
945                    dot = t.attr("data-dot") && t.attr("data-dot") == "yes" ? true : false,
946                    auto = t.attr("data-auto") && t.attr("data-auto") == "no" ? false : true,
947                    loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
948                    margin = t.attr("data-margin") ? t.attr("data-margin") : 0,
949                    child = t.children().length,
950                    ah = t.attr("data-height") && t.attr("data-height") == "auto" ? true : false,
951                    itemtab = item > 1 ? 2 : 1;
952
953                if (child >= item && child > 1) {
954                    t.addClass("owl-carousel").each(function () {
955                        var t = $(this);
956                        t.owlCarousel({
957                            loop: false,
958                            dots: dot,
959                            nav: navs,
960                            navText: ["<span class='prev'></span>", "<span class='next'></span>"],
961                            autoplay: auto,
962                            autoplayTimeout: 8000,
963                            autoplaySpeed: 800,
964                            navSpeed: 800,
965                            dotsSpeed: 800,
966                            center: centers,
967                            autoHeight: ah,
968                            margin: 16,
969                            items: item,
970                            slideBy: "page",
971                            mouseDrag: false,
972                            responsive: {
973                                0: {
974                                    items: 2,
975                                },
976                                768: {
977                                    items: 3,
978                                },
979                                992: {
980                                    items: 5,
981                                },
982                            },
983                        });
984                    });
985                } else {
986                    t.addClass("no-slider slider-xs slider-tab").attr("data-items", 1);
987                    slidermobile();
988                }
989            });
990        }
991    }
992
993    function sliderClients() {
994        if ($(window).width() < 992) {
995            var slider = document.querySelectorAll(".slider-clients");
996            if (slider.length > 0) {
997                $(".slider-clients").each(function () {
998                    var t = $(this),
999                        item = t.attr("data-items") ? t.attr("data-items") : 1,
1000                        navs = t.attr("data-nav") && t.attr("data-nav") == "yes" ? true : false,
1001                        centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
1002                        dot = t.attr("data-dot") && t.attr("data-dot") == "yes" ? true : false,
1003                        auto = t.attr("data-auto") && t.attr("data-auto") == "no" ? false : true,
1004                        loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
1005                        margin = t.attr("data-margin") ? t.attr("data-margin") : 0,
1006                        child = t.children().length,
1007                        ah = t.attr("data-height") && t.attr("data-height") == "auto" ? true : false,
1008                        itemtab = item > 1 ? 2 : 1;
1009
1010                    if (child >= item && child > 1) {
1011                        t.addClass("owl-carousel").each(function () {
1012                            var t = $(this);
1013                            t.owlCarousel({
1014                                loop: true,
1015                                dots: dot,
1016                                nav: navs,
1017                                navText: ["<span class='prev'></span>", "<span class='next'></span>"],
1018                                autoplay: auto,
1019                                autoplayTimeout: 8000,
1020                                autoplaySpeed: 800,
1021                                navSpeed: 800,
1022                                dotsSpeed: 800,
1023                                center: centers,
1024                                autoHeight: ah,
1025                                items: item,
1026                                slideBy: "page",
1027                                mouseDrag: false,
1028                                responsive: {
1029                                    0: {
1030                                        items: 3,
1031                                    },
1032                                    768: {
1033                                        items: 3,
1034                                    },
1035                                    992: {
1036                                        items: 5,
1037                                    },
1038                                },
1039                            });
1040                        });
1041                    } else {
1042                        t.addClass("no-slider slider-xs slider-tab").attr("data-items", 1);
1043                        slidermobile();
1044                    }
1045                });
1046            }
1047        }
1048    }
1049
1050    function sliderClient() {
1051        var slider = document.querySelectorAll(".slider-row-client");
1052        if (slider.length > 0) {
1053            $(".slider-row-client").each(function () {
1054                var t = $(this),
1055                    item = t.attr("data-items") ? t.attr("data-items") : 1,
1056                    navs = t.attr("data-nav") && t.attr("data-nav") == "yes" ? true : false,
1057                    centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
1058                    dot = t.attr("data-dot") && t.attr("data-dot") == "yes" ? true : false,
1059                    auto = t.attr("data-auto") && t.attr("data-auto") == "no" ? false : true,
1060                    loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
1061                    margin = t.attr("data-margin") ? t.attr("data-margin") : 0,
1062                    child = t.children().length,
1063                    ah = t.attr("data-height") && t.attr("data-height") == "auto" ? true : false,
1064                    itemtab = item > 1 ? 2 : 1;
1065
1066                if (child >= item && child > 1) {
1067                    t.addClass("owl-carousel").each(function () {
1068                        var t = $(this);
1069                        t.owlCarousel({
1070                            loop: loops,
1071                            dots: dot,
1072                            nav: navs,
1073                            navText: ["<span class='prev'></span>", "<span class='next'></span>"],
1074                            autoplay: auto,
1075                            autoplayTimeout: 8000,
1076                            autoplaySpeed: 800,
1077                            navSpeed: 800,
1078                            dotsSpeed: 800,
1079                            center: centers,
1080                            autoHeight: ah,
1081                            margin: 16,
1082                            items: item,
1083                            slideBy: "page",
1084                            mouseDrag: false,
1085                            responsive: {
1086                                0: {
1087                                    items: 3,
1088                                },
1089                                768: {
1090                                    items: 4,
1091                                },
1092                                992: {
1093                                    items: 5,
1094                                },
1095                            },
1096                        });
1097                    });
1098                } else {
1099                    t.addClass("no-slider slider-xs slider-tab").attr("data-items", 1);
1100                    slidermobile();
1101                }
1102            });
1103        }
1104    }
1105
1106    var scheduledAnimationFrame;
1107    function readAndUpdatePage() {
1108        //console.log('read and update');
1109        scheduledAnimationFrame = false;
1110    }
1111
1112    function autoAccordion() {
1113        $(".howtalenta").each(function () {
1114            var t = $(this),
1115                accor = t.find(".accordion"),
1116                minH = accor.closest(".row").height() + 64,
1117                card = accor.find(".card"),
1118                cardOpen = accor.find(".card.open"),
1119                imgwrap = t.find(".howtalenta__img"),
1120                img = $(imgwrap).find("img");
1121
1122            imgwrap.css("min-height", minH);
1123
1124            // card.eq(0).addClass('open');
1125            // card.eq(0).find('.card__header').removeClass('collapsed');
1126            // card.eq(0).find('.collapse').addClass('show');
1127
1128            function updateClass() {
1129                var a = t.find(".card.open"),
1130                    src = a.next(".card").data("img");
1131                a = a.next(".card");
1132                if (a.length == 0) {
1133                    a = t.find(".card").first();
1134                    src = a.data("img");
1135                }
1136                // a.find('.card__header').click();
1137                card.removeClass("open");
1138                card.find(".card__header").addClass("collapsed");
1139                card.find(".collapse").slideUp(300);
1140                // console.log(card.find('.collapse').length)
1141                a.addClass("open");
1142                a.find(".card__header").removeClass("collapsed");
1143                a.find(".collapse").slideDown(300);
1144                changeImg(src);
1145                // console.log(src)
1146            }
1147
1148            var x = 1,
1149                interval,
1150                imgsrc,
1151                imgfade;
1152
1153            function changeImg(src) {
1154                //console.log(img);
1155                var src = src;
1156                $(imgwrap).removeClass("img-in");
1157                $(imgwrap).addClass("img-out");
1158                imgsrc = setTimeout(function () {
1159                    img.attr("src", src);
1160                }, 0);
1161                imgfade = setTimeout(function () {
1162                    $(imgwrap).addClass("img-in");
1163                    $(imgwrap).removeClass("img-out");
1164                }, 0);
1165            }
1166
1167            function autoNext() {
1168                interval = setInterval(function () {
1169                    updateClass();
1170                }, x * 8000);
1171            }
1172
1173            if ($(window).width() > 1024) {
1174                clearInterval(interval);
1175                // autoNext();
1176            }
1177
1178            $(window).on("focus", function () {
1179                clearInterval(interval);
1180                updateClass();
1181                //setTimeout(autoNext(), 8000);
1182            });
1183
1184            $(window).on("focusout", function () {
1185                clearInterval(interval);
1186                clearTimeout(imgsrc);
1187                clearTimeout(imgfade);
1188            });
1189
1190            card.click(function (e) {
1191                var src = $(this).data("img");
1192                if ($(window).width() > 1024) {
1193                    clearInterval(interval);
1194                    // setTimeout(autoNext(), 8000);
1195                }
1196                changeImg(src);
1197            });
1198        });
1199    }
1200
1201    function promoStepAccr() {
1202        if ($(window).width() < 992) {
1203            $(".promo-steps").each(function () {
1204                var t = $(this),
1205                    c = t.find(".post");
1206
1207                c.each(function () {
1208                    var ct = $(this),
1209                        ch = ct.find(".post__title"),
1210                        cb = ct.find(".post__content p");
1211
1212                    ct.click(function () {
1213                        $(this).toggleClass("show");
1214                    });
1215                });
1216            });
1217        }
1218    }
1219
1220    function whyCatList() {
1221        $(".why-cat__list").each(function () {
1222            var $t = $(this),
1223                $item = $t.find(".nav-item"),
1224                $link = $t.find(".nav-link"),
1225                $minH = $("#whyContent").height();
1226
1227            // $('#whyContent').css('min-height', $minH);
1228
1229            $link.each(function () {
1230                var $el = $(this);
1231                $el.click(function () {
1232                    $item.removeClass("active");
1233                    $el.closest(".nav-item").addClass("active");
1234                });
1235            });
1236
1237            if ($(window).width() < 992) {
1238                $("#whyContent").css("min-height", "auto");
1239
1240                var $select = $t.closest(".why-cat__sidebar").find(".nav-selected");
1241                $select.on("click", function () {
1242                    if ($t.hasClass("open")) {
1243                        $t.slideUp(300);
1244                        $t.removeClass("open");
1245                    } else {
1246                        $t.slideDown(300);
1247                        $t.addClass("open");
1248                    }
1249                });
1250
1251                $link.on("click", function () {
1252                    var $text = $(this).text();
1253                    $select.text($text);
1254                    $t.slideUp(300);
1255                    $t.removeClass("open");
1256                });
1257            }
1258        });
1259    }
1260
1261    function navTabSelect() {
1262        var $nt = $(".nav-tabs"),
1263            $trig = $nt.data("select-sm"),
1264            $link = $nt.find(".nav-link"),
1265            $nta = $nt.closest("div").find(".nav-tabs__active");
1266
1267        if ($trig == true && $(window).width() < 992) {
1268            $nta.on("click", function () {
1269                $nt.slideToggle(300);
1270            });
1271            $link.on("click", function () {
1272                var $text = $(this).text(),
1273                    $img = $(this).find(".nav-item__icon img").attr("src");
1274                // console.log($img)
1275                $nta.find("span").text($text);
1276                $nta.find(".icon img").attr("src", $img);
1277                $nt.slideUp(300);
1278            });
1279        }
1280    }
1281
1282    function btnSubmitForm() {
1283        var $btn = $(".btn-form-submit"),
1284            $target = $btn.data("form");
1285
1286        $btn.on("click", function (e) {
1287            e.preventDefault();
1288            $($target).submit();
1289        });
1290    }
1291
1292    function init() {
1293        var hash = window.location.hash;
1294        if (hash) {
1295            if ($(hash).hasClass("tab-pane")) {
1296                var $nav = $('.nav-link[href="' + hash + '"]');
1297                if ($nav) {
1298                    $($nav).tab("show");
1299                    $("html, body").animate(
1300                        {
1301                            scrollTop: $(hash).offset().top,
1302                        },
1303                        500,
1304                        function () {
1305                            window.location.hash = hash;
1306                        }
1307                    );
1308                }
1309            } else if ($(hash).hasClass("modal")) {
1310                $(hash).modal("show");
1311            }
1312        }
1313
1314        $('[data-toggle="form-collapse"]').each(function () {
1315            var $t = $(".select-collapse"),
1316                $target = $(this).data("target");
1317
1318            $($t).on("change", function (e) {
1319                /*console.log(this.value,
1320                    this.options[this.selectedIndex].value,
1321                    $(this).find("option:selected").val(),);*/
1322                //var $target = this.options[this.selectedIndex].getAttribute('data-target');
1323
1324                if (this.options[this.selectedIndex].value.toLowerCase() == "ya") {
1325                    $($target).collapse("show");
1326                    $($target).find("input").eq(0).focus();
1327                    $($target).find("input").eq(0).attr("required", "required");
1328                } else {
1329                    $($target).collapse("hide");
1330                    $($target).find("input").eq(0).removeAttr("required");
1331                }
1332            });
1333
1334            /*.on("changed.bs.select", function(e, clickedIndex, newValue, oldValue) {
1335        var $target = this.getAttribute('data-target');
1336        console.log(ths);
1337        if($target) {
1338          $($target).collapse('show');
1339          $($target).find('input').eq(0).focus();
1340          $($target).find('input').eq(0).attr('required','required');
1341        } else {
1342          $($target).collapse('hide');
1343          $($target).find('input').eq(0).removeAttr('required');
1344        }
1345      });*/
1346        });
1347
1348        $("header .has-child > a")
1349            .unbind("click")
1350            .click(function (e) {
1351                if ($(window).width() > 990 && $(window).width() < 1025) {
1352                    e.preventDefault();
1353                }
1354                if ($(window).width() < 991) {
1355                    var $par = $(this).parent();
1356                    if ($par.hasClass("expand")) {
1357                        $par.removeClass("expand");
1358                        // $('header').removeClass('sub-open');
1359                    } else {
1360                        // $('header .has-child').removeClass('expand');
1361                        $par.addClass("expand");
1362                        $("header").addClass("sub-open");
1363                    }
1364                    // $(this).parent().toggleClass("expand");
1365                    return false;
1366                }
1367            });
1368
1369        if (window.location.hash && window.location.hash == "#_=_") {
1370            if (window.history && history.pushState) {
1371                window.history.pushState("", document.title, window.location.pathname);
1372            }
1373        }
1374
1375        $(".form-search").each(function () {
1376            var t = $(this),
1377                i = t.find("input"),
1378                b = t.find(".btn-search"),
1379                c = t.find(".close");
1380
1381            b.click(function () {
1382                t.addClass("search-open");
1383            });
1384            c.click(function () {
1385                t.removeClass("search-open");
1386            });
1387        });
1388
1389        const burger = document.querySelector(".burger-menu");
1390        if (burger) {
1391            burger.addEventListener(
1392                "click",
1393                function () {
1394                    requestAnimationFrame(() => {
1395                        document.body.classList.toggle("menu-open");
1396                    });
1397                },
1398                { passive: true }
1399            );
1400        }
1401
1402        $("body").on("click", ".header_bg", function () {
1403            $("body").removeClass("menu-open");
1404        });
1405
1406        $(".header__search").each(function () {
1407            var $t = $(this),
1408                $btn = $t.find(".btn-search"),
1409                $inp = $t.find("input");
1410
1411            $btn.click(function (e) {
1412                e.stopPropagation();
1413                $t.addClass("show");
1414            });
1415
1416            $inp.click(function (e) {
1417                e.stopPropagation();
1418            });
1419
1420            $(window).click(function () {
1421                $t.removeClass("show");
1422            });
1423        });
1424
1425        $("body")
1426            .find("input.number_field")
1427            .on("keydown", function (e) {
1428                // Allow: backspace, delete, tab, escape, enter and .
1429                //console.log(e.keyCode);
1430                if (
1431                    $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190, 187]) !== -1 ||
1432                    // Allow: Ctrl+A, Command+A
1433                    (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
1434                    // Allow: home, end, left, right, down, up
1435                    (e.keyCode >= 35 && e.keyCode <= 40)
1436                ) {
1437                    // let it happen, don't do anything
1438                    return;
1439                }
1440                // Ensure that it is a number and stop the keypress
1441                if ((e.shiftKey || e.keyCode < 48 || e.keyCode > 57) && (e.keyCode < 96 || e.keyCode > 105)) {
1442                    e.preventDefault();
1443                }
1444            });
1445
1446        $(".lazyload").each(function () {
1447            var t = $(this),
1448                bg = t.data("bg");
1449
1450            if (bg && bg != "") {
1451                if (t.prop("tagName") == "IMG") {
1452                    t.attr("src", bg).addClass("lazyloaded");
1453                    if (t.hasClass("svg")) {
1454                        //toSvg(t);
1455                    }
1456                } else {
1457                    t.css("background-image", 'url("' + bg + '")').addClass("lazyloaded");
1458                }
1459            }
1460        });
1461
1462        // $('img[data-src]').each(function() {
1463        //   var t = $(this);
1464        //   t.attr('src', t.data('src'));
1465        // })
1466
1467        $("body").addClass("ready");
1468
1469        $.fn.shuffle = function () {
1470            var allElems = this.get(),
1471                getRandom = function (max) {
1472                    return Math.floor(Math.random() * max);
1473                },
1474                shuffled = $.map(allElems, function () {
1475                    var random = getRandom(allElems.length),
1476                        randEl = $(allElems[random]).clone(true)[0];
1477                    allElems.splice(random, 1);
1478                    return randEl;
1479                });
1480
1481            this.each(function (i) {
1482                $(this).replaceWith($(shuffled[i]));
1483            });
1484
1485            return $(shuffled);
1486        };
1487        $(".hs3_box .col-3").shuffle();
1488
1489        // if ($(window).scrollTop() > 0) {
1490        //   header.addClass('fixed');
1491        // }
1492        // var lastScroll = 0;
1493        // $(window).scroll(function () {
1494        //     var scroll = $(window).scrollTop();
1495        //     if (scroll > 5) {
1496        //         header.addClass("fixed");
1497        //     } else {
1498        //         header.removeClass("fixed");
1499        //     }
1500        //     if (scroll > lastScroll) {
1501        //         header.removeClass("show-top");
1502        //     } else {
1503        //         header.addClass("show-top");
1504        //     }
1505        //     lastScroll = scroll;
1506        // });
1507
1508        if ($(".timeline__list").length > 0) {
1509            setTimeout(function () {
1510                timeline();
1511            }, 1500);
1512        }
1513
1514        $(".sb").each(function () {
1515            $("body").addClass("has-sb");
1516
1517            $(".sb__close").click(function () {
1518                $(".sb").slideUp(400);
1519                setTimeout(function () {
1520                    $(".sb").remove();
1521                }, 1000);
1522                $("body").removeClass("has-sb");
1523                timeline();
1524            });
1525        });
1526
1527        $(".top-banner").each(function () {
1528            var $t = $(this),
1529                lastScroll = 0,
1530                $body = $("body"),
1531                $start = $t.outerHeight() + $t.offset().top,
1532                $close = $t.find(".tb__close");
1533
1534            $(window).scroll(function () {
1535                var scroll = $(window).scrollTop();
1536                if (scroll > $start) {
1537                    $body.addClass("tbs-show");
1538                } else {
1539                    $body.removeClass("tbs-show");
1540                }
1541                if (scroll > lastScroll) {
1542                    $body.removeClass("tbs-show-top");
1543                } else {
1544                    $body.addClass("tbs-show-top");
1545                }
1546                lastScroll = scroll;
1547            });
1548
1549            $close.on("click", function (e) {
1550                e.preventDefault();
1551                $("body").removeClass("has-tb");
1552                $t.remove();
1553            });
1554        });
1555
1556        function checkTopBanner() {
1557            var topbanner = $(".top-banner");
1558            if (topbanner.length < 1) {
1559                $("body").removeClass("has-tb");
1560            }
1561        }
1562        checkTopBanner();
1563
1564        $(".slider-multmed").each(function () {
1565            var t = $(this),
1566                item = t.attr("data-items") ? t.attr("data-items") : 1,
1567                navs = t.attr("data-nav") && t.attr("data-nav") == "yes" ? true : false,
1568                centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
1569                dot = t.attr("data-dot") && t.attr("data-dot") == "yes" ? true : false,
1570                auto = t.attr("data-auto") && t.attr("data-auto") == "no" ? false : true,
1571                loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
1572                child = t.children().length,
1573                ah = t.attr("data-height") && t.attr("data-height") == "auto" ? true : false,
1574                itemtab = item > 1 ? 2 : 1;
1575
1576            //console.log(child+" -"+item);
1577            if (child > item && child > 2) {
1578                t.addClass("owl-carousel").each(function () {
1579                    var t = $(this);
1580                    t.owlCarousel({
1581                        loop: loops,
1582                        dots: true,
1583                        nav: false,
1584                        navText: ["<span class='prev'></span>", "<span class='next'></span>"],
1585                        autoplay: auto,
1586                        autoplayTimeout: 8000,
1587                        autoplaySpeed: 800,
1588                        navSpeed: 800,
1589                        dotsSpeed: 800,
1590                        center: centers,
1591                        autoHeight: ah,
1592                        items: item,
1593                        rewind: !loops,
1594                        responsive: {
1595                            0: {
1596                                items: 1,
1597                                center: true,
1598                                stagePadding: 25,
1599                            },
1600                            768: {
1601                                items: itemtab,
1602                            },
1603                            992: {
1604                                items: item,
1605                            },
1606                        },
1607                    });
1608                });
1609            } else {
1610                t.addClass("no-sliders slider-tab").attr("data-items", 2);
1611                t.find(".col-md-12").attr("class", "col-md-6");
1612                slidermobile();
1613            }
1614        });
1615
1616        $(".slider-cs").each(function () {
1617            var $t = $(this),
1618                child = $t.children().length,
1619                $dot = $("#slider-cs-dot").find(".owl-dot");
1620
1621            if (child >= 1 && child > 1) {
1622                $t.owlCarousel({
1623                    loop: true,
1624                    dots: true,
1625                    nav: false,
1626                    autoplay: true,
1627                    autoplayTimeout: 8000,
1628                    autoplaySpeed: 800,
1629                    navSpeed: 800,
1630                    dotsSpeed: 800,
1631                    items: 1,
1632                    dotsContainer: "#slider-cs-dot",
1633                });
1634            } else {
1635                $t.addClass("no-slider").attr("data-items", 1);
1636            }
1637            $dot.click(function () {
1638                $t.trigger("to.owl.carousel", [$(this).index(), 300]);
1639            });
1640            $t.on("changed.owl.carousel", function (e) {
1641                $t.trigger("stop.owl.autoplay");
1642                $t.trigger("play.owl.autoplay");
1643            });
1644        });
1645
1646        $(".d-headline").each(function () {
1647            var $t = $(this),
1648                $span = $t.find("span"),
1649                $img = $t.closest(".masthead").find(".masthead__img .media");
1650
1651            var count = 0,
1652                reset = $span.length - 1;
1653            setInterval(function () {
1654                $span.eq(count).fadeOut(0, function () {
1655                    if (count >= reset) {
1656                        count = 0;
1657                    } else {
1658                        count++;
1659                    }
1660                    $span.eq(count).fadeIn(0);
1661                    $img.removeClass("active");
1662                    $img.eq(count).addClass("active");
1663
1664                    // $video = $($img).find('video');
1665                    $($img).each(function () {
1666                        if ($(this).is("video")) {
1667                            $(this).get(0).pause();
1668                            $(this).get(0).currentTime = 0;
1669                            $(this).get(0).play();
1670                        }
1671                    });
1672                });
1673                //console.log('headline')
1674            }, 5000);
1675        });
1676
1677        $(".home-best").each(function () {
1678            var $t = $(this),
1679                $tabs = $t.find(".home-best__tabs"),
1680                $selected = $t.find(".nav-selected"),
1681                $nav = $t.find("ul.nav"),
1682                $link = $t.find(".tab-nav .nav-link");
1683
1684            if ($(window).width() < 1024) {
1685                $selected.click(function (e) {
1686                    event.stopPropagation();
1687                    if (!$nav.hasClass("show")) {
1688                        $nav.addClass("show");
1689                        $nav.slideDown(200);
1690                    } else {
1691                        $nav.removeClass("show");
1692                        $nav.slideUp(200);
1693                    }
1694                });
1695                $(document).click(function () {
1696                    $nav.removeClass("show");
1697                    $nav.slideUp(200);
1698                });
1699
1700                $link.on("click", function () {
1701                    var $img = $(this).find("img").attr("src"),
1702                        $label = $(this).find("span").html();
1703
1704                    $selected.find("img").attr("src", $img);
1705                    $selected.find("span").html($label);
1706                });
1707            }
1708
1709            var $content = $t.find(".tab-content"),
1710                $cItem = $content.find(".item"),
1711                $cImg = $content.find(".tab-box__img img");
1712
1713            if ($(window).width() < 1024) {
1714                $cItem.on("click", function () {
1715                    var $img = $(this).data("img");
1716                    $cImg.removeClass("active");
1717                    $($img).addClass("active");
1718                });
1719            } else {
1720                $cItem.on("mouseover", function () {
1721                    var $img = $(this).data("img"),
1722                        $parent = $(this).closest(".tab-box__content");
1723                    $($parent).find(".item .link-more").removeClass("active");
1724                    $(this).find(".link-more").addClass("active");
1725                    $cImg.removeClass("active");
1726                    $($img).addClass("active");
1727                });
1728                $cItem.on("mouseleave", function () {
1729                    var $parent = $(this).closest(".tab-box__content");
1730                    $($parent).find(".item .link-more").removeClass("active");
1731                    $($parent).find(".item:first-child").find(".link-more").addClass("active");
1732                    $cImg.removeClass("active");
1733                    $content.find(".tab-box__img img:first-child").addClass("active");
1734                });
1735            }
1736        });
1737
1738        $(".accordion:not(.accordion--faq)").each(function () {
1739            var t = $(this),
1740                c = t.find(".card");
1741
1742            c.each(function () {
1743                var ct = $(this),
1744                    ch = ct.find(".card__header"),
1745                    cb = ct.find(".collapse");
1746
1747                ch.click(function () {
1748                    if (!$(this).hasClass("collapsed")) {
1749                        ct.removeClass("open");
1750                        ch.addClass("collapsed");
1751                        cb.slideUp();
1752                        //console.log('close')
1753                    } else {
1754                        c.not(this).removeClass("open");
1755                        c.not(this).find(".card__header").addClass("collapsed");
1756                        c.not(this).find(".collapse").slideUp();
1757                        ct.addClass("open");
1758                        ch.removeClass("collapsed");
1759                        cb.slideDown();
1760                        //console.log('open')
1761                    }
1762                });
1763            });
1764        });
1765
1766        $(".faq-section .accordion--faq").each(function () {
1767            var t = $(this),
1768                c = t.find(".card");
1769
1770            c.each(function () {
1771                var ct = $(this),
1772                    ch = ct.find(".card__header"),
1773                    cb = ct.find(".collapse");
1774
1775                ch.click(function () {
1776                    console.log("click");
1777                    if (!$(this).hasClass("collapsed")) {
1778                        ct.removeClass("open");
1779                    } else {
1780                        c.not(this).removeClass("open");
1781                        ct.addClass("open");
1782                    }
1783                });
1784            });
1785        });
1786
1787        $(".faq-block.faq-block--old .accordion--faq").each(function () {
1788            var t = $(this),
1789                c = t.find(".card");
1790
1791            c.each(function () {
1792                var ct = $(this),
1793                    ch = ct.find(".card__header"),
1794                    cb = ct.find(".collapse");
1795
1796                ch.click(function () {
1797                    if (!$(this).hasClass("collapsed")) {
1798                        ct.removeClass("open");
1799                        ch.addClass("collapsed");
1800                        cb.slideUp();
1801                        //console.log('close')
1802                    } else {
1803                        c.not(this).removeClass("open");
1804                        c.not(this).find(".card__header").addClass("collapsed");
1805                        c.not(this).find(".collapse").slideUp();
1806                        ct.addClass("open");
1807                        ch.removeClass("collapsed");
1808                        cb.slideDown();
1809                        //console.log('open')
1810                    }
1811                });
1812            });
1813        });
1814
1815        $(".faq-block:not(.faq-block--old) .accordion--faq").each(function () {
1816            var t = $(this),
1817                c = t.find(".card");
1818
1819            c.each(function () {
1820                var ct = $(this),
1821                    ch = ct.find(".card__header"),
1822                    cb = ct.find(".collapse");
1823
1824                ch.click(function () {
1825                    if (!$(this).hasClass("collapsed")) {
1826                        ct.removeClass("open");
1827                        ch.addClass("collapsed");
1828                        // cb.slideUp();
1829                        //console.log('close')
1830                    } else {
1831                        c.not(this).removeClass("open");
1832                        c.not(this).find(".card__header").addClass("collapsed");
1833                        // c.not(this).find('.collapse').slideUp();
1834                        ct.addClass("open");
1835                        ch.removeClass("collapsed");
1836                        // cb.slideDown();
1837                        //console.log('open')
1838                    }
1839                });
1840            });
1841        });
1842
1843        $(".partner-map__accr").each(function () {
1844            var $t = $(this),
1845                $item = $t.find(".item"),
1846                $item__desc = $item.find(".item__desc");
1847
1848            $item.each(function () {
1849                var $el = $(this),
1850                    $desc = $el.find(".item__desc");
1851
1852                $el.on("click", function () {
1853                    $item.removeClass("active");
1854                    $el.addClass("active");
1855                });
1856            });
1857        });
1858
1859        $(".tbnefit").each(function () {
1860            var t = $(this),
1861                accor = t.find(".accordion"),
1862                card = accor.find(".card"),
1863                imgwrap = t.find(".tbnefit__img"),
1864                img = t.find(".tbnefit__img img");
1865
1866            card.eq(0).addClass("open");
1867            card.eq(0).find(".card__header").removeClass("collapsed");
1868            card.eq(0).find(".collapse").addClass("show");
1869
1870            function updateClass() {
1871                var a = $(".card.open"),
1872                    src = a.next(".card").data("img");
1873                a = a.next(".card");
1874                if (a.length == 0) {
1875                    a = $(".card").first();
1876                }
1877                a.find(".card__header").click();
1878                changeImg(src);
1879            }
1880
1881            function changeImg(src) {
1882                var src = src;
1883                imgwrap.removeClass("img-in");
1884                imgwrap.addClass("img-out");
1885                setTimeout(function () {
1886                    img.attr("src", src);
1887                }, 600);
1888                setTimeout(function () {
1889                    imgwrap.addClass("img-in");
1890                    imgwrap.removeClass("img-out");
1891                }, 610);
1892            }
1893
1894            var x = 1,
1895                interval;
1896
1897            function autoNext() {
1898                interval = setInterval(function () {
1899                    updateClass();
1900                }, x * 8000);
1901            }
1902            autoNext();
1903
1904            card.on("click", function () {
1905                var src = $(this).data("img");
1906                clearInterval(interval);
1907                autoNext();
1908                changeImg(src);
1909            });
1910        });
1911
1912        $(".accordion--auto").each(function () {
1913            var t = $(this),
1914                card = t.find(".card"),
1915                cardOpen = t.find(".card.open"),
1916                imgwrap = t.data("imgtarget"),
1917                img = $(imgwrap).find("img");
1918
1919            card.eq(0).addClass("open");
1920            card.eq(0).find(".card__header").removeClass("collapsed");
1921            card.eq(0).find(".collapse").addClass("show");
1922
1923            function updateClass() {
1924                var a = t.find(".card.open"),
1925                    src = a.next(".card").data("img");
1926                a = a.next(".card");
1927                if (a.length == 0) {
1928                    a = t.find(".card").first();
1929                }
1930                a.find(".card__header").click();
1931                changeImg(src);
1932            }
1933
1934            function changeImg(src) {
1935                var src = src;
1936                $(imgwrap).removeClass("img-in");
1937                $(imgwrap).addClass("img-out");
1938                setTimeout(function () {
1939                    img.attr("src", src);
1940                }, 600);
1941                setTimeout(function () {
1942                    $(imgwrap).addClass("img-in");
1943                    $(imgwrap).removeClass("img-out");
1944                }, 610);
1945            }
1946
1947            var x = 1,
1948                interval;
1949
1950            function autoNext() {
1951                interval = setInterval(function () {
1952                    updateClass();
1953                }, x * 8000);
1954            }
1955            // autoNext();
1956
1957            card.on("click", function () {
1958                var src = $(this).data("img");
1959                clearInterval(interval);
1960                // setTimeout(autoNext(), 8000);
1961                changeImg(src);
1962            });
1963        });
1964
1965        $(".accordion--img").each(function () {
1966            var t = $(this),
1967                $card = t.find(".card"),
1968                $imgwrap = t.data("target"),
1969                $img = $($imgwrap).find("img");
1970
1971            $card.on("click", function () {
1972                var $el = $(this),
1973                    $i = $el.index();
1974
1975                $img.fadeOut(0);
1976                setTimeout(function () {
1977                    $img.eq($i).fadeIn(400);
1978                }, 200);
1979            });
1980        });
1981
1982        $(".sticky-me").each(function () {
1983            var $t = $(this),
1984                $width = $t.width(),
1985                $height = $t.height(),
1986                $par = $t.parent().outerHeight(true),
1987                $stickyTop = $t.offset().top,
1988                $stickyEnd = $stickyTop + $par - $height,
1989                $offset = $t.data("offset") !== undefined ? $t.data("offset") : 90,
1990                $offsetPlus = 0,
1991                $left = $t.offset().left,
1992                $top = $t.offset().top,
1993                $par = $t.data("parrent"),
1994                $mobile = $t.data("sm");
1995
1996            if ($(window).width() > 1025) {
1997                runScroll();
1998                if ($par) {
1999                    scrollToParent($par);
2000                }
2001            } else if ($mobile == true) {
2002                runScroll();
2003                if ($par) {
2004                    scrollToParent($par);
2005                }
2006            }
2007
2008            function runScroll() {
2009                var lastScroll = 0;
2010                $(window).scroll(function () {
2011                    var scroll = $(window).scrollTop();
2012
2013                    if (scroll > $stickyTop - $offset) {
2014                        stick($t);
2015                        $t.addClass("stick");
2016                    } else {
2017                        unstick($t);
2018                        $t.removeClass("stick");
2019                    }
2020                    if (scroll > $stickyEnd - $height + $offset) {
2021                        stickBot($t);
2022                    }
2023
2024                    if (scroll > lastScroll) {
2025                        $t.removeClass("show-top");
2026                        $offsetPlus = 0;
2027                    } else {
2028                        $t.addClass("show-top");
2029                        $offsetPlus = 0;
2030                    }
2031                    lastScroll = scroll;
2032
2033                    if (scheduledAnimationFrame) {
2034                        return;
2035                    }
2036
2037                    scheduledAnimationFrame = true;
2038                    requestAnimationFrame(readAndUpdatePage);
2039                });
2040            }
2041            function scrollToParent(par) {
2042                var $link = $t.find(".nav-link"),
2043                    $par = par;
2044                $link.on("click", function (event) {
2045                    // console.log('as')
2046                    $("html, body").animate(
2047                        {
2048                            scrollTop: $($par).offset().top - $offset,
2049                        },
2050                        500
2051                    );
2052                });
2053            }
2054
2055            function stick(el) {
2056                var $el = el;
2057                $el.css({
2058                    position: "fixed",
2059                    left: $left,
2060                    top: $offset + $offsetPlus,
2061                    bottom: "",
2062                    width: $width,
2063                    opacity: 1,
2064                });
2065            }
2066
2067            function unstick(el) {
2068                var $el = el;
2069                $el.css({
2070                    position: "",
2071                    left: "",
2072                    top: "",
2073                    bottom: "",
2074                    width: "",
2075                });
2076            }
2077
2078            function stickBot(el) {
2079                var $el = el;
2080                $el.css({
2081                    position: "absolute",
2082                    left: "",
2083                    top: "",
2084                    bottom: 0,
2085                    width: $width,
2086                    opacity: 0,
2087                });
2088            }
2089        });
2090
2091        $(".sticky-sm").each(function () {
2092            var $t = $(this);
2093            $(window).on("scroll", function () {
2094                $t.each(function () {
2095                    var top = $(window).scrollTop(),
2096                        h = $(window).height();
2097
2098                    if (top > 0) {
2099                        $t.addClass("fixed");
2100                    } else {
2101                        $t.removeClass("fixed");
2102                    }
2103                });
2104
2105                if (scheduledAnimationFrame) {
2106                    return;
2107                }
2108                scheduledAnimationFrame = true;
2109                requestAnimationFrame(readAndUpdatePage);
2110            });
2111        });
2112
2113        $(".tf-block").each(function () {
2114            var $t = $(this),
2115                $container = $t.find(".tf-block__container"),
2116                $wrap = $t.find(".tf-block__wrap"),
2117                $item = $t.find(".item");
2118
2119            function checkScreenSize() {
2120                var newWindowWidth = $(window).width();
2121                if (newWindowWidth < 769) {
2122                    mobileSize();
2123                } else {
2124                    desktopSize();
2125                }
2126            }
2127            checkScreenSize();
2128
2129            function desktopSize() {
2130                $wrap.addClass("owl-carousel");
2131                $wrap.owlCarousel({
2132                    loop: false,
2133                    dots: true,
2134                    nav: true,
2135                    navText: [
2136                        "<span class='prev'><img src='https://www.talenta.co/wp-content/uploads/2021/08/ic-chevron.svg'></span>",
2137                        "<span class='next'><img src='https://www.talenta.co/wp-content/uploads/2021/08/ic-chevron.svg'></span>",
2138                    ],
2139                    autoplay: false,
2140                    autoHeight: true,
2141                    margin: 24,
2142                    autoplayTimeout: 10000,
2143                    autoplaySpeed: 800,
2144                    items: 3,
2145                });
2146            }
2147
2148            function mobileSize() {
2149                $wrap.addClass("owl-carousel");
2150                $wrap.owlCarousel({
2151                    loop: false,
2152                    dots: true,
2153                    nav: false,
2154                    autoplay: true,
2155                    autoHeight: true,
2156                    margin: 0,
2157                    autoplayTimeout: 10000,
2158                    autoplaySpeed: 800,
2159                    items: 1,
2160                });
2161            }
2162        });
2163
2164        $(".slider-testi-alt").each(function () {
2165            var slider = $(this),
2166                item = slider.find(".slider-item"),
2167                target = slider.data("imgtarget"),
2168                owl;
2169
2170            if (item.length > 1) {
2171                owl = slider.owlCarousel({
2172                    items: 1,
2173                    loop: true,
2174                    dots: true,
2175                    nav: false,
2176                    autoplay: true,
2177                    autoplayTimeout: 6000,
2178                    autoplaySpeed: 800,
2179                    animateOut: "fadeOut",
2180                    autoHeight: false,
2181                    mouseDrag: false,
2182                });
2183
2184                owl.on("changed.owl.carousel", function (e) {
2185                    var item = e.item.index,
2186                        src = slider.find(".owl-item .slider-item").eq(item).data("img"),
2187                        vid = slider.find(".owl-item .slider-item").eq(item).data("video");
2188                    $(target).find("img").attr("src", src);
2189                    if (vid == "") {
2190                        $(target).find(".btn-play").fadeOut();
2191                    } else {
2192                        $(target).find(".btn-play").fadeIn();
2193                        $(target).find(".btn-play").attr("href", vid);
2194                    }
2195                });
2196            } else {
2197                slider.trigger("destroy.owl.carousel").removeClass("owl-carousel owl-loaded");
2198                slider.find(".owl-stage-outer").children().unwrap();
2199            }
2200        });
2201
2202        $(".block-feat").each(function () {
2203            var $t = $(this),
2204                $list = $t.find(".block-feat__list"),
2205                $item = $list.find(".item"),
2206                $itemBox = $item.find(".item__box"),
2207                $box = $t.find(".block-feat__box");
2208
2209            $item.each(function () {
2210                var $el = $(this),
2211                    $target = $el.data("target");
2212
2213                $el.on("click", function () {
2214                    if (!$el.hasClass("active")) {
2215                        // console.log('run')
2216                        $item.removeClass("active");
2217                        $el.addClass("active");
2218                        $box.removeClass("active");
2219                        $($target).addClass("active");
2220                        if ($(window).width() < 992) {
2221                            $("html,body").animate(
2222                                {
2223                                    scrollTop: $el.offset().top - 90,
2224                                },
2225                                200
2226                            );
2227                        }
2228                    }
2229                });
2230            });
2231        });
2232
2233        $(".section-addons").each(function () {
2234            var url_string = window.location.href,
2235                url = new URL(url_string),
2236                nav_link = $(this).find(".nav-link"),
2237                tab_pane = $(this).find(".tab-pane"),
2238                getaddon = url.searchParams.get("addon");
2239
2240            if (getaddon) {
2241                nav_link.removeClass("active");
2242                tab_pane.removeClass("active");
2243                $('.nav-link[data-target="#' + getaddon + '"]').addClass("active");
2244                $("#" + getaddon).addClass("active");
2245
2246                $("html, body").animate(
2247                    {
2248                        scrollTop: $(".section-addons").offset().top - 64,
2249                    },
2250                    200
2251                );
2252            }
2253        });
2254
2255        var text_truncate = function (str, length, ending) {
2256            if (length == null) {
2257                length = 100;
2258            }
2259            if (ending == null) {
2260                ending = "...";
2261            }
2262            if (str.length > length) {
2263                return str.substring(0, length - ending.length) + ending;
2264            } else {
2265                return str;
2266            }
2267        };
2268
2269        // tax calculator
2270        var formtax = document.querySelector("#tax_calculator");
2271        if (formtax) {
2272            $("#tax_calculator").submit(function (e) {
2273                e.preventDefault();
2274                $.ajax({
2275                    type: "POST",
2276                    url: ajaxurl + "?action=api_forwarder",
2277                    data: $(this).serialize(),
2278                    dataType: "json",
2279                    beforeSend: function () {
2280                        var inputSel = $("input");
2281                        var selectSel = $("select");
2282                        $("#tax_calculator").find('button[type="submit"]').addClass("loading");
2283                        $('label[class="error"]').remove();
2284                        if (inputSel.closest(".input-group").hasClass("invalid")) {
2285                            inputSel.closest(".input-group").removeClass("invalid");
2286                        }
2287                        if (selectSel.closest(".bootstrap-select").hasClass("invalid")) {
2288                            selectSel.closest(".bootstrap-select").removeClass("invalid");
2289                        }
2290                        if ($('input[type="checkbox"]').closest(".checkbox").hasClass("invalid")) {
2291                            $('input[type="checkbox"]').closest(".checkbox").removeClass("invalid");
2292                        }
2293                    },
2294                    success: function (response) {
2295                        if (response.status_code == 422) {
2296                            $("#tax_calculator").find('button[type="submit"]').removeClass("loading");
2297                            $.each(response.errors, function (index, value) {
2298                                var errMsg = '<label class="error">' + value + "</label>";
2299                                var errInput = $('input[name="' + index + '"]');
2300                                var errSelect = $('select[name="' + index + '"]');
2301                                var errCheck = $('input[type="checkbox"]');
2302                                if (errSelect.hasClass("select")) {
2303                                    errSelect.closest(".bootstrap-select").addClass("invalid");
2304                                    if (errSelect.closest(".bootstrap-select").siblings(".error").length < 1) {
2305                                        errSelect.closest(".bootstrap-select").parent().append(errMsg);
2306                                        $("html, body").animate(
2307                                            {
2308                                                scrollTop: errSelect.parent().offset().top,
2309                                            },
2310                                            500
2311                                        );
2312                                    }
2313                                } else {
2314                                    errInput.closest(".input-group").addClass("invalid");
2315                                    if ($('[name="' + index + '"][type="checkbox"]').length > 0) {
2316                                        $('[name="' + index + '"][type="checkbox"]')
2317                                            .closest(".checkbox")
2318                                            .addClass("invalid");
2319                                        // $('[name="'+index+'"][type="checkbox"]').closest('.checkbox').parent().append(errMsg);
2320                                        $("html, body").animate(
2321                                            {
2322                                                scrollTop: $('[name="' + index + '"][type="checkbox"]')
2323                                                    .closest(".checkbox")
2324                                                    .offset().top,
2325                                            },
2326                                            500
2327                                        );
2328                                    }
2329                                    if (errInput.closest(".input-group").siblings(".error").length < 1) {
2330                                        errInput.closest(".input-group").parent().append(errMsg);
2331                                        $("html, body").animate(
2332                                            {
2333                                                scrollTop: errInput.closest(".input-group").parent().offset().top,
2334                                            },
2335                                            500
2336                                        );
2337                                    }
2338                                }
2339                            });
2340                        } else {
2341                            $("#tax_calculator").closest(".container").html(response.html);
2342                            $("html, body").animate(
2343                                {
2344                                    scrollTop: $(".tcal_dataform").offset().top,
2345                                },
2346                                500
2347                            );
2348                            //styleZohoForm();
2349                        }
2350                    },
2351                    error: function (xhr, status, error) {
2352                        var err = eval("(" + xhr.responseText + ")");
2353                        console.log(err.Message);
2354                    },
2355                });
2356            });
2357
2358            $('input[name="basic_salary"]').change(function () {
2359                var digitSalary = $(this).val();
2360                $('input[name="bpjsk_rate"]').val(digitSalary);
2361                $('input[name="bpjstk_rate"]').val(digitSalary);
2362            });
2363        }
2364
2365        function styleZohoForm() {
2366            $(".tcal_dataform:not(.generated)").each(function () {
2367                var t = $(this),
2368                    form = t.find(".quick_form_1_css"),
2369                    input = form.find("input:visible"),
2370                    btn = form.find(":submit");
2371                t.addClass("generated");
2372                btn.addClass("btn btn-blue btn-block");
2373                input.each(function () {
2374                    var t = $(this),
2375                        par = t.closest("div"),
2376                        plc = t.attr("placeholder");
2377                    t.addClass("field");
2378                    par.addClass("field_group");
2379                    $("<label>" + plc + "</label>").insertBefore(t);
2380                });
2381            });
2382        }
2383        //styling Zoho Form
2384        styleZohoForm();
2385
2386        var single = $(".bs");
2387        var st = 0;
2388        if (single.length > 0) {
2389            st = $(".bs-share_wrap-ver").offset().top;
2390        }
2391
2392        $(".slider-acccordion").each(function () {
2393            var t = $(this),
2394                item = t.attr("data-items") ? t.attr("data-items") : 1,
2395                navs = t.attr("data-nav") && t.attr("data-nav") == "yes" ? true : false,
2396                centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
2397                dot = t.attr("data-dot") && t.attr("data-dot") == "yes" ? true : false,
2398                auto = t.attr("data-auto") && t.attr("data-auto") == "no" ? false : true,
2399                loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
2400                child = t.children().length,
2401                ah = t.attr("data-height") && t.attr("data-height") == "auto" ? true : false,
2402                itemtab = item > 1 ? 2 : 1;
2403
2404            if (child >= item && child > 1) {
2405                t.addClass("owl-carousel").each(function () {
2406                    var t = $(this);
2407                    t.owlCarousel({
2408                        loop: loops,
2409                        dots: dot,
2410                        nav: navs,
2411                        navText: ["<span class='prev'></span>", "<span class='next'></span>"],
2412                        autoplay: auto,
2413                        autoplayTimeout: 8000,
2414                        autoplaySpeed: 800,
2415                        navSpeed: 800,
2416                        dotsSpeed: 800,
2417                        center: false,
2418                        autoHeight: ah,
2419                        items: item,
2420                        rewind: !loops,
2421                        onInitialized: accr_car,
2422                        onTranslated: accr_car,
2423                        animateOut: "fadeOut",
2424                        responsive: {
2425                            0: {
2426                                items: 1,
2427                            },
2428                            768: {
2429                                items: itemtab,
2430                            },
2431                            992: {
2432                                items: item,
2433                            },
2434                        },
2435                    });
2436                    t.on("changed.owl.carousel", function (e) {
2437                        var element = e.target; // DOM element, in this example .owl-carousel
2438                        var items = e.item.count; // Number of items
2439                        var item = e.item.index - 1; // Position of the current item
2440
2441                        // it loop is true then reset counter from 1
2442                        if (item > items) {
2443                            item = item - items;
2444                        }
2445                        //console.log("item "+item+" of "+items);
2446                        $(".sol-3_item-wrap").each(function () {
2447                            var t = $(this),
2448                                ss = t.find(".sol-3_item");
2449                            ss.each(function () {
2450                                //console.log($(this).data('id'));
2451                                if ($(this).data("id") == item) {
2452                                    ss.removeClass("active");
2453                                    $(this).addClass("active");
2454                                }
2455                            });
2456                        });
2457                    });
2458                });
2459            } else {
2460                t.addClass("no-slider slider-xs slider-tab").attr("data-items", 1);
2461                slidermobile();
2462            }
2463        });
2464
2465        function accr_car(e) {
2466            $(".sol-3_item-wrap").each(function () {
2467                var t = $(this),
2468                    tc = t.find(".sol-3_item"),
2469                    td = tc.data("id");
2470                tc.each(function () {
2471                    var td = $(this).data("id");
2472                    $(this).click(function () {
2473                        $(".slider-acccordion.owl-carousel").trigger("to.owl.carousel", [td - 1, 800, true]);
2474                        tc.removeClass("active");
2475                        $(this).addClass("active");
2476                    });
2477                    $(this).mouseenter(function () {
2478                        $(".slider-acccordion.owl-carousel").trigger("to.owl.carousel", [td - 1, 800, true]);
2479                        tc.removeClass("active");
2480                        $(this).addClass("active");
2481                    });
2482                    $(this).on("mouseover", function (e) {
2483                        $(".slider-acccordion.owl-carousel").trigger("stop.owl.autoplay");
2484                    });
2485                    $(this).on("mouseleave", function (e) {
2486                        $(".slider-acccordion.owl-carousel").trigger("play.owl.autoplay");
2487                    });
2488                });
2489            });
2490        }
2491
2492        /* $('.video').each(function(){
2493      var $t = $(this),
2494        $video = $t.find('video');
2495      
2496      if($video) {
2497        $video.get(0).play();
2498      }
2499    }) */
2500
2501        $("input[data-source]").each(function () {
2502            var t = $(this),
2503                s = $('input[name="' + t.data("source") + '"]');
2504
2505            s.on("typed", function () {
2506                var v = $(this).val();
2507                t.val(v).trigger("updates");
2508            });
2509        });
2510
2511        $('[data-toggle="check-value"]').change(function () {
2512            var t = $(this),
2513                target = $('input[name="' + t.data("target") + '"]');
2514
2515            if (t.is(":checked")) {
2516                target.val(1);
2517            } else {
2518                target.val(0);
2519            }
2520        });
2521
2522        $(".slider").each(function () {
2523            var t = $(this),
2524                item = t.attr("data-items") ? t.attr("data-items") : 1,
2525                navs = t.attr("data-nav") && t.attr("data-nav") == "yes" ? true : false,
2526                centers = t.attr("data-center") && t.attr("data-center") == "yes" ? true : false,
2527                dot = t.attr("data-dot") && t.attr("data-dot") == "yes" ? true : false,
2528                auto = t.attr("data-auto") && t.attr("data-auto") == "no" ? false : true,
2529                loops = t.attr("data-loop") && t.attr("data-loop") == "no" ? false : true,
2530                child = t.children().length,
2531                ah = t.attr("data-height") && t.attr("data-height") == "auto" ? true : false,
2532                itemtab = item > 1 ? 2 : 1;
2533
2534            if (child > 1) {
2535                t.addClass("owl-carousel").each(function () {
2536                    var t = $(this);
2537                    t.owlCarousel({
2538                        loop: loops,
2539                        dots: dot,
2540                        nav: navs,
2541                        navText: ["<span class='prev'></span>", "<span class='next'></span>"],
2542                        autoplay: auto,
2543                        autoplayTimeout: 8000,
2544                        autoplaySpeed: 800,
2545                        navSpeed: 800,
2546                        dotsSpeed: 800,
2547                        center: centers,
2548                        autoHeight: ah,
2549                        items: item,
2550                        rewind: !loops,
2551                        responsive: {
2552                            0: {
2553                                items: 1,
2554                            },
2555                            768: {
2556                                items: itemtab,
2557                            },
2558                            992: {
2559                                items: item,
2560                            },
2561                        },
2562                    });
2563                });
2564            } else {
2565                t.addClass("no-slider slider-xs slider-tab").attr("data-items", 1);
2566                slidermobile();
2567            }
2568        });
2569
2570        var dd_ = document.querySelectorAll(".gfield_select");
2571        if (dd_.length > 0) {
2572            $(".gfield_select").selectpicker({
2573                style: "select-control",
2574                size: 4,
2575                liveSearchPlaceholder: "Search here..",
2576                width: "100%",
2577            });
2578        }
2579
2580        $('[data-toggle="tooltip"]').tooltip({
2581            container: "body",
2582            //trigger: 'click'
2583        });
2584
2585        /*function autoPlacement() {
2586      if ($(window).width() > 992) {
2587        return "right"
2588      } else {
2589        return "auto"
2590      }
2591    }
2592
2593    $('[data-toggle="tooltip"]').tooltip({
2594      container: 'body',
2595      placement: 'top'
2596      //trigger: 'click'
2597    });
2598
2599    $('[data-toggle="info"]').tooltip({
2600      placement: autoPlacement(),
2601      html: true,
2602      container: '.ch-info',
2603      offset: '4',
2604      //trigger: 'click'
2605    });*/
2606
2607        $("header .dropdown-menu").each(function () {
2608            var t = $(this),
2609                li = t.closest("li");
2610            li.addClass("has-child list");
2611            t.addClass("header_sublist");
2612        });
2613
2614        $(".our-customer__slider").each(function () {
2615            var t = $(this),
2616                item = t.attr("data-items") ? t.attr("data-items") : 1,
2617                child = t.children().length;
2618
2619            if (child >= item && child > 1) {
2620                t.addClass("owl-carousel").each(function () {
2621                    var t = $(this);
2622                    t.owlCarousel({
2623                        loop: !0,
2624                        dots: !1,
2625                        nav: !1,
2626                        navText: ["<span></span>", "<span></span>"],
2627                        autoplay: !0,
2628                        slideTransition: "linear",
2629                        center: !0,
2630                        stagePadding: 100,
2631                        lazyLoad: !0,
2632                        autoplayTimeout: 3020,
2633                        smartSpeed: 3e3,
2634                        animateIn: "linear",
2635                        animateOut: "linear",
2636                        items: 10,
2637                        responsive: {
2638                            0: {
2639                                items: 2,
2640                                center: true,
2641                                stagePadding: 0,
2642                                smartSpeed: 3e3,
2643                            },
2644                            768: {
2645                                items: 4,
2646                            },
2647                            992: {
2648                                items: 10,
2649                            },
2650                        },
2651                    });
2652                });
2653            } else {
2654                t.addClass("no-slider slider-xs slider-tab").attr("data-items", 1);
2655                slidermobile();
2656            }
2657        });
2658
2659        // $('.features:not(.alt)').each(function () {
2660        //   var t = $(this),
2661        //     accor = t.find('.accordion'),
2662        //     card = accor.find('.card'),
2663        //     cardOpen = accor.find('.card.open'),
2664        //     imgwrap = t.find('.features__img'),
2665        //     img = $(imgwrap).find('img');
2666
2667        //   //console.log(imgwrap);
2668
2669        //   card.eq(0).addClass('open');
2670        //   card.eq(0).find('.card__header').removeClass('collapsed');
2671        //   card.eq(0).find('.collapse').addClass('show');
2672
2673        //   function updateClass() {
2674        //     var a = t.find('.card.open'),
2675        //       src = a.next('.card').data('img');
2676        //     a = a.next('.card');
2677        //     if (a.length == 0) {
2678        //       a = t.find('.card').first();
2679        //     }
2680        //     // a.find('.card__header').click();
2681        //     card.removeClass('open');
2682        //     card.find('.card__header').addClass('collapsed');
2683        //     a.addClass('open');
2684        //     a.find('.card__header').removeClass('collapsed');
2685        //     a.find('.collapse').collapse('show');
2686        //     changeImg(src);
2687        //   }
2688
2689        //   function changeImg(src) {
2690        //     //console.log(img);
2691        //     var src = src;
2692        //     $(imgwrap).removeClass('img-in')
2693        //     $(imgwrap).addClass('img-out');
2694        //     setTimeout(function () {
2695        //       img.attr('src', src);
2696        //     }, 600)
2697        //     setTimeout(function () {
2698        //       $(imgwrap).addClass('img-in')
2699        //       $(imgwrap).removeClass('img-out')
2700        //     }, 610)
2701        //   }
2702
2703        //   var x = 1,
2704        //     interval;
2705
2706        //   function autoNext() {
2707        //     interval = setInterval(function () {
2708        //       updateClass();
2709        //     }, x * 8000);
2710        //   }
2711        //   autoNext();
2712
2713        //   card.click(function () {
2714        //     var src = $(this).data('img');
2715        //     clearInterval(interval);
2716        //     setTimeout(autoNext(), 8000);
2717        //     changeImg(src);
2718        //   })
2719
2720        // })
2721
2722        var dd = document.querySelectorAll(".select");
2723        if (dd.length > 0) {
2724            $(".select").selectpicker({
2725                style: "select-control",
2726                size: 10,
2727                liveSearchPlaceholder: "Search here..",
2728                width: "100%",
2729            });
2730        }
2731
2732        $(".custom-form--inquiry").each(function () {
2733            //console.log('here');
2734            var $form = $(this);
2735
2736            $form.submit(function (e) {
2737                $(".has-loading").css("display", "flex");
2738                preventTabKeys();
2739            });
2740
2741            function preventTabKeys() {
2742                $(document).keydown(function (e) {
2743                    var keycode1 = e.keyCode ? e.keyCode : e.which;
2744                    if (keycode1 == 0 || keycode1 == 9) {
2745                        e.preventDefault();
2746                        e.stopPropagation();
2747                    }
2748                });
2749            }
2750        });
2751
2752        $(".contact-ty").each(function () {
2753            var $t = $(this),
2754                $btnGroup = $(".btn-group--custom"),
2755                $btn = $btnGroup.find(".btn"),
2756                $banner = $t.find(".contact-ty__banner"),
2757                $bannerItem = $banner.find(".item"),
2758                $form = $t.find(".contact-ty__form"),
2759                $fgpic = $t.find(".form-group--pic"),
2760                $submit = $form.find('button[type="submit"]'),
2761                $fcName = $form.find(".fc-name"),
2762                $fcName1 = $form.find('.fc-name[data-pic="Jurnal"]'),
2763                $fcName2 = $form.find('.fc-name[data-pic="Flex"]'),
2764                $alertPic = $form.find('.alert[data-label="warning-pic"]');
2765
2766            var url_string = window.location.href;
2767            var url = new URL(url_string);
2768            var name = url.searchParams.get("name") || "";
2769            var email = url.searchParams.get("email") || "";
2770            var phone = url.searchParams.get("phone") || "";
2771
2772            $t.find(".get-name").val(name);
2773            $t.find(".get-email").val(email);
2774            $t.find(".get-phone").val(phone);
2775
2776            function checkCompProduct() {
2777                var $compProduct = "";
2778                $btn.each(function () {
2779                    var $el = $(this),
2780                        $label = $el.data("label");
2781                    if ($el.find("input").is(":checked")) {
2782                        $compProduct = $compProduct + ", " + $label;
2783                    }
2784                });
2785                $("#comp_product").val($compProduct.substring(1));
2786            }
2787
2788            function checkSelected() {
2789                var $inputChecked = $btn.find("input:checked");
2790
2791                if ($inputChecked.length < 1) {
2792                    $submit.addClass("disabled");
2793                    // console.log('1: '+$inputChecked)
2794                } else {
2795                    $submit.removeClass("disabled");
2796                    // console.log('2: '+$inputChecked)
2797                }
2798            }
2799            checkSelected();
2800
2801            function checkPicVal(inp1, inp2) {
2802                var $inp1 = inp1,
2803                    $inp2 = inp2;
2804                if ($inp1 != "" && $inp2 != "") {
2805                    if ($inp1 == $inp2) {
2806                        $alertPic.slideDown();
2807                        $submit.addClass("disabled");
2808                    } else {
2809                        $alertPic.slideUp();
2810                        $submit.removeClass("disabled");
2811                    }
2812                } else {
2813                    $alertPic.slideUp();
2814                    $submit.removeClass("disabled");
2815                }
2816            }
2817
2818            $fcName.each(function () {
2819                var $el = $(this),
2820                    $val = $(this).val();
2821
2822                $el.on("keyup", function () {
2823                    checkPicVal($fcName1.val(), $fcName2.val());
2824                });
2825            });
2826
2827            $btn.each(function () {
2828                var $el = $(this),
2829                    $data = $el.data("item"),
2830                    $input = $el.find("input");
2831
2832                $el.on("click", function () {
2833                    if ($el.hasClass("active")) {
2834                        $form.find(".form-group--pic[data-item=" + $data + "]").slide
2834Up();
2835                        $form
2836                            .find(".form-group--pic[data-item=" + $data + "]")
2837                            .find('input[type="text"]')
2838                            .attr("required", false);
2839                    } else {
2840                        $form.find(".form-group--pic[data-item=" + $data + "]").slideDown();
2841                        $form
2842                            .find(".form-group--pic[data-item=" + $data + "]")
2843                            .find('input[type="text"]')
2844                            .attr("required", "required");
2845
2846                        $bannerItem.removeClass("active");
2847                        $bannerItem.fadeOut(0);
2848                        $banner.find(".item[data-item=" + $data + "]").fadeIn();
2849                    }
2850                });
2851
2852                $input.on("change", function () {
2853                    checkCompProduct();
2854                    checkSelected();
2855                });
2856            });
2857
2858            $fgpic.each(function () {
2859                var $el = $(this),
2860                    $fc = $el.find(".form-control"),
2861                    $cb = $el.find(".custom-control-input"),
2862                    $name = $el.find(".fc-name"),
2863                    $phone = $el.find(".fc-phone");
2864
2865                $cb.on("change", function () {
2866                    if ($cb.is(":checked")) {
2867                        $fc.addClass("disabled");
2868                        $fc.attr("readonly", "readonly");
2869                        $name.val($t.find(".get-name").val());
2870                        $phone.val($t.find(".get-phone").val());
2871                    } else {
2872                        $fc.removeClass("disabled");
2873                        $fc.attr("readonly", false);
2874                        $name.val("");
2875                        $phone.val("");
2876                    }
2877                });
2878            });
2879        });
2880
2881        $("select.has-hidden").each(function () {
2882            var $select = $(this),
2883                $target = $select.data("target");
2884
2885            $select.change(function () {
2886                $($target).val($select.val());
2887            });
2888        });
2889
2890        $("input.has-hidden").each(function () {
2891            var $input = $(this),
2892                $target = $input.data("target");
2893
2894            $input.keyup(function () {
2895                $($target).val($input.val());
2896            });
2897        });
2898
2899        $("textarea.has-hidden").each(function () {
2900            var $input = $(this),
2901                $target = $input.data("target");
2902
2903            $input.keyup(function () {
2904                $($target).val($input.val());
2905            });
2906        });
2907
2908        $("input[type=checkbox].has-hidden").each(function () {
2909            var $checkbox = $(this),
2910                $target = $checkbox.data("target"),
2911                $valtrue = $checkbox.data("valtrue"),
2912                $valfalse = $checkbox.data("valfalse");
2913
2914            $checkbox.change(function () {
2915                if (this.checked) {
2916                    $($target).val($valtrue);
2917                } else {
2918                    $($target).val($valfalse);
2919                }
2920            });
2921        });
2922
2923        $(".has-hidden-form").each(function () {
2924            var $t = $(this),
2925                $target = $t.attr("data-form");
2926
2927            if ($($target).length > 0) {
2928                $t.click(function (e) {
2929                    e.preventDefault();
2930                    $($target).submit();
2931                    // alert($($target).serialize())
2932                });
2933            }
2934        });
2935
2936        $("#changelogFilter").each(function () {
2937            var $t = $(this),
2938                $inp = $t.find("input"),
2939                $window = $(window);
2940
2941            if ($window.width() > 512) {
2942                $inp.change(function () {
2943                    $t.submit();
2944                });
2945            }
2946        });
2947
2948        $(".changelog__searchalt").each(function () {
2949            var $t = $(this),
2950                $btn = $t.find(".btn-filter"),
2951                $modal = $(".modal-filter"),
2952                $backdrop = $(".modal-filter__backdrop"),
2953                $input = $t.find(".form-search input");
2954
2955            $(".form-search").submit(function (e) {
2956                e.preventDefault();
2957                var $target = $("#changelogFilter").find(".form-search input");
2958                $target.val($input.val());
2959                $("#changelogFilter").submit();
2960            });
2961
2962            $btn.click(function () {
2963                $modal.fadeIn(200);
2964                setTimeout(function () {
2965                    $(".modal-filter__body").addClass("show");
2966                }, 300);
2967                $("body").addClass("modal-open");
2968            });
2969
2970            $backdrop.click(function () {
2971                $(".modal-filter__body").removeClass("show");
2972                setTimeout(function () {
2973                    $modal.fadeOut(200);
2974                }, 300);
2975                $("body").removeClass("modal-open");
2976            });
2977        });
2978
2979        $("#changelogFilter").submit(function () {
2980            var filter = $("#changelogFilter");
2981            $.ajax({
2982                url: filter.attr("action"),
2983                data: filter.serialize(),
2984                type: filter.attr("method"),
2985                beforeSend: function (xhr) {
2986                    $(".changelog__posts").addClass("loading");
2987                },
2988                success: function (data) {
2989                    $("#changelog_items").children().remove();
2990                    $("#changelog_items").html(data);
2991                    $(".changelog__posts").removeClass("loading");
2992                },
2993            });
2994            // console.log(filter.serialize())
2995            return false;
2996        });
2997
2998        $(".header .menu-tab .menu-tab__link").each(function () {
2999            $(this).on("click", function () {
3000                if (!$(this).hasClass("active")) {
3001                    var $parent = $(this).closest(".main-menu__sub");
3002                    $parent.find(".menu-tab .menu-tab__link").not(this).removeClass("active");
3003                    $(this).addClass("active");
3004
3005                    var target = $(this).attr("data-target");
3006                    if (target) {
3007                        $parent.find(".menu-tab__content").not($(target)).removeClass("active");
3008                        if (!$(target).hasClass("active")) {
3009                            $(target).addClass("active");
3010                        }
3011                    }
3012                }
3013            });
3014        });
3015
3016        $(".header .header__main .main-menu .main-menu__item.has-child .main-menu__link").each(function () {
3017            $(this).on("click", function (e) {
3018                if ($(window).width() > 990 && $(window).width() < 1025) {
3019                    e.preventDefault();
3020                }
3021                if ($(window).width() < 991) {
3022                    var target = $(".header .header__left .header__back span");
3023                    if (target) {
3024                        target.html($(this).html());
3025                    }
3026                }
3027            });
3028        });
3029
3030        $(".header .header__left .header__back").on("click", function () {
3031            $(".main-menu__item.has-child").each(function () {
3032                if ($(this).hasClass("expand")) {
3033                    $(this).removeClass("expand");
3034                }
3035            });
3036
3037            if ($(".header").hasClass("sub-open")) {
3038                $(".header").removeClass("sub-open");
3039            }
3040        });
3041
3042        $(".socmed-proof__slider").each(function () {
3043            var t = $(this),
3044                container = t.closest(".socmed-proof__container"),
3045                duration = 0,
3046                direction = "left";
3047
3048            if ($(this).attr("data-direction")) {
3049                direction = $(this).attr("data-direction");
3050            }
3051
3052            if ($(window).width() > 425) {
3053                duration = 40000;
3054            } else {
3055                duration = 10000;
3056            }
3057
3058            $(container).marquee({
3059                duration: duration,
3060                direction: direction,
3061                startVisible: true,
3062                duplicated: true,
3063                gap: 0,
3064                pauseOnHover: true,
3065            });
3066        });
3067
3068        const observer = new IntersectionObserver((entries) => {
3069            entries.forEach((entry) => {
3070                const id = entry.target.getAttribute("id");
3071                //console.log(entry.intersectionRatio);
3072                if (entry.intersectionRatio > 0) {
3073                    $(".industry-cat__list li.active").removeClass("active");
3074                    document
3075                        .querySelector(`.industry-cat__list li a[href="#${id}"]`)
3076                        .parentElement.classList.add("active");
3077                } //else {
3078                //document.querySelector(`.industry-cat__list li a[href="#${id}"]`).parentElement.classList.remove('active');
3079                //}
3080            });
3081        });
3082
3083        document.querySelectorAll(".industry-cat__accr-item[id]").forEach((section) => {
3084            observer.observe(section);
3085        });
3086
3087        /*$('.industry-cat__accr-item').each(function(){
3088      var id = $(this).attr('id');
3089      var waypoint = new Waypoint({
3090        element: document.getElementById(id),
3091        handler: function(e) {
3092          var element = this.element.id,
3093              target = $('.industry-cat__list a[href*="'+element+'"]'),
3094              parent = target.closest('li');
3095
3096          $('.industry-cat__list li.active').removeClass('active');
3097        
3098          if(!$(parent).hasClass('active')){
3099            $(parent).addClass('active');
3100          } 
3101        },
3102        offset: '50%'
3103      })
3104    });*/
3105
3106        $(".industry-cat__list li").each(function () {
3107            $(this).on("click", function () {
3108                $(".industry-cat__list li.active").removeClass("active");
3109
3110                if (!$(this).hasClass("active")) {
3111                    $(this).addClass("active");
3112                }
3113            });
3114        });
3115
3116        $(".industry-cat__accr .industry-cat__accr-item .industry-cat__accr-body .item .item__title").each(function () {
3117            $(this).on("click", function () {
3118                if ($(window).width() < 992) {
3119                    if (!$(this).closest(".item").hasClass("active")) {
3120                        $(".industry-cat__accr .industry-cat__accr-item .industry-cat__accr-body .item").removeClass(
3121                            "active"
3122                        );
3123                        $(this).closest(".item").addClass("active");
3124                        $("html, body").animate({ scrollTop: $(this).closest(".item").offset().top - 60 }, "slow");
3125                    } else {
3126                        $(this).closest(".item").removeClass("active");
3127                    }
3128                }
3129            });
3130        });
3131
3132        $("#why-select").on("changed.bs.select", function (e, clickedIndex, newValue, oldValue) {
3133            $("#why-select-table").val(this.value);
3134            $("#why-select-table").selectpicker("refresh");
3135            $(".why-page__items .item:not(.item--label) .item__cell:not(.talenta)").addClass("hide");
3136            $(".why-page__items .item:not(.item--label)")
3137                .find("." + this.value)
3138                .removeClass("hide");
3139        });
3140
3141        $("#why-select-table").on("changed.bs.select", function (e, clickedIndex, newValue, oldValue) {
3142            $("#why-select").val(this.value);
3143            $("#why-select").selectpicker("refresh");
3144            $(".why-page__items .item:not(.item--label) .item__cell:not(.talenta)").addClass("hide");
3145            $(".why-page__items .item:not(.item--label)")
3146                .find("." + this.value)
3147                .removeClass("hide");
3148        });
3149
3150        $(".sbanner").each(function () {
3151            var $t = $(this),
3152                $close = $t.find(".sbanner__close");
3153
3154            $close.on("click", function (e) {
3155                e.preventDefault();
3156                $("body").removeClass("has-sbanner");
3157                $t.remove();
3158            });
3159        });
3160
3161        $(".get-param").each(function () {
3162            var $t = $(this);
3163            var $href = $t.attr("href");
3164            var url_string = window.location.href;
3165            var url = new URL(url_string);
3166            var $data = url.searchParams.get("data") || "";
3167            var $newHref = $href + "?data=" + $data;
3168
3169            $t.attr("href", $newHref);
3170        });
3171
3172        $(".nav-sm").each(function () {
3173            var $t = $(this),
3174                $dropdown = $t.find("ul.nav"),
3175                $selected = $t.find(".nav-sm__selected"),
3176                $navlink = $dropdown.find(".nav-link");
3177
3178            $selected.click(function () {
3179                $dropdown.slideDown(200);
3180            });
3181            $navlink.click(function () {
3182                var $text = $(this).text();
3183                $dropdown.slideUp(200);
3184                $selected.text($text);
3185            });
3186        });
3187
3188        $(".integration-tab__compare").each(function () {
3189            var $t = $(this),
3190                $nav = $t.find(".comapre-nav"),
3191                $navlink = $nav.find(".nav-link"),
3192                $item = $t.find(".item");
3193
3194            $navlink.each(function () {
3195                var $t = $(this),
3196                    $target = $t.data("target");
3197                $t.on("click", function () {
3198                    $navlink.removeClass("active");
3199                    $t.addClass("active");
3200                    $item.hide();
3201                    $($target).show();
3202                });
3203            });
3204            $(window).on("resize", function () {
3205                $item.show();
3206            });
3207        });
3208
3209        $(".integration-tab__nav").each(function () {
3210            var $t = $(this),
3211                $nav = $t.find(".nav-tabs"),
3212                $navItem = $nav.find(".nav-item"),
3213                $navLink = $nav.find(".nav-link");
3214
3215            $navLink.each(function () {
3216                var $nl = $(this);
3217                $nl.on("click", function () {
3218                    $navLink.removeClass("active");
3219                    // $nl.addClass('active');
3220                    // console.log('click')
3221                });
3222            });
3223
3224            if ($navItem.length > 4) {
3225                $nav.owlCarousel({
3226                    items: 4,
3227                    loop: false,
3228                    nav: true,
3229                    autoplay: false,
3230                    navText: ["<span></span>", "<span></span>"],
3231                });
3232            } else {
3233                $nav.addClass("no-slider");
3234            }
3235        });
3236
3237        $(".hiw-mexp").each(function () {
3238            var $t = $(this),
3239                $img = $t.find(".hiw-mexp__img"),
3240                $imgItem = $img.find(".item"),
3241                $list = $t.find(".hiw-mexp__list"),
3242                $listItem = $list.find(".item");
3243
3244            $listItem.each(function () {
3245                var $el = $(this),
3246                    $elN = $el.index();
3247
3248                $el.on("click", function () {
3249                    $listItem.removeClass("active");
3250                    $el.addClass("active");
3251                    $imgItem.removeClass("active");
3252                    $imgItem.eq($elN).addClass("active");
3253                });
3254            });
3255        });
3256
3257        $(".tab-content").each(function () {
3258            var $t = $(this),
3259                $pane = $t.find(".tab-pane"),
3260                $pane_nav = $pane.find(".tab-pane__nav"),
3261                $pane_wrap = $pane.find(".tab-pane__wrap");
3262
3263            $pane.each(function () {
3264                var $el = $(this),
3265                    $nav = $el.find(".tab-pane__nav"),
3266                    $wrap = $el.find(".tab-pane__wrap");
3267
3268                if ($nav) {
3269                    $nav.on("click", function () {
3270                        if (!$nav.hasClass("active")) {
3271                            $pane_nav.removeClass("active");
3272                            $pane_wrap.slideUp();
3273
3274                            // Tambahkan class 'active' pada nav yang diklik
3275                            $nav.addClass("active");
3276
3277                            $wrap.slideDown({
3278                                complete: function () {
3279                                    // Hitung tinggi header + 24px
3280                                    var headerHeight = $(".header").outerHeight() || 0;
3281                                    // Scroll ke .tab-pane yang aktif
3282                                    $("html, body").animate(
3283                                        {
3284                                            scrollTop: $el.offset().top - headerHeight - 24,
3285                                        },
3286                                        100
3287                                    );
3288                                },
3289                            });
3290                        }
3291                    });
3292                }
3293            });
3294        });
3295
3296        $(".items-accordion").each(function () {
3297            var $t = $(this),
3298                $item = $t.find(".item"),
3299                $item__content = $item.find(".item__content");
3300
3301            $item.each(function () {
3302                var $el = $(this),
3303                    $title = $el.find(".item__title"),
3304                    $content = $el.find(".item__content");
3305
3306                $title.on("click", function () {
3307                    if (!$el.hasClass("open")) {
3308                        $item.removeClass("open");
3309                        $item__content.slideUp();
3310                        $el.addClass("open");
3311                        $content.slideDown({
3312                            complete: function () {
3313                                $("html, body").animate({ scrollTop: $el.offset().top - 64 }, "2000");
3314                            },
3315                        });
3316                    }
3317                });
3318            });
3319        });
3320
3321        function scrollToTop() {
3322            var btn = $("#scroll-top");
3323
3324            if (btn.length > 0) {
3325                $(window).scroll(function () {
3326                    if ($(window).scrollTop() > 500) {
3327                        btn.addClass("show");
3328                    } else {
3329                        btn.removeClass("show");
3330                    }
3331
3332                    if (scheduledAnimationFrame) {
3333                        return;
3334                    }
3335                    scheduledAnimationFrame = true;
3336                    requestAnimationFrame(readAndUpdatePage);
3337                });
3338
3339                btn.on("click", function (e) {
3340                    e.preventDefault();
3341                    $("html, body").animate({ scrollTop: 0 }, "500");
3342                });
3343            }
3344        }
3345        scrollToTop();
3346
3347        closeModalTY();
3348        stickySide();
3349        slidermobile();
3350        slidermobilesm();
3351        attendance_slider();
3352        animation();
3353        depend();
3354        number();
3355        currency();
3356        searchForm();
3357        hashSmoothScroll();
3358        getNumberofTab();
3359        tabsAlt();
3360        tabsRed();
3361        sliderFeatured();
3362        slidersync();
3363        sliderVendor();
3364        sliderClient();
3365        closeModalEbook();
3366        sliderTabs();
3367        promoStepAccr();
3368        autoAccordion();
3369        whyCatList();
3370        navTabSelect();
3371        btnSubmitForm();
3372
3373        if ($(window).width() < 992) {
3374            sectionAccordion();
3375            sliderClients();
3376        }
3377    }
3378
3379    $(window).resize(function () {
3380        slidermobile();
3381        slidermobilesm();
3382        attendance_slider();
3383        stickySide();
3384        sliderTabs();
3385        autoAccordion();
3386
3387        if ($(window).width() < 992) {
3388            sectionAccordion();
3389            sliderClients();
3390        }
3391
3392        if ($(".timeline__list").length > 0) {
3393            timeline();
3394        }
3395    });
3396
3397    $(document).ready(function () {
3398        init();
3399    });
3400
3401    $(window).on("pagehide", function () {
3402        $("body").removeClass("ready");
3403    });
3404
3405
3406    // Header fixed on scroll with show/hide on scroll direction
3407    const header = document.querySelector("header");
3408    if (!header) return;
3409
3410    // Hysteresis: beda ambang masuk/keluar + cooldown
3411    const DELTA = 8; // minimal perubahan untuk deteksi arah
3412    const TOGGLE_COOLDOWN = 150; // ms, cegah flip cepat
3413
3414    let baseHeaderHeight = header.getBoundingClientRect().height;
3415    let FIXED_ENTER = Math.max(64, baseHeaderHeight); // kapan tambah 'fixed'
3416    let FIXED_EXIT = Math.max(16, Math.floor(baseHeaderHeight * 0.25)); // kapan lepas 'fixed'
3417
3418    function updateThresholds() {
3419        baseHeaderHeight = header.getBoundingClientRect().height;
3420        FIXED_ENTER = Math.max(64, baseHeaderHeight);
3421        FIXED_EXIT = Math.max(16, Math.floor(baseHeaderHeight * 0.25));
3422    }
3423
3424    let lastScroll = Math.max(0, window.pageYOffset || document.documentElement.scrollTop || 0);
3425    let isFixed = header.classList.contains("fixed");
3426    let ticking = false;
3427    let lastToggleTs = 0;
3428
3429    const updateHeader = (now) => {
3430        // clamp untuk iOS bounce (scroll bisa negatif)
3431        const scroll = Math.max(0, window.pageYOffset || document.documentElement.scrollTop || 0);
3432
3433        // Hysteresis + cooldown agar tidak flip di ambang kecil
3434        if (!isFixed && scroll >= FIXED_ENTER && now - lastToggleTs > TOGGLE_COOLDOWN) {
3435            header.classList.add("fixed");
3436            isFixed = true;
3437            lastToggleTs = now;
3438        } else if (isFixed && scroll <= FIXED_EXIT && now - lastToggleTs > TOGGLE_COOLDOWN) {
3439            header.classList.remove("fixed");
3440            isFixed = false;
3441            lastToggleTs = now;
3442        }
3443
3444        // Deteksi arah scroll dengan toleransi
3445        const diff = scroll - lastScroll;
3446        if (Math.abs(diff) > DELTA) {
3447            header.classList.toggle("show-top", diff < 0);
3448            lastScroll = scroll;
3449        }
3450    };
3451
3452    const onScroll = () => {
3453        if (ticking) return;
3454        ticking = true;
3455        requestAnimationFrame((ts) => {
3456            updateHeader(ts || performance.now());
3457            ticking = false;
3458        });
3459    };
3460
3461    window.addEventListener("scroll", onScroll, { passive: true });
3462    window.addEventListener("resize", () => requestAnimationFrame(updateThresholds), { passive: true });
3463
3464    updateThresholds();
3465    updateHeader(performance.now());
3466
3467})(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.