PageSourceSearch

https://www.zoopark-erfurt.de/js/custom.js?v=20261002210956

js zoopark-erfurt.de collected 2026-10-02 19:10:04 UTC 51,632 bytes, 1,036 lines download raw bytes

vendor: 25,394 bytes, lines 1-336
1/*! jQuery Mobile | Copyright 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */
2
3/*!
4 * @fileOverview TouchSwipe - jQuery Plugin
5 * @version 1.6.18
6 *
7 * @author Matt Bryson http://www.github.com/mattbryson
8 * @see https://github.com/mattbryson/TouchSwipe-Jquery-Plugin
9 * @see http://labs.rampinteractive.co.uk/touchSwipe/
10 * @see http://plugins.jquery.com/project/touchSwipe
11 * @license
12 * Copyright (c) 2010-2015 Matt Bryson
13 * Dual licensed under the MIT or GPL Version 2 licenses.
14 *
15 */
16! function(factory) { "function" == typeof define && define.amd && define.amd.jQuery ? define(["jquery"], factory) : factory("undefined" != typeof module && module.exports ? require("jquery") : jQuery) }(function($) {
17    "use strict";
18
19    function init(options) {
20        return !options || void 0 !== options.allowPageScroll || void 0 === options.swipe && void 0 === options.swipeStatus || (options.allowPageScroll = NONE), void 0 !== options.click && void 0 === options.tap && (options.tap = options.click), options || (options = {}), options = $.extend({}, $.fn.swipe.defaults, options), this.each(function() {
21            var $this = $(this),
22                plugin = $this.data(PLUGIN_NS);
23            plugin || (plugin = new TouchSwipe(this, options), $this.data(PLUGIN_NS, plugin))
24        })
25    }
26
27    function TouchSwipe(element, options) {
28        function touchStart(jqEvent) {
29            if (!(getTouchInProgress() || $(jqEvent.target).closest(options.excludedElements, $element).length > 0)) {
30                var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent;
31                if (!event.pointerType || "mouse" != event.pointerType || 0 != options.fallbackToMouseEvents) {
32                    var ret, touches = event.touches,
33                        evt = touches ? touches[0] : event;
34                    return phase = PHASE_START, touches ? fingerCount = touches.length : options.preventDefaultEvents !== !1 && jqEvent.preventDefault(), distance = 0, direction = null, currentDirection = null, pinchDirection = null, duration = 0, startTouchesDistance = 0, endTouchesDistance = 0, pinchZoom = 1, pinchDistance = 0, maximumsMap = createMaximumsData(), cancelMultiFingerRelease(), createFingerData(0, evt), !touches || fingerCount === options.fingers || options.fingers === ALL_FINGERS || hasPinches() ? (startTime = getTimeStamp(), 2 == fingerCount && (createFingerData(1, touches[1]), startTouchesDistance = endTouchesDistance = calculateTouchesDistance(fingerData[0].start, fingerData[1].start)), (options.swipeStatus || options.pinchStatus) && (ret = triggerHandler(event, phase))) : ret = !1, ret === !1 ? (phase = PHASE_CANCEL, triggerHandler(event, phase), ret) : (options.hold && (holdTimeout = setTimeout($.proxy(function() { $element.trigger("hold", [event.target]), options.hold && (ret = options.hold.call($element, event, event.target)) }, this), options.longTapThreshold)), setTouchInProgress(!0), null)
35                }
36            }
37        }
38
39        function touchMove(jqEvent) {
40            var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent;
41            if (phase !== PHASE_END && phase !== PHASE_CANCEL && !inMultiFingerRelease()) {
42                var ret, touches = event.touches,
43                    evt = touches ? touches[0] : event,
44                    currentFinger = updateFingerData(evt);
45                if (endTime = getTimeStamp(), touches && (fingerCount = touches.length), options.hold && clearTimeout(holdTimeout), phase = PHASE_MOVE, 2 == fingerCount && (0 == startTouchesDistance ? (createFingerData(1, touches[1]), startTouchesDistance = endTouchesDistance = calculateTouchesDistance(fingerData[0].start, fingerData[1].start)) : (updateFingerData(touches[1]), endTouchesDistance = calculateTouchesDistance(fingerData[0].end, fingerData[1].end), pinchDirection = calculatePinchDirection(fingerData[0].end, fingerData[1].end)), pinchZoom = calculatePinchZoom(startTouchesDistance, endTouchesDistance), pinchDistance = Math.abs(startTouchesDistance - endTouchesDistance)), fingerCount === options.fingers || options.fingers === ALL_FINGERS || !touches || hasPinches()) {
46                    if (direction = calculateDirection(currentFinger.start, currentFinger.end), currentDirection = calculateDirection(currentFinger.last, currentFinger.end), validateDefaultEvent(jqEvent, currentDirection), distance = calculateDistance(currentFinger.start, currentFinger.end), duration = calculateDuration(), setMaxDistance(direction, distance), ret = triggerHandler(event, phase), !options.triggerOnTouchEnd || options.triggerOnTouchLeave) {
47                        var inBounds = !0;
48                        if (options.triggerOnTouchLeave) {
49                            var bounds = getbounds(this);
50                            inBounds = isInBounds(currentFinger.end, bounds)
51                        }!options.triggerOnTouchEnd && inBounds ? phase = getNextPhase(PHASE_MOVE) : options.triggerOnTouchLeave && !inBounds && (phase = getNextPhase(PHASE_END)), phase != PHASE_CANCEL && phase != PHASE_END || triggerHandler(event, phase)
52                    }
53                } else phase = PHASE_CANCEL, triggerHandler(event, phase);
54                ret === !1 && (phase = PHASE_CANCEL, triggerHandler(event, phase))
55            }
56        }
57
58        function touchEnd(jqEvent) {
59            var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent,
60                touches = event.touches;
61            if (touches) { if (touches.length && !inMultiFingerRelease()) return startMultiFingerRelease(event), !0; if (touches.length && inMultiFingerRelease()) return !0 }
62            return inMultiFingerRelease() && (fingerCount = fingerCountAtRelease), endTime = getTimeStamp(), duration = calculateDuration(), didSwipeBackToCancel() || !validateSwipeDistance() ? (phase = PHASE_CANCEL, triggerHandler(event, phase)) : options.triggerOnTouchEnd || options.triggerOnTouchEnd === !1 && phase === PHASE_MOVE ? (options.preventDefaultEvents !== !1 && jqEvent.preventDefault(), phase = PHASE_END, triggerHandler(event, phase)) : !options.triggerOnTouchEnd && hasTap() ? (phase = PHASE_END, triggerHandlerForGesture(event, phase, TAP)) : phase === PHASE_MOVE && (phase = PHASE_CANCEL, triggerHandler(event, phase)), setTouchInProgress(!1), null
63        }
64
65        function touchCancel() { fingerCount = 0, endTime = 0, startTime = 0, startTouchesDistance = 0, endTouchesDistance = 0, pinchZoom = 1, cancelMultiFingerRelease(), setTouchInProgress(!1) }
66
67        function touchLeave(jqEvent) {
68            var event = jqEvent.originalEvent ? jqEvent.originalEvent : jqEvent;
69            options.triggerOnTouchLeave && (phase = getNextPhase(PHASE_END), triggerHandler(event, phase))
70        }
71
72        function removeListeners() { $element.unbind(START_EV, touchStart), $element.unbind(CANCEL_EV, touchCancel), $element.unbind(MOVE_EV, touchMove), $element.unbind(END_EV, touchEnd), LEAVE_EV && $element.unbind(LEAVE_EV, touchLeave), setTouchInProgress(!1) }
73
74        function getNextPhase(currentPhase) {
75            var nextPhase = currentPhase,
76                validTime = validateSwipeTime(),
77                validDistance = validateSwipeDistance(),
78                didCancel = didSwipeBackToCancel();
79            return !validTime || didCancel ? nextPhase = PHASE_CANCEL : !validDistance || currentPhase != PHASE_MOVE || options.triggerOnTouchEnd && !options.triggerOnTouchLeave ? !validDistance && currentPhase == PHASE_END && options.triggerOnTouchLeave && (nextPhase = PHASE_CANCEL) : nextPhase = PHASE_END, nextPhase
80        }
81
82        function triggerHandler(event, phase) { var ret, touches = event.touches; return (didSwipe() || hasSwipes()) && (ret = triggerHandlerForGesture(event, phase, SWIPE)), (didPinch() || hasPinches()) && ret !== !1 && (ret = triggerHandlerForGesture(event, phase, PINCH)), didDoubleTap() && ret !== !1 ? ret = triggerHandlerForGesture(event, phase, DOUBLE_TAP) : didLongTap() && ret !== !1 ? ret = triggerHandlerForGesture(event, phase, LONG_TAP) : didTap() && ret !== !1 && (ret = triggerHandlerForGesture(event, phase, TAP)), phase === PHASE_CANCEL && touchCancel(event), phase === PHASE_END && (touches ? touches.length || touchCancel(event) : touchCancel(event)), ret }
83
84        function triggerHandlerForGesture(event, phase, gesture) {
85            var ret;
86            if (gesture == SWIPE) {
87                if ($element.trigger("swipeStatus", [phase, direction || null, distance || 0, duration || 0, fingerCount, fingerData, currentDirection]), options.swipeStatus && (ret = options.swipeStatus.call($element, event, phase, direction || null, distance || 0, duration || 0, fingerCount, fingerData, currentDirection), ret === !1)) return !1;
88                if (phase == PHASE_END && validateSwipe()) {
89                    if (clearTimeout(singleTapTimeout), clearTimeout(holdTimeout), $element.trigger("swipe", [direction, distance, duration, fingerCount, fingerData, currentDirection]), options.swipe && (ret = options.swipe.call($element, event, direction, distance, duration, fingerCount, fingerData, currentDirection), ret === !1)) return !1;
90                    switch (direction) {
91                        case LEFT:
92                            $element.trigger("swipeLeft", [direction, distance, duration, fingerCount, fingerData, currentDirection]), options.swipeLeft && (ret = options.swipeLeft.call($element, event, direction, distance, duration, fingerCount, fingerData, currentDirection));
93                            break;
94                        case RIGHT:
95                            $element.trigger("swipeRight", [direction, distance, duration, fingerCount, fingerData, currentDirection]), options.swipeRight && (ret = options.swipeRight.call($element, event, direction, distance, duration, fingerCount, fingerData, currentDirection));
96                            break;
97                        case UP:
98                            $element.trigger("swipeUp", [direction, distance, duration, fingerCount, fingerData, currentDirection]), options.swipeUp && (ret = options.swipeUp.call($element, event, direction, distance, duration, fingerCount, fingerData, currentDirection));
99                            break;
100                        case DOWN:
101                            $element.trigger("swipeDown", [direction, distance, duration, fingerCount, fingerData, currentDirection]), options.swipeDown && (ret = options.swipeDown.call($element, event, direction, distance, duration, fingerCount, fingerData, currentDirection))
102                    }
103                }
104            }
105            if (gesture == PINCH) {
106                if ($element.trigger("pinchStatus", [phase, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData]), options.pinchStatus && (ret = options.pinchStatus.call($element, event, phase, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData), ret === !1)) return !1;
107                if (phase == PHASE_END && validatePinch()) switch (pinchDirection) {
108                    case IN:
109                        $element.trigger("pinchIn", [pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData]), options.pinchIn && (ret = options.pinchIn.call($element, event, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData));
110                        break;
111                    case OUT:
112                        $element.trigger("pinchOut", [pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData]), options.pinchOut && (ret = options.pinchOut.call($element, event, pinchDirection || null, pinchDistance || 0, duration || 0, fingerCount, pinchZoom, fingerData))
113                }
114            }
115            return gesture == TAP ? phase !== PHASE_CANCEL && phase !== PHASE_END || (clearTimeout(singleTapTimeout), clearTimeout(holdTimeout), hasDoubleTap() && !inDoubleTap() ? (doubleTapStartTime = getTimeStamp(), singleTapTimeout = setTimeout($.proxy(function() { doubleTapStartTime = null, $element.trigger("tap", [event.target]), options.tap && (ret = options.tap.call($element, event, event.target)) }, this), options.doubleTapThreshold)) : (doubleTapStartTime = null, $element.trigger("tap", [event.target]), options.tap && (ret = options.tap.call($element, event, event.target)))) : gesture == DOUBLE_TAP ? phase !== PHASE_CANCEL && phase !== PHASE_END || (clearTimeout(singleTapTimeout), clearTimeout(holdTimeout), doubleTapStartTime = null, $element.trigger("doubletap", [event.target]), options.doubleTap && (ret = options.doubleTap.call($element, event, event.target))) : gesture == LONG_TAP && (phase !== PHASE_CANCEL && phase !== PHASE_END || (clearTimeout(singleTapTimeout), doubleTapStartTime = null, $element.trigger("longtap", [event.target]), options.longTap && (ret = options.longTap.call($element, event, event.target)))), ret
116        }
117
118        function validateSwipeDistance() { var valid = !0; return null !== options.threshold && (valid = distance >= options.threshold), valid }
119
120        function didSwipeBackToCancel() { var cancelled = !1; return null !== options.cancelThreshold && null !== direction && (cancelled = getMaxDistance(direction) - distance >= options.cancelThreshold), cancelled }
121
122        function validatePinchDistance() { return null !== options.pinchThreshold ? pinchDistance >= options.pinchThreshold : !0 }
123
124        function validateSwipeTime() { var result; return result = options.maxTimeThreshold ? !(duration >= options.maxTimeThreshold) : !0 }
125
126        function validateDefaultEvent(jqEvent, direction) {
127            if (options.preventDefaultEvents !== !1)
128                if (options.allowPageScroll === NONE) jqEvent.preventDefault();
129                else {
130                    var auto = options.allowPageScroll === AUTO;
131                    switch (direction) {
132                        case LEFT:
133                            (options.swipeLeft && auto || !auto && options.allowPageScroll != HORIZONTAL) && jqEvent.preventDefault();
134                            break;
135                        case RIGHT:
136                            (options.swipeRight && auto || !auto && options.allowPageScroll != HORIZONTAL) && jqEvent.preventDefault();
137                            break;
138                        case UP:
139                            (options.swipeUp && auto || !auto && options.allowPageScroll != VERTICAL) && jqEvent.preventDefault();
140                            break;
141                        case DOWN:
142                            (options.swipeDown && auto || !auto && options.allowPageScroll != VERTICAL) && jqEvent.preventDefault();
143                            break;
144                        case NONE:
145                    }
146                }
147        }
148
149        function validatePinch() {
150            var hasCorrectFingerCount = validateFingers(),
151                hasEndPoint = validateEndPoint(),
152                hasCorrectDistance = validatePinchDistance();
153            return hasCorrectFingerCount && hasEndPoint && hasCorrectDistance
154        }
155
156        function hasPinches() { return !!(options.pinchStatus || options.pinchIn || options.pinchOut) }
157
158        function didPinch() { return !(!validatePinch() || !hasPinches()) }
159
160        function validateSwipe() {
161            var hasValidTime = validateSwipeTime(),
162                hasValidDistance = validateSwipeDistance(),
163                hasCorrectFingerCount = validateFingers(),
164                hasEndPoint = validateEndPoint(),
165                didCancel = didSwipeBackToCancel(),
166                valid = !didCancel && hasEndPoint && hasCorrectFingerCount && hasValidDistance && hasValidTime;
167            return valid
168        }
169
170        function hasSwipes() { return !!(options.swipe || options.swipeStatus || options.swipeLeft || options.swipeRight || options.swipeUp || options.swipeDown) }
171
172        function didSwipe() { return !(!validateSwipe() || !hasSwipes()) }
173
174        function validateFingers() { return fingerCount === options.fingers || options.fingers === ALL_FINGERS || !SUPPORTS_TOUCH }
175
176        function validateEndPoint() { return 0 !== fingerData[0].end.x }
177
178        function hasTap() { return !!options.tap }
179
180        function hasDoubleTap() { return !!options.doubleTap }
181
182        function hasLongTap() { return !!options.longTap }
183
184        function validateDoubleTap() { if (null == doubleTapStartTime) return !1; var now = getTimeStamp(); return hasDoubleTap() && now - doubleTapStartTime <= options.doubleTapThreshold }
185
186        function inDoubleTap() { return validateDoubleTap() }
187
188        function validateTap() { return (1 === fingerCount || !SUPPORTS_TOUCH) && (isNaN(distance) || distance < options.threshold) }
189
190        function validateLongTap() { return duration > options.longTapThreshold && DOUBLE_TAP_THRESHOLD > distance }
191
192        function didTap() { return !(!validateTap() || !hasTap()) }
193
194        function didDoubleTap() { return !(!validateDoubleTap() || !hasDoubleTap()) }
195
196        function didLongTap() { return !(!validateLongTap() || !hasLongTap()) }
197
198        function startMultiFingerRelease(event) { previousTouchEndTime = getTimeStamp(), fingerCountAtRelease = event.touches.length + 1 }
199
200        function cancelMultiFingerRelease() { previousTouchEndTime = 0, fingerCountAtRelease = 0 }
201
202        function inMultiFingerRelease() {
203            var withinThreshold = !1;
204            if (previousTouchEndTime) {
205                var diff = getTimeStamp() - previousTouchEndTime;
206                diff <= options.fingerReleaseThreshold && (withinThreshold = !0)
207            }
208            return withinThreshold
209        }
210
211        function getTouchInProgress() { return !($element.data(PLUGIN_NS + "_intouch") !== !0) }
212
213        function setTouchInProgress(val) { $element && (val === !0 ? ($element.bind(MOVE_EV, touchMove), $element.bind(END_EV, touchEnd), LEAVE_EV && $element.bind(LEAVE_EV, touchLeave)) : ($element.unbind(MOVE_EV, touchMove, !1), $element.unbind(END_EV, touchEnd, !1), LEAVE_EV && $element.unbind(LEAVE_EV, touchLeave, !1)), $element.data(PLUGIN_NS + "_intouch", val === !0)) }
214
215        function createFingerData(id, evt) { var f = { start: { x: 0, y: 0 }, last: { x: 0, y: 0 }, end: { x: 0, y: 0 } }; return f.start.x = f.last.x = f.end.x = evt.pageX || evt.clientX, f.start.y = f.last.y = f.end.y = evt.pageY || evt.clientY, fingerData[id] = f, f }
216
217        function updateFingerData(evt) {
218            var id = void 0 !== evt.identifier ? evt.identifier : 0,
219                f = getFingerData(id);
220            return null === f && (f = createFingerData(id, evt)), f.last.x = f.end.x, f.last.y = f.end.y, f.end.x = evt.pageX || evt.clientX, f.end.y = evt.pageY || evt.clientY, f
221        }
222
223        function getFingerData(id) { return fingerData[id] || null }
224
225        function setMaxDistance(direction, distance) { direction != NONE && (distance = Math.max(distance, getMaxDistance(direction)), maximumsMap[direction].distance = distance) }
226
227        function getMaxDistance(direction) { return maximumsMap[direction] ? maximumsMap[direction].distance : void 0 }
228
229        function createMaximumsData() { var maxData = {}; return maxData[LEFT] = createMaximumVO(LEFT), maxData[RIGHT] = createMaximumVO(RIGHT), maxData[UP] = createMaximumVO(UP), maxData[DOWN] = createMaximumVO(DOWN), maxData }
230
231        function createMaximumVO(dir) { return { direction: dir, distance: 0 } }
232
233        function calculateDuration() { return endTime - startTime }
234
235        function calculateTouchesDistance(startPoint, endPoint) {
236            var diffX = Math.abs(startPoint.x - endPoint.x),
237                diffY = Math.abs(startPoint.y - endPoint.y);
238            return Math.round(Math.sqrt(diffX * diffX + diffY * diffY))
239        }
240
241        function calculatePinchZoom(startDistance, endDistance) { var percent = endDistance / startDistance * 1; return percent.toFixed(2) }
242
243        function calculatePinchDirection() { return 1 > pinchZoom ? OUT : IN }
244
245        function calculateDistance(startPoint, endPoint) { return Math.round(Math.sqrt(Math.pow(endPoint.x - startPoint.x, 2) + Math.pow(endPoint.y - startPoint.y, 2))) }
246
247        function calculateAngle(startPoint, endPoint) {
248            var x = startPoint.x - endPoint.x,
249                y = endPoint.y - startPoint.y,
250                r = Math.atan2(y, x),
251                angle = Math.round(180 * r / Math.PI);
252            return 0 > angle && (angle = 360 - Math.abs(angle)), angle
253        }
254
255        function calculateDirection(startPoint, endPoint) { if (comparePoints(startPoint, endPoint)) return NONE; var angle = calculateAngle(startPoint, endPoint); return 45 >= angle && angle >= 0 ? LEFT : 360 >= angle && angle >= 315 ? LEFT : angle >= 135 && 225 >= angle ? RIGHT : angle > 45 && 135 > angle ? DOWN : UP }
256
257        function getTimeStamp() { var now = new Date; return now.getTime() }
258
259        function getbounds(el) {
260            el = $(el);
261            var offset = el.offset(),
262                bounds = { left: offset.left, right: offset.left + el.outerWidth(), top: offset.top, bottom: offset.top + el.outerHeight() };
263            return bounds
264        }
265
266        function isInBounds(point, bounds) { return point.x > bounds.left && point.x < bounds.right && point.y > bounds.top && point.y < bounds.bottom }
267
268        function comparePoints(pointA, pointB) { return pointA.x == pointB.x && pointA.y == pointB.y }
269        var options = $.extend({}, options),
270            useTouchEvents = SUPPORTS_TOUCH || SUPPORTS_POINTER || !options.fallbackToMouseEvents,
271            START_EV = useTouchEvents ? SUPPORTS_POINTER ? SUPPORTS_POINTER_IE10 ? "MSPointerDown" : "pointerdown" : "touchstart" : "mousedown",
272            MOVE_EV = useTouchEvents ? SUPPORTS_POINTER ? SUPPORTS_POINTER_IE10 ? "MSPointerMove" : "pointermove" : "touchmove" : "mousemove",
273            END_EV = useTouchEvents ? SUPPORTS_POINTER ? SUPPORTS_POINTER_IE10 ? "MSPointerUp" : "pointerup" : "touchend" : "mouseup",
274            LEAVE_EV = useTouchEvents ? SUPPORTS_POINTER ? "mouseleave" : null : "mouseleave",
275            CANCEL_EV = SUPPORTS_POINTER ? SUPPORTS_POINTER_IE10 ? "MSPointerCancel" : "pointercancel" : "touchcancel",
276            distance = 0,
277            direction = null,
278            currentDirection = null,
279            duration = 0,
280            startTouchesDistance = 0,
281            endTouchesDistance = 0,
282            pinchZoom = 1,
283            pinchDistance = 0,
284            pinchDirection = 0,
285            maximumsMap = null,
286            $element = $(element),
287            phase = "start",
288            fingerCount = 0,
289            fingerData = {},
290            startTime = 0,
291            endTime = 0,
292            previousTouchEndTime = 0,
293            fingerCountAtRelease = 0,
294            doubleTapStartTime = 0,
295            singleTapTimeout = null,
296            holdTimeout = null;
297        try { $element.bind(START_EV, touchStart), $element.bind(CANCEL_EV, touchCancel) } catch (e) { $.error("events not supported " + START_EV + "," + CANCEL_EV + " on jQuery.swipe") }
298        this.enable = function() { return this.disable(), $element.bind(START_EV, touchStart), $element.bind(CANCEL_EV, touchCancel), $element }, this.disable = function() { return removeListeners(), $element }, this.destroy = function() { removeListeners(), $element.data(PLUGIN_NS, null), $element = null }, this.option = function(property, value) {
299            if ("object" == typeof property) options = $.extend(options, property);
300            else if (void 0 !== options[property]) {
301                if (void 0 === value) return options[property];
302                options[property] = value
303            } else {
304                if (!property) return options;
305                $.error("Option " + property + " does not exist on jQuery.swipe.options")
306            }
307            return null
308        }
309    }
310    var VERSION = "1.6.18",
311        LEFT = "left",
312        RIGHT = "right",
313        UP = "up",
314        DOWN = "down",
315        IN = "in",
316        OUT = "out",
317        NONE = "none",
318        AUTO = "auto",
319        SWIPE = "swipe",
320        PINCH = "pinch",
321        TAP = "tap",
322        DOUBLE_TAP = "doubletap",
323        LONG_TAP = "longtap",
324        HORIZONTAL = "horizontal",
325        VERTICAL = "vertical",
326        ALL_FINGERS = "all",
327        DOUBLE_TAP_THRESHOLD = 10,
328        PHASE_START = "start",
329        PHASE_MOVE = "move",
330        PHASE_END = "end",
331        PHASE_CANCEL = "cancel",
332        SUPPORTS_TOUCH = "ontouchstart" in window,
333        SUPPORTS_POINTER_IE10 = window.navigator.msPointerEnabled && !window.navigator.pointerEnabled && !SUPPORTS_TOUCH,
334        SUPPORTS_POINTER = (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && !SUPPORTS_TOUCH,
335        PLUGIN_NS = "TouchSwipe",
336        defaults = { fingers: 1, threshold: 75, cancelThreshold: null, pinchThreshold: 20, maxTimeThreshold: null, fingerReleaseThreshold: 250, longTapThreshold: 500, doubleTapThreshold: 200, swipe: null, swipeLeft: null, swipeRight: null, swipeUp: null, swipeDown: null, swipeStatus: null, pinchIn: null, pinchOut: null, pinchStatus: null, click: null, tap: null, doubleTap: null, longTap: null, hold: null, triggerOnTouchEnd: !0, triggerOnTouchLeave: !1, allowPageScroll: "auto", fallbackToMouseEvents: !0, excludedElements: ".n
336oSwipe", preventDefaultEvents: !0 };
337    $.fn.swipe = function(method) {
338        var $this = $(this),
339            plugin = $this.data(PLUGIN_NS);
340        if (plugin && "string" == typeof method) {
341            if (plugin[method]) return plugin[method].apply(plugin, Array.prototype.slice.call(arguments, 1));
342            $.error("Method " + method + " does not exist on jQuery.swipe")
343        } else if (plugin && "object" == typeof method) plugin.option.apply(plugin, arguments);
344        else if (!(plugin || "object" != typeof method && method)) return init.apply(this, arguments);
345        return $this
346    }, $.fn.swipe.version = VERSION, $.fn.swipe.defaults = defaults, $.fn.swipe.phases = { PHASE_START: PHASE_START, PHASE_MOVE: PHASE_MOVE, PHASE_END: PHASE_END, PHASE_CANCEL: PHASE_CANCEL }, $.fn.swipe.directions = { LEFT: LEFT, RIGHT: RIGHT, UP: UP, DOWN: DOWN, IN: IN, OUT: OUT }, $.fn.swipe.pageScroll = { NONE: NONE, HORIZONTAL: HORIZONTAL, VERTICAL: VERTICAL, AUTO: AUTO }, $.fn.swipe.fingers = { ONE: 1, TWO: 2, THREE: 3, FOUR: 4, FIVE: 5, ALL: ALL_FINGERS }
347});
348
349// Thanks to Maaaaark - https://github.com/maaaaark/bcSwipe/blob/master/jquery.bcSwipe.min.js
350//!function(t){t.fn.bcSwipe=function(e){var n={threshold:50};return e&&t.extend(n,e),this.each(function(){function e(t){1==t.touches.length&&(u=t.touches[0].pageX,c=!0,this.addEventListener("touchmove",o,!1))}function o(e){if(c){var o=e.touches[0].pageX,i=u-o;Math.abs(i)>=n.threshold&&(h(),t(this).carousel(i>0?"next":"prev"))}}function h(){this.removeEventListener("touchmove",o),u=null,c=!1}var u,c=!1;"ontouchstart"in document.documentElement&&this.addEventListener("touchstart",e,!1)}),this}}(jQuery);
351
352
353//https://github.com/tysonmatanich/viewportSize
354/*! viewportSize | Author: Tyson Matanich, 2013 | License: MIT */
355(function(n) {
356    n.viewportSize = {}, n.viewportSize.getHeight = function() { return t("Height") }, n.viewportSize.getWidth = function() { return t("Width") };
357    var t = function(t) {
358        var f, o = t.toLowerCase(),
359            e = n.document,
360            i = e.documentElement,
361            r, u;
362        return n["inner" + t] === undefined ? f = i["client" + t] : n["inner" + t] != i["client" + t] ? (r = e.createElement("body"), r.id = "vpw-test-b", r.style.cssText = "overflow:scroll", u = e.createElement("div"), u.id = "vpw-test-d", u.style.cssText = "position:absolute;top:-1000px", u.innerHTML = "<style>@media(" + o + ":" + i["client" + t] + "px){body#vpw-test-b div#vpw-test-d{" + o + ":7px!important}}<\/style>", r.appendChild(u), i.insertBefore(r, e.head), f = u["offset" + t] == 7 ? i["client" + t] : n["inner" + t], i.removeChild(r)) : f = n["inner" + t], f
363    }
364})(this);
365
366$(document).ready(function() {
367    // Tabellen verschönern
368    $('.tabelle table').addClass('table table-sm');
369    $('.tabelle table').attr('style', '');
370    $('.tabelle table tr').attr('style', '');
371    $('.tabelle table td').attr('style', '');
372    //$('.headback').append('<div class="headback-bg"></div>');    
373
374    // Ausklapp-Infos ergänzen
375    $('#mobil-navi .navbody li a').each(function() {
376
377        // Marker ergänzen
378        if ($(this).parent().children("ul").length) {
379            $(this).append('<span class="pfeil"></span>');
380        }
381    });
382
383    // Slider oder Raster: auswerten
384    $('.sliderraster ').each(function() {
385
386        var realscreenwidth = viewportSize.getWidth();
387        if (realscreenwidth > 991) {
388            if (window.console) console.log('PC: Raster');
389            $(this).find('.optbt').remove();
390        } else {
391            if (window.console) console.log('Mobil: Slider');
392            $(this).find('.addtype').addClass('btitemslider');
393            $(this).find('.item').first().addClass('active');
394        }
395
396    });
397
398    // Links in neuem Fenster öffnen
399    $('a[href$=".pdf"]').prop('target', '_blank');
400    $('a[href$=".doc"]').prop('target', '_blank');
401    $('a[href$=".docx"]').prop('target', '_blank');
402    $('a.newwindow').prop('target', '_blank');
403    $("a[href^=http]").each(function() {
404
405        if (typeof(excludes) != "undefined" && excludes !== null) {
406            if (excludes.length) {
407
408                for (i = 0; i < excludes.length; i++) {
409                    if (this.href.indexOf(excludes[i]) != -1) {
410                        return true; // continue each() with next link
411                    }
412                }
413
414                if (this.href.indexOf(location.hostname) == -1) {
415                    $(this).attr({
416                        target: "_blank"
417                            //title: "Opens in a new window"
418                    });
419                }
420            }
421        }
422    });
423
424    // Menu andocken  
425    var position = $(window).scrollTop();
426    $(window).scroll(function() {
427        var scroll = $(window).scrollTop();
428        if (scroll > position) {
429            $('body').removeClass('scrolledup');
430        } else {
431            if ($('#aftertopnavi').length) {
432                //var relativetopNaviPos = parseInt( $('#aftertopnavi').offset().top );   
433                //if ( relativetopNaviPos < scroll ) 
434                $('body').addClass('scrolledup');
435            }
436        }
437
438        if (position < 1) {
439            $('body').removeClass('scrolled');
440        } else {
441            $('body').addClass('scrolled');
442        }
443        position = scroll;
444
445        if ($('#aftertopnavi').length) {
446            var relativetopNaviPos = parseInt($('#aftertopnavi').offset().top);
447            //if ($('body').hasClass('scrolledup')) {}
448            //else
449            //{ 
450            //$('ul li.hotelhead').text(  relativetopNaviPos + 'Pixel versus scroll ' + scroll + ' Pixel');     
451
452            if (relativetopNaviPos < scroll) $('body').addClass('fixed');
453            else $('body').removeClass('fixed');
454            if ($('body').hasClass('scrolledup')) $('body').addClass('fixed');
455            //}
456        }
457
458        if (scroll < 2) {
459            $('body').removeClass('scrolledup');
460            $('body').removeClass('fixed');
461        }
462
463    });
464
465    // Lightbox
466    lightbox.option({
467        'albumLabel': "Bild %1 von %2",
468        'showImageNumberLabel': false
469    })
470
471    // Modal Bilder
472    // Gets the img src from the data-src on each button
473    var $imageSrc;
474    $('img.showmodal').click(function() {
475        $imageSrc = $(this).data('bigimage');
476    });
477    //console.log($imageSrc);
478
479    // when the modal is opened autoplay it  
480    $('#myModal').on('shown.bs.modal', function(e) {
481        $("#image").attr('src', $imageSrc);
482    });
483
484    // reset the modal image
485    $('#myModal').on('hide.bs.modal', function(e) {
486        // a poor man's stop video
487        $("#image").attr('src', './css/loading.gif');
488    });
489
490    // Topmenu ausklappen   
491    $('#mobil-header .togglemobmenu').on("click", function(e) {
492        e.preventDefault();
493        e.stopPropagation();
494        $('#mobil-navi').removeClass('eingeklappt');
495    });
496    $('#mobil-navi .navitoggle').on("click", function(e) {
497        e.preventDefault();
498        e.stopPropagation();
499        $('#mobil-navi').addClass('eingeklappt');
500    });
501
502    // Mobilmenu Ausklapp-Funktion
503    $('#mobil-navi .navbody ul li a').on("click", function(e) {
504        e.preventDefault();
505        //$('#navi ul.nav > li').removeClass('hovered');
506        //$(this).parent().addClass('hovered');
507        if ($(this).parent().children('ul').length) {
508            $(this).parent().toggleClass('active');
509        } else { window.location.href = $(this).attr('href'); }
510    });
511
512    // Scroll-Button nach oben
513    $('#gotop').hide();
514    $(window).scroll(function() {
515        if ($(document).scrollTop() > 100) $('#gotop').fadeIn();
516        else $('#gotop').fadeOut();
517    });
518
519    // Smooth Scrolling  
520    $('#gotop').on('click touchstart', function() {
521        $('html, body').animate({
522            scrollTop: 0
523        }, 500);
524        return false;
525    });
526
527    // Smooth Scrolling  
528    $('a.softscroll').on('click touchstart', function() {
529        $('html, body').animate({
530            scrollTop: $($.attr(this, 'href')).offset().top
531        }, 500);
532
533        history.pushState(stateObj, $(this).text(), $(this).attr('href'));
534        return false;
535    });
536
537    // Langtext Ausklapp-Funktion
538    $('.button.showlong a').on("click", function(e) {
539        e.preventDefault();
540        var realscreenwidth = viewportSize.getWidth();
541        if (($(this).hasClass('nachoben')) && (realscreenwidth > 991)) {
542            if (window.console) console.log('Hoch');
543            //$(this).parent().hide();   
544            //$(this).parent().remove();   
545            $($(this).attr('data-target')).find('.longtext').prepend($($(this).attr('data-target')).parent().find('.intro').html());
546            $($(this).attr('data-target')).find('.button.showlong').remove();
547            $($(this).attr('data-target')).removeClass('eingeklappt');
548        } else {
549            $($(this).attr('data-target')).removeClass('eingeklappt');
550            $(this).parent().hide();
551        }
552    });
553
554    // Umklapp-Funktion
555    $('.mehrtext .eventdetails a.lupe').on("click touchstart", function(e) {
556        e.preventDefault();
557        $(this).parent().parent().removeClass('eingeklappt');
558        $(this).parent().parent().addClass('ausgeklappt');
559    });
560    $('.mehrtext .eventbild').on("click touchstart", function(e) {
561        e.preventDefault();
562        $(this).parent().removeClass('eingeklappt');
563        $(this).parent().addClass('ausgeklappt');
564    });
565    $('.mehrtext .text-close').on("click touchstart", function(e) {
566        e.preventDefault();
567        $(this).parent().addClass('eingeklappt');
568        $(this).parent().removeClass('ausgeklappt');
569    });
570
571
572    // BT Grid item slider
573    // Anfangszustand
574    $('a.btitemslider-prev').addClass('inactive');
575    $('a.btitemslider-next').addClass('inactive');
576    $('.btitemslider').each(function() {
577        var totalItems = $(this).find(' .row .item').length;
578        var realscreenwidth = viewportSize.getWidth();
579        if (realscreenwidth > 991) var itemsPerSlide = parseInt($(this).find('a.btitemslider-next').attr("data-items-lg"));
580        else if (realscreenwidth > 577) var itemsPerSlide = parseInt($(this).find('a.btitemslider-next').attr("data-items-sm"));
581        else var itemsPerSlide = parseInt($(this).find('a.btitemslider-next').attr("data-items-xs"));
582
583        if (totalItems > itemsPerSlide) $(this).find('a.btitemslider-next').removeClass('inactive');
584        $(this).find('a.btitemslider-prev').addClass('inactive');
585        //if (window.console) console.log('BT Slider Items: ' + totalItems );         
586        //if (window.console) console.log('BT per Slide: ' + itemsPerSlide );    
587
588    });
589
590});
591
592
593
594// Aktion bei Klick  
595$('a.btitemslider-prev, a.btitemslider-next').on('click', function(e) {
596
597    e.preventDefault();
598    var realscreenwidth = viewportSize.getWidth();
599    if (realscreenwidth > 991) var itemsPerSlide = parseInt($(this).attr("data-items-lg"));
600    else if (realscreenwidth > 577) var itemsPerSlide = parseInt($(this).attr("data-items-sm"));
601    else var itemsPerSlide = parseInt($(this).attr("data-items-xs"));
602
603    var sliderid = $(this).attr('href');
604    var totalItems = $(sliderid + ' .row .item').length;
605    if ($(this).hasClass('btitemslider-prev')) var direction = "prev";
606    else var direction = "next";
607    if (window.console) console.log('BT Items: ' + totalItems + ' /per Slide: ' + itemsPerSlide);
608
609    //alert ( "Anzahl " + totalItems );
610    if (direction == "prev") {
611        $(sliderid + ' .row .item.active').prev('.item').addClass('prev');
612        $(sliderid + ' .row .item').removeClass('active');
613        $(sliderid + ' .row .item.prev').addClass('active');
614        $(sliderid + ' .row .item').removeClass('prev');
615
616    } else {
617        $(sliderid + ' .row .item.active').next('.item').addClass('next');
618        $(sliderid + ' .row .item').removeClass('active');
619        $(sliderid + ' .row .item.next').addClass('active');
620        $(sliderid + ' .row .item').removeClass('next');
621    }
622
623    var it = totalItems - itemsPerSlide;
624
625    if ($(sliderid + ' .row .item').eq(0).hasClass('active')) $(sliderid + ' a.btitemslider-prev').addClass('inactive');
626    else $(sliderid + ' a.btitemslider-prev').removeClass('inactive');
627
628    if (it > 0) {
629        if ($(sliderid + ' .row .item').eq(it).hasClass('active')) $(sliderid + ' a.btitemslider-next').addClass('inactive');
630        else $(sliderid + ' a.btitemslider-next').removeClass('inactive');
631    } else $(sliderid + ' a.btitemslider-next').addClass('inactive');
632
633});
634
635// Swipe functions for BT Item Carousel
636if ($('.btitemslider').length) {
637    //$('.carousel').carousel({interval: 7000, pause: false }); 
638    $(".btitemslider").swipe({
639        swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
640            if (direction == 'left') { var sliderid = $(this).attr('href'); if ($(this).find(' a.btitemslider-next').hasClass('inactive')) {} else $(this).find(' a.btitemslider-next').trigger("click"); };
641            if (direction == 'right') { var sliderid = $(this).attr('href'); if ($(this).find(' a.btitemslider-prev').hasClass('inactive')) {} else $(this).find(' a.btitemslider-prev').trigger("click"); };
642            //alert ("SWYPE " + direction );
643        },
644        allowPageScroll: "vertical"
645    });
646}
647
648
649// Swipe functions for Bootstrap Carousel
650if ($('.carousel').length) {
651    //$('.carousel').carousel({interval: 7000, pause: false }); 
652    $(".carousel").swipe({
653        swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
654            if (direction == 'left') {
655                if ($(this).find('.carousel-item.active').hasClass('lastallowed')) {
656                    //alert ("ENDE"); 
657                } else $(this).carousel('next');
658            }
659            if (direction == 'right') {
660                if ($(this).find('.carousel-item.active').hasClass('firstallowed')) {
661                    //alert ("START"); 
662                } else $(this).carousel('prev');
663            }
664        },
665        allowPageScroll: "vertical"
666    });
667}
668
669//Carusel New
670var movement = 0;
671var item_size;
672var item_resize;
673var item_count = $(".l-smothslide .item").length;
674var item_passed_counter = 3;
675
676if ($(window).width() > 991) {
677    five_row = true
678} else {
679    five_row = false
680}
681
682$(window).resize(function() {
683    var new_margin = 0;
684    $('.row.l-smothslide').css("margin-left", new_margin + "px");
685    var overflow_box = $(".overflow-box").width();
686    $(".btitemslider-smothslide-prev").css("display", "none");
687    $(".btitemslider-smothslide-next").css("display", "block");
688    item_passed_counter = 0;
689    movement = 0;
690
691    if ($(window).width() > 991) {
692
693        item_resize = (overflow_box) / 5;
694        five_row = true;
695
696    } else if ($(window).width() > 575) {
697
698        if ($(window).width() < 991) {
699
700            five_row = false;
701            item_resize = (overflow_box) / 2;
702
703        }
704    }
705
706    $(".l-smothslide .item").css("width", item_resize + "px");
707    var max_content = item_count * item_resize;
708    $(".l-smothslide").css("width", max_content + "px"); //hier
709    slider_auto_scroll();
710});
711
712$(".btitemslider-smothslide-prev").css("display", "none");
713
714//prev button
715$('.btitemslider-smothslide-prev').on("click touchstart", function(e) {
716    e.preventDefault();
717    slider_prev()
718})
719
720//next button
721$('.btitemslider-smothslide-next').on("click touchstart", function(e) {
722    e.preventDefault();
723    slider_next();
724})
725
726function slider_next() {
727    item_size = $(".l-smothslide .item").width();
728    item_passed_counter = item_passed_counter + 1;
729    movement = movement - item_size;
730
731    $('.row.l-smothslide').css("margin-left", movement + "px");
732    if (five_row) {
733
734        if (item_passed_counter >= item_count - 5) {
735
736            $(".btitemslider-smothslide-next").css("display", "none");
737            $(".btitemslider-smothslide-prev").css("display", "block");
738
739        } else {
740
741            $(".btitemslider-smothslide-prev").css("display", "block");
742
743        }
744    } else {
745
746        if (item_passed_counter >= item_count - 2) {
747
748            $(".btitemslider-smothslide-next").css("display", "none");
749            $(".btitemslider-smothslide-prev").css("display", "block");
750
751        } else {
752
753            $(".btitemslider-smothslide-prev").css("display", "block");
754
755        }
756    }
757}
758
759function slider_prev() {
760    item_size = $(".l-smothslide .item").width();
761    movement = movement + item_size;
762    item_passed_counter = item_passed_counter - 1;
763
764    $('.row.l-smothslide').css("margin-left", movement + "px");
765
766    if (item_passed_counter == 0) {
767
768        $(".btitemslider-smothslide-prev").css("display", "none");
769        $(".btitemslider-smothslide-next").css("display", "block");
770
771    } else {
772
773        $(".btitemslider-smothslide-next").css("display", "none");
774        $(".btitemslider-smothslide-prev").css("display", "block");
775
776    }
777}
778//Auto Vorspringen
779if (itemjump == null) {
780    var itemjump = 0;
781}
782var rex_value1 = itemjump;
783slider_auto_scroll();
784
785function slider_auto_scroll() {
786    if ($(window).width() > 991) {
787        if ($(".l-smothslide .item").length - 5 >= rex_value1 && rex_value1 > 0) {
788
789            for (index = 0; index < rex_value1 - 1; index++) {
790
791                slider_next();
792                // console.log ("Check " +rex_value1)
793
794            }
795
796        } else if ($(".l-smothslide .item").length - 5 <= rex_value1 && rex_value1 <= $(".l-smothslide .item").length) {
797
798            for (index = 0; index < $(".l-smothslide .item").length - 5; index++) {
799
800                slider_next();
801                // console.log ("Check " +rex_value1)
802
803            }
804
805        }
806    } else {
807        if ($(".l-smothslide .item").length - 2 >= rex_value1 && rex_value1 > 0) {
808
809            for (index = 0; index < rex_value1 - 1; index++) {
810
811                slider_next();
812                // console.log ("Check " +rex_value1)
813
814            }
815
816        } else if ($(".l-smothslide .item").length - 2 <= rex_value1 && rex_value1 <= $(".l-smothslide .item").length) {
817
818            for (index = 0; index < $(".l-smothslide .item").length - 2; index++) {
819
820                slider_next();
821                // console.log ("Check " +rex_value1)
822
823            }
824
825        }
826    }
827}
828//END Slider
829//     // Swipe functions for BT Item Carousel
830//     if($('.btitemslider').length){ 
831//         //$('.carousel').carousel({interval: 7000, pause: false }); 
832//         $(".btitemslider").swipe({ swipe: function(event, direction, distance, duration, fingerCount, fingerData) { 
833//           if (direction == 'left') { var sliderid = $(this).attr('href'); if (  $(this).find(' a.btitemslider-next' ).hasClass('inactive') ) {} else $(this).find(' a.btitemslider-next' ).trigger("click");   }; 
834//           if (direction == 'right') { var sliderid = $(this).attr('href'); if (  $(this).find(' a.btitemslider-prev' ).hasClass('inactive') ) {} else $(this).find(' a.btitemslider-prev' ).trigger("click");   }; 
835//           //alert ("SWYPE " + direction );
836//         }, allowPageScroll:"vertical" }); 
837//     }     
838
839
840//     // Swipe functions for Bootstrap Carousel
841//     if($('.carousel').length){ 
842//         //$('.carousel').carousel({interval: 7000, pause: false }); 
843//         $(".carousel").swipe({ swipe: function(event, direction, distance, duration, fingerCount, fingerData) 
844//         { 
845//             if (direction == 'left') 
846//             {
847//                 if ( $(this).find('.carousel-item.active').hasClass('lastallowed') )  
848//                 { 
849//                 //alert ("ENDE"); 
850//                 }
851//                 else $(this).carousel('next'); 
852//             }
853//             if (direction == 'right') 
854//             {
855//                 if ( $(this).find('.carousel-item.active').hasClass('firstallowed') ) 
856//                 { 
857//                 //alert ("START"); 
858//                 }
859//                 else $(this).carousel('prev');
860//             } 
861//         }, allowPageScroll:"vertical" }); 
862//     } 
863
864// AJAX-Lightbox-Button
865$('a.newlight').on('click', function(e) {
866    e.preventDefault();
867
868    var realscreenwidth = viewportSize.getWidth();
869    var ajaxurl = $('#libcover').attr('data-ajaxurl');
870    var ajaxlang = $('#libcover').attr('data-ajaxlang');
871    //var topbottom = $(window).height() - $(this).offset().top - $(this).height();
872    if (realscreenwidth > 577) {
873
874        var topbottom = window.pageYOffset;
875        // alert(topbottom);
876    } else {
877
878        var topbottom = window.pageYOffset - 15;
879
880    };
881    //if (window.console) console.log( "XPos: "  + $(this).offset().top );   
882    //if (window.console) console.log( "XHeight: "  + $(this).height() );       
883
884    $('body').removeClass('mitmenu');
885    $('html').addClass('mitlib');
886    $('body').addClass('mitlib');
887    $('#libcover').hide();
888    $('body.mitlib #libcover').css('top', topbottom + 'px');
889    $('#libcover').fadeIn('slow');
890
891    $('#libinner').html('<center><br /><br /><br /><br /><img src="./css/loading.gif" alt="Wird geladen..."  width=32 height=32 /></center>');
892    //window.history.pushState(null, null, $(this).attr('href') ); 
893
894    if ($(this).attr('data-do') == "getimage") Abfrage = "do=getimage" + "&dataid=" + $(this).attr('data-imageid') + "&datalang=" + ajaxlang;
895    else Abfrage = "do=getpage" + "&dataid=" + $(this).attr('data-linkid') + "&datalang=" + ajaxlang;
896    //alert ( ajaxid + '?' + Abfrage );
897    $.post(ajaxurl, Abfrage, function(data) {
898
899        if (data.result == "OK") {
900            $('#libinner').html(data.content);
901
902            // Swipe functions for Bootstrap Carousel
903            if ($('.carousel').length) {
904                //$('.carousel').carousel({interval: 7000, pause: false }); 
905                $(".carousel").swipe({ swipe: function(event, direction, distance, duration, fingerCount, fingerData) { if (direction == 'left') $(this).carousel('next'); if (direction == 'right') $(this).carousel('prev'); }, allowPageScroll: "vertical" });
906            }
907        } else {
908            //$('#libinner').html( data.content );        
909            $('#libinner').html('Leider ist ein Fehler aufgetreten [1].' + data.content);
910            //if (window.console) console.log( "Abfrage: "  + ajaxurl + "?" + Abfrage );                    
911        }
912    }, 'json').fail(function() {
913        $('#libinner').html('Leider ist ein Fehler aufgetreten [2].');
914        //if (window.console) console.log( "Abfrage: "  + ajaxurl + "?" + Abfrage );      
915    });
916    //$('#libinner').css( 'height', parseInt( $('#libcover').height() - 1 ) + 'px');
917
918});
919
920// Lightbox schliessen
921$('#libclose').click(function(e) {
922    $('#libcover').show();
923    $('#libcover').fadeOut('slow', function() {
924        $('html').removeClass('mitlib');
925        $('body').removeClass('mitlib');
926    });
927    //$('html').removeClass('mitlib');      
928    //$('body').removeClass('mitlib');    
929});
930
931// lslider
932function lslider_prev() {
933    // if(1==1){
934    //   $('.carousel.slide .carousel-inner .carousel-item.active').prev('.carousel-item').addClass('prev');   
935    //   $('.carousel.slide .carousel-inner .carousel-item').removeClass('active');   
936    //   $('.carousel.slide .carousel-inner .carousel-item.prev').addClass('active');   
937    //   $('.carousel.slide .carousel-inner .carousel-item').removeClass('prev');
938    // };
939    // console.log("prev");
940    $('.carousel').carousel('prev');
941};
942
943function lslider_next() {
944    // if(1==1){
945    //   $('.carousel.slide .carousel-inner .carousel-item.active').next('.carousel-item').addClass('next');
946    //   $('.carousel.slide .carousel-inner .carousel-item').removeClass('active');   
947    //   $('.carousel.slide .carousel-inner .carousel-item.next').addClass('active');   
948    //   $('.carousel.slide .carousel-inner .carousel-item').removeClass('next');   
949    // };
950    // console.log("next");
951    $('.carousel').carousel('next');
952};
953
954$(window).on("load", function(e) {
955    //alert ("Load");   
956    $(window).on('resize', function() {
957        //alert ("resize");
958        var realscreenwidth = viewportSize.getWidth(); // caused problems with scrollbars     
959        var realscreenheight = viewportSize.getHeight(); // caused problems with scrollbars    
960
961        $('#inhalt').css('min-height', parseInt(realscreenheight - $('footer').height() + 1) + 'px')
962
963
964    }).trigger('resize');
965
966
967});
968
969if ($(".togglemobmenu")[0]) {
970
971    blendin();
972}
973
974function blendin() {
975
976    const $window = $(window);
977
978    $window.on('scroll resize', check_view);
979    $window.trigger('scroll');
980
981    function check_view() {
982
983
984        var $header = $('#header-bild');
985        var headerHeight = $header.outerHeight();
986        var headerTopPosition = $header.offset().top;
987        var headerBottomPosition = (headerHeight + headerTopPosition);
988
989        if ($(".togglemobmenu")[0]) {
990            var classses = document.getElementsByClassName(".togglemobmenu");
991            var $ulmenu = $('.togglemobmenu');
992
993            var j;
994            for (j = 0; j < 2; j++) {
995                classses[j]
996                $ulmenu.each(function() {
997                    var ulmenuHeight = $(this).outerHeight();
998                    var ulmenuTopPosition = $(this).offset().top;
999                    var ulmenuBottomPosition = (ulmenuTopPosition + ulmenuHeight);
1000
1001                    if ((ulmenuTopPosition <= headerBottomPosition) &&
1002                        (ulmenuBottomPosition >= headerTopPosition)) {
1003                        $(this).addClass('headeractive');
1004                        document.getElementById('menuchange').src = '../media/burgermenue_hell_1.svg';
1005                    } else if ('loopRepeat' == 'loopRepeat') {
1006                        $(this).removeClass('headeractive');
1007                        document.getElementById('menuchange').src = '../media/burgermenue_gruen_1.svg';
1008                    };
1009                });
1010
1011            }
1012
1013
1014        }
1015    };
1016};
1017
1018function stoerer_entfernen() {
1019    $('#stoerer-hinweis').addClass('geklickt');
1020}
1021
1022function stoerer() {
1023    $('#stoerer-hinweis').removeClass('geklickt');
1024}
1025
1026$(document).ready(function() {
1027
1028    $('#stoerer-hinweis').on("click", function(e) {
1029        stoerer_entfernen()
1030    });
1031
1032    $(window).scroll(function() {
1033        stoerer_entfernen()
1034    });
1035    // stoerer_entfernen()
1036});

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.