PageSourceSearch

https://www.fsmt.de/typo3conf/ext/sitepackage/Resources/Public/Js/master.js?1742985762

js fsmt.de collected 2026-10-09 17:00:24 UTC 11,729 bytes, 369 lines download raw bytes

1$(document).ready(function () {
2    //accordion start
3    function toggleAccordion(button) {
4        const dt = button.parentNode;
5        const dd = dt.nextElementSibling;
6
7        // Alle anderen geöffneten Abschnitte schließen
8        const accordions = document.querySelectorAll('.accordion dt');
9        accordions.forEach((item) => {
10            if (item !== dt && item.classList.contains('active')) {
11                item.classList.remove('active');
12                item.nextElementSibling.classList.remove('active');
13                // Verstecke das Icon für den geschlossenen Abschnitt
14                item.querySelector('.fa-plus').classList.add('icon-toggle');
15            }
16        });
17
18        // Aktuellen Abschnitt öffnen oder schließen
19        if (dt.classList.contains('active')) {
20            dt.classList.remove('active');
21            dd.classList.remove('active');
22            // Zeige das Icon für den geschlossenen Abschnitt
23            button.querySelector('.fa-plus').classList.remove('icon-toggle');
24        } else {
25            dt.classList.add('active');
26            dd.classList.add('active');
27            // Zeige das Icon für den geöffneten Abschnitt
28            button.querySelector('.fa-plus').classList.add('icon-toggle');
29        }
30    }
31
32    // Selektiere alle .accordion-btn Elemente
33    const accordionBtns = document.querySelectorAll('.accordion-btn');
34
35    // Iteriere über alle .accordion-btn Elemente
36    accordionBtns.forEach(function (btn) {
37        // Füge einen Eventlistener hinzu, der auf Klick reagiert
38        btn.addEventListener('click', function () {
39            toggleAccordion(this); // 'this' bezieht sich auf das geklickte Element
40        });
41    });
42    //end accordion
43
44
45
46    $('figure').each(function( index ) {
47        var figureWidth = $(this).attr('class').split('w-').pop().split(' h')[0];
48        var figureHeight =  $(this).attr('class').split('h-').pop().split(' ')[0];
49
50
51        $(this).css('width',  figureWidth + 'px');
52        $(this).css('height',  figureHeight + 'px');
53    });
54
55
56    $('.btn-landingpage').on('click', function () {
57
58
59        if($('.firstmenu').has('active')){
60            $('.firstmenu.active .btn-landingpage').removeClass('onclicked');
61            $('.firstmenu.active .btn-landingpage i').removeClass('down');
62            $('.firstmenu.active').removeClass('active text-primary');
63        }
64
65        if($(this).parents('li').hasClass('currentpage')){
66            $(this).parents('li').removeClass('active');
67            $(this).parents('li').removeClass('currentpage');
68        }else{
69            $(this).toggleClass('onclicked');
70            $(this).find('i').toggleClass('down');
71            $(this).parents('li').toggleClass('active currentpage');
72        }
73
74    });
75
76    if($('#modalDesktopBlur .firstmenu').hasClass('active')){
77        $('#modalDesktopBlur .firstmenu.active').addClass('d-block');
78    }
79
80
81    $('#gallery-controls-previous').attr('title', 'Previous');
82    $('#gallery-controls-next').attr('title', 'Next');
83
84    if(navigator.standalone == true) {
85        // My app is installed and therefore fullscreen
86        $('.pwa-test').removeClass('d-none');
87    }
88
89    // $('.navbar-modal-menu .search.active .dropdown-menu').addClass('show');
90
91    $('.video-embed').parents('.frame-type-textmedia').removeClass('frame-indent');
92    $('.video-embed').parents('.frame-type-textmedia').addClass('container');
93
94    $('.frame-type-divider').removeClass('frame-default');
95    $('.frame-type-divider').addClass('frame-indent');
96
97    $('.frame-type-menu_pages.frame-layout-1 .pages-2-container > .frame-indent').addClass("mx-md-0");
98    $('.frame-type-menu_subpages.frame-layout-1 .pages-2-container > .frame-indent').addClass("mx-md-0");
99
100    $('.pages-variable-width, .pages-variable-width-iframe').slick({
101        dots: false,
102        infinite: true,
103        speed: 300,
104        slidesToShow: 4,
105        slidesToScroll: 1,
106        arrows: true,
107        responsive: [
108            {
109                breakpoint: 1200,
110                settings: {
111                    slidesToShow: 3,
112                    slidesToScroll: 1,
113                    infinite: true,
114                    dots: false
115                }
116            },
117            {
118                breakpoint: 1024,
119                settings: {
120                    slidesToShow: 2,
121                    slidesToScroll: 1,
122                    infinite: true,
123                    dots: false
124                }
125            },
126            {
127                breakpoint: 768,
128                settings: {
129                    slidesToShow: 2,
130                    slidesToScroll: 2
131                }
132            },
133            {
134                breakpoint: 480,
135                settings: {
136                    slidesToShow: 1,
137                    slidesToScroll: 1
138                }
139            }
140        ]
141    });
142
143    $('.pages-variable-width-events, .pages-variable-width-news').slick({
144        dots: false,
145        infinite: true,
146        speed: 300,
147        slidesToShow: 3,
148        slidesToScroll: 1,
149        arrows: true,
150        responsive: [
151            {
152                breakpoint: 1200,
153                settings: {
154                    slidesToShow: 3,
155                    slidesToScroll: 1,
156                    infinite: true,
157                    dots: false
158                }
159            },
160            {
161                breakpoint: 1024,
162                settings: {
163                    slidesToShow: 2,
164                    slidesToScroll: 1,
165                    infinite: true,
166                    dots: false
167                }
168            },
169            {
170                breakpoint: 768,
171                settings: {
172                    slidesToShow: 2,
173                    slidesToScroll: 2
174                }
175            },
176            {
177                breakpoint: 480,
178                settings: {
179                    slidesToShow: 1,
180                    slidesToScroll: 1
181                }
182            }
183        ]
184    });
185
186    var bgContent = $('.overlay-shape-image').attr('src');
187
188    if(bgContent != undefined){
189
190        if($('.overlay-shape-image').hasClass('dark')){
191            $('body').css('background', 'linear-gradient(rgba(0, 0, 0, 0.150),rgba(0, 0, 0, 0.2)) , url( '+ bgContent + '), no-repeat, center');
192        }
193        else{
194            $('body').css('background-image', 'url( '+ bgContent + ')');
195        }
196
197        // $('body').css('background-image', 'url( '+ bgContent + ')');
198
199    }else{
200        $('body').css('background-color', '#8B2631');
201    }
202
203    // ******************************
204    //             FONT
205    // ******************************
206
207    // FONT SLIDER (Mobile Menu)
208    let open = false;
209    const modalFooter = $("#modalFooter");
210    const buttons = $("#slide-font-buttons");
211    const container = $("#test-container");
212
213    $(".slide-font-arrow").on("click", () => {
214        modalFooter.css("height", modalFooter.outerHeight());
215
216        open = !open;
217        if (open) {
218            container.toggle("slide", {direction: "left"}, 1000);
219            buttons.delay(1030).toggle("slide", {direction: "left"}, 1000);
220        } else {
221            buttons.toggle("slide", {direction: "left"}, 1000);
222            container.delay(1030).toggle("slide", {direction: "left"}, 1000);
223        }
224    });
225
226    // FONT FADE (Desktop Menu)
227    $(".toggle-font-buttons").on("click", () => {
228        $("#font-buttons").fadeToggle();
229    });
230
231    $(".toggle-font-buttons-menu").on("click", () => {
232        $("#font-buttons-menu").fadeToggle();
233    });
234
235    $(".toggle-font-buttons").on("click", () => {
236        $('#contrastSwitch').removeClass('buttons_opacity');
237    });
238
239    $('.increase').click(function () {
240        modifyFontSize('increase');
241    });
242
243    $('.decrease').click(function () {
244        modifyFontSize('decrease');
245    });
246
247    $('#linkReset').click(function () {
248        modifyFontSize('reset');
249    })
250
251
252    const size = localStorage.getItem("font-size");
253    if (size) {
254        modifyFontSize("increase", size)
255    }
256
257    function modifyFontSize(flag, size = undefined) {
258        const divElement = $('html, body');
259        let currentFontSize = parseInt(divElement.css('font-size'));
260
261        if (!size) {
262            if (flag === 'increase') {
263                if (currentFontSize < 21) {
264                    currentFontSize += 1;
265                }
266            } else if (flag === 'decrease') {
267                if (currentFontSize > 8) {
268                    currentFontSize -= 1;
269                }
270            }
271        } else {
272            currentFontSize = Number(size);
273        }
274
275        localStorage.setItem("font-size", currentFontSize);
276        divElement.css('font-size', currentFontSize);
277    }
278
279
280
281    // //Foldout function for expanded main menu: MOBILE
282    // $('#modalDesktopBlur ul > li > a, #modalDesktopBlur ul > li > ul > li > a').click(function () {
283    //     var p = $(this).parent();
284    //     var i = $(this).find('i');
285    //
286    //     // If an entry has children, open submenu, else just return
287    //     if (p.hasClass('active')) {
288    //         return true;
289    //     } else if (p.children().length > 1) {
290    //         // Reset
291    //         p.parent().find('li').each(function () {
292    //             $(this).removeClass('active');
293    //             if ($(this).find('i').hasClass('down')) {
294    //                 // $(this).find('i').addClass('right');
295    //                 $(this).find('i').removeClass('down');
296    //             }
297    //         });
298    //         // Toggle
299    //         p.toggleClass('active');
300    //         // Set icons
301    //         if (p.hasClass('active')) {
302    //             i.removeClass('right');
303    //             i.addClass('down');
304    //         } else {
305    //             i.addClass('right');
306    //             i.removeClass('down');
307    //         }
308    //         return false;
309    //     } else {
310    //         return true;
311    //     }
312    // });
313    //
314    // $('#modalDesktopBlur ul > li a').on('click', function () {
315    //     var li$ = $(this);
316    //
317    //     $('.current').removeClass('active text-primary onclicked');
318    //     li$.addClass('onclicked current');
319    // });
320
321
322    $('.frame-type-text .text-center.mx-auto').parent('.indent-content').addClass('mx-auto');
323    $('.frame-type-textmedia .text-center.mx-auto').parent('.indent-content').addClass('mx-auto');
324    $('.frame-type-textpic .text-center.mx-auto').parent('.indent-content').addClass('mx-auto');
325
326    // Toggle button in the upper nav bar
327    $('.menu-toggle').click(function () {
328        $('#modalDesktopBlur').toggleClass('visible');
329    });
330
331    $('#modalDesktopBlur .close').click(function () {
332        $('#modalDesktopBlur').toggleClass('visible');
333    });
334
335
336    // Close button in the expanded main menu
337    $('#mainmenu .hamburger').click(function () {
338        $('#mainmenu').toggleClass('visible');
339    });
340
341
342    // junky workarround to get some mobile adaptation if the menu search button is pressed
343    // if you want to change id's or anything please ask me: TN
344    // best if you dont touch it - it works!!
345    var search_toggled = false;
346    $('#search-toggle').click(function () {
347        $('#view-adaption').toggleClass('view-adapt');
348        search_toggled = search_toggled === false;
349        console.log("search_toggled: " + search_toggled);
350    });
351
352});
353
354
355
356function getCookie(name) {
357    var nameEQ = name + "=";
358    var ca = document.cookie.split(';');
359    for(var i=0;i < ca.length;i++) {
360        var c = ca[i];
361        while (c.charAt(0)==' ') c = c.substring(1,c.length);
362        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
363    }
364    return null;
365}
366
367function goBack() {
368    window.history.back();
369}

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.