PageSourceSearch

https://www.hofgut-tiergarten.com/wp-content/themes/ferienhof-tiergarten/js/main.js?ver=1.1

js hofgut-tiergarten.com collected 2026-10-10 02:35:55 UTC 8,296 bytes, 306 lines download raw bytes

1
2jQuery( document ).ready(function( $ ) {
3
4  var $window = $(window),
5      $header = $('header.header-main, header.header-main .bg, header.header-main .bg .image'),
6      $headerMenu = $('nav.main-menu'),
7      $content = $('.content-wrapper'),
8      $sidebar = $('.sidebar'),
9      contentOffset,
10      contentTop,
11      contentHeight,
12      sidebarMarginTop,
13      sidebarOffset,
14      sidebarTop,
15      sidebarHeight;
16
17  $('.socket .menu').removeClass('menu');
18
19  $('.header-main .toggle').click(function() {
20    $('.nav-wrapper').slideToggle();
21  });
22  $('.header-main-19 .js-toggle').click(function() {
23    $('.header-main-19 .nav-wrapper').slideToggle();
24  });
25
26  $('.filter .facility').click(function(e) {
27    e.preventDefault();
28    var $this = $(this),
29        $rooms = $('article.room'),
30        $filters = $('.filter .facility'),
31        filterName = $this.attr('data-filter'),
32        filter_value = $this.attr('data-value'),
33        filter_compare = $this.attr('data-compare');
34
35    if($this.hasClass('active')) {
36      $rooms.slideDown();
37      $this.removeClass('active');
38    } else {
39
40      $filters.removeClass('active');
41
42      if( typeof filter_compare === 'undefined' ) {
43        var $roomsToShow = $rooms.filter('[data-' + filterName + '=' + filter_value + ']'),
44            $roomsToHide = $rooms.filter(':not([data-' + filterName + '=' + filter_value + '])');
45
46        $roomsToHide.slideUp();
47        $roomsToShow.slideDown();
48      } else {
49        $rooms.each(function() {
50          var $room = $(this),
51              value = $room.attr('data-' + filterName);
52
53          if( typeof value === 'undefined' ) {
54            $room.slideUp();
55          } else {
56
57            if( filter_compare === 'gt' ) {
58              if( parseInt( value ) < parseInt( filter_value ) ) {
59                $room.slideUp();
60              } else {
61                $room.slideDown();
62              }
63            } else {
64              if( parseInt( value ) >= parseInt( filter_value ) ) {
65                $room.slideUp();
66              } else {
67                $room.slideDown();
68              }
69            }
70          }
71
72
73        });
74      }
75
76
77      $this.addClass('active');
78    }
79
80  });
81
82  $window.resize(function() {
83
84    var viewport = {
85      height: $window.height(),
86      width: $window.width()
87    };
88
89    if( viewport.width >= 992 ) {
90      $('.nav-wrapper').show();
91
92      var calculatedHeight = viewport.height * 0.7,
93          headerHeight = calculatedHeight > 690 ? 690 : calculatedHeight;
94
95      $header.height( headerHeight );
96
97    }
98
99    contentOffset = $content.offset();
100    contentTop = contentOffset.top;
101    contentHeight = $content.height();
102
103    if( $sidebar.length ) {
104      sidebarOffset = $sidebar.offset();
105      sidebarTop = sidebarOffset.top;
106      sidebarHeight = $sidebar.outerHeight();
107
108      if( viewport.width < 768 ) {
109        $sidebar.css({
110          'margin-top' : '0px'
111        });
112      }
113    }
114  });
115
116  $window.resize();
117
118  $window.scroll(function() {
119
120    var scrollTop = $window.scrollTop();
121
122    if($window.width() >= 992) {
123        if( scrollTop >= 615 ) {
124          $headerMenu.addClass('sticky');
125        } else {
126          $headerMenu.removeClass('sticky');
127        }
128    } else {
129        if($headerMenu.hasClass('sticky')){
130            $headerMenu.removeClass('sticky');
131        }
132    }
133
134
135
136    if( $sidebar.length && $window.width() >= 768 ) {
137
138      if( scrollTop >= sidebarTop - 110 ) {
139
140        var sidebarOffsetNow = $sidebar.offset();
141
142        if( contentTop + contentHeight - sidebarHeight + 110 >= scrollTop + sidebarHeight ) {
143          sidebarMarginTop = scrollTop - sidebarTop + 110;
144          if( sidebarMarginTop < 0 ) {
145            sidebarMarginTop = 0;
146          }
147          $sidebar.css({
148            'margin-top' : sidebarMarginTop
149          });
150        }
151
152      } else {
153        $sidebar.css({
154          'margin-top' : '0px'
155        });
156      }
157    }
158
159
160  });
161
162  $window.scroll();
163
164  var headerGalleryCurrentImage = 0,
165      headerInterval,
166      $headerGalleryImages = $('.bg.gallery .image'),
167      $headerGalleryNav = $('.gallery-nav');
168
169
170  var headerGallerySwitch = function( indexToAdd ) {
171    var currentImage = headerGalleryCurrentImage;
172
173    if( typeof(indexToAdd) == 'undefined' ) {
174      indexToAdd = 1;
175    }
176
177    headerGalleryCurrentImage = headerGalleryCurrentImage + indexToAdd;
178
179    if(headerGalleryCurrentImage > $headerGalleryImages.length-1) {
180      headerGalleryCurrentImage = 0;
181    }
182
183    if(headerGalleryCurrentImage < 0) {
184      headerGalleryCurrentImage = $headerGalleryImages.length-1;
185    }
186
187    $($headerGalleryImages[currentImage]).fadeOut('slow');
188    $($headerGalleryImages[headerGalleryCurrentImage]).fadeIn('slow');
189  };
190
191  var initHeaderGallery = function() {
192
193    if( !$headerGalleryImages.length ) {
194      return;
195    }
196
197    $headerGalleryImages.not(':first-child').hide();
198
199    $headerGalleryNav.click(function(e) {
200      e.preventDefault();
201      clearInterval(headerInterval);
202      if( $(this).hasClass('next') ) {
203        headerGallerySwitch();
204      } else {
205        headerGallerySwitch(-1);
206      }
207      headerInterval = setInterval( headerGallerySwitch, 5000 );
208    });
209
210    // clearInterval(headerInterval);
211
212    if($headerGalleryImages.length < 2) {
213      $('.pagination a.image-changer').hide();
214      return;
215    }
216
217    headerInterval = setInterval( headerGallerySwitch, 5000 );
218  };
219
220  initHeaderGallery();
221
222
223	/************************
224   * FANCYBOX weil PrettyPhoto und Flash Probleme verursacht
225   **************************/
226   $("[data-fancybox]").fancybox();
227
228
229	/************************
230    * toggler für mobile Navi
231	*************************/
232	/**
233	 * Main navigation togglers for mobile
234	 */
235	function mobile_navigation() {
236		// Opening and closing of main-nav
237      if ($(window).width() < 992) {
238			var  $navItem = $('#menu-header-menu .menu-item-has-children'),
239			     $subNav = $('#menu-header-menu .menu-item-has-children .sub-menu');
240
241			$navItem.attr('data-role', 'main-nav-toggler');
242			$subNav.attr('data-role', 'sub-nav');
243			$('#menu-header-menu .menu-item-has-children > a').after('<div class="sub-nav-toggler fa fa-plus none-l" data-role="sub-nav-toggler"></div>');
244
245			var $mainNavToggler = $('[data-role="main-nav-toggler"]'),
246				$mainNav = $('[data-role="' + $mainNavToggler.data('target') + '"]');
247
248			$mainNavToggler.click(function () {
249				var $thisToggler = $(this);
250
251				$thisToggler.toggleClass('active');
252				$mainNav.slideToggle();
253			});
254
255			// Opening and closing of sub-navs
256			var $subNavToggler = $('[data-role="sub-nav-toggler"]');
257
258			$subNavToggler.click(function () {
259				var $thisToggler = $(this);
260				var $thisSubNav = $thisToggler.next('[data-role="sub-nav"]');
261
262				$thisToggler.toggleClass('fa-plus fa-minus active');
263				$thisSubNav.slideToggle();
264			});
265
266			console.info('mobile_navigation() executed');
267		}
268	}
269
270	/************************
271	 * Direkt-Buchung: Button von "weiter" in "Jetzt buchen umbenennen
272	 *************************/
273	var checkExist = setInterval(function() {
274		if ($('#d21-quickbook').length) {
275			clearInterval(checkExist);
276			$('#d21-book-button').text('Jetzt buchen');
277			$('.header-main .menu .d21-trigger-ibe').show();
278
279			var $this = $('.direkt-buchen-container .d21-trigger-ibe');
280			window.setTimeout(function(){
281				$this.addClass('visible');
282			}, 1000); //<-- Delay in milliseconds
283			console.log('overlay ready');
284
285			// Alle Arrangements-Seiten / Bild einblenden
286			//$('.parent-pageid-486 .bg').addClass('booking d21-trigger-ibe').css('cursor','pointer');
287			// Clone Buchen-Button to Header Image
288			// $('.parent-pageid-486 .direkt-buchen-container').clone().appendTo('.parent-pageid-486 .bg');
289		}
290	}, 100); // check every 100ms
291
292
293	/************************
294	 * Slick slider / Kundenstimmen
295	 *************************/
296	var slicks = function() {
297		$(".slider-kundenstimmen").slick({
298			dots: true,
299			arrows: false,
300			autoplay: 1,
301			autoplaySpeed: 8000,
302		});
303	};
304	slicks();
305});
306

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.