PageSourceSearch

https://barriere.ca/Scripts/custom-scripts.js

js barriere.ca collected 2026-10-05 18:18:01 UTC 30,252 bytes, 777 lines download raw bytes

1function SubmitPollSuccess() {
2    $(function() {
3        'use strict';
4        $(".btnRegister").click(function(e) {
5            e.preventDefault();
6            $("#pollQuestion").modal('hide');
7            $("#register").modal('show');
8        });
9    });
10}
11
12function SubmitPollBegin() {
13
14}
15
16function fnCarouselSlideshowLongDesc() {
17    var $carouselImg = $('#carousel .item img'),
18        $carouselCaption = $('.carousel-caption');
19
20    $carouselImg.attr('longdesc', function(index) {
21        return '#imageCaption' + index;
22    });
23    $carouselCaption.attr('id', function(index) {
24        return '#imageCaption' + index;
25    });
26}
27
28function fnSkipToContents() {
29    var $skipToContent = $('.skipToContent');
30
31    $skipToContent.on('focus', 'ol.skipLinks a', function() {
32        $skipLinksA = $('ol.skipLinks a');
33        $skipLinksA.parents('.skipToContent').addClass('showSkipToContents');
34    }).on('blur', 'ol.skipLinks a', function() {
35        $skipLinksA = $('ol.skipLinks a');
36        $skipLinksA.parents('.skipToContent').removeClass('showSkipToContents');
37    });
38
39    // Key Events
40    $skipToContent.keydown(
41        function(e) {
42            var $code = e.which;
43
44            if ($code === 27) {
45                $('#headerTop').focus();
46                $(this).removeClass('showSkipToContents');
47                return false;
48            }
49            if ($code === 38) {
50                //console.log(e.keyCode);
51                $('.stcLink:focus').closest('li').prev().find('a.stcLink').focus();
52                return false;
53            }
54            if ($code === 40) {
55                //console.log(e.keyCode);
56                $('.stcLink:focus').closest('li').next().find('a.stcLink').focus();
57                return false;
58            }
59        }
60    );
61}
62
63function fnMainNavigationAria() {
64    //replace this
65    var $nav = $('nav'),
66        $navA = $('nav a'),
67        $ulSubmainMenu = $('.desktopNav ul.subMainMenu'),
68        $ulSubsubMainMenu = $('.desktopNav ul.subSubMainMenu'),
69        $ulSubmainMenuArrow = $('.desktopNav ul.subMainMenu > li.hasChild > a > i'),
70        $mainMenuLi = $('.desktopNav ul.mainMenu > li'),
71        $subMainMenuLi = $('.desktopNav ul.subMainMenu > li'),
72        $mainNavTopCategory = $('.desktopNav ul.mainMenu > li > a');
73    //replace
74
75    //new
76    $ulSubmainMenuArrow.on('click', function() {
77        var $ulSubsubMainMenu = $(this).parent().parent().find('ul.subSubMainMenu');
78        var $hasOpen = $(this).hasClass('show-menu');
79        if ($hasOpen) {
80            $(this).removeClass('fa-chevron-up').removeClass('show-menu').toggleClass('fa-chevron-down');
81            $ulSubsubMainMenu.slideToggle('fast');
82        } else {
83            $(this).removeClass('fa-chevron-down').toggleClass('fa-chevron-up').toggleClass('show-menu');
84            $ulSubsubMainMenu.slideToggle('fast');
85            var $ulSubmainMenuArrowThis = $(this);
86
87            $.each($ulSubmainMenuArrow.not($ulSubmainMenuArrowThis), function() {
88                var $hasOpenThis = $(this).hasClass('show-menu');
89                if ($hasOpenThis) {
90                    var $ulSubsubMainMenuThis = $(this).parent().parent().find('ul.subSubMainMenu');
91                    $(this).removeClass('fa-chevron-up').removeClass('show-menu').toggleClass('fa-chevron-down');
92                    $ulSubsubMainMenuThis.slideToggle('fast');
93                }
94            });
95        }
96        return false;
97    });
98    //end
99
100    $mainNavTopCategory.attr('id', function(index) {
101        return '#categoryNavID' + index;
102    });
103
104    $('nav').on('mouseenter focus', '.desktopNav ul.mainMenu > li.hasChild a', function() {
105        var $focusNavLink = $(this);
106        $focusNavLink.toggleClass('hasFocus');
107        $focusNavLink.parents('.hasChild').attr('aria-expanded', 'true');
108
109    }).on('mouseleave blur', '.desktopNav ul.mainMenu > li.hasChild a', function() {
110        var $focusNavLink = $(this);
111        $focusNavLink.toggleClass('hasFocus');
112        $focusNavLink.parents('.hasChild').attr('aria-expanded', 'false');
113
114    });
115
116    $('.desktopNav ul.mainMenu > li > a,.navContainer').on('mouseenter focus', function() {
117        $('.headerBottom.cf').addClass('hasMouseFocus');
118    }).on('mouseleave blur', function() {
119
120        $('.headerBottom.cf').removeClass('hasMouseFocus');
121    });
122
123    // Assign a unique ID for each 2nd Level Menu (ul.subMainMenu)
124    $ulSubmainMenu.attr('id', function(index) {
125        return 'subMainMenu' + index;
126    });
127    $ulSubsubMainMenu.attr('id', function(index) {
128        return 'subSubMainMenu' + index;
129    });
130
131    // Attaches the ARIA Role and ID where an element belongs
132    $navA.attr('role', 'menuitem');
133    $mainMenuLi.has('ul.subMainMenu').children('a').attr('aria-haspopup', 'true').attr('aria-owns', function(index) {
134        return 'subMainMenu' + index;
135    });
136    $subMainMenuLi.has('ul.subSubMainMenu').children('a').attr('aria-haspopup', 'true').attr('aria-owns', function(index) {
137        return 'subSubMainMenu' + index;
138    });
139
140    // Key Events
141    $nav.keydown(
142        function(e) {
143            var $code = e.which;
144
145            // ESC
146            if ($code === 27) {
147                $mainMenuLi.removeAttr('aria-expanded');
148                return false;
149            }
150            // UP
151            if ($code === 38) {
152                //console.log(e.keyCode);
153                $('.desktopNav ul.subMainMenu > li a:focus').closest('li').prev().find('a').focus();
154                return false;
155            }
156            // DOWN
157            if ($code === 40) {
158                //console.log(e.keyCode);
159                //$('ul.subMainMenu > li:first-child a').focus();
160                $('.desktopNav ul.subMainMenu > li a:focus').closest('li').next().find('a').focus();
161                return false;
162            }
163            // LEFT
164            if ($code === 37) {
165                //console.log(e.keyCode);
166                $('.desktopNav ul.mainMenu > li a:focus').closest('li').prev().find('a').focus();
167                return false;
168            }
169
170            // RIGHT
171            if ($code === 39) {
172                //console.log(e.keyCode);
173                $('.desktopNav ul.mainMenu > li a:focus').closest('li').next().find('a').focus();
174                return false;
175            }
176        }
177    );
178}
179
180function fnSideMenuAria() {
181    var $ulSideMenu = $('ul.sideMenu'),
182        $ulsubSideMenu = $('ul.subSideMenu'),
183        $sideMenuLi = $('ul.sideMenu > li'),
184        $ulSideMenuA = $('ul.sideMenu a'),
185        $moreOption = $('ul.sideMenu .moreOption');
186
187
188    $moreOption.on('click', function() {
189        $(this).toggleClass('hasFocus');
190        if (!$(this).hasClass('openIcon')) {
191            $(this).parents('.hasChild').attr('aria-expanded', 'false');
192        } else {
193            $(this).parents('.hasChild').attr('aria-expanded', 'true');
194        }
195    });
196
197    // Checks if the current element is active
198    if ($ulsubSideMenu.css('display') === 'block') {
199        $sideMenuLi.attr('aria-expanded', 'true');
200    }
201
202    // Assign a unique ID for each 2nd Level Menu (ul.subMainMenu)
203    $ulSideMenu.attr('id', function(index) {
204        return 'sideMenuID' + index;
205    });
206    $ulsubSideMenu.attr('id', function(index) {
207        return 'subSideMenuID' + index;
208    });
209
210    // Attaches the ARIA Role and ID where an element belongs
211    $ulSideMenuA.attr('role', 'menuitem');
212    $sideMenuLi.has('ul.subSideMenu').children('a').attr('aria-haspopup', 'true').attr('aria-owns', function(index) {
213        return 'sideMenuID' + index;
214    });
215
216}
217
218function fnQuickLinks() {
219    var $quickLinks = $('.quickLinks');
220
221    $('.quickLinks').on('mouseenter focus', '.qlContainer', function() {
222        var $focusLink = $(this);
223        $focusLink.toggleClass('hasFocus');
224    }).on('mouseleave blur', '.qlContainer', function() {
225        var $focusLink = $(this);
226        $focusLink.toggleClass('hasFocus');
227    });
228
229    // Key Events
230    $quickLinks.keydown(
231        function(e) {
232            var $code = e.which;
233
234            if ($code === 27) {
235                $('.qlContainer a').blur();
236                $('#search-txt').focus();
237                $('.qlContainer').removeClass('hasFocus');
238                return false;
239            }
240            if ($code === 38) {
241                //console.log(e.keyCode);
242                $('.qlContainer a:focus').prev().focus();
243                return false;
244            }
245            if ($code === 40) {
246                //console.log(e.keyCode);
247                $('.qlContainer a:focus').next().focus();
248                return false;
249            }
250        }
251    );
252}
253
254$(function() {
255    'use strict';
256
257    var $menuIcon = $('.menuIcon'),
258        $nav = $('nav'),
259        $serviceRequest = $('.serviceRequest'),
260        $serviceRequestH2 = $('.serviceRequest h2'),
261        $searchIcon = $('.searchIcon'),
262        $popupAlert = $('.popupAlert');
263
264
265    // BOOTSTRAP
266    $('[data-toggle="tooltip"]').tooltip();
267    $('[data-toggle="popover"]').popover();
268
269    // OPEN NAV
270    $('ul.add-form > li:has(span):has(input[type="radio"])').children().css('padding-right', '1em');
271    $('ul.add-form > li:has(textarea)').css('display', 'block');
272    $menuIcon.on('click', function() {
273        $nav.toggleClass('navOpen');
274    });
275
276    // Checks if there is an active alert
277    if ($popupAlert.length === 1) {
278        var $body = $('body');
279        $body.addClass('activePopupAlert');
280    }
281
282    // ATTACHES A CLASS MOBILEMODE ON THE NAV
283    // IT WATCHES FOR 2 EVENTS LOADED && RESIZED
284    function mobileMode() {
285        var $sideMenu = $('ul.sideMenu'),
286            $sideMenuNav = $('.sideMenuNav'),
287            $viewportWidth = $(window).width(),
288            $viewportHeight = $(window).height(),
289            $nav = $('nav'),
290            $mainMenu = $('ul.mainMenu'),
291            $ulMainMenu = $('ul.mainMenu > li > a:not(.home)'),
292            $figcaptionCarousel = $('.carousel-caption');
293
294        // SIDEMENU
295        //if ($viewportWidth >= 1024) {
296        //    //$sideMenu.slideDown('fast');
297        //    //$sideMenuNav.addClass('openSideMenuIcon');
298        //} else {
299        //    //$sideMenu.slideUp('fast');
300        //    //$sideMenuNav.removeClass('openSideMenuIcon');
301        //}
302
303        if (($viewportWidth >= 1024) && ($sideMenu.css('display') === 'none')) {
304            $sideMenu.css('display', '');
305        }
306
307        // Main Menu
308        if ($viewportWidth <= 1190) {
309            // UNBIND THE CLICK EVENT
310            $ulMainMenu.css('cursor', 'pointer');
311            $ulMainMenu.off('click');
312        } else {
313            // BIND THE CLICK EVENT
314            $ulMainMenu.css('cursor', 'default');
315            $ulMainMenu.on('click', function(e) {
316                e.preventDefault();
317            });
318        }
319
320        if ($viewportWidth <= 767) {
321            $nav.addClass('mobileMode');
322        }
323
324        // CALCULATES THE HEIGHT OF THE VIEWPORT FOR THE HOMEPAGE CAROUSEL TO DISPLAY TEXTS PROPERLY
325        if ($viewportHeight <= 480) {
326            $figcaptionCarousel.addClass('portraitMode');
327        } else {
328            $figcaptionCarousel.removeClass('portraitMode');
329        }
330
331        if ($viewportHeight <= 414) {
332            $figcaptionCarousel.parent().parent('.carousel-inner').addClass('landscapeMode');
333        } else {
334            $figcaptionCarousel.parent().parent('.carousel-inner').removeClass('landscapeMode');
335        }
336
337        $(window).resize(function() {
338            var $sideMenu = $('ul.sideMenu'),
339                $sideMenuNav = $('.sideMenuNav'),
340                $viewportWidth = $(window).width(),
341                $viewportHeight = $(window).height(),
342                $nav = $('nav'),
343                $mainMenu = $('ul.mainMenu'),
344                $ulMainMenu = $('ul.mainMenu > li > a:not(.home)'),
345                $figcaptionCarousel = $('.carousel-caption');
346
347            // SIDEMENU
348            if (($viewportWidth >= 1024) && ($sideMenu.css('display') === 'none')) {
349                $sideMenu.css('display', '');
350            }
351
352            // Main Menu
353            if ($viewportWidth <= 1190) {
354                // UNBIND THE CLICK EVENT
355                $ulMainMenu.css('cursor', 'pointer');
356                $ulMainMenu.off('click');
357            } else {
358                // BIND THE CLICK EVENT
359                $ulMainMenu.css('cursor', 'default');
360                $ulMainMenu.on('click', function(e) {
361                    e.preventDefault();
362                });
363            }
364
365            if ($viewportWidth <= 767) {
366                $nav.addClass('mobileMode');
367            } else {
368                $nav.removeClass('mobileMode');
369                $mainMenu.removeClass('navShow');
370            }
371
372            // CALCULATES THE HEIGHT OF THE VIEWPORT FOR THE HOMEPAGE CAROUSEL TO DISPLAY TEXTS PROPERLY
373            if ($viewportHeight <= 480) {
374                $figcaptionCarousel.addClass('portraitMode');
375            } else {
376                $figcaptionCarousel.removeClass('portraitMode');
377            }
378
379            if ($viewportHeight <= 414) {
380                $figcaptionCarousel.parent().parent('.carousel-inner').addClass('landscapeMode');
381            } else {
382                $figcaptionCarousel.parent().parent('.carousel-inner').removeClass('landscapeMode');
383            }
384        });
385    }
386
387    // NAV ICON
388
389    // CHECK IF THERE IS AN EMPTY CLASS ON THE NAV ICONS
390    $('nav i[class=""]').remove();
391
392    // CHECKS THE LOCAL NOTICES && UPCOMING EVENTS ON THE HOMEPAGE
393    // IF ANY IS MISSING SHOW A PLACEHOLDER TEXT
394    function checkLocalNoticesUpcomingEvents() {
395        var $localNoticesLink = $('#recentNewsCont').find('a.iconPost'),
396            $upcomingEventsLink = $('#upcomingEventsCont').find('a.iconPost'),
397            $municipalEventsLink = $('#municipalEventsCont').find('a.iconPost'),
398			$commRecreationEventsLink = $('#commRecreationCont').find('a.iconPost');
399        //$localNoticesLinkFR = $('ul.homeCol2.fr > li:first-child').find('a.iconPost');
400
401        if ($localNoticesLink.length === 0) {
402            var $contentHolder = $('<div class="empty"><i aria-hidden class="fal fa-info-circle" title="No notices posted"></i><span class="sr-only">No notices posted this time</span><span class="hideMe">No notices posted</span><p><strong>There are no notices posted at this time. Please check back later!</strong></p><p>If you have a local notice that you would like to submit to our office, you can do so by clicking <a href="p/add-notice" title="Submit A Notice">here</a>. All submissions remain pending until approved by the site administrator.</p></div>');
403            $contentHolder.insertAfter('#recentNewsCont h3');
404        }
405
406        if ($upcomingEventsLink.length === 0) {
407            var $contentHolder = $('<div class="empty"><i aria-hidden class="fal fa-info-circle" title="No events posted"></i><span class="sr-only">No events posted this time</span><span class="hideMe">No events posted</span><p><strong>There are no events posted at this time. Please check back later!</strong></p><p>If you have a community event that you would like to submit to our office, you can do so by clicking <a href="p/add-event" title="Submit An Event">here</a>. All submissions remain pending until approved by the site administrator.</p></div>');
408            $contentHolder.insertAfter('#upcomingEventsCont h3');
409        }
410        if ($municipalEventsLink.length === 0) {
411            var $contentHolder = $('<div class="empty"><i aria-hidden class="fal fa-info-circle" title="No events posted"></i><span class="sr-only">No events posted this time</span><span class="hideMe">No events posted</span><p><strong>There are no Municipal Events posted at this time. Please check back later!</strong></p><p>If you have a local notice that you would like to submit to our office, you can do so by clicking <a href="p/submit-a-notice" title="Submit A Notice">here</a>. All submissions remain pending until approved by the site administrator.</p></div>');
412            $contentHolder.insertAfter('#municipalEventsCont h3');
413        }
414		
415		if ($commRecreationEventsLink.length === 0) {
416            var titleText = ($("#commRecreationCont").find("h3").text().length > 0) ? $("#commRecreationCont").find("h3").text() : "Community Events";
417            var $contentHolder = $('<div class="empty"><i aria-hidden class="fal fa-info-circle" title="' + titleText + '"></i><span class="sr-only">' + titleText + ' posted this time</span><span class="hideMe">No' + titleText + ' posted</span><p><strong>There are no ' + titleText + ' posted at this time. Please check back later!</strong></p></div>');
418            $contentHolder.insertAfter('#commRecreationCont h3');
419        }
420    }
421
422
423    // NAVIGATION
424    function addMoreOptionMainMenu() {
425        var $mainMenuLi = $('ul.mainMenu > li'),
426            $subMainMenuLi = $('ul.subMainMenu > li');
427
428        // ADDS A CLASS .HASCHILD WHENEVER THERE IS A SUB-CHILD && ATTACHES THE .MOREOPTIONMAINMENU
429        //$mainMenuLi.has('ul.subMainMenu').addClass('hasChild').append('<div class="moreOptionMainMenu"><span class="hideMe">More Option</span></div>');
430        //$subMainMenuLi.has('ul.subSubMainMenu').addClass('hasChild').append('<div class="moreOptionSubMainMenu"><span class="hideMe">More Option</span></div>');
431        $mainMenuLi.has('ul.subMainMenu').addClass('hasChild');
432        $('<button class="moreOptionMainMenu"><span class="hideMe">More Option</span ></button>').insertAfter('ul.mainMenu > li.hasChild > a');
433        $subMainMenuLi.has('ul.subSubMainMenu').addClass('hasChild');
434        $('<button class="moreOptionSubMainMenu"><span class="hideMe">More Option</span></button>').insertAfter('ul.subMainMenu > li.hasChild > a');
435    }
436
437    function moreOptionMainMenu() {
438        var $moreOptionMainMenuIcon = $('ul.mainMenu .moreOptionMainMenu'),
439            $moreOptionSubMainMenuIcon = $('ul.subMainMenu .moreOptionSubMainMenu');
440
441        // ATTACHES A CLICK EVENT ON THE .MOREOPTIONMAINMENU BUTTON
442        $moreOptionMainMenuIcon.on('click', function() {
443            if ($(this).hasClass('openIcon') != true) {
444                $('ul.mainMenu .moreOptionMainMenu.openIcon').toggleClass('openIcon').siblings('ul.subMainMenu').slideToggle('fast');
445            }
446            $(this).toggleClass('openIcon').siblings('ul.subMainMenu').slideToggle('fast');
447        });
448
449        $moreOptionSubMainMenuIcon.on('click', function() {
450            if ($(this).hasClass('openIcon') != true) {
451                $('ul.subMainMenu .moreOptionSubMainMenu.openIcon').toggleClass('openIcon').siblings('ul.subSubMainMenu').slideToggle('fast');
452            }
453            $(this).toggleClass('openIcon').siblings('ul.subSubMainMenu').slideToggle('fast');
454
455        });
456
457    }
458
459
460    // SIDEMENU &&
461    // OPENS THE DROPDOWN IF THE PARTICULAR ELEMENT IS SELECTED
462    function checkSideMenu() {
463        var $sideMenuNav = $('.sideMenuNav'),
464            $sideMenu = $('ul.sideMenu'),
465            $sideMenuLi = $('ul.sideMenu > li'),
466            $moreOption = $('ul.sideMenu .moreOption');
467
468        // ON MODILE SIDEMENU ICON
469        $sideMenuNav.on('click', function() {
470            $(this).toggleClass('openSideMenuIcon').siblings('ul.sideMenu').slideToggle('fast');
471        });
472
473        // ADDS A CLASS .HASCHILD WHENEVER THERE IS A SUB-CHILD
474        $sideMenuLi.has('ul.subSideMenu').addClass('hasChild');
475
476        // ATTACHES A CLICK EVENT ON THE .MOREOPTION BUTTON
477        $moreOption.on('click', function() {
478            $(this).toggleClass('openIcon').siblings('ul.subSideMenu').slideToggle('fast');
479        });
480
481        // OPENS THE 2ND LEVEL MENU IF IT IS SELECTED
482        if ($('ul.sideMenu > li').hasClass('selected')) {
483            var $openSideMenu = $('ul.sideMenu > li.selected');
484
485            $openSideMenu.children('ul.subSideMenu').slideDown('fast');
486            $openSideMenu.children('.moreOption').addClass('openIcon');
487        }
488
489        // OPENS THE 3RD LEVEL MENU IF IT IS SELECTED
490        if ($('ul.subSideMenu > li').hasClass('selected')) {
491            var $openSubSideMenu = $('ul.subSideMenu > li.selected');
492
493            $openSubSideMenu.parent().slideDown('fast');
494            $openSubSideMenu.parent().siblings('.moreOption').addClass('openIcon');
495        }
496    }
497
498
499    // APPLY SMOOTH SCROLL WHEN CLICKED ON THE BUTTON SLIDESHOW.
500    $('.btnScrollDown').on('click', function(event) {
501        event.preventDefault();
502
503        var $dest = 0;
504        if ($(this.hash).offset().top > $(document).height() - $(window).height()) {
505            $dest = $(document).height() - $(window).height();
506        } else {
507            $dest = $(this.hash).offset().top;
508        }
509
510        $('html, body').animate({
511            scrollTop: $dest
512        }, 1000, 'swing');
513    });
514
515
516    // SCROLL UP
517    $(window).scroll(function() {
518        if ($(this).scrollTop() > 100) {
519            $('.btnScrollup').fadeIn();
520        } else {
521            $('.btnScrollup').fadeOut();
522        }
523    });
524
525    $('.btnScrollup').click(function() {
526        $("html, body").animate({ scrollTop: 0 }, 600);
527        return false;
528    });
529
530
531    // SERVICE REQUEST
532    $serviceRequestH2.on('click', function() {
533        $(this).parent().parent().toggleClass('openServiceRequest');
534    });
535
536    // SEARCH BOX SET FOCUS
537    $('#btnSearch').on('shown.bs.modal', function() {
538        $('#search-txt').focus();
539    });
540
541
542    // CLOSES THE NAVIGATION WHEN CLICKED OUTSIDE THE NAV CONTAINER	
543    $('#carousel, main, aside, form, footer, iframe, h2.categoryTitle, .mainContent, .headerTop, .siteLogo, .searchIcon, .closeNav').on('click', function() {
544        $nav.removeClass('navOpen');
545        $serviceRequest.removeClass('openServiceRequest');
546    });
547
548    // Video Gallery
549    //$('.articlePost').fitVids();
550    //$('.video-content').fitVids();
551
552    $('#latestNews').on('show.bs.modal', function(e) {
553        var noticeResource = $(e.relatedTarget).attr('data-notice');
554        var modal = $(this);
555        $.get('' + noticeResource + '', function(data) {
556            var modalBody = $(modal).find(".modal-body");
557            $(modalBody).html(data);
558        });
559    });
560
561    $('#upcomingEvents').on('show.bs.modal', function(e) {
562        var eventsResource = $(e.relatedTarget).attr('data-event');
563        var modal = $(this);
564        $.get('' + eventsResource + '', function(data) {
565            var modalBody = $(modal).find(".modal-body");
566            $(modalBody).html(data);
567        });
568    });
569
570    $('#municipalEvents').on('show.bs.modal', function(e) {
571        var eventsResource = $(e.relatedTarget).attr('data-event');
572        var modal = $(this);
573        $.get('' + eventsResource + '', function(data) {
574            var modalBody = $(modal).find(".modal-body");
575            $(modalBody).html(data);
576        });
577    });
578
579    //Id Like To Section
580    $('#idLiketoSearchModal').on('show.bs.modal', function(e) {
581        var noticeResource = $(e.relatedTarget).attr('data-liketo');
582        var modal = $(this);
583        $.get('' + noticeResource + '', function(data) {
584            var modalBody = $(modal).find(".modal-body");
585            $(modalBody).html(data);
586        });
587    });
588
589    // I'D LIKE TOO
590    $('.btnChoices').on('click', function() {
591        var $this = $(this);
592        $(this).toggleClass('openIcon');
593        $this.siblings('.choicesContainer').slideToggle();
594    });
595
596    $('#localNotices').on('hide.bs.modal', function(e) {
597        Loading(this);
598    });
599
600    $('#upcomingEvents').on('hide.bs.modal', function(e) {
601        Loading(this);
602    });
603
604    function Loading(modal) {
605        var modalBody = $(modal).find(".modal-body");
606        var loading = '<div class="loading-main">' +
607            '<div class="loading-process"></div>' +
608            '<div class="loading-text"></div>' +
609            '</div>'
610        $(modalBody).html(loading);
611    }
612
613    $(".btn.subscribe").click(function(e) {
614        e.preventDefault();
615        var $val = $('.form-control.subscribe').val();
616        $('#register input[name="Email"]').val($val);
617        $("#register").modal('show');
618    });
619
620    //frmSearch
621    $('.frmSearch').submit(function(evt) {
622        evt.preventDefault();
623        var keyword = $(this).find('input[type="search"]').val();
624        var searchUrl = $(this).find('input[type="hidden"]').val();
625
626        window.location.href = searchUrl + "?keyword=" + keyword;
627    });
628
629
630    $('.form-css,.form-css-event').submit(function(evt) {
631        //prevent the browsers default function
632        // get client-side Captcha object instance
633        var $form = $(this);
634        if ($(".g-recaptcha").length > 0) {
635            if ($("textarea[name=g-recaptcha-response]").length > 0) {
636                $("textarea[name=g-recaptcha-response]").each(function() {
637                    if (this.value.length != 0) {
638                        $form.find("textarea[name=g-recaptcha-response]").val(this.value);
639                    }
640                })
641            }
642        }
643        var v = $form.find("textarea[name=g-recaptcha-response]").val();
644        if (v.length == 0) {
645            alert("You can't leave without Captcha.");
646            return false;
647        }
648        evt.preventDefault();
649        //grab the form and wrap it with jQuery
650
651        //if client side validation fails, don't do anything
652        if (!$form.valid()) return;
653
654        $form.find('input[type="submit"]').prop('disabled', true);
655        $form.find('input[type="submit"]').val('Submitting...');
656
657        $.ajax({
658            type: $form.prop('method'),
659            url: $form.prop('action'),
660            data: $form.serialize(),
661            traditional: true,
662            success: function(response) {
663                $form.find('input[type="submit"]').prop('disabled', false);
664                $form.find('input[type="submit"]').val('Submit');
665                $($form).html(response);
666                try {
667                    $.getScript("https://www.google.com/recaptcha/api.js");
668                    bindScripts();
669                } catch (err) {
670                    console.log("success");
671                }
672            },
673            error: function(response) {}
674        });
675    });
676
677    //quickLinks
678    $(document).ready(function() {
679        $('.qlOpen').on('click', function() {
680
681            //$('.quickLinks .qlContainer').toggleClass('quickOpen');
682            if ($('.quickLinks .qlContainer').hasClass('quickOpen')) {
683                $('.quickLinks .qlOpen').removeClass('qlCont');
684                $('.quickLinks .qlContainer').removeClass('quickOpen');
685                $('.quickLinks .qlContainer').addClass('quickClose');
686            } else {
687
688                $('.quickLinks .qlOpen').addClass('qlCont');
689                $('.quickLinks .qlContainer').addClass('quickOpen');
690                $('.quickLinks .qlContainer').removeClass('quickClose');
691            }
692
693        });
694
695        $('.qlClose').on('click', function() {
696
697            if ($('.quickLinks .qlContainer').hasClass('quickOpen')) {
698                $('.quickLinks .qlContainer').removeClass('quickOpen');
699                $('.quickLinks .qlContainer').addClass('quickClose');
700                $('.quickLinks .qlOpen').removeClass('qlCont');
701            } else {
702                $('.quickLinks .qlContainer').addClass('quickOpen');
703                $('.quickLinks .qlContainer').removeClass('quickClose');
704                $('.quickLinks .qlOpen').addClass('qlCont');
705            }
706
707        });
708    });
709
710    // Init AOS
711    function aos_init() {
712        AOS.init({
713            duration: 1000,
714            once: true
715        });
716    }
717    $(window).on('load', function() {
718        aos_init();
719    });
720
721    //for French Captcha
722    $('.form-css-fr').submit(function(evt) {
723        //prevent the browsers default function
724        // get client-side Captcha object instance
725        evt.preventDefault();
726        //grab the form and wrap it with jQuery
727        var $form = $(this);
728
729        if ($(".g-recaptcha").length > 0) {
730            if ($("textarea[name=g-recaptcha-response]").length > 0) {
731                $("textarea[name=g-recaptcha-response]").each(function() {
732                    if (this.value.length != 0) {
733                        $form.find("textarea[name=g-recaptcha-response]").val(this.value);
734                    }
735                })
736            }
737        }
738        var v = $form.find("textarea[name=g-recaptcha-response]").val();
739        if (v.length == 0) {
740            alert("Vous ne pouvez pas partir sans Captcha.");
741            return false;
742        }
743
744        //if client side validation fails, don't do anything
745        if (!$form.valid()) return;
746
747        $form.find('input[type="submit"]').prop('disabled', true);
748        $form.find('input[type="submit"]').val('Submitting...');
749
750        $.ajax({
751            type: $form.prop('method'),
752            url: $form.prop('action'),
753            data: $form.serialize(),
754            traditional: true,
755            success: function(response) {
756                $form.find('input[type="submit"]').prop('disabled', false);
757                $form.find('input[type="submit"]').val('Submit');
758                $($form).html(response);
759            },
760            error: function(response) {}
761        });
762    });
763
764    // EXECUTE FUNCTION BLOCKS
765    mobileMode();
766    addMoreOptionMainMenu();
767    moreOptionMainMenu();
768    checkSideMenu();
769    checkLocalNoticesUpcomingEvents();
770    fnCarouselSlideshowLongDesc();
771    fnMainNavigationAria();
772    fnSideMenuAria();
773    fnSkipToContents();
774    fnQuickLinks();
775    //navIconMenu();
776
777}); // END OF PARENT FUNCTION();

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.