PageSourceSearch

https://www.pferdesportwestfalen.de/typo3conf/ext/co_veasyshop/Resources/Public/Js/cvs.js?1655991686

js pferdesportwestfalen.de collected 2026-10-02 15:03:39 UTC 7,852 bytes, 192 lines download raw bytes

1$(document).ready(function () {
2
3    $(document).on('click', '.megamenu', function (e) {
4        e.stopPropagation();
5    });
6
7    $('.cvs-content-slider').slick({
8        arrows: true,
9        dots: false
10    });
11
12    $('[data-fancybox]').fancybox({
13        buttons: [
14            "zoom",
15            "close"
16        ],
17    });
18
19    $('[data-cvs-toggle]').click(function () {
20        $($(this).data('cvs-toggle')).toggle();
21    });
22
23    $('#cvs-filter-types button').click(function() {
24        $(this).siblings('.btn').removeClass('active');
25        $(this).addClass('active');
26        $('#cvs-filter-type').val($(this).val()).change();
27    });
28
29    $('#cvs-filter-type').change(function() {
30        cvsShowFilter();
31    });
32
33    function cvsShowFilter() {
34        let type = $('#cvs-filter-type').val();
35        if(type > 0) {
36            let typeContainer = '.cvs-filter-container-' + type;
37            $('.cvs-filter-container').addClass('d-none');
38            $('.cvs-filter-container .cvs-filter-switchable').prop('disabled', 1);
39            $(typeContainer).removeClass('d-none');
40            $(typeContainer + ' .cvs-filter-switchable').prop('disabled', 0);
41            if(type) {
42                $('#cvs-filter-main').removeClass('d-none');
43                $('#cvs-filter-submit').removeClass('disabled');
44                $('#cvs-filter-submit').prop('disabled', 0);
45            } else {
46                $('#cvs-filter-main').addClass('d-none');
47                $('#cvs-filter-submit').addClass('disabled');
48                $('#cvs-filter-submit').prop('disabled', 1);
49            }
50        }
51    }
52    cvsShowFilter();
53
54    // if ($('#cvs-filter-types').length) {
55    //     $('#cvs-filter-types button').click(function () {
56    //
57    //         $(this).siblings('.btn').removeClass('active');
58    //         $(this).addClass('active');
59    //         if ($(this).val() == 1) {
60    //             $('#cvs-filter-weekday').removeClass('disabled');
61    //             $('#cvs-filter-weekday').removeAttr('disabled');
62    //         } else {
63    //             $('#cvs-filter-weekday').addClass('disabled');
64    //             $('#cvs-filter-weekday').attr('disabled', 1);
65    //         }
66    //         $('#cvs-filter-type').val($(this).val()).change();
67    //     });
68    //
69    //     if ($('#cvs-filter-term').length) {
70    //         if ($('#cvs-filter-term').val().length < 3) {
71    //             $('#cvs-filter-submit').attr('disabled', 1);
72    //             $('#cvs-filter-submit').addClass('disabled');
73    //         }
74    //         $('#cvs-filter-term').keyup(function () {
75    //             if ($(this).val().length >= 3) {
76    //                 $('#cvs-filter-submit').removeClass('disabled');
77    //                 $('#cvs-filter-submit').removeAttr('disabled');
78    //             } else if(!$('#cvs-filter-digital-offer').length || !$('#cvs-filter-digital-offer').prop('checked')) {
79    //                 $('#cvs-filter-submit').addClass('disabled');
80    //                 $('#cvs-filter-submit').attr('disabled', 1);
81    //             }
82    //         });
83    //     }
84    //
85    //     if ($('#cvs-filter-digital-offer').length) {
86    //         $('#cvs-filter-digital-offer').change(function() {
87    //             if ($('#cvs-filter-digital-offer').prop('checked')) {
88    //                 $('#cvs-filter-submit').removeClass('disabled');
89    //                 $('#cvs-filter-submit').removeAttr('disabled');
90    //             } else if(!$('#cvs-filter-term').length || $('#cvs-filter-term').val().length < 3) {
91    //                 $('#cvs-filter-submit').attr('disabled', 1);
92    //                 $('#cvs-filter-submit').addClass('disabled');
93    //             }
94    //         });
95    //     }
96    //
97    // }
98
99    $('#cvs-vacancy-check, #cvs-vacancy-trigger').click(function (e) {
100        e.preventDefault();
101        $('#cvs-vacancy-check')
102            .removeClass('success')
103            .removeClass('error')
104            .html('<i class="fas fa-sync fa-spin"></i>');
105        $.ajax({
106            url: cvsClientRoute + '/vacancy/' + $('#cvs-vacancy-check').data('id') + '.cvs.json?t=' + Date.now(),
107            dataType: 'json',
108            success: function (response) {
109                var vacancy = response.vacancy;
110                if (vacancy > 0) {
111                    $('#cvs-vacancy-check').addClass('btn-success');
112                    $('#cvs-vacancy-check').html('<span class="larger">' + vacancy + '</span> Plätze verfügbar');
113                } else {
114                    $('#cvs-vacancy-check').addClass('btn-danger');
115                    $('#cvs-vacancy-check').html('Ausgebucht (Warteliste verfügbar)');
116                }
117                $('#cvs-vacancy-check').removeClass('btn-secondary');
118
119            },
120            /*
121             error: function(XMLHttpRequest, textStatus, errorThrown) {
122             $('#view').addClass('loading').html('<p>FEHLER:<br>' + errorThrown + '</p>');
123             }
124             */
125        });
126    });
127
128    var cvsCopyToClipboard = new ClipboardJS('.cvs-copy-to-clipboard');
129    cvsCopyToClipboard.on('success', function (e) {
130        $(e.trigger).addClass('copied-to-clipboard');
131    });
132
133    $('.cvs-open-whatsapp').click(function (e) {
134        e.preventDefault();
135        if ($('html').hasClass('touch') || $('html').hasClass('touchevents')) window.location = $(this).attr('href');
136    });
137
138    $('a.cvs-scroll-to').on('click', function (e) {
139        e.preventDefault();
140        var cOffset = $($(this).attr('href')).offset().top - 100;
141        $('html,body').animate({scrollTop: cOffset}, 500);
142    });
143
144    // Dropdown-Menü bei Hover
145    $('.no-touchevents #cvs-main-menu a.hoverable:not(.first-level-button)').on('mouseover', function (event) {
146        if (window.innerWidth > 991) $(event.target).trigger('click');
147    });
148
149    $('#cvs-main-menu .first-level-button.hoverable').mouseenter(function (e) {
150        if (window.innerWidth > 991) {
151            $(this).siblings('.dropdown-menu').toggleClass("show");
152            $(this).parent().toggleClass("show");
153            $(this).attr('aria-expanded', function (i, attr) {
154                return attr == 'true' ? 'false' : 'true'
155            });
156        }
157    });
158
159    $('#cvs-main-menu .first-level-button.hoverable').mouseleave(function (e) {
160        if (window.innerWidth > 991) {
161            // Zuklappen wenn die Maus nach links/rechts/oben weggeht
162            if (e.offsetX < 0 || e.offsetX > $(this).width() || e.offsetY < 0) {
163                $(this).siblings('.dropdown-menu').toggleClass("show");
164                $(this).parent().toggleClass("show");
165                $(this).attr('aria-expanded', function (i, attr) {
166                    return attr == 'true' ? 'false' : 'true'
167                });
168            }
169        }
170    });
171
172    $("#cvs-main-menu .dropdown-menu.hoverable").mouseleave(function () {
173        // Zuklappen wenn der Dropdown-Bereich verlassen wird
174        if (window.innerWidth > 991) {
175            if ($(this).is(":visible")) $(this).toggleClass("show");
176            $('#cvs-main-menu #megamenu-0').attr('aria-expanded', function (i, attr) {
177                return attr == 'true' ? 'false' : 'true'
178            });
179            $(this).siblings('.nav-link.hoverable:not(#megamenu-0)').attr('aria-expanded', function (i, attr) {
180                return attr == 'true' ? 'false' : 'true'
181            });
182        }
183    });
184    // Ende Dropdown
185
186    $('a.cvs-trigger-folding').click(function (e) {
187        e.preventDefault();
188        $(this).parents('.cvs-foldable').find('.cvs-folded, .cvs-unfolded').toggle();
189    });
190
191    console.log('coVeasyshop loaded & ready.');
192});

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.