PageSourceSearch

https://www.hadla.gov.hk/js/main_fn.js?t=1790967522

js hadla.gov.hk collected 2026-10-02 18:59:03 UTC 36,224 bytes, 907 lines download raw bytes

1$(document).ready(function () {
2
3    update_region_card();
4
5    var windowLocation = window.location['pathname'],
6    window_lang = windowLocation.split("/")[1];
7
8    if (window_lang == 'sc'){
9        var prevSlideMessage = "上一组投影片";
10        var nextSlideMessage = "下一组投影片";
11        var paginationBulletMessage = "到第{{index}}组投影片";
12        var menu_close = "关闭";
13        var menu_active = "选单";
14        var expand_accordions_btn_text = "显示全部 +";
15        var collapse_accordions_btn_text = "关闭全部 -";
16    }else if(window_lang == 'tc'){
17        var prevSlideMessage = "上一組投影片";
18        var nextSlideMessage = "下一組投影片";
19        var paginationBulletMessage = "到第{{index}}組投影片";
20        var menu_close = "關閉";
21        var menu_active = "選單";
22        var expand_accordions_btn_text = "顯示全部 +";
23        var collapse_accordions_btn_text = "關閉全部 -";
24    }else{
25
26        var prevSlideMessage = "Previous slide group";
27        var nextSlideMessage = "Next slide group";
28        var paginationBulletMessage = "Go to slide group{{index}}";
29        var menu_close = "close";
30        var menu_active = "menu";
31        var expand_accordions_btn_text = "Expand All +";
32        var collapse_accordions_btn_text = "Collapse All -";
33    }
34
35    var prev_scrollY = 0;
36
37    function update_top() {
38
39        var t_h = $('header').outerHeight();
40        $('body').css('padding-top', t_h);
41        $('.mobile_header-nav').css('padding-top', t_h);
42        // document.documentElement.style.setProperty('--headerHeight', $('header').outerHeight()+'px');
43        if ($('header').hasClass('scroll_top')) {
44            $('header').css('top', 0 - $('header').height());
45        } else {
46            $('header').css('top', 0);
47        }
48    };
49
50    function update_menu() {
51        if ($('body').hasClass('menu-active')) {
52            $('.menu-trigger').find('.hamburger').addClass('is-active');
53            $('.menu-trigger').attr('aria-label',menu_close);
54            $('.mobile_header-nav_wrapper').stop().slideDown();
55
56            $("#web-top>div, #web-top>a").attr('aria-hidden','true');
57        } else {
58            $('.menu-trigger').find('.hamburger').removeClass('is-active');
59            $('.menu-trigger').attr('aria-label',menu_active);
60            $('.mobile_header-nav_wrapper').stop().slideUp();
61
62            $("#web-top>div, #web-top>a").removeAttr('aria-hidden');
63        }
64    };
65
66    function expand_accordions(ele){
67        if(ele.hasClass("expand")){
68            ele.removeClass("expand");
69            ele.text(expand_accordions_btn_text);
70            $(".content-group-title").click();
71            $(".content-accordion-block-title").click();
72        }else{
73            ele.addClass("expand");
74            ele.text(collapse_accordions_btn_text);
75            $(".content-group-title").click();
76            $(".content-accordion-block-title").click();
77        }
78    }
79
80    $(".expand-accordions").click(function(){
81        expand_accordions($(this));
82    })
83
84    function update_region_card() {
85        $('.region-card').each(function (idx) {
86
87            if ($('.region-card').width() != "100") {
88                $('.region-card').css('font-size', $('.region-card').width());
89                // console.log("font-size set: " + $('.region-card').width());
90            }
91
92        });
93    };
94
95    $(".popup_overlay").click(function () {
96        // $('.popup').fadeOut().remove();
97        // $('.popup_overlay').fadeOut().remove();
98        // $('body').css('overflow', 'auto');
99        closePopup();
100        // $(this).hide();
101        // $(this).closest(".popup").hide();
102
103    });
104
105    $(".all_client").on("click", function () {
106        $(".client_checkbox").each(function () {
107            $(this).prop("checked", false);
108        })
109    });
110
111    $(".search-map").on("click", function () {
112        var link_district = "";
113        $(".region-card").each(function () {
114            if ($(this).hasClass("clickable")) {
115                link_district = $(this).parent(".map-slide").data("link");
116            }
117        })
118        location.href = "search_result.php?district=" + link_district;
119    });
120
121    $(".region-card").on("click", function (evt) {
122        var sel_value = $(this).parent(".map-slide").data("link");
123        // console.log("sel_value: " + sel_value);
124        if ($("#district").length != 0) {
125            $("#district").val(sel_value);
126        }
127        $(".region-card").removeClass("clickable");
128        if ($(this).hasClass("clickable")) {
129            $(this).removeClass("clickable");
130        } else {
131            $(this).addClass("clickable");
132        }
133    });
134
135    $("#district").on("change", function () {
136        var sel_value = $(this).val();
137        console.log("sel_value: " + sel_value);
138        $(".map-slide>.region-card").removeClass("clickable");
139        $(".map-slide").each(function (index) {
140            if ($(this).data("link") == sel_value) {
141                $(this).children(".region-card").addClass("clickable");
142                var sel_region = $(this).data("region");
143                if ($(".list-district_item.active").length != 0) {
144                    $(".list-district_item.active").removeClass("active");
145                    $(".list-district_item").each(function () {
146                        if ($(this).data("district") == sel_region) {
147                            $(this).addClass("active");
148                            show_map(sel_region);
149                        }
150                    });
151                }
152                region_swiper.slideTo(index);
153            }
154        });
155    });
156
157    $(".open-hotel-search-advance").on("click", function (evt) {
158        if ($(this).hasClass("clickable")) {
159            $(this).removeClass("clickable");
160            // $(".search-map").show()
161            $(".search-map").removeClass("inactive");
162            // $(".search-map").fadeIn();
163        } else {
164            $(this).addClass("clickable");
165            $(".search-map").addClass("inactive");
166            // setTimeout(function() {
167            //     $(".search-map").hide()
168            // }, 500);
169            // $(".search-map").hide();
170            // $(".search-map").hide("slow");
171        }
172
173        if ($(".filter-hotel-advance").css('display') == 'none') {
174            $(".filter-hotel-advance").show();
175        } else {
176            $(".filter-hotel-advance").hide();
177        }
178
179        // if($(".filter-hotel-advance").css('display') == 'none'){
180        //     $(".filter-hotel-advance").show();
181        // } else {
182        //     $(".filter-hotel-advance").hide();
183        // }
184    });
185
186    $(".btn-print").on("click", function (evt) {
187        evt.preventDefault();
188        window.print();
189    });
190
191    $(".menu-trigger").on('click', function () {
192        var t_wrapper = $('body');
193        t_wrapper.toggleClass('menu-active');
194        update_menu();
195        update_top();
196    });
197
198    $(".top-highlight_close").on('click', function () {
199        $('.top-highlight').stop().slideUp(400);
200        for (let index = 0; index < 4; index++) {
201            for (let index2 = 1; index2 <= 5; index2++) {
202                setTimeout(
203                    function () {
204                        update_top();
205                    }, (index * 100) + (index2 * 20 + 1));
206            }
207        }
208    });
209
210    $('.btn-search img, .search-close, .mobile-btn-search-img, .lang_menu_div, .btn-print, .menu-trigger, .scroll-top, .content-group.accordion .content-group-title, .content-accordion-block .content-accordion-block-title').each(function(){
211
212        $(this).keyup(function(e){
213            if(e.which == 13){
214                $(this).trigger('click');
215                if ($(this).is('.scroll-top') || ($(this).is('.menu-trigger') && !$(this).children('hamburger').hasClass('is-active'))){
216                    $(".skip-to-content").focus();
217                }
218            }
219        })
220    });
221
222    $(".mobile_header-tools_item").on('click keydown', function (e) {
223        if (e.type === 'click' || (e.type === 'keydown' && e.which === 13)) {
224            $(this).toggleClass('active');
225        }
226    });
227
228    $("#useful_search_more, .useful_search_lightbox_overlay, .useful_search_lightbox_close").on('click', function () {
229        $('.useful_search_lightbox_wrapper').toggleClass('active');
230    });
231
232    $(".content-group.accordion .content-group-title").attr('tabindex', '0');
233    $(".content-group.accordion .content-group-title").attr('role', 'button');
234    $(".content-group.accordion .content-group-title").attr('aria-expanded', 'false');
235    $(".content-accordion-block .content-accordion-block-title").attr('tabindex', '0');
236    $(".content-accordion-block .content-accordion-block-title").attr('role', 'button');
237    $(".content-accordion-block .content-accordion-block-title").attr('aria-expanded', 'false');
238
239    $(".content-group.accordion .content-group-title").on('click', function () {
240        var t_wrapper = $(this).closest('.content-group');
241        t_wrapper.toggleClass('active');
242        if (t_wrapper.hasClass('active')) {
243            $(this).attr('aria-expanded', 'true');
244            t_wrapper.find('.content-group-text').stop().slideDown();
245        } else {
246            $(this).attr('aria-expanded', 'false');
247            t_wrapper.find('.content-group-text').stop().slideUp();
248        }
249    });
250
251    $(".content-accordion-block .content-accordion-block-title").on('click', function () {
252        var t_wrapper = $(this).closest('.content-accordion-block');
253        t_wrapper.toggleClass('active');
254        if (t_wrapper.hasClass('active')) {
255            $(this).attr('aria-expanded', 'true');
256            t_wrapper.find('.content-accordion-block-text').stop().slideDown();
257        } else {
258            $(this).attr('aria-expanded', 'false');
259            t_wrapper.find('.content-accordion-block-text').stop().slideUp();
260        }
261    });
262
263    $(".mobile_header-nav-link").on('click keydown', function (e) {
264        if (e.type === 'keydown' && e.which !== 13) {
265            return;
266        }
267
268        if ($(this).closest('.mobile_header-nav_item').hasClass('has-sub')) {
269
270            if ($(this).closest('.mobile_header-nav_item.has-sub.open-sub').hasClass('open-sub')) {
271                if (!$(this).is('[href]')) {
272                    e.preventDefault();
273                    $('.mobile_header-nav_item.has-sub').removeClass('open-sub');
274                    $('.mobile_header-nav_item.has-sub > .mobile_header-nav-link').attr('aria-expanded', 'false');
275                }
276            } else {
277                e.preventDefault();
278                $('.mobile_header-nav_item.has-sub').removeClass('open-sub');
279                $('.mobile_header-nav_item.has-sub > .mobile_header-nav-link').attr('aria-expanded', 'false');
280                $(this).closest('.mobile_header-nav_item.has-sub').addClass('open-sub');
281                $(this).attr('aria-expanded', 'true');
282            }
283        }
284    });
285
286    $(".mobile_header-nav").on('keydown', function (e) {
287        if (e.which == 27) {
288            $(".site-nav .mobile .mobile_header-tools .menu-trigger").click();
289            $(".site-nav .mobile .mobile_header-tools .menu-trigger").focus();
290        } else if (e.which == 9) {
291            // if last .mobile_header-nav_item is focused and tab is pressed (shift not pressed), move focus to menu button
292            var focusableItems = $('.mobile_header-nav').find('a, button, input, [tabindex]:not([tabindex="-1"])').filter(':visible');
293            var focusedItemIndex = focusableItems.index($(document.activeElement));
294            if (focusedItemIndex === focusableItems.length - 1 && !e.shiftKey) {
295                e.preventDefault();
296                $(".site-nav .mobile .mobile_header-tools .menu-trigger").focus();
297            }
298
299        }
300    })
301
302    $(".page-tab_curr, .page-tab_trigger").on('click', function () {
303        $('.page-tab_list_wrapper').toggleClass('open-tab');
304    });
305
306    $(".scroll-top").on('click', function () {
307        $("html, body").animate({ scrollTop: 0 }, "slow");
308        // $(".skip-to-content").focus();
309        $("#web-top").find("a, [tabindex=0], button").first().focus();
310    });
311
312    // function update_tab(item){
313    //     var tabid = $(item).data('id');
314    //     var tabtitle = $(item).html();
315    //     $('.page-tab_list_item').removeClass('active');
316    //     $(item).addClass('active');
317
318    //     $('.page-tab_list_wrapper').removeClass('open-tab');
319    //     $('.page-tab').css('display', 'none');
320    //     $('.page-tab[data-id="'+tabid+'"]').css('display', 'block');
321    //     $('.page-tab_curr').html(tabtitle);
322    //     $('.breadcrumb-item:last').html(tabtitle);
323    // }
324
325    // $(".page-tab_list_item").on('click', function(){
326    //     update_tab(this);
327    // });
328
329    $(".content-section.content-slider").each(function (idx) {
330        var temp_id = 'obj-' + idx;
331        $(this).addClass(temp_id);
332        new Swiper('.content-section.content-slider.' + temp_id + ' .swiper-container', {
333            a11y:{
334                prevSlideMessage: prevSlideMessage,
335                nextSlideMessage: nextSlideMessage,
336                paginationBulletMessage: paginationBulletMessage,
337
338            },
339            slidesPerGroup: 4,
340            slidesPerView: 4,
341            spaceBetween: 35,
342            breakpoints: {
343                520: {
344                    slidesPerView: 1,
345                    slidesPerGroup: 1,
346                    spaceBetween: 0,
347                },
348                760: {
349                    slidesPerGroup: 2,
350                    slidesPerView: 2,
351                    spaceBetween: 20
352                },
353                960: {
354                    slidesPerGroup: 3,
355                    slidesPerView: 3,
356                    spaceBetween: 20,
357                },
358                1350: {
359                    slidesPerGroup: 4,
360                    slidesPerView: 4,
361                    spaceBetween: 30,
362                }
363            },
364            navigation: {
365                nextEl: '.content-section.content-slider.' + temp_id + ' .swiper-button-next',
366                prevEl: '.content-section.content-slider.' + temp_id + ' .swiper-button-prev',
367                addIcons: false,
368            },
369            pagination: {
370                clickable: true,
371                el: '.content-section.content-slider.' + temp_id + ' .swiper-pagination',
372            },
373        });
374    });
375
376    $(window).resize(function () {
377        var w_w = window.innerWidth;
378        if (w_w > 960) {
379            $('body').removeClass('menu-active');
380            $('.mobile_header-nav_wrapper').removeAttr('style');
381            $('.hamburger').removeClass('is-active');
382
383            $('.page-tab_list_wrapper').removeClass('open-tab');
384        }
385
386        update_top();
387
388        // console.log("length: " + $('.display-desktop .section-useful-icon').length);
389        // console.log("height: " + $('.display-desktop .section-useful-icon').eq(0).outerHeight());
390        // console.log("height: " + $('.useful_slider .display-desktop .swiper-wrapper').eq(0).outerHeight());
391
392        // console.log($('.display-desktop .section-useful-icon').eq(0));
393
394        if ($('.useful_slider').length) {
395            if ($('.display-desktop .section-useful-icon').eq(0).height() > 100) {
396                $('.useful_slider .swiper-button-next').css('top', $('.display-desktop .section-useful-icon').eq(0).height() / 2 + parseInt($('.useful_slider').css('paddingTop')));
397                $('.useful_slider .swiper-button-prev').css('top', $('.display-desktop .section-useful-icon').eq(0).height() / 2 + parseInt($('.useful_slider').css('paddingTop')));
398            }else{
399                $('.useful_slider .swiper-button-next').css('top',  $('.useful_slider .display-desktop .swiper-wrapper').eq(0).outerHeight() / 2 + parseInt($('.useful_slider').css('paddingTop')));
400                $('.useful_slider .swiper-button-prev').css('top',  $('.useful_slider .display-desktop .swiper-wrapper').eq(0).outerHeight() / 2 + parseInt($('.useful_slider').css('paddingTop')));
401            }
402
403        }
404    });
405
406    $('.filter-btn').on('click keydown', function(event){
407        if (event.type === 'keydown' && event.which !== 13) {
408            return;
409        }
410        
411        $('.filter-btn-dropdown').toggle();
412        if ($(".filter-btn-dropdown").is(":visible")) {
413            $('.filter-btn').attr('aria-expanded', 'true');
414            $(this).find('[role=button]').attr('tabindex', '0');
415
416            //clicking tab on the last item will close the dropdown and move focus to the filter button
417            $(this).find('.filter-btn-dropdown [role=button]').last().off('keydown').on('keydown', function(e){
418                if(e.which == 9 && !e.shiftKey){
419                    e.preventDefault();
420                    $('.filter-btn').focus();
421                    $('.filter-btn-dropdown').hide();
422                    $('.filter-btn').attr('aria-expanded', 'false');
423                    $(this).find('[role=button]').attr('tabindex', '-1');
424                }
425            });
426        } else {
427            $('.filter-btn').attr('aria-expanded', 'false');
428            $(this).find('[role=button]').attr('tabindex', '-1');
429        }
430    });
431
432    $('.filter-all').on('click keydown', function(event){
433        if (event.type === 'keydown' && event.which !== 13) {
434            return;
435        }
436        $('.press-releases, .important-message, .reference-material, .others').show();
437    });
438
439    $('.filter-press-releases').on('click keydown', function(event){
440        if (event.type === 'keydown' && event.which !== 13) {
441            return;
442        }
443        $('.press-releases, .important-message, .reference-material, .others').show();
444        $('.important-message, .reference-material, .others').hide();
445    });
446
447    $('.filter-important-message').on('click keydown', function(event){
448        if (event.type === 'keydown' && event.which !== 13) {
449            return;
450        }
451        $('.press-releases, .important-message, .reference-material, .others').show();
452        $('.press-releases, .reference-material, .others').hide();
453    });
454
455    $('.filter-reference-material').on('click keydown', function(event){
456        if (event.type === 'keydown' && event.which !== 13) {
457            return;
458        }
459        $('.press-releases, .important-message, .reference-material, .others').show();
460        $('.press-releases, .important-message, .others').hide();
461    });
462
463    $('.filter-others').on('click keydown', function(event){
464        if (event.type === 'keydown' && event.which !== 13) {
465            return;
466        }
467        $('.press-releases, .important-message, .reference-material, .others').show();
468        $('.press-releases, .important-message, .reference-material').hide();
469    });
470
471    $(window).on("orientationchange", function () {
472        $(window).resize();
473    });
474
475    $(window).scroll(function () {
476
477        // var st = $(this).scrollTop();
478
479        // console.log("scrollTop" + st);
480        // var ua = window.navigator.userAgent;
481        // var msie = ua.indexOf('MSIE ');
482        var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
483
484        //         if(navigator.userAgent.indexOf('MSIE')!==-1
485        // || navigator.appVersion.indexOf('Trident/') > -1){
486        // console.log("pageYOffset : "+window.pageYOffset);
487        // console.log("header : "+$('header').outerHeight());
488
489        // console.log(ua);
490
491        if (isIE11) {
492            if ($(this).scrollTop() > $('header').outerHeight()) {
493                // console.log("test2");
494                $('header').addClass('fixed');
495                //  console.log(prev_scrollY);
496
497                // console.log("prev_scrollY: " + prev_scrollY);
498                // console.log("$(this).scrollTop(): " + $(this).scrollTop());
499
500                if (prev_scrollY < $(this).scrollTop()) {
501                    $('header').addClass('scroll_top');
502                } else {
503
504                    $('header').removeClass('scroll_top');
505
506                }
507            } else {
508
509                $('header').removeClass('fixed');
510                $('header').removeClass('scroll_top');
511
512            }
513            // prev_scrollY = $(this).scrollTop();
514
515            prev_scrollY = $(this).scrollTop();
516
517            // prev_scrollY = window.pageYOffset;
518            update_top();
519            update_region_card();
520        } else {
521            if (window.scrollY > $('header').outerHeight()) {
522                $('header').addClass('fixed');
523                if (prev_scrollY < window.scrollY) {
524                    $('header').addClass('scroll_top');
525                } else {
526                    $('header').removeClass('scroll_top');
527                }
528            } else {
529                $('header').removeClass('fixed');
530                $('header').removeClass('scroll_top');
531            }
532            prev_scrollY = window.scrollY;
533            update_top();
534            update_region_card();
535        }
536
537        // if (window.pageYOffset  > $('header').outerHeight()) {
538
539    });
540
541    $(window).resize();
542    // if($('.page-tab_list .page-tab_list_item').length){
543    //     update_tab($('.page-tab_list .page-tab_list_item').eq(0));
544    // }
545
546    $(".header-nav_item-link:has(+ .header-nav_sub)").each(function(){
547        var t_wrapper = $(this).closest('.header-nav_item');
548        
549        t_wrapper.on('mouseleave', function() {
550            t_wrapper.removeClass('active');
551            t_wrapper.find('> .header-nav_item-link').attr('aria-expanded', 'false');
552        });
553
554        // Open automatically on focus
555        $(this).on('focus', function() {
556            if ($(this).data('esc-closed')) {
557                $(this).removeData('esc-closed');
558                return;
559            }
560            $(".header-nav_item-link").not(this).attr('aria-expanded', 'false');
561            $(this).closest('.header-nav_item').siblings('.header-nav_item').removeClass('active');
562            t_wrapper.addClass('active');
563            $(this).attr('aria-expanded', 'true');
564        });
565
566        // Close when focus completely leaves the sub-menu or main link
567        t_wrapper.on('focusout', function(e) {
568            // Use setTimeout to allow the browser to establish the new active element
569            setTimeout(function() {
570                // If the newly focused element is NOT inside this wrapper, close it
571                if (!t_wrapper[0].contains(document.activeElement)) {
572                    t_wrapper.removeClass('active');
573                    t_wrapper.find('> .header-nav_item-link').attr('aria-expanded', 'false');
574                    t_wrapper.find('> .header-nav_item-link').removeData('esc-closed');
575                }
576            }, 0);
577        });
578
579        // ESC key to close the submenu
580        t_wrapper.on('keydown', function(e) {
581            if (e.which === 27) { // ESC key
582                if (t_wrapper.hasClass('active')) {
583                    e.preventDefault();
584                    t_wrapper.removeClass('active');
585                    var link = t_wrapper.find('> .header-nav_item-link');
586                    link.attr('aria-expanded', 'false');
587                    link.data('esc-closed', true);
588                    link.focus();
589                }
590            }
591        });
592
593        $(this).attr('tabindex', '0');
594        $(this).attr('role', 'button');
595        $(this).attr('aria-expanded', 'false');
596        $(this).on('click keydown', function(e){
597            if (e.type === 'click' || (e.type === 'keydown' && (e.which === 13 || e.which === 32))) {
598                e.preventDefault();
599                // If it's already active, clicking/pressing enter should toggle it off
600                if (t_wrapper.hasClass('active')) {
601                    t_wrapper.removeClass('active');
602                    $(this).attr('aria-expanded', 'false');
603                } else {
604                    $(".header-nav_item-link").not(this).attr('aria-expanded', 'false');
605                    t_wrapper.siblings('.header-nav_item').removeClass('active');
606                    t_wrapper.addClass('active');
607                    $(this).attr('aria-expanded', 'true');
608                }
609            }
610        })
611    })
612
613});
614
615function popupMsg($msg) {
616
617    $('<div class="popup_overlay"></div>').appendTo($("body"));
618    $('<div class="popup" id="popup" ></div>').appendTo($("body"));
619    $(' <div class="popup_container" id="popup_container"></div>').appendTo($("#popup"));
620    $('<div/>').append($('<a class="close_btn" href="#"/>').on("click", function (evnt) {closePopup();}).html("&times;")).appendTo($("#popup_container"));
621    $('<div class="message" id="popup_message"></div>').appendTo($("#popup_container"));
622    $("#popup_message").html($msg);
623}
624
625function changeLang(e, t) {
626    var i = window.location,
627        n = i.toString(),
628        s = i.toString();
629    s = s.replace(e, t), window.location = s == n ? t : s
630}
631
632function show_map(region) {
633    console.log("region: " + region);
634
635    var w_w = window.innerWidth;
636    if (w_w > 960) {
637        $(".filter-hotel-selected-district").hide();
638        $("#selected-district-" + region).show();
639        // $("#selected-district-"+region).show();
640        // $("#selected-district-"+region).show();
641    }
642
643    $(".list-district_item").each(function () {
644        var district_item = $(this).data('district');
645        // console.log("test only");
646        // console.log(district_item);
647        // console.log(region);
648        if (district_item == region) {
649            $(this).addClass("active")
650        } else {
651            $(this).removeClass("active")
652        }
653
654    });
655
656    $(".map-slide").each(function () {
657        var _region = $(this).data('region');
658        if (_region != region) {
659            $(this).hide();
660        } else {
661            $(this).show();
662        }
663    }
664    );
665    region_swiper.update()
666
667    // var swiper = new Swiper('.list-region .swiper-container', {
668    //     slidesPerGroup: 4,
669    //     slidesPerView: 4,
670    //     spaceBetween: 15,
671    //     breakpoints: {
672    //         960: {
673    //             slidesPerGroup: 2,
674    //             slidesPerView: 2,
675    //             spaceBetween: 15
676    //         },
677    //         1350: {
678    //             slidesPerGroup: 3,
679    //             slidesPerView: 3,
680    //             spaceBetween: 15,
681    //         }
682    //     },
683    //     navigation: {
684    //         nextEl: '.list-region .swiper-button-next',
685    //         prevEl: '.list-region .swiper-button-prev',
686    //     },
687    //     pagination: {
688    //         clickable: true,
689    //         el: '.list-region .swiper-pagination',
690    //     },
691    // });
692
693}
694
695function isNumeric(txt) {
696    validChars = "1234567890";
697
698    for (i = 0; i < txt.length; i++) {
699        txtChar = txt.charAt(i);
700        if (validChars.indexOf(txtChar, 0) == -1) {
701            return false;
702        }
703    }
704
705    return true;
706}
707
708function isNumKey(evt) {
709    var charCode = (evt.which) ? evt.which : event.keyCode;
710    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
711        return false;
712    }
713
714    return true;
715}
716
717function closePopup() {
718    $('.popup').fadeOut().remove();
719    $('.popup_overlay').fadeOut().remove();
720    $('body').css('overflow', 'auto');
721}
722
723document.addEventListener("DOMContentLoaded", function (evnt) {
724    const events = {
725        "click": {
726            "change-lang-tc-sc": function (evnt) {
727                evnt.preventDefault();
728                changeLang('/tc/', '/sc/');
729            },
730            "change-lang-tc-en": function (evnt) {
731                evnt.preventDefault();
732                changeLang('/tc/', '/en/');
733            },
734            "change-lang-sc-tc": function (evnt) {
735                evnt.preventDefault();
736                changeLang('/sc/', '/tc/');
737            },
738            "change-lang-sc-en": function (evnt) {
739                evnt.preventDefault();
740                changeLang('/sc/', '/en/');
741            },
742            "change-lang-en-tc": function (evnt) {
743                evnt.preventDefault();
744                changeLang('/en/', '/tc/');
745            },
746            "change-lang-en-sc": function (evnt) {
747                evnt.preventDefault();
748                changeLang('/en/', '/sc/');
749            },
750            "pop-new-15": function (evnt) {
751                evnt.preventDefault();
752                popnew15()
753            },
754            "pop-new-14": function (evnt) {
755                evnt.preventDefault();
756                popnew14()
757            },
758            "reset-form": function (evnt) {
759                reset()
760            }
761        },
762        "submit": {
763            "check-form": function (evnt) {
764                if (!checkform()) {
765                    evnt.preventDefault();
766                }
767            }
768        },
769        "keypress": {
770            "check-is-digit": function (evnt) {
771                if (!isNumKey(this)) {
772                    evnt.preventDefault();
773                }
774            }
775        },
776        "change": {
777            "clear-invalid": function (evnt) {
778                clear_invalid(this)
779            }
780        },
781        "keydown": {
782            "fee-key-down": function (evnt) {
783                feekeydown()
784            }
785        }
786    };
787    const lang_iso = document.documentElement.getAttribute("lang");
788    const lang = lang_iso == "zh-Hant" ? "tc" : (lang_iso == "zh-Hans" ? "sc" : "en");
789    var i;
790                $(".btn-search").on("click keydown", function(e) {
791                    if (e.type === 'keydown' && e.which !== 13) {
792                        return;
793                    }
794                    $(".search-keywords-box").slideToggle();
795                    $(".search_site_keywords").focus();
796                    // if ($(".search-keywords-box").height == 0) {
797                    //     $(".search-keywords-box").slideDown();
798                    // } else {
799                    //     $(".search-keywords-box").slideUp();
800                    // }
801                })
802                $(".search-close").on("click keydown", function(e) {
803                    if (e.type === 'keydown' && e.which !== 13) {
804                        return;
805                    }
806                    $(".search-keywords-box").slideUp();
807                    $(".btn-search").focus();
808                })
809
810                $(".search-keywords-submit").on("click keydown", function(e) {
811                    if (e.type === 'keydown' && e.which !== 13) {
812                        return;
813                    }
814                    var search_site_keywords = $("#search_site_keywords").val();
815                    if (search_site_keywords != "") {
816                        window.open('https://www.search.gov.hk/result?tpl_id=stdsearch&ui_lang=' + (lang == "tc" ? "zh-hk" : (lang == "sc" ? "zh-cn" : "en")) + '&ui_charset=utf-8&gp0=hadla_home&gp1=hadla_home&web=this&query=' + search_site_keywords, '_blank');
817                        // alert(search_site_keywords);
818                    } else {
819                        // $(".search-keywords-box").effect( "shake" );
820                    }
821                })
822                $(document).ready(function() {
823                    var siteLanguage = $('html').attr('lang');
824                    let previousSlideMessage = '';
825                    let nextSlideMessage = '';
826                    let firstSlideMessage = '';
827                    let lastSlideMessage = '';
828                    let paginationBulletMessage = '';
829                    let slideLabelMessage = '';
830                    if (siteLanguage == "en") {
831                        previousSlideMessage = 'Previous slide';
832                        nextSlideMessage = 'Next slide';
833                        firstSlideMessage = 'First slide';
834                        lastSlideMessage = 'Last slide';
835                        paginationBulletMessage = 'View slide {{index}}';
836                        slideLabelMessage = 'Slide {{index}} of {{slidesLength}}';
837                    } else if (siteLanguage == "zh-Hant") {
838                        previousSlideMessage = '上一張';
839                        nextSlideMessage = '下一張';
840                        firstSlideMessage = '第一張';
841                        lastSlideMessage = '最後一張';
842                        paginationBulletMessage = '檢視第 {{index}} 張';
843                        slideLabelMessage = '第 {{index}} 張,共 {{slidesLength}} 張';
844                    } else if (siteLanguage == "zh-Hans") {
845                        previousSlideMessage = '上一张';
846                        nextSlideMessage = '下一张';
847                        firstSlideMessage = '第一张';
848                        lastSlideMessage = '最后一张';
849                        paginationBulletMessage = '检视第 {{index}} 张';
850                        slideLabelMessage = '第 {{index}} 张,共 {{slidesLength}} 张';
851                    }
852                    var swiper = new Swiper('.other_site_slider .swiper-container', {
853                        a11y: {
854                            enabled: true,
855                            // Custom messages
856                            prevSlideMessage: previousSlideMessage,
857                            nextSlideMessage: nextSlideMessage,
858                            firstSlideMessage: firstSlideMessage,
859                            lastSlideMessage: lastSlideMessage,
860                            paginationBulletMessage: paginationBulletMessage,
861                            slideLabelMessage: slideLabelMessage,
862                        },
863                        slidesPerGroup: 2,
864                        slidesPerView: 2,
865                        spaceBetween: 20,
866                        breakpoints: {
867                            // 350: {
868
869                            // },
870                            520: {
871                                slidesPerGroup: 3,
872                                slidesPerView: 3,
873                                spaceBetween: 20
874                            },
875                            760: {
876                                slidesPerGroup: 4,
877                                slidesPerView: 4,
878                                spaceBetween: 20
879                            },
880                            960: {
881                                slidesPerGroup: 5,
882                                slidesPerView: 5,
883                                spaceBetween: 20
884                            }
885                        },
886                        navigation: {
887                            nextEl: '.other_site_slider .swiper-button-next',
888                            prevEl: '.other_site_slider .swiper-button-prev',
889                            addIcons: false,
890                        },
891                        pagination: {
892                            clickable: true,
893                            el: '.other_site_slider .swiper-pagination',
894                        },
895                    });
896                });
897    for (i in events) {
898        document.documentElement.addEventListener(i, function (evnt) {
899            var j, e = evnt.type;
900            for (j = evnt.target; j; j = j.parentNode) {
901                if (j.dataset && j.dataset[e + "EventId"] && events[e][j.dataset[e + "EventId"]]) {
902                    events[e][j.dataset[e + "EventId"]].call(j, evnt);
903                }
904            }
905        }, false);
906    }
907}, false);

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.