PageSourceSearch

https://freemcserver.net/js/homepage-global.js?v=1754671083

js freemcserver.net collected 2026-10-05 08:18:41 UTC 12,477 bytes, 397 lines download raw bytes

1/*
2 *
3 *  *  Copyright (C) 2018-2023 FreeMcServer.net - All Rights Reserved | Proprietary and confidential Software
4 *  *  * This file is part of FreeMcServer.net and can not be copied and/or distributed without the express and written permission of Nuno Facha [email protected] // [email protected]
5 *
6 */
7$("#nav-toggle").click(function () {
8    $(this).find(".menu-wrap.mobile").toggleClass("active");
9    $(".menu-toggle").toggleClass("active");
10});
11//----------------------------------------------------/
12// Active Menu
13//----------------------------------------------------/
14jQuery(function ($) {
15    var path = window.location.href;
16    $('#menu ul li a')
17            .each(function () {
18                if (this.href === path) {
19                    $(this)
20                            .addClass('active');
21                    $(this)
22                            .parent()
23                            .parent()
24                            .closest("li")
25                            .addClass('active2');
26                    $('.active2 a:first')
27                            .addClass('active');
28                }
29            });
30});
31//----------------------------------------------------/
32// Open Menu Mobile
33//----------------------------------------------------/
34$(".mobile .menu-item")
35        .on('click',
36                function () {
37                    if ($(".sub-menu", this)
38                            .css('display') === 'none') {
39                        $(".sub-menu", this)
40                                .css("display", "block");
41                    } else {
42                        $(".sub-menu", this)
43                                .css("display", "none");
44                    }
45                }
46        );
47/*----------------------*/
48/*   Active Button      */
49
50/*----------------------*/
51function active() {
52    $(".heading a")
53            .on("click", function () {
54                $(".heading a")
55                        .removeClass("active");
56                $(this)
57                        .addClass("active");
58            });
59}
60
61/*----------------------*/
62/*       Popover        */
63
64/*----------------------*/
65function popover() {
66    $('[data-toggle="popover"]')
67            .popover()
68}
69
70/*----------------------*/
71/*     Isotope          */
72
73/*----------------------*/
74function isotope() {
75    $(window)
76            .on('load', function () {
77                var selectedCategory;
78                var $grid = $('.featured')
79                        .isotope({
80                            itemSelector: '.isotope-item',
81                            masonry: {
82                                columnWidth: '.isotope-item',
83                            },
84                            getSortData: {
85                                selectedCategory: function (itemElem) {
86                                    return $(itemElem)
87                                            .hasClass(selectedCategory) ? 0 : 1;
88                                }
89                            }
90                        });
91                var $items = $('.featured')
92                        .find('.featured-items');
93                $('.sort-button-group')
94                        .on('click', '.button', function () {
95                            selectedCategory = $(this)
96                                    .attr('data-category');
97                            if (selectedCategory === 'all') {
98                                $grid.isotope({
99                                    sortBy: 'original-order'
100                                });
101                                $items.css({
102                                    opacity: 1
103                                });
104                                return;
105                            }
106                            var selectedClass = '.' + selectedCategory;
107                            $items.filter(selectedClass)
108                                    .css({
109                                        opacity: 1
110                                    });
111                            $items.not(selectedClass)
112                                    .css({
113                                        opacity: 0
114                                    });
115                            $grid.isotope('updateSortData');
116                            $grid.isotope({
117                                sortBy: 'selectedCategory'
118                            });
119                        });
120                $('.button-group')
121                        .each(function (i, buttonGroup) {
122                            var $buttonGroup = $(buttonGroup);
123                            $buttonGroup.on('click', 'li', function () {
124                                $buttonGroup.find('.active')
125                                        .removeClass('active');
126                                $(this)
127                                        .addClass('active');
128                            });
129                        });
130            });
131}
132
133/*----------------------*/
134/*         OWL          */
135
136/*----------------------*/
137function owl() {
138    $('.owl-carousel')
139            .owlCarousel({
140                nav: false,
141                autoHeight: true,
142                dots: true,
143                margin: 0,
144                padding: 0,
145                animateOut: 'fadeOut',
146                items: 1,
147                autoPlay: 5500,
148                stopOnHover: true,
149                center: true,
150                navigation: false,
151                pagination: false,
152                goToFirstSpeed: 1300,
153                singleItem: true,
154                responsiveRefreshRate: 200,
155                responsiveBaseWidth: window,
156                video: true,
157                autoplay: true,
158                autoplayTimeout: 9000,
159                autoplayHoverPause: true,
160                navText: [
161                    "<i class='fa fa-chevron-left'></i>",
162                    "<i class='fa fa-chevron-right'></i>"
163                ],
164                responsive: {
165                    0: {
166                        items: 1
167                    },
168                }
169            });
170
171}
172
173/*----------------------*/
174/*       Loader         */
175
176/*----------------------*/
177// function loader() {
178//     $(window)
179//         .on('load', function () {
180//             $("#spinner-area")
181//                 .fadeOut("slow");
182//         })
183// }
184
185/*----------------------*/
186/*     Listen Slick     */
187
188/*----------------------*/
189function listenSlick() {
190    $('.slick')
191            .on('unslick', function () {
192                var resizeCheck = setInterval(function () {
193                    if ($(window)
194                            .width() > 590) {
195                        clearInterval(resizeCheck);
196                        slick();
197                    }
198                }, 100);
199            });
200}
201
202/*----------------------*/
203/*     Slick Slider     */
204
205/*----------------------*/
206function slick() {
207    $('#slider')
208            .slick({
209                centerMode: true,
210                centerPadding: '200px',
211                slidesToShow: 3,
212                infinite: true,
213                arrows: true,
214                responsive: [{
215                    breakpoint: 1200,
216                    settings: {
217                        arrows: true,
218                        centerMode: true,
219                        centerPadding: '100px',
220                        slidesToShow: 3
221                    }
222                }, {
223                    breakpoint: 991,
224                    settings: {
225                        arrows: true,
226                        centerMode: true,
227                        centerPadding: '200px',
228                        slidesToShow: 1
229                    }
230                }, {
231                    breakpoint: 768,
232                    settings: {
233                        arrows: true,
234                        centerMode: true,
235                        centerPadding: '150px',
236                        slidesToShow: 1
237                    }
238                }, {
239                    breakpoint: 590,
240                    settings: "unslick"
241                }]
242            });
243}
244
245/*-------------------------*/
246/*        Tooltips         */
247
248/*-------------------------*/
249function loadTooltips() {
250    $('#element')
251            .tooltip('show')
252    $(function () {
253        $('[data-toggle="tooltip"]')
254                .tooltip()
255    })
256}
257
258$(function () {
259    $('[data-toggle="tooltip"]')
260            .tooltip()
261})
262/*-------------------------*/
263/*          Menu           */
264
265/*-------------------------*/
266function loadMenu() {
267    $(".nav-menu .menu-toggle")
268            .on("click", function () {
269                $(this)
270                        .closest(".menu-wrap")
271                        .toggleClass("active");
272            });
273    $('.btn-scroll')
274            .on("click", function () {
275                $('html, body')
276                        .animate({
277                            scrollTop: $($.attr(this, 'href'))
278                                    .offset()
279                                    .top - 10
280                        }, 500);
281                return false;
282            });
283}
284
285/*-------------------------*/
286/*          Izotope        */
287
288/*-------------------------*/
289function izotope() {
290    if ($('.izotope-container')
291            .length) {
292        var $container = $('.izotope-container');
293        $container.isotope({
294            itemSelector: '.item',
295            layoutMode: 'masonry',
296            masonry: {
297                columnWidth: '.item'
298            }
299        });
300    }
301    $('#filters')
302            .on('click', '.but', function () {
303                $('.izotope-container')
304                        .each(function () {
305                            $(this)
306                                    .find('.item')
307                                    .removeClass('animated');
308                        });
309                $('#filters .but')
310                        .removeClass('activbut');
311                $(this)
312                        .addClass('activbut');
313                var filterValue = $(this)
314                        .attr('data-filter');
315                $container.isotope({
316                    filter: filterValue
317                });
318            });
319}
320
321/*----------------------*/
322/*   Scroll Down Arrow  */
323
324/*----------------------*/
325function initScrollDownArrow() {
326    const scrollArrow = document.querySelector('.scroll-down-arrow');
327    if (!scrollArrow || scrollArrow.dataset.bound === 'true') return;
328
329    // Mark as bound to prevent duplicate event bindings
330    scrollArrow.dataset.bound = 'true';
331
332    // Click handler: scroll to next section or fallback
333    scrollArrow.addEventListener('click', function () {
334        const heroSection = document.querySelector('.modern-hero');
335        const nextSection = heroSection ? heroSection.nextElementSibling : null;
336
337        if (nextSection) {
338            nextSection.scrollIntoView({ behavior: 'smooth', block: 'start' });
339        } else {
340            window.scrollBy({ top: window.innerHeight, behavior: 'smooth' });
341        }
342    });
343
344    // Scroll handler: hide/show arrow on scroll
345    let scrollHideRaf = null;
346    window.addEventListener('scroll', function () {
347        if (scrollHideRaf) return;
348
349        scrollHideRaf = requestAnimationFrame(() => {
350            const scrollTop = window.scrollY || document.documentElement.scrollTop;
351            const threshold = window.innerHeight * 0.4;
352
353            if (scrollTop > threshold) {
354                scrollArrow.classList.add('hidden');
355            } else {
356                scrollArrow.classList.remove('hidden');
357            }
358
359            scrollHideRaf = null;
360        });
361    }, { passive: true });
362}
363
364
365function loadWindowEvents() {
366    /*-------------------------*/
367    /*  RUN SCROLL FUNCTIONS   */
368    /*-------------------------*/
369    $(window)
370            .on('scroll', function () {
371                if ($(window)
372                        .scrollTop() >= 100) {
373                    $('.menu-wrap')
374                            .addClass('fixed');
375                } else {
376                    $('.menu-wrap')
377                            .removeClass('fixed');
378                }
379            });
380}
381
382
383document.addEventListener('DOMContentLoaded', function () {
384    "use strict";
385    loadWindowEvents();
386    loadMenu();
387    izotope();
388    loadTooltips();
389    slick();
390    listenSlick();
391    //  loader();
392    owl();
393    isotope();
394    popover();
395    active();
396    initScrollDownArrow(); // Add this line
397});

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.