PageSourceSearch

https://agenda-mainz.de/wp-content/plugins/event-calendar-wd/js/scripts.js?ver=5.1.27_5c3b0b5cbf81f

js agenda-mainz.de collected 2026-10-08 14:46:25 UTC 44,172 bytes, 870 lines download raw bytes

1/* global jQuery, ecwd, ecwd_calendar */
2
3/**
4 * Public JS functions
5 */
6
7var functions_interval, filterTimeout;
8
9ecwd_load_styles = function () {
10    setTimeout(function () {
11        if (jQuery('#ecwd-calendar-main-css').length == 0) {
12            jQuery("<link/>", {
13                id: 'ecwd-calendar-main-css',
14                rel: "stylesheet",
15                type: "text/css",
16                href: ecwd.plugin_url + '/css/calendar.css?ver=1'
17            }).appendTo("head");
18        }
19        jQuery('.ecwd_theme_file').each(function (k, el) {
20            if (jQuery('#ecwd-calendar-theme_' + jQuery(el).val() + '-css').length == 0 && jQuery(el).val().indexOf("calendar") == -1) {
21                jQuery("<link/>", {
22                    id: 'ecwd-calendar-theme_' + jQuery(el).val() + '-css',
23                    rel: "stylesheet",
24                    type: "text/css",
25                    href: ecwd.plugin_url + '/css/themes/' + jQuery(el).val() + '.css?ver=1'
26                }).appendTo("head");
27            }
28        });
29    }, 400);
30};
31
32if (typeof ecwd_js_init_call != "object")
33    var ecwd_js_init_call;
34if (typeof ecwd_js_init != "function")
35    var ecwd_js_init;
36(function ($) {
37    'use strict';
38    ecwd_js_init = function () {
39        ecwd_eventsOff();
40        ecwd_load_styles();
41        var cwidth = $(".calendar_main .ecwd_calendar").width();
42        var view_click = 1;
43        var click = 1;
44        $('a[href="#ecwd-modal-preview"]').click(function () {
45            setTimeout(function () {
46                showFilterSliderArrow();
47            }, 1);
48        });
49        clearTimeout(functions_interval);
50        functions_interval = setTimeout(function () {
51            show_filters(0);
52            showMiniCalendarEventOnHover();
53            showFullCalendarEventOnHover();
54            showWidgetEventDesc();
55            calendarFullResponsive();
56            showFilterSliderArrow();
57            createSearchForm();
58            upcomingEventsSlider();
59            doMasonry();
60        }, 350);
61
62        this.showMap = function () {
63
64            if (ecwd.gmap_key == "") {
65                jQuery(".ecwd_map_div").each(function (k, v) {
66                    var $this = jQuery(this);
67                    if ($this.closest('.ecwd-show-map').length == 1) {
68                        $this.closest('.ecwd-show-map').hide();
69                    }
70                    $this.hide();
71                });
72                return;
73            }
74
75            if (typeof google == 'undefined' || typeof google.maps == "undefined") {
76                var script = document.createElement('script');
77                script.type = 'text/javascript';
78                script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&callback=ecwd_js_init_call.showMap&key='+ecwd.gmap_key;
79                document.body.appendChild(script);
80            } else {
81                var maps = [];
82                jQuery(".ecwd_map_div").each(function (k, v) {
83
84                    maps[k] = this;
85                    var locations = JSON.parse($(maps[k]).next('textarea').val());
86                    var locations_len = Object.keys(locations).length;
87                    $(maps[k]).gmap3();
88
89                    var markers = [];
90                    var zoom = 17;
91                    if (locations_len > 0 && typeof locations[0] != 'undefined' && typeof locations[0]['zoom'] != 'undefined') {
92                        zoom = parseInt(locations[0]['zoom']);
93                    } else {
94                        zoom = 2;
95                    }
96
97                    var center = {lat: 0, lng: 0};
98
99                    for (var i = 0; i < locations_len; i++) {
100                        if (locations[i]) {
101                            var marker = new Object();
102                            marker.lat = locations[i].latlong[0];
103                            marker.lng = locations[i].latlong[1];
104                            marker.data = locations[i].infow;
105                            marker.options = new Object();
106                            marker.options.google_map_url = locations[i]['google_map_url']
107                            markers.push(marker);
108                            center.lat += parseFloat(locations[i].latlong[0]);
109                            center.lng += parseFloat(locations[i].latlong[1]);
110                        }
111
112                    }
113                    if(locations_len > 0) {
114                        center.lat = center.lat / locations_len;
115                        center.lng = center.lng / locations_len;
116                    }
117
118
119                    if (ecwd.gmap_type == 'SATELLITE') {
120                        var gmap_type = google.maps.MapTypeId.SATELLITE;
121                    } else {
122                        var gmap_type = google.maps.MapTypeId.ROADMAP;
123                    }
124                    $(maps[k]).gmap3({
125                        map: {
126                            options: {
127                                zoom: zoom,
128                                zoomControl: true,
129                                mapTypeId: gmap_type,
130                                styles: (ecwd.gmap_style !== "") ? JSON.parse(ecwd.gmap_style) : null,
131                                center: center
132                            },
133                            center:center,
134                        },
135                        marker: {
136                            values: markers,
137                            options: {
138                                draggable: false
139                            },
140                            events: {
141                                click: function (marker, event, context) {
142                                    if (ecwd.gmap_redirect == "1" && $(this).hasClass('ecwd_map_div')) {
143                                        var url = "";
144                                        if (typeof marker.google_map_url != "undefined" && marker.google_map_url !== '') {
145                                            url = marker.google_map_url;
146                                            url += ","+marker.map.zoom+"z";
147                                        } else {
148                                            url = marker.map.mapUrl;
149                                        }                                        
150                                        window.open(url, '_blank');
151                                    } else {
152                                        var map = $(maps[k]).gmap3("get"),
153                                                infowindow = $(maps[k]).gmap3({get: {name: "infowindow"}});
154                                        if (infowindow) {
155                                            infowindow.open(map, marker);
156                                            infowindow.setContent(context.data);
157                                        } else {
158                                            $(maps[k]).gmap3({
159                                                infowindow: {
160                                                    anchor: marker,
161                                                    options: {content: context.data}
162                                                }
163                                            });
164                                        }
165                                    }
166                                }
167                            }
168                        },
169                        //autofit: {maxZoom: zoom}
170                    });
171
172
173                });
174
175            }
176        }
177
178        jQuery('.ecwd_reset_filters').click(function () {
179            $(this).closest('.ecwd_filters').find('input:checkbox').attr('checked', false);
180        });
181        $('.ecwd-calendar-more-event').each(function () {
182            $(this).find('.ecwd-more-events-container').ecwd_popup({
183                button: $(this).find('.more_events_link'),
184                title: $(this).find('.ecwd-more-event-title').val(),
185                body_id: "ecwd-modal-preview",
186                body_class: "ecwd-excluded-events",
187                container_class: "ecwd_more_event",
188                after_popup_show: function (el) {
189                    el.find('li.inmore').show();
190                    el.find('.more_events').find('li').on('click', function () {
191                        el.find('li').find('.event-details-container').slideUp();
192                        if ($(this).find('.event-details-container').is(":visible"))
193                            $(this).find('.event-details-container').slideUp();
194                        else
195                            $(this).find('.event-details-container').slideDown();
196                    });
197                    add_single_events_popup();
198                },
199            });
200        });
201
202        add_single_events_popup();
203
204        jQuery('.ecwd_select_all').on('click', function (e) {
205            var obj = this;
206            if (jQuery(obj).attr("checked") == "checked") {
207                jQuery(obj).closest(".ecwd_filters").find(".ecwd_filter").each(function () {
208                    jQuery(this).attr("checked", true);
209                });
210            } else {
211                jQuery(obj).closest(".ecwd_filters").find(".ecwd_filter").each(function () {
212                    jQuery(this).attr("checked", false);
213                });
214            }
215        });
216        jQuery('.ecwd_calendar_prev_next .next, .ecwd_calendar_prev_next .previous, .ecwd_calendar .type, .cpage, .current-month a, .ecwd_filter, .ecwd_select_all, .ecwd_reset_filters').on('click', function (e) {
217            var days = $('input[name="ecwd_weekdays[]"]:checked').map(function () {
218                return this.value;
219            }).get();
220            var cats = $('input[name="ecwd_categories[]"]:checked').map(function () {
221                return this.value;
222            }).get();
223            var tags = $('input[name="ecwd_tags[]"]:checked').map(function () {
224                return this.value;
225            }).get();
226            var venues = $('input[name="ecwd_venues[]"]:checked').map(function () {
227                return this.value;
228            }).get();
229            var organizers = $('input[name="ecwd_organizers[]"]:checked').map(function () {
230                return this.value;
231            }).get();
232            var el = $(this);
233            if (!$(this).is(':checkbox')) {
234                e.preventDefault();
235            }
236            var navLink = $(this);
237            if ((!navLink.attr('href') || navLink.attr('href') == 'undefined') && !navLink.is(':checkbox') && navLink.attr('class') != 'ecwd_reset_filters') {
238                navLink = $(this).find('a');
239            }
240            var main_div = navLink.closest('.calendar_main');
241
242
243            var calendar_ids_class_1 = $(main_div).find('div.ecwd_calendar').find('div:first-child').data("id");
244            var calendar_ids_class_2 = $(main_div).find('div.ecwd_calendar').find('div:first-child').data("type");
245            var display = $(main_div).find('div.ecwd_calendar').attr('class').split(' ')[0].split('-')[2];
246            var calendar_ids = calendar_ids_class_1;
247            var query = $(main_div).find('input.ecwd-search').val();
248            var tag = $('.ecwd_tags').val();
249            var venue = $('.ecwd_venues').val();
250            var organizer = $('.ecwd_organizers').val();
251            var category = $('.ecwd_categories').val();
252            var displays = $(main_div).find('.ecwd_displays').val();
253            var date = $(main_div).find('.ecwd_date').val();
254            var page_items = $(main_div).find('.ecwd_page_items').val();
255            var event_search = $(main_div).find('.event_search').val();
256            var filters = $(main_div).find('.ecwd_filters').val();
257            var start_date = $(main_div).find('.event_start_date').val();
258            var end_date = $(main_div).find('.event_end_date').val();
259            var calendar_head = $(main_div).find('.calendaer_head').val();
260
261            $(main_div).find('.ecwd_loader').show();
262            jQuery.post(ecwd.ajaxurl, {
263                action: 'ecwd_ajax',
264                ecwd_calendar_ids: calendar_ids,
265                ecwd_link: navLink.attr('href'),
266                ecwd_type: calendar_ids_class_2,
267                ecwd_query: query,
268                ecwd_weekdays: days,
269                ecwd_categories: cats,
270                ecwd_tags: tags,
271                ecwd_venues: venues,
272                ecwd_organizers: organizers,
273                ecwd_category: category,
274                ecwd_tag: tag,
275                ecwd_venue: venue,
276                ecwd_organizer: organizer,
277                ecwd_displays: displays,
278                ecwd_prev_display: display,
279                ecwd_page_items: page_items,
280                ecwd_event_search: event_search,
281                ecwd_filters: filters,
282                ecwd_date: 1,
283                ecwd_date_filter: date,
284                ecwd_calendar_head: calendar_head,
285                ecwd_start_date: start_date,
286                ecwd_end_date: end_date,
287                ecwd_next_date:$(this).hasClass("next"),
288                ecwd_prev_date:$(this).hasClass("previous"),
289                ecwd_nonce: ecwd.ajaxnonce
290            }, function (data) {
291                $(main_div).find('div.ecwd_calendar').replaceWith(data);
292                if ($(main_div).find('.ecwd_filters').length > 0 && $(main_div).find('.ecwd_filters').css('max-width') !== '100%' && $(main_div).find('.ecwd_filters').is(':visible')) {
293                    $(main_div).find('div.ecwd_calendar').css({
294                        "max-width": "71%",
295                        "float": "left"
296                    });
297                    show_filters(main_div);
298                }
299                $(main_div).find('.ecwd_loader').hide();
300                if ($('.ecwd_open_event_popup').length > 0) {
301                    $('.ecwd_open_event_popup').css({
302                        'cursor': 'pointer'
303                    });
304                }
305            })
306            e.stopPropagation();
307        });
308
309
310        function createSearchForm() {
311            var scinpt = document.getElementById("ecwd-search-submit");
312            if (scinpt !== null) {
313                //scinpt.addEventListener('focus', doSearch, false);
314            }
315            jQuery('.ecwd-search').on("keyup", function (e) {
316                if (e.keyCode == 13) {
317                    doSearch(this);
318                }
319            });
320            jQuery('.ecwd-search-submit').on("focus", function (e) {
321                doSearch(this);
322            });
323
324            jQuery('.ecwd-tag-container .ecwd-dropdown-menu > div').click(function (e) {
325                $('.ecwd_tags').val($(this).attr("data-term-tag"));
326                doSearch(this);
327            });
328            jQuery('.ecwd-category-container .ecwd-dropdown-menu > div').click(function (e) {
329                $('.ecwd_categories').val($(this).attr("data-term-category"));
330                doSearch(this);
331            });
332            jQuery('.ecwd-venue-container .ecwd-dropdown-menu > div').click(function (e) {
333                $('.ecwd_venues').val($(this).attr("data-term-venue"));
334                doSearch(this);
335            });
336            jQuery('.ecwd-organizer-container .ecwd-dropdown-menu > div').click(function (e) {
337                $('.ecwd_organizers').val($(this).attr("data-term-organizer"));
338                doSearch(this);
339            });
340        }
341
342
343        function doSearch(el) {
344
345            var main_div = $(el).closest('.calendar_main');
346            var navLink = $(main_div).find('.ecwd_current_link');
347            var query = $(main_div).find('input.ecwd-search').val();
348            var tag = $(main_div).find('.ecwd_tags').val();
349            var venue = $(main_div).find('.ecwd_venues').val();
350            var organizer = $(main_div).find('.ecwd_organizers').val();
351            var category = $(main_div).find('.ecwd_categories').val();
352            var calendar_ids_class_1 = $(main_div).find('div.ecwd_calendar').find('div:first-child').data("id");
353            var calendar_ids_class_2 = $(main_div).find('div.ecwd_calendar').find('div:first-child').data("type");
354
355
356            var calendar_ids = calendar_ids_class_1;
357            var displays = $(main_div).find('.ecwd_displays').val();
358            var page_items = $(main_div).find('.ecwd_page_items').val();
359            var event_search = $(main_div).find('.event_search').val();
360            var filters = $(main_div).find('.ecwd_filters').val();
361            $(main_div).find('.ecwd_loader').show();
362            $.post(ecwd.ajaxurl, {
363                action: 'ecwd_ajax',
364                ecwd_query: query,
365                ecwd_category: category,
366                ecwd_tag: tag,
367                ecwd_venue: venue,
368                ecwd_organizer: organizer,
369                ecwd_displays: displays,
370                ecwd_filters: filters,
371                ecwd_page_items: page_items,
372                ecwd_link: navLink.val(),
373                ecwd_calendar_ids: calendar_ids,
374                ecwd_event_search: event_search,
375                ecwd_date: 1,
376                ecwd_type: calendar_ids_class_2,
377                ecwd_calendar_search:1,//not filter
378                ecwd_nonce: ecwd.ajaxnonce
379            }, function (data) {
380                $(main_div).find('div.ecwd_calendar').replaceWith(data);
381                if ($(main_div).find('.ecwd_filters').length > 0 && $(main_div).find('.ecwd_filters').css('max-width') !== '100%' && $(main_div).find('.ecwd_filters').is(':visible')) {
382                    $(main_div).find('div.ecwd_calendar').css({
383                        "max-width": "71%",
384                        "float": "left"
385                    });
386                }
387            });
388            $('.ecwd-search-submit').blur();
389        }
390
391        function showMiniCalendarEventOnHover() {
392        }
393
394
395        var ulEvent, day;
396        var ulEventFull, dayFull;
397        jQuery('div.ecwd_calendar .has-events').on('click', function (e) {
398            dayFull = $(this).attr('data-date').split('-');
399            dayFull = dayFull[2];
400            ulEventFull = $(this).find('ul.events');
401
402            if (parseInt($(this).closest('.ecwd_calendar').width()) <= 300 || parseInt($(window).width()) <= 768 || $(this).closest('.ecwd_calendar').hasClass('ecwd-widget-mini') || $(this).closest('.ecwd_calendar').hasClass('ecwd-page-mini')) {
403                if (dayFull == $(this).closest('.ecwd_calendar').find('.ecwd-events-day-details').attr('data-dayNumber')
404                        && $(this).closest('.ecwd_calendar').find('.ecwd-events-day-details').is(':empty') == false) {
405                    $(this).closest('.ecwd_calendar').find('.ecwd-events-day-details').html('');
406                } else {
407                    showEvent(ulEventFull, this);
408                }
409                $(this).closest('.ecwd_calendar').find('.ecwd-events-day-details').attr('data-dayNumber', dayFull);
410            }
411        });
412
413        function showEvent(el, calendar) {
414            if (el.parent().parent().parent().parent().attr('class').indexOf("full") != -1) {
415                var obj = el;
416                if (el.length > 1) {
417                    el.each(function () {
418                        if ($(this).hasClass('more_events')) {
419                            obj = $(this);
420                            return;
421                        }
422                    });
423                }
424                $(calendar).closest('.ecwd_calendar').find('.ecwd-events-day-detail
424s').html(obj.find('.event-details').clone().css('display', 'block'));
425            } else if (el.parent().parent().parent().parent().attr('class').indexOf("mini") != -1) {
426                $(calendar).closest('.ecwd_calendar').find('.ecwd-events-day-details').html(el.clone());
427            }
428            add_single_events_popup();
429        }
430
431        function showFullCalendarEventOnHover() {
432            if (parseInt($(window).width()) >= 768) {
433                $('div.ecwd-page-full .has-events ul.events:not(.more_events) > li:not(.ecwd-calendar-more-event)').on('mouseover', function (e) {
434                    $(this).find('ul.events').show();
435                    var show_event_hover_info = $(".show_event_hover_info");
436                    if (show_event_hover_info.length > 0) {
437                        $(this).find('div.event-details-container').show();
438                    }
439                });
440
441                $('div.ecwd-page-full .has-events ul.events:not(.more_events) > li:not(.ecwd-calendar-more-event)').on('mouseleave', function (e) {
442                    $(this).find('div.event-details-container').hide();
443                });
444            }
445
446            $('div.ecwd-page-full .has-events ul.more_events > li').on('click', function (e) {
447                $('div.ecwd-page-full .has-events ul.more_events > li').find('.event-details-container').slideUp();
448                if ($(this).find('.event-details-container').is(":visible"))
449                    $(this).find('.event-details-container').slideUp();
450                else
451                    $(this).find('.event-details-container').slideDown();
452            });
453        }
454
455
456
457        $('.ecwd-show-map-span').click(function () {
458            $('.ecwd-show-map').show();
459        });
460
461
462
463        function doMasonry() {
464            var $container = $('.ecwd-poster-board');
465            if ($container.length && $('.ecwd-poster-board').find('.ecwd-poster-item').length > 0) {
466                $container.imagesLoaded(function () {
467                    $container.masonry({
468                        itemSelector: '.ecwd-poster-item'
469                    });
470                });
471            }
472
473        }
474
475
476        function showFilterSliderArrow() {
477            var li_position, li_width, last_child;
478            $(".calendar_main:not([class^='ecwd_widget'] .calendar_main) .ecwd_calendar_view_tabs").each(function (key, element) {
479                var cwidth = $(element).closest('.ecwd_calendar').outerWidth();
480                if (cwidth == 0)
481                    cwidth = 600;
482                if ($(this).find('.ecwd-search').length != 0)
483                    var ecwd_calendar_view_tabs_width = parseInt(cwidth) - 50;
484                else
485                    var ecwd_calendar_view_tabs_width = parseInt(cwidth);
486                if (parseInt(jQuery('body').width()) <= 768 || $(".calendar_full_content .ecwd_calendar").width() < 600) {
487                    var ecwd_calendar_view_visible_count = parseInt(ecwd_calendar_view_tabs_width / 110);
488                } else if (parseInt(jQuery('body').width()) <= 500 || $(".calendar_full_content .ecwd_calendar").width() < 400) {
489                    var ecwd_calendar_view_visible_count = parseInt(ecwd_calendar_view_tabs_width / 90);
490                } else {
491                    var ecwd_calendar_view_visible_count = parseInt(ecwd_calendar_view_tabs_width / 150);
492                }
493                $(element).find('.filter-container').width(ecwd_calendar_view_tabs_width);
494                $(element).find('ul li').each(function (keyli, elementli) {
495                    if ($(elementli).hasClass('ecwd-selected-mode')) {
496                        li_position = keyli;
497                        li_width = $(elementli).outerWidth();
498                    }
499                });
500                if ($(element).find(".filter-arrow-right").css("display") == "block" || last_child == 1)
501                    $(element).find('.filter-container ul li').width((ecwd_calendar_view_tabs_width - 30) / ecwd_calendar_view_visible_count);
502                else
503                    $(element).find('.filter-container ul li').width((ecwd_calendar_view_tabs_width) / ecwd_calendar_view_visible_count);
504                var ecwd_view_item_width = $(element).find('.filter-container ul li').eq(0).innerWidth() - 1;
505                if (!(ecwd_calendar_view_tabs_width < ecwd_view_item_width * parseInt($(element).find('.filter-container ul li').length) && !($(element).find("ul li:last-child").hasClass("ecwd-selected-mode"))))
506                    $(element).find('.filter-arrow-right').hide();
507                if (ecwd_calendar_view_tabs_width < ecwd_view_item_width * parseInt($(element).find('.filter-container ul li').length) && !($(element).find("ul li:last-child").hasClass("ecwd-selected-mode"))) {
508                    $(element).find('.filter-arrow-right').show();
509                } else if ($(element).find("ul li:last-child").hasClass("ecwd-selected-mode")) {
510                    last_child = 1;
511                }
512                if (ecwd_calendar_view_visible_count <= li_position && li_position != 0) {
513                    $(element).find('ul li').css({left: "-" + ((li_position + 1 - ecwd_calendar_view_visible_count) * ecwd_view_item_width) + "px"});
514                    $(element).find('.filter-arrow-left').show();
515                } else
516                    $(element).find('ul li').css({left: "0px"});
517            });
518
519            $('.ecwd_calendar_view_tabs .filter-arrow-right').click(function () {
520                var view_filter_width = $(this).parent().find('ul li').eq(0).outerWidth();
521                var cwidth = $(this).closest('.ecwd_calendar').outerWidth();
522                if (cwidth == 0)
523                    cwidth = 600;
524                if ($(this).find('.ecwd-search').length != 0)
525                    var view_filter_container_width = parseInt(cwidth) - 50;
526                else
527                    var view_filter_container_width = parseInt(cwidth);
528                var view_filter_count = parseInt($(this).parent().find('ul li').length);
529                $(this).parent().find('.filter-arrow-left').show();
530                if (parseInt($(this).parent().find('ul li').css('left')) <= -((view_filter_width * view_filter_count) - view_filter_container_width) + view_filter_width)
531                    $(this).hide();
532                if (click && view_filter_container_width < view_filter_width * view_filter_count && parseInt($(this).parent().find('ul li').css('left')) >= -(view_filter_width * (view_filter_count) - view_filter_container_width)) {
533                    click = 0;
534                    $(this).parent().find('ul li').animate({left: "-=" + view_filter_width}, 400, function () {
535                        click = 1
536                    });
537                }
538            });
539            $('.ecwd_calendar_view_tabs .filter-arrow-left').click(function () {
540                var view_filter_width = $(this).parent().find('ul li').eq(0).outerWidth();
541                if ($(this).parent().find('.filter-arrow-right').css('display') == 'none')
542                    $(this).parent().find('.filter-arrow-right').show();
543                if (parseInt($(this).parent().find('ul li').css('left')) == -view_filter_width)
544                    $(this).hide();
545                if (click && parseInt($(this).parent().find('ul li').css('left')) < 0) {
546                    click = 0;
547                    $(this).parent().find('ul li').animate({left: "+=" + view_filter_width}, 400, function () {
548                        click = 1
549                    });
550                }
551            });
552        }
553
554        function upcomingEventsSlider() {
555            var current_date = Date.parse(Date());
556
557            var upcoming_events_slider_main = $('.upcoming_events_slider').width();
558            $('.upcoming_events_slider .upcoming_events_item').width(upcoming_events_slider_main);
559
560
561            $('.upcoming_events_slider .upcoming_event_container').width(parseInt(upcoming_events_slider_main) - 80);
562            $('.upcoming_events_slider > ul').width(upcoming_events_slider_main * $('.upcoming_events_slider .upcoming_events_item').length);
563
564            if ($(".upcoming_events_slider").width() < $('.upcoming_events_slider > ul').width()) {
565                $('.upcoming_events_slider .upcoming_events_slider-arrow-right').show();
566            }
567
568
569            var min = 0;
570            $('.upcoming_events_slider .upcoming_events_item').each(function () {
571                var item_date = Date.parse($(this).data('date'));
572                if (item_date < current_date) {
573                    min++;
574                } else {
575                    return false;
576                }
577            });
578
579            if (min && min == $('.upcoming_events_slider .upcoming_events_item').length) {
580                min--;
581            }
582            $('.upcoming_events_slider .upcoming_events_item').css('left', -upcoming_events_slider_main * min);
583
584            if (parseInt($('.upcoming_events_slider .upcoming_events_item').css('left')) < 0) {
585                $('.upcoming_events_slider').parent().find('.upcoming_events_slider-arrow-left').show();
586            }
587            if (parseInt($('.upcoming_events_slider .upcoming_events_item').css('left')) == -($('.upcoming_events_slider > ul').width() - upcoming_events_slider_main)) {
588                $('.upcoming_events_slider').parent().find('.upcoming_events_slider-arrow-right').hide();
589            }
590
591            $('.upcoming_events_slider .upcoming_events_slider-arrow-right').click(function () {
592                var events_item_width = $(this).parent().find('ul li').eq(0).width();
593
594                var events_item_count = parseInt($(this).parent().find('ul li').length);
595                if ($(this).parent().find('.upcoming_events_slider-arrow-left').css('display') == 'none')
596                    $(this).parent().find('.upcoming_events_slider-arrow-left').show();
597                if (click && upcoming_events_slider_main < events_item_width * events_item_count && parseInt($(this).parent().find('ul li').css('left')) >= -(events_item_width * (events_item_count) - upcoming_events_slider_main)) {
598                    click = 0;
599                    $(this).parent().find('ul li').animate({left: "-=" + events_item_width}, 400, function () {
600                        click = 1
601                    });
602                }
603                if (parseInt($(this).parent().find('ul li').css('left')) <= -($('.upcoming_events_slider > ul').width() - (2 * events_item_width)))
604                    $(this).hide();
605            });
606            $('.upcoming_events_slider .upcoming_events_slider-arrow-left').click(function () {
607                var events_item_width = $(this).parent().find('ul li').eq(0).width();
608                if ($(this).parent().find('.upcoming_events_slider-arrow-right').css('display') == 'none')
609                    $(this).parent().find('.upcoming_events_slider-arrow-right').show();
610                if (parseInt($(this).parent().find('ul li').css('left')) == -events_item_width)
611                    $(this).hide();
612                if (click && parseInt($(this).parent().find('ul li').css('left')) < 0) {
613                    click = 0;
614                    $(this).parent().find('ul li').animate({left: "+=" + events_item_width}, 400, function () {
615                        click = 1
616                    });
617                }
618
619            });
620        }
621
622        function showWidgetEventDesc() {
623            $('.ecwd_upcomming_expandable ul li .event-main-content, .ecwd-widget-mini .event-container, .ecwd-widget-mini .ecwd_list .event-main-content').each(function () {
624
625                if ($(this).find('.arrow-down').length == 0) {
626
627                    $(this).find('.ecwd-list-date-cont').append("<span class='arrow-down'>&nbsp</span>");
628                    $(this).find('.ecwd-list-date-cont').after("<div class='event_dropdown_cont'></div>");
629                    $(this).find('.event_dropdown_cont').append($(this).children(".event-venue, .event-content, .event-organizers, .event_repeat_rate"));
630
631                    $(this).find('.arrow-down').click(function () {
632                        if ($(this).hasClass('open')) {
633                            $(this).parent().parent().find('.event_dropdown_cont').slideUp(400);
634                            $(this).removeClass('open');
635                        } else {
636                            $(this).parent().parent().find('.event_dropdown_cont').slideDown(400);
637                            $(this).addClass('open');
638                        }
639                    });
640                }
641            })
642        }
643
644        function calendarFullResponsive() {
645            if ($(window).width() <= 500) {
646                $('div[class^="ecwd-page"] .event-container, div[class^="ecwd-page"] .ecwd_list .event-main-content').each(function () {
647                    if ($(this).find('.arrow-down').length == 0) {
648                        var content = $(this).find('.event-content').html();
649                        if ($(this).hasClass("event-container")) {
650                            $(this).find('.event-content').html($(this).find('.ecwd-list-img').html() + content);
651                            $(this).find('.ecwd-list-img').remove();
652                        } else {
653                            var content = $(this).find('.event-content').html();
654                            $(this).find('.event-content').html($(this).prev().html() + content);
655                            $(this).prev().remove();
656
657                        }
658                        $(this).find('.ecwd-list-date-cont').append("<span class='arrow-down'>&nbsp</span>");
659                        $(this).find('.ecwd-list-date-cont').after("<div class='event_dropdown_cont'></div>");
660                        $(this).find('.event_dropdown_cont').append($(this).children(".event-venue,.event-content, .event-organizers"));
661                        $(this).find('.arrow-down').each(function () {
662                            $(this).click(function () {
663                                if ($(this).hasClass('open')) {
664                                    $(this).parent().parent().find('.event_dropdown_cont').slideUp(400);
665                                    $(this).removeClass('open');
666                                } else {
667                                    $(this).parent().parent().find('.event_dropdown_cont').slideDown(400);
668                                    $(this).addClass('open');
669                                }
670                            });
671                        })
672                    }
673                })
674            } else if (jQuery(window).width() > 500) {
675                $('div[class^="ecwd-page"] .event-container, div[class^="ecwd-page"] .ecwd_list .event-main-content').each(function () {
676                    if ($(this).find('.arrow-down').length != 0) {
677                        //  $(this).css('height','auto');
678                        if ($(this).hasClass("event-container")) {
679                            $(this).find('.event-title').before('<div class="ecwd-list-img"><div class="ecwd-list-img-container">' + $(this).find('.ecwd-list-img-container').html() + '</div></div>');
680                            $(this).find('.event-content .ecwd-list-img-container').remove();
681                            $(this).find('.ecwd-list-date-cont').after($(this).find('.event_dropdown_cont').html());
682                            $(this).find('.event_dropdown_cont').remove();
683                        } else {
684                            $(this).parent().find('.ecwd-list-date.resp').after('<div class="ecwd-list-img"><div class="ecwd-list-img-container">' + $(this).find('.ecwd-list-img-container').html() + '</div></div>');
685                            $(this).find('.event-content .ecwd-list-img-container').remove();
686                            $(this).find('.ecwd-list-date-cont').after($(this).find('.event_dropdown_cont').html());
687                            $(this).find('.event_dropdown_cont').remove();
688                        }
689
690                        $(this).find('.arrow-down').remove();
691                    }
692                })
693
694            }�
694
695
696        }
697        function add_single_events_popup() {
698            if(jQuery('.ecwd_open_event_popup').length == 0){
699                return;
700            }
701            jQuery('.single_event_popup').ecwd_popup({
702                button: jQuery('.ecwd_open_event_popup'),
703                body_class: "ecwd-excluded-events ecwd_popup_body_scroll",
704                title: ecwd.event_popup_title_text,
705                remove_popup_after_closing: true,
706                get_ajax_data: function (el) {
707                    var start_date = el.attr('start-date-data');
708                    var end_date = el.attr('end-date-data');
709                    if (start_date && end_date) {
710                        var data = {
711                            action: 'ecwd_event_popup_ajax',
712                            id: el.attr('class').split('event')[2],
713                            start_date: start_date,
714                            end_date: end_date,
715                        };
716                        return data;
717                    } else {
718                        return {};
719                    }
720                }
721            });
722        }
723
724        clearTimeout(filterTimeout);
725        filterTimeout = setTimeout(function () {
726            if (parseInt($('body').width()) <= 768 || $(".calendar_full_content").width() <= 550) {
727                $('.calendar_main').each(function (k, v) {
728                    $(this).find('.ecwd_show_filters').click(function () {
729                        if ($(this).find('span').hasClass('open')) {
730                            $(this).find('span').html($('.ecwd_show_filters_text').val());
731                            $(this).next().hide();
732                            $(this).find('span').removeClass('open');
733                        } else {
734                            $(this).find('span').html($('.ecwd_hide_filters_text').val());
735                            $(this).next().show();
736                            $(this).find('span').addClass('open');
737                        }
738                    });
739                });
740            } else {
741                $('.calendar_main').each(function () {
742                    $(this).find('.ecwd_show_filters span').click(function () {
743                        if ($(this).hasClass('open')) {
744                            $(this).html($('.ecwd_show_filters_text').val());
745                            $(this).closest(".calendar_full_content").find(".ecwd_calendar").css({
746                                "max-width": "100%",
747                                "width": "100%"
748                            });
749                            $(this).parent().next().hide();
750                            $(this).removeClass('open');
751                            showFilterSliderArrow();
752                            if ($('.ecwd-poster-board').length > 0) {
753                                doMasonry();
754                            }
755                        } else {
756                            $(this).html($('.ecwd_hide_filters_text').val());
757                            $(this).closest(".calendar_full_content").find(".ecwd_filters").css({
758                                "max-width": "27%",
759                                "width": "27%",
760                                "float": "left"
761                            });
762                            $(this).closest(".calendar_full_content").find(".ecwd_calendar").css({
763                                "max-width": "71%",
764                                "float": "left"
765                            });
766                            $(this).parent().next().show();
767                            $(this).addClass('open');
768                            showFilterSliderArrow();
769                            if ($('.ecwd-poster-board').length > 0) {
770                                doMasonry();
771                            }
772                        }
773                    });
774                });
775                $(".month-name").show();
776            }
777            $('.ecwd_filter_item').each(function () {
778                $(this).find('.ecwd_filter_heading').click(function () {
779                    if ($(this).hasClass('open')) {
780                        $(this).next().slideUp(400);
781                        $(this).removeClass('open');
782                    } else {
783                        $(this).next().slideDown(400);
784                        $(this).addClass('open');
785                    }
786                });
787            });
788        }, 100);
789
790        function show_filters(main_div) {
791
792            if (parseInt($('body').width()) <= 768 || $(".calendar_full_content").width() <= 550) {
793                $(".calendar_full_content .ecwd_calendar").css("max-width", "100%");
794                $(".calendar_full_content .ecwd_filters, .calendar_full_content .ecwd_calendar").css({
795                    "max-width": "100%",
796                    "width": "100%",
797                    "float": "none"
798                });
799                $(".ecwd_show_filters").removeClass('ecwd_show_filters_left').addClass('ecwd_show_filters_top');
800                if (!main_div) {
801                    $(".ecwd_show_filters span").html($('.ecwd_show_filters_text').val());
802                    $(".ecwd_show_filters span").removeClass("open");
803                    $(".ecwd_filters").hide();
804                }
805            } else {
806
807                if (!main_div) {
808                    $(".ecwd_show_filters").removeClass('ecwd_show_filters_top').addClass('ecwd_show_filters_left');
809                } else {
810                    if (main_div.find(".ecwd_calendar").hasClass('ecwd-widget-mini') === false) {
811                        if (main_div.find(".ecwd_show_filters span").hasClass('open')) {
812                            main_div.find(".ecwd_calendar").css({"max-width": "71%", "float": "left"});
813                            main_div.find(".ecwd_filters").css({"max-width": "27%", "width": "27%", "float": "left"});
814                        } else {
815
816                            main_div.find(".ecwd_filters").css({"max-width": "100%", "width": "100%", "float": "none"});
817
818                            main_div.find(".ecwd_calendar").css({"max-width": "100%", "width": "100%", "float": "none"});
819                        }
820                    }
821                }
822            }
823
824        }
825
826        // $('#ecwd_back_link').on('click', function (e) {
827        //     e.preventDefault();
828        //     window.history.back();
829        // });
830
831        if ($('.ecwd_map_div').length > 0) {
832            this.showMap();
833        }
834        $(".ecwd_filter").change(function () {
835            if ($(this).attr("checked") != "checked") {
836                $(this).closest(".ecwd_filters").find(".ecwd_select_all").attr("checked", false);
837            } else {
838                var selected = true;
839                $(this).closest('ul').find(".ecwd_filter").each(function () {
840                    var _this = $(this);
841                    if (_this.attr("checked") != "checked") {
842                        selected = false;
843                        return;
844                    }
845                });
846                if (selected == true) {
847                    $(this).closest(".ecwd_filters").find(".ecwd_select_all").attr("checked", true);
848                }
849            }
850        });
851    }
852
853    ecwd_js_init_call = new ecwd_js_init();
854
855}(jQuery));
856
857function ecwd_eventsOff() {
858    jQuery(".calendar_main,.ecwd-event,.ecwd-organizer,.ecwd-venue").find("*").off();
859    jQuery(".calendar_main,.ecwd-event,.ecwd-organizer,.ecwd-venue").children().off();
860}
861
862jQuery(window).resize(function () {
863    var window_width = jQuery(window).width();
864    if (typeof checkw == 'undefined')
865        checkw = window_width;
866    if (window_width != checkw) {
867        ecwd_js_init_call = new ecwd_js_init();
868        checkw = window_width;
869    }
870});

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.