PageSourceSearch

https://vibrantholidaysafaris.com/wp-content/themes/vibrantholidaysafaris/js/script-core.js?ver=1.0.0

js vibrantholidaysafaris.com collected 2026-10-02 23:18:32 UTC 55,185 bytes, 1,150 lines download raw bytes

1(function($){
2	"use strict";
3
4	var traveltour_display = 'desktop';
5	if( typeof(window.matchMedia) == 'function' ){
6		$(window).on('resize traveltour-set-display', function(){
7			if( window.matchMedia('(max-width: 419px)').matches ){
8				traveltour_display = 'mobile-portrait';
9			}else if( window.matchMedia('(max-width: 767px)').matches ){
10				traveltour_display = 'mobile-landscape'
11			}else if( window.matchMedia('(max-width: 959px)').matches ){
12				traveltour_display = 'tablet'
13			}else{
14				traveltour_display = 'desktop';
15			}
16		});
17		$(window).trigger('traveltour-set-display');
18	}else{
19		$(window).on('resize traveltour-set-display', function(){
20			if( $(window).innerWidth() <= 419 ){
21				traveltour_display = 'mobile-portrait';
22			}else if( $(window).innerWidth() <= 767 ){
23				traveltour_display = 'mobile-landscape'
24			}else if( $(window).innerWidth() <= 959 ){
25				traveltour_display = 'tablet'
26			}else{
27				traveltour_display = 'desktop';
28			}
29		});
30		$(window).trigger('traveltour-set-display');
31	}
32
33	// ref : http://unscriptable.com/2009/03/20/debouncing-javascript-methods/
34	// ensure 1 is fired
35	var traveltour_debounce = function(func, threshold, execAsap){
36		
37		var timeout;
38
39		return function debounced(){
40			
41			var obj = this, args = arguments;
42			
43			function delayed(){
44				if( !execAsap ){
45					func.apply(obj, args);
46				}
47				timeout = null;
48			};
49
50			if( timeout ){
51				clearTimeout(timeout);
52			}else if( execAsap ){
53				func.apply(obj, args);
54			}
55			timeout = setTimeout(delayed, threshold);
56		};
57	}	
58	
59	// reduce the event occurance
60	var traveltour_throttling = function(func, threshold){
61		
62		var timeout;
63
64		return function throttled(){
65			var obj = this, args = arguments;
66			
67			function delayed(){
68				func.apply(obj, args);
69				timeout = null;
70			};
71
72			if( !timeout ){
73				timeout = setTimeout(delayed, threshold);
74			}
75		};
76	}	
77
78	/////////////////////////
79	// menu handle function
80	/////////////////////////
81	var traveltour_sf_menu = function( menu ){
82
83		if( menu.length == 0 ) return;
84
85		this.main_menu = menu;
86
87		this.slide_bar = this.main_menu.children('.traveltour-navigation-slide-bar');
88		this.slide_bar_val = { width: 0, left: 0 };
89		this.slide_bar_offset = '3';
90
91		this.current_menu = this.main_menu.children('.sf-menu').children('.current-menu-item, .current-menu-ancestor').children('a');
92		
93		this.init();
94		
95	} // traveltour_sf_menu
96
97	traveltour_sf_menu.prototype = {
98		
99		init: function(){
100			
101			var t = this;
102			
103			// sf menu mod
104			t.sf_menu_mod();
105			
106			// init superfish menu
107			if(typeof($.fn.superfish) == 'function'){
108				t.main_menu.superfish({ delay: 400, speed: 'fast' });	
109				
110				t.sf_menu_position();
111				$(window).resize(traveltour_debounce(function(){
112					t.sf_menu_position();
113				}, 300));
114			}
115			
116			// init the slidebar
117			if( t.slide_bar.length > 0 ){
118				t.init_slidebar();
119			}
120			
121		}, // init
122		
123		sf_menu_mod: function(){
124			
125			// create the mega menu script
126			this.main_menu.find('.sf-mega > ul').each(function(){	
127				var mega_content = $('<div></div>');
128				var mega_row = $('<div class="sf-mega-section-wrap" ></div>');
129				var mega_column_size = 0;
130				
131				$(this).children('li').each(function(){
132					var column_size = parseInt($(this).attr('data-size'));
133					if( mega_column_size + column_size  <= 60 ){
134						mega_column_size += column_size;
135					}else{	
136						mega_column_size = column_size;
137						mega_content.append(mega_row);
138						mega_row = $('<div class="sf-mega-section-wrap" ></div>');
139					}
140					
141					mega_row.append( $('<div class="sf-mega-section" ></div>')
142						.addClass('traveltour-column-' + column_size)
143						.html( $('<div class="sf-mega-section-inner" ></div>')
144							.addClass($(this).attr('class'))
145							.attr('id', $(this).attr('id'))
146							.html($(this).html())
147						)
148					);
149				});
150				
151				mega_content.append(mega_row);
152				$(this).replaceWith(mega_content.html());
153			});
154			
155		}, // sf_menu_mod
156		
157		sf_menu_position: function(){
158
159			if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ) return;
160
161			// submenu of normal menu
162			var sub_normal_menu = this.main_menu.find('.sf-menu > li.traveltour-normal-menu .sub-menu');
163			
164			sub_normal_menu.css({display: 'block'}
164).removeClass('sub-menu-right');
165			if( $("body").hasClass("rtl") ){
166				sub_normal_menu.each(function(){
167					if( $(this).offset().left < 0 ){
168						$(this).addClass('sub-menu-right');
169					}
170				});
171			}else{
172				sub_normal_menu.each(function(){
173					if( $(this).offset().left + $(this).width() > $(window).width() ){
174						$(this).addClass('sub-menu-right');
175					}
176				});
177			}
178			sub_normal_menu.css({display: 'none'});
179			
180			// submenu of mega menu
181			this.main_menu.find('.sf-menu > li.traveltour-mega-menu .sf-mega').each(function(){
182				if( !$(this).hasClass('sf-mega-full') ){
183					
184					$(this).css({ display: 'block' });
185					
186					// set the position
187					$(this).css({ right: '', 'margin-left': -(($(this).width() - $(this).parent().outerWidth()) / 2) });
188					
189					// if exceed the screen
190					if( $(this).offset().left + $(this).width() > $(window).width() ){
191						$(this).css({ right: 0, 'margin-left': '' });
192					}
193					
194					$(this).css({ display: 'none' });
195				}
196				
197			});
198			
199		}, // sf_menu_position
200		
201		init_slidebar: function(){
202			
203			var t = this;
204			
205			t.init_slidebar_pos();
206			$(window).load(function(){ t.init_slidebar_pos(); });
207			
208			// animate slidebar 
209			t.main_menu.children('.sf-menu').children('li').hover(function(){
210				var nav_element = $(this).children('a');
211
212				if( nav_element.length > 0 ){
213					t.slide_bar.animate({ width: nav_element.outerWidth() + (2 * t.slide_bar_offset), left: nav_element.position().left - t.slide_bar_offset }, { queue: false, duration: 250 });
214				}
215			}, function(){
216				t.slide_bar.animate({ width: t.slide_bar_val.width, left: t.slide_bar_val.left }, { queue: false, duration: 250 });
217			});
218			
219			// window resize event
220			$(window).on('resize', function(){ t.init_slidebar_pos(); });
221			$(window).on('traveltour-navigation-slider-bar-init', function(){ 
222				t.current_menu = t.main_menu.children('.sf-menu').children('.current-menu-item, .current-menu-ancestor').children('a');
223				t.animate_slidebar_pos(); 
224			});
225			$(window).on('traveltour-navigation-slider-bar-animate', function(){ t.animate_slidebar_pos(); });
226			
227		}, // init_slidebar
228		
229		init_slidebar_pos: function(){
230
231			if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ) return;
232
233			var t = this;
234
235			if( t.current_menu.length > 0 ){
236				t.slide_bar_val = { width: t.current_menu.outerWidth() + (2 * t.slide_bar_offset), left: t.current_menu.position().left - t.slide_bar_offset };
237			}else{
238				t.slide_bar_val = { width: 0, left: t.main_menu.children('ul').children('li:first-child').position().left }
239			}
240			t.slide_bar.css({ width: t.slide_bar_val.width, left: t.slide_bar_val.left, display: 'block' });
241
242		}, // set_slidebar_pos	
243		animate_slidebar_pos: function(){
244
245			if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ) return;
246
247			var t = this;
248
249			if( t.current_menu.length > 0 ){
250				t.slide_bar_val = { width: t.current_menu.outerWidth() + (2 * t.slide_bar_offset), left: t.current_menu.position().left - t.slide_bar_offset };
251			}else{
252				t.slide_bar_val = { width: 0, left: t.main_menu.children('ul').children('li:first-child').position().left }
253			}
254			t.slide_bar.animate({ width: t.slide_bar_val.width, left: t.slide_bar_val.left }, { queue: false, duration: 250 });
255
256		} // set_slidebar_pos
257		
258	}; // traveltour_sf_menu.prototype
259	
260	/////////////////////////
261	// mobile menu
262	/////////////////////////
263	$.fn.traveltour_mobile_menu = function( args ){
264		
265		var menu_button = $(this).siblings('.traveltour-mm-menu-button');
266		var options = {
267			navbar: { title: '<span class="mmenu-custom-close" ></span>' },
268			extensions: [ 'pagedim-black' ],
269
270		};
271		var extensions = { 
272			offCanvas: { pageNodetype: '.traveltour-body-outer-wrapper' } 
273		};
274
275		// remove the wrap for submenu
276		$(this).find('a[href="#"]').each(function(){
277			var content = $(this).html();
278			$('<span class="traveltour-mm-menu-blank" ></span>').html(content).insertBefore($(this));
279			$(this).remove();
280		});
281		
282		if( $(this).attr('data-slide') ){
283			var html_class = 'traveltour-mmenu-' + $(this).attr('data-slide');
284			$('html').addClass(html_class);
285
286			options.offCanvas = { position : $(this).attr('data-slide') };
287		}		
288		
289		$(this).mmenu(options, extensions);
290
291		var menu_api = $(this).data('mmenu');
292		$(this).find('a').not('.mm-next, .mm-prev').click(function(){
293			menu_api.close();
294		});
295		$(this).find('.mmenu-custom-close').click(function(){
296			menu_api.close();
297		});
298
299		// add class active to button
300		menu_api.bind('open', function($panel){
301			menu_button.addClass('traveltour-active');
302		});
303		menu_api.bind('close', function($panel){
304			menu_button.removeClass('traveltour-active');
305		});
306
307	}	
308
309	/////////////////////////
310	// overlay menu
311	/////////////////////////
312	var traveltour_overlay_menu = function( menu ){
313
314		this.menu = menu;
315		this.menu_button = menu.children('.traveltour-overlay-menu-icon');
316		this.menu_content = menu.children('.traveltour-overlay-menu-content');
317		this.menu_close = this.menu_content.children('.traveltour-overlay-menu-close');
318
319		this.init();
320	}
321	traveltour_overlay_menu.prototype = {
322		
323		init: function(){
324
325			var t = this;
326
327			// add transition delay for each menu
328			var delay_count = 0;
329			t.menu_content.appendTo('body');
330			t.menu_content.find('ul.menu > li').each(function(){
331				$(this).css('transition-delay', (delay_count * 150) + 'ms');
332
333				delay_count++;
334			});
335
336			// bind the menu button
337			t.menu_button.click(function(){
338				$(this).addClass('traveltour-active');
339
340				t.menu_content.fadeIn(200, function(){
341					$(this).addClass('traveltour-active');
342				});
343
344				return false;
345			});
346
347			// bind the menu close button
348			t.menu_close.click(function(){
349				t.menu_button.removeClass('traveltour-active');
350
351				t.menu_content.fadeOut(400, function(){
352					$(this).removeClass('traveltour-active');
353				});
354				t.menu_content.find('.sub-menu').slideUp(200).removeClass('traveltour-active');
355
356				return false;
357			});
358
359			// menu item click
360			t.menu_content.find('a').click(function(e){ 
361				var sub_menu = $(this).siblings('.sub-menu');
362				if( sub_menu.length > 0 ){
363					if( !sub_menu.hasClass('traveltour-active') ){
364						var prev_active = sub_menu.closest('li').siblings().find('.sub-menu.traveltour-active');
365						if( prev_active.length > 0 ){
366							prev_active.removeClass('traveltour-active').slideUp(150);
367							sub_menu.delay(150).slideDown(400, 'easeOutQuart').addClass('traveltour-active');
368						}else{
369							sub_menu.slideDown(400, 'easeOutQuart').addClass('traveltour-active');
370						}
371
372						$(this).addClass('traveltour-no-preload');
373						return false;
374					}else{
375						$(this).removeClass('traveltour-no-preload');
376					}
377				}else{
378					t.menu_close.trigger('click');
379				}
380			});
381
382		}
383
384	}; // traveltour_overlay_menu.prototype
385
386	/////////////////////////
387	// header side navigation
388	/////////////////////////
389	var traveltour_header_side_nav = function( side_nav ){
390
391		if( side_nav.length == 0 ) return;
392
393		this.prev_scroll = 0;
394
395		this.side_nav = side_nav;
396		this.side_nav_content = side_nav.children();
397
398		this.init();
399
400	} // traveltour_header_side_nav
401
402	traveltour_header_side_nav.prototype = {
403
404		init: function(){
405
406			var t = this;
407
408			t.init_nav_bar_element();
409
410			$(window).resize(function(){ 
411				t.init_nav_bar_element();
412			});
413			
414			$(window).scroll(function(){
415
416				if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ) return;
417
418				// if content longer than screen height
419				if( t.side_nav.hasClass('traveltour-allow-slide') ){
420
421					var admin_bar_height = parseInt($('html').css('margin-top'));
422					var scroll_down = ($(window).scrollTop() > t.prev_scroll);
423					t.prev_scroll = $(window).scrollTop();
424
425					// if scroll down
426					if( scroll_down ){
427
428						if( !t.side_nav.hasClass('traveltour-fix-bottom') ){
429							if( t.side_nav.hasClass('traveltour-fix-top') ){
430								t.side_nav.css('top', t.side_nav.offset().top);
431								t.side_nav.removeClass('traveltour-fix-top');
432
433							}else if( $(window).height() + $(window).scrollTop() > t.side_nav_content.offset().top + t.side_nav_content.outerHeight() ){ 
434								if( !t.side_nav.hasClass('traveltour-fix-bottom') ){
435									t.side_nav.addClass('traveltour-fix-bottom');
436									t.side_nav.css('top', '');
437								}
438							}
439						}
440
441					// if scroll up
442					}else{
443
444						if( !t.side_nav.hasClass('traveltour-fix-top') ){
445							if( t.side_nav.hasClass('traveltour-fix-bottom') ){
446								var top_pos = $(window).scrollTop() + ($(window).height() - admin_bar_height) - t.side_nav_content.outerHeight();
447								t.side_nav.css('top', top_pos);
448								t.side_nav.removeClass('traveltour-fix-bottom');
449
450							}else if( $(window).scrollTop() + admin_bar_height < t.side_nav_content.offset().top ){ 
451								if( !t.side_nav.hasClass('traveltour-fix-top') ){
452									t.side_nav.addClass('traveltour-fix-top');
453									t.side_nav.css('top', '');
454								}
455							}
456						}
457					
458					}
459
460				}
461			});
462
463		},
464
465		init_nav_bar_element: function(){
466
467			if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ) return;
468
469			var t = this;
470			var middle_pos = t.side_nav_content.children('.traveltour-pos-middle').addClass('traveltour-active');
471			var bottom_pos = t.side_nav_content.children('.traveltour-pos-bottom').addClass('traveltour-active');
472
473			// remove all additional space
474			t.side_nav_content.children('.traveltour-pre-spaces').remove();
475
476			// add class depends on the screen size/content
477			if( $(window).height() < t.side_nav_content.height() ){
478				t.side_nav.addClass('traveltour-allow-slide');
479			}else{
480				t.side_nav.removeClass('traveltour-allow-slide traveltour-fix-top traveltour-fix-bottom').css('top', '');
481
482				// set the middle position
483				if( t.side_nav.hasClass('traveltour-style-middle') ){
484					middle_pos.each(function(){
485						var top_padding = parseInt($(this).css('padding-top'));
486						var prespace = ((t.side_nav.height() - (t.side_nav_content.height() - top_padding)) / 2) - top_padding;
487
488						if( prespace > 0 ){
489							$('<div class="traveltour-pre-spaces" ></div>').css('height', prespace).insertBefore($(this));
490						}
491					});
492				}
493
494				// set the bottom position
495				bottom_pos.each(function(){
496					var prespace = t.side_nav.height() - t.side_nav_content.height();
497
498					if( prespace > 0 ){
499						$('<div class="traveltour-pre-spaces" ></div>').css('height', prespace).insertBefore($(this));
500					}
501				});
502
503			}
504		}
505
506	}; // traveltour_sf_menu.prototype
507
508	/////////////////////////
509	// anchoring
510	/////////////////////////	
511
512	var traveltour_anchor = function(){
513
514		this.anchor_link = $('a[href^="#"]').not('[href="#"]').filter(function(){
515
516			// for mm-menu plugin
517			if( $(this).is('.traveltour-mm-menu-button, .mm-next, .mm-prev, .mm-title, .gdlr-core-ilightbox') ){
518				return false;
519			}
520
521			// for additional plugins
522			if( $(this).is('.fbx-btn-transition') ){
523				return false;
524			}
525
526			// for woocommerce
527			if( !$(this).hasClass('traveltour-footer-back-to-top-button') ){
528				if( $(this).parent('.description_tab, .reviews_tab').length || $(this).closest('.woocommerce').length ){
529					return false;
530				}
531			}
532			
533
534			return true;
535		});
536
537		if( this.anchor_link.length ){
538			this.menu_anchor = $('#traveltour-main-menu, #traveltour-bullet-anchor, #tourmaster-content-navigation-item-outer');
539			this.home_anchor = this.menu_anchor.find('ul.sf-menu > li.current-menu-item > a, ul.sf-menu > li.current-menu-ancestor > a, .traveltour-bullet-anchor-link.current-menu-item, .tourmaster-content-navigation-tab.tourmaster-active');
540			
541			this.init();
542		}
543	}
544	traveltour_anchor.prototype = {
545
546		init: function(){
547
548			var t = this;
549
550			t.animate_anchor();
551			t.scroll_section();
552
553			// init bullet anchor height
554			t.menu_anchor.filter('#traveltour-bullet-anchor').each(function(){
555				$(this).css('margin-top', - t.menu_anchor.height() / 2).addClass('traveltour-init');
556			});
557
558			// initialize if the page hash exists
559			// wait for all element to initialize ( eg. flexslider )
560			var url_hash = window.location.hash;
561			if( url_hash ){
562				setTimeout(function(){
563
564					var current_menu = t.menu_anchor.find('a[href*="' + url_hash + '"]');
565					if( !current_menu.is('.current-menu-item, .current-menu-ancestor') ){
566						current_menu.addClass('current-menu-item').siblings().removeClass('current-menu-item current-menu-ancestor');
567
568						$(window).trigger('traveltour-navigation-slider-bar-init');
569					}
570
571					t.scroll_to(url_hash, false, 300);
572				}, 500);
573			}
574	
575		},
576
577		animate_anchor: function(){
578
579			var t = this;
580
581			// home anchor
582			t.home_anchor.click(function(){
583
584				if( window.location.href == this.href ){
585					$('html, body').animate({ scrollTop: 0 }, { duration: 1500, easing: 'easeOutQuart' });
586					return false;
587				}
588				
589			});
590
591			// normal anchor
592			t.anchor_link.click(function() {
593				if( location.hostname == this.hostname && location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') ){
594					return t.scroll_to(this.hash, true);
595				}
596			});
597
598		}, // animate anchor
599
600		scroll_to: function( hash, redirect, duration ){
601
602			// start scrolling
603			if( hash == '#traveltour-top-anchor' ){
604				var scroll_position = 0;
605			}else{
606				
607				var target = $(hash);
608
609				if( target.length ){
610					var scroll_position = target.offset().top;
611				}
612			}
613
614			if( typeof(scroll_position) != 'undefined' ){
615
616				// offset for wordpress admin bar
617				scroll_position = scroll_position - parseInt($('html').css('margin-top'));
618
619				// offset for fixed nav bar
620				if( typeof(window.traveltour_anchor_offset) != 'undefined' ){
621					scroll_position = scroll_position - parseInt(window.traveltour_anchor_offset);
622				}
623
624				if( scroll_position < 0 ) scroll_position = 0;
625
626				$('html, body').animate({ scrollTop: scroll_position }, { duration: 1500, easing: 'easeOutQuart', queue: false });
627
628				return false;
629
630			}else if( redirect ){
631
632				if( hash != '#tourmaster-single-review' ){
633					window.location.href = traveltour_script_core.home_url + hash;
634				}
635
636				return false;
637			}
638
639		}, // scroll to
640
641		scroll_section: function(){
642
643			var t = this;
644
645			// have anchor in anchor menu
646			var menu_link_anchor = this.menu_anchor.find('a[href*="#"]').not('[href="#"]');
647			if( !menu_link_anchor.length ){ return; }
648
649			// get anchor section
650			var home_anchor_section = $('#traveltour-page-wrapper');
651			var anchor_section = home_anchor_section.find('[id]');
652			
653			if( !anchor_section.length ){ return; }
654
655			// add data for faster query
656			menu_link_anchor.each(function(){
657				if( $(this.hash).length ){
658					$(this).attr('data-anchor', this.hash);
659				}
660			});
661
662			// check section on scroll event
663			$(window).scroll(function(){
664
665				if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' ) return;
666				
667				if( t.home_anchor.length && $(window).scrollTop() < home_anchor_section.offset().top ){
668
669					t.home_anchor.each(function(){
670						if( $(this).hasClass('tourmaster-content-navigation-tab') ){
671							$(this).addClass('tourmaster-active').siblings().removeClass('tourmaster-active tourmaster-slidebar-active');
672						}else if( $(this).hasClass('traveltour-bullet-anchor-link') ){
673							$(this).addClass('current-menu-item').siblings().removeClass('current-menu-item');
674							$(this).parent('.traveltour-bullet-anchor').attr('data-anchor-section', 'traveltour-home');
675						}else if( !$(this).parent('.current-menu-item, .current-menu-ancestor').length ){
676							$(this).parent().addClass('current-menu-item').siblings().removeClass('current-menu-item current-menu-ancestor');
677							$(window).trigger('traveltour-navigation-slider-bar-init');
678						}			
679					});
680
681				}else{
682					var section_position = $(window).scrollTop() + ($(window).height() * 0.3);
683
684					anchor_section.each(function(){
685						if( $(this).css('display') == 'none' || $(this).closest('.tourmaster-tour-booking-bar-wrap').length || $(this).is('#tourmaster-page-wrapper') ) return;
686
687						var top_offset_pos = $(this).offset().top;
688
689						if( (section_position > top_offset_pos) && (section_position <  top_offset_pos + $(this).outerHeight()) ){
690							var section_id = $(this).attr('id');
691							
692							menu_link_anchor.filter('[data-anchor="#' +  section_id + '"]').each(function(){
693								if( $(this).hasClass('tourmaster-content-navigation-tab') ){
694									$(this).addClass('tourmaster-active').siblings().removeClass('tourmaster-active tourmaster-slidebar-active');
695									$(this).closest('#tourmaster-content-navigation-item-outer').trigger('tourmaster-change');
696								}else if( $(this).hasClass('traveltour-bullet-anchor-link') ){
697									$(this).addClass('current-menu-item').siblings().removeClass('current-menu-item');
698									$(this).parent('.traveltour-bullet-anchor').attr('data-anchor-section', section_id);
699								}else if( $(this).parent('li.menu-item').length && !$(this).parent('li.menu-item').is('.current-menu-item, .current-menu-ancestor') ){
700									$(this).parent('li.menu-item').addClass('current-menu-item').siblings().removeClass('current-menu-item current-menu-ancestor');
701									$(window).trigger('traveltour-navigation-slider-bar-init');
702								}
703							});
704							
705							return false;
706						}
707
708					});
709				}
710
711			});
712
713		} // scroll section
714
715	};
716
717	var traveltour_sticky_navigation = function(){
718
719		this.sticky_nav = $('.traveltour-with-sticky-navigation .traveltour-sticky-navigation');
720		this.sticky_nav_logo = this.sticky_nav.find('.traveltour-logo-inner img');
721		this.logo_height = 35;
722		
723		if( this.sticky_nav.length ){
724			this.mobile_menu = $('#traveltour-mobile-header');
725
726			this.init();
727		}
728
729	}
730	traveltour_sticky_navigation.prototype = {
731		
732		init: function(){
733
734			var t = this;
735
736			if( t.sticky_nav.hasClass('traveltour-style-fixed') ){
737				t.style_fixed();
738			}else if( t.sticky_nav.hasClass('traveltour-style-slide') ){
739				t.style_slide();
740			}
741			t.style_mobile_slide();
742
743			if( t.sticky_nav.hasClass('traveltour-sticky-navigation-height') ){
744				window.traveltour_anchor_offset = t.sticky_nav.outerHeight();
745				$(window).resize(function(){
746					window.traveltour_anchor_offset = t.sticky_nav.outerHeight();
747				});
748			}else{
749				window.traveltour_anchor_offset = 75;
750			}
751
752			$(window).trigger('traveltour-set-sticky-navigation'); 
753			$(window).trigger('traveltour-set-sticky-mobile-navigation'); 
754		},
755
756		style_fixed: function(){
757
758			var t = this;
759			var placeholder = $('<div class="traveltour-sticky-menu-placeholder" ></div>');
760
761			$(window).on('scroll traveltour-set-sticky-navigation', function(){
762
763				if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ) return;
764
765				var page_offset = parseInt($('html').css('margin-top'));
766
767				if( !t.sticky_nav.hasClass('traveltour-fixed-navigation') ){
768
769					if( $(window).scrollTop() + page_offset > t.sticky_nav.offset().top ){
770						if( !t.sticky_nav.hasClass('traveltour-without-placeholder') ){
771							placeholder.height(t.sticky_nav.outerHeight());
772						}
773						placeholder.insertAfter(t.sticky_nav);
774						$('body').append(t.sticky_nav);
775						t.sticky_nav.addClass('traveltour-fixed-navigation');
776
777						var logo_padding = (t.logo_height - t.sticky_nav_logo.height()) / 2;
778						if( logo_padding > 0 ){
779							t.sticky_nav_logo.css({'padding-top': logo_padding, 'padding-bottom': logo_padding});
780						}else{
781							t.sticky_nav_logo.css({'height': t.sticky_nav_logo.height(), 'width': 'auto'}); // set for css animation
782							t.sticky_nav.addClass('traveltour-animate-logo-height');
783						}
784						
785						setTimeout(function(){ t.sticky_nav.addClass('traveltour-animate-fixed-navigation'); }, 10);	
786						setTimeout(function(){ 
787							t.sticky_nav.css('height', ''); 
788							$(window).trigger('traveltour-navigation-slider-bar-animate');
789						}, 200);
790					}
791				}else{
792
793					if( $(window).scrollTop() + page_offset <= placeholder.offset().top ){
794						if( !t.sticky_nav.hasClass('traveltour-without-placeholder') ){
795							t.sticky_nav.height(placeholder.height());
796						}
797						t.sticky_nav.insertBefore(placeholder);
798						t.sticky_nav.removeClass('traveltour-fixed-navigation');
799						placeholder.remove();
800
801						t.sticky_nav_logo.css({'padding-top': '', 'padding-bottom': ''});
802						setTimeout(function(){ t.sticky_nav.removeClass('traveltour-animate-fixed-navigation traveltour-animate-logo-height'); }, 10);	
803						setTimeout(function(){ 
804							t.sticky_nav.css('height', ''); 
805							t.sticky_nav_logo.css({'height': '', 'width': ''});
806							$(window).trigger('traveltour-navigation-slider-bar-animate');
807						}, 200);
808					}
809				}
810			});
811
812		}, // style_fixed
813
814		style_slide: function(){
815
816			var t = this;
817			var placeholder = $('<div class="traveltour-sticky-menu-placeholder" ></div>');
818
819			$(window).on('scroll traveltour-set-sticky-navigation', function(){
820
821				if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ){ return; }
822
823				var page_offset = parseInt($('html').css('margin-top'));
824
825				if( !t.sticky_nav.hasClass('traveltour-fixed-navigation') ){
826
827					if( $(window).scrollTop() + page_offset > t.sticky_nav.offset().top + t.sticky_nav.outerHeight() + 200 ){
828						
829						var logo_padding = (t.logo_height - t.sticky_nav_logo.height()) / 2;
830
831						if( !t.sticky_nav.hasClass('traveltour-without-placeholder') ){
832							placeholder.height(t.sticky_nav.outerHeight());
833						}
834						placeholder.insertAfter(t.sticky_nav);
835						t.sticky_nav.css('display', 'none');
836
837						if( logo_padding > 0 ){
838							t.sticky_nav_logo.css({'padding-top': logo_padding, 'padding-bottom': logo_padding});
839						}
840						
841						$('body').append(t.sticky_nav);
842						t.sticky_nav.addClass('traveltour-fixed-navigation traveltour-animate-fixed-navigation');
843						t.sticky_nav.slideDown(200);
844						$(window).trigger('traveltour-navigation-slider-bar-animate');
845					}
846				}else{
847
848					if( $(window).scrollTop() + page_offset <= placeholder.offset().top + placeholder.height() + 200 ){
849						var clone = t.sticky_nav.clone();
850						clone.insertAfter(t.sticky_nav);
851						clone.slideUp(200, function(){ $(this).remove(); });
852
853						t.sticky_nav.insertBefore(placeholder);
854						t.sticky_nav_logo.css({'padding-top': '', 'padding-bottom': ''});
855						placeholder.remove();
856						t.sticky_nav.removeClass('traveltour-fixed-navigation traveltour-animate-fixed-navigation');
857						t.sticky_nav.css('display', 'block');
858
859						$(window).trigger('traveltour-navigation-slider-bar-animate');
860					}
861				}
862			});
863
864		}, // style_slide		
865
866		style_mobile_slide: function(){
867
868			var t = this;
869			var placeholder = $('<div class="traveltour-sticky-mobile-placeholder" ></div>');
870
871			$(window).on('scroll traveltour-set-sticky-mobile-navigation', function(){
872
873				if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' || traveltour_display == 'tablet' ){
874
875					var page_offset = parseInt($('html').css('margin-top'));
876
877					if( !t.mobile_menu.hasClass('traveltour-fixed-navigation') ){
878						if( $(window).scrollTop() + page_offset > t.mobile_menu.offset().top + t.mobile_menu.outerHeight() + 200 ){
879							placeholder.height(t.mobile_menu.outerHeight()).insertAfter(t.mobile_menu);
880							$('body').append(t.mobile_menu);
881							t.mobile_menu.addClass('traveltour-fixed-navigation');
882							t.mobile_menu.css('display', 'none').slideDown(200);
883						}
884					}else{
885						if( $(window).scrollTop() + page_offset <= placeholder.offset().top + placeholder.height() + 200 ){
886							var clone = t.mobile_menu.clone();
887							clone.insertAfter(t.mobile_menu);
888							clone.slideUp(200, function(){ $(this).remove(); });
889
890							t.mobile_menu.insertBefore(placeholder);
891							placeholder.remove();
892							t.mobile_menu.removeClass('traveltour-fixed-navigation');
893							t.mobile_menu.css('display', 'block');
894						}
895					}
896				}
897
898			});
899
900		}, // style_slide
901
902	};
903
904	var traveltour_font_resize = function(){
905
906		this.heading_font = $('h1, h2, h3, h4, h5, h6');
907
908		this.init();
909
910	}
911	traveltour_font_resize.prototype = {
912
913		init: function(){
914
915			var t = this;
916
917			t.resize();
918			$(window).on('resize', traveltour_throttling(function(){
919				t.resize();
920			}, 100));
921
922		},
923
924		resize: function(){
925			
926			var t = this;
927
928			if( traveltour_display == 'mobile-landscape' || traveltour_display == 'mobile-portrait' ){
929
930				t.heading_font.each(function(){
931					if( parseInt($(this).css('font-size')) > 40 ){
932						if( !$(this).attr('data-orig-font') ){
933							$(this).attr('data-orig-font', $(this).css('font-size')); 
934						}
935
936						$(this).css('font-size', '40px');
937					}
938				});
939
940			// return font to normal
941			}else{
942
943				t.heading_font.filter('[data-orig-font]').each(function(){
944					$(this).css('font-size', $(this).attr('data-orig-font'));
945				});
946
947			}
948		}
949
950	};
951
952
953	////////////////////////////////
954	// starting running the script
955	////////////////////////////////
956	$(document).ready(function(){
957	
958		// resize font on mobile
959		new traveltour_font_resize();
960
961		// init main navigation menu
962		$('#traveltour-main-menu, #traveltour-right-menu, #traveltour-mobile-menu').each(function(){
963			if( $(this).hasClass('traveltour-overlay-menu') ){
964				new traveltour_overlay_menu( $(this) );
965			}else if( $(this).hasClass('traveltour-mm-menu-wrap') ){
966				$(this).traveltour_mobile_menu();
967			}else{
968				new traveltour_sf_menu( $(this) );
969			}
970		});
971
972		$('#traveltour-top-search, #traveltour-mobile-top-search').each(function(){
973
974			var search_wrap = $(this).siblings('.traveltour-top-search-wrap');
975			search_wrap.appendTo('body');
976
977			// bind click button
978			$(this).click(function(){
979				search_wrap.fadeIn(200, function(){
980					$(this).addClass('traveltour-active');
981				});
982			});
983
984			// bind close button
985			search_wrap.find('.traveltour-top-search-close').click(function(){
986				search_wrap.fadeOut(200, function(){
987					$(this).addClass('traveltour-active');
988				});
989			});
990
991			// bind search button
992			search_wrap.find('.search-submit').click(function(){
993				if( search_wrap.find('.search-field').val().length == 0 ){
994					return false;
995				}
996			});
997		});
998
999		$('#traveltour-main-menu-cart, #traveltour-mobile-menu-cart').each(function(){
1000			
1001			$(this).hover(function(){
1002				$(this).addClass('traveltour-active traveltour-animating');
1003			}, function(){
1004				var menu_cart = $(this);
1005				menu_cart.removeClass('traveltour-active');
1006				setTimeout(function(){
1007					menu_cart.removeClass('traveltour-animating');
1008				}, 400)
1009			});
1010		});
1011
1012		// wpml
1013		$('#traveltour-dropdown-wpml-flag').hover(function(){
1014			$(this).children('.traveltour-dropdown-wpml-list').fadeIn(200);
1015		}, function(){
1016			$(this).children('.traveltour-dropdown-wpml-list').fadeOut(200);
1017		});
1018
1019		// additional space for header transparent
1020		$('.traveltour-header-boxed-wrap, .traveltour-header-background-transparent, .traveltour-navigation-bar-wrap.traveltour-style-transparent').each(function(){
1021			var header_transparent = $(this);
1022			var header_transparent_sub = $('.traveltour-header-transparent-substitute');
1023
1024			header_transparent_sub.height(header_transparent.outerHeight());
1025			$(window).on('load resize', function(){
1026				header_transparent_sub.height(header_transparent.outerHeight());
1027			});
1028		});
1029
1030		// full screen for 404 not found
1031		$('body.error404, body.search-no-results').each(function(){
1032
1033			var wrap = $(this).find('#traveltour-full-no-header-wrap');
1034			var body_wrap_offset = parseInt($(this).children('.traveltour-body-outer-wrapper').children('.traveltour-body-wrapper').css('margin-bottom'));
1035			
1036			var padding = ($(window).height() - wrap.offset().top - wrap.outerHeight() - body_wrap_offset) / 2;
1037			if( padding > 0 ){
1038				wrap.css({ 'padding-top': padding, 'padding-bottom': padding });
1039			}
1040
1041			$(window).on('load resize', function(){
1042				wrap.css({ 'padding-top': 0, 'padding-bottom': 0 });
1043				padding = ($(window).height() - wrap.offset().top - wrap.outerHeight() - body_wrap_offset) / 2;
1044				if( padding > 0 ){
1045					wrap.css({ 'padding-top': padding, 'padding-bottom': padding });
1046				}
1047			});
1048		});
1049
1050		// back to top button
1051		var back_to_top = $('#traveltour-footer-back-to-top-button');
1052		if( back_to_top.length ){ 
1053			$(window).on('scroll', function(){
1054				if( $(window).scrollTop() > 300 ){
1055					back_to_top.addClass('traveltour-scrolled');
1056				}else{
1057					back_to_top.removeClass('traveltour-scrolled');
1058				}
1059			});
1060		}
1061
1062		// page preload
1063		$('body').children('#traveltour-page-preload').each(function(){
1064			var page_preload = $(this);
1065			var animation_time = parseInt(page_preload.attr('data-animation-time'));
1066			
1067			$('a[href]').not('[href^="#"], [target="_blank"], .gdlr-core-js, .strip, .add_to_cart_button, .sf-with-ul, .comment-reply-link').click(function(e){
1068				if( e.which != 1 || $(this).hasClass('traveltour-no-preload') ) return;
1069				if( $(this).closest('.woocommerce-cart-form').length ) return;
1070				
1071				if( window.location.href != this.href ){
1072					page_preload.addClass('traveltour-out').fadeIn(animation_time);
1073				}
1074			});
1075			
1076			$(window).on('load', function(){
1077				page_preload.fadeOut(animation_time);
1078			});
1079		});
1080		
1081	});
1082
1083	// fix back button for preload
1084	$(window).bind('pageshow', function(event) {
1085        $('body').children('#traveltour-page-preload').each(function(){
1086			$(this).fadeOut(400);
1087		});
1088	});
1089	// $(window).on('beforeunload', function(){
1090	// 	$('body').children('#traveltour-page-preload').each(function(){
1091	// 		$(this).fadeOut(400);
1092	// 	});
1093	// });
1094
1095	$(window).load(function(){
1096
1097		// fixed footer
1098		$('#traveltour-fixed-footer').each(function(){
1099			var fixed_footer = $(this);
1100			var placeholder = $('<div class="traveltour-fixed-footer-placeholder" ></div>');
1101
1102			placeholder.insertBefore(fixed_footer);
1103			placeholder.height(fixed_footer.outerHeight());
1104			$(window).resize(function(){ placeholder.height(fixed_footer.outerHeight()); });
1105		});
1106
1107		// side navigation bar
1108		new traveltour_header_side_nav( $('#traveltour-header-side-nav') );
1109
1110		// sticky navigation
1111		if( !$('body').hasClass('single-tour') && !$('body').hasClass('tourmaster-template-payment') ){
1112			new traveltour_sticky_navigation();
1113		}
1114
1115		// anchoring
1116		new traveltour_anchor();
1117
1118	});
1119
1120})(jQuery);
1121
1122/***********/
1123/* Plugins */
1124/***********/
1125
1126/*
1127 * jQuery mmenu v5.6.1
1128 */
1129!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e("html"),$body:e("body")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(" ");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return"mm-"+e},i.add("wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen"),i.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return"mm-"+e},a.add("parent sub"),o.mm=function(e){return e+".mm"},o.add("transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n="mmenu",s="5.6.1";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=["bind","init","update","setSelected","getInstance","openPanel","closePanel","closeAllPanels"],this.opts=t,this.conf=n,this.vars={},this.cbck={},"function"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),"function"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:"Menu",titleLink:"panel"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:"Divider",inset:"Inset",panel:"Panel",selected:"Selected",spacer:"Spacer",vertical:"Vertical"},clone:!1,openingInterval:25,panelNodetype:"ul, ol, div",transitionDuration:400},e[n].prototype={init:function(e){e=e.not("."+i.nopanel),e=this._initPanels(e),this.trigger("init",e),this.trigger("update")},update:function(){this.trigger("update")},setSelected:function(e){this.$menu.find("."+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger("setSelected",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents("."+i.subopened);
1129if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger("openPanel",t),this.trigger("openingPanel",t),this.trigger("openedPanel",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children("."+i.panel),l=r.filter("."+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not("."+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll("."+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger("openPanel",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger("openingPanel",t),a.__transitionend(t,function(){a.trigger("openedPanel",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger("closePanel",e),this.trigger("closingPanel",e),this.trigger("closedPanel",e))},closeAllPanels:function(){this.$menu.find("."+i.listview).children().removeClass(i.selected).filter("."+i.vertical).removeClass(i.opened);var e=this.$pnls.children("."+i.panel),t=e.first();this.$pnls.children("."+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?"closePanel":"openPanel"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr("id",this.$menu.attr("id")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find("[id]")).filter("[id]").each(function(){e(this).attr("id",i.mm(e(this).attr("id")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class="'+i.panels+'" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?"mm-"+this.opts.extensions.join(" mm-"):"",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(" "))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,"ul, ol");this.__refactorClass(s,this.conf.classNames.inset,"inset").addClass(i.nolistview+" "+i.nopanel),s.not("."+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,"."+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,"selected"),this.__refactorClass(o,this.conf.classNames.divider,"divider"),this.__refactorClass(o,this.conf.classNames.spacer,"spacer"),this.__refactorClass(this.__findAddBack(t,"."+this.conf.classNames.panel),this.conf.classNames.panel,"panel");var r=e(),l=t.add(t.find("."+i.panel)).add(this.__findAddBack(t,"."+i.listview).children().children(this.conf.panelNodetype)).not("."+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,"vertical"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is("ul, ol")?(t.wrap('<div class="'+i.panel+'" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr("id");t.removeAttr("id"),s.attr("id",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e("."+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children("a, span").first();if(l.is("."+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children("."+i.next).length||l.parent().is("."+i.listview)&&(s=r.attr("id"),o=e('<a class="'+i.next+'" href="#'+s+'" data-target="#'+s+'" />').insertBefore(d),d.is("span")&&o.addClass(i.fullsubopen)),!r.children("."+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is("."+i.listview)?l=l.closest("."+i.panel):(d=l.closest("."+i.panel).find('a[href="#'+r.attr("id")+'"]').first(),l=d.closest("."+i.panel));var c=e('<div class="'+i.navbar+'" />');if(l.length){switch(s=l.attr("id"),n.opts.navbar.titleLink){case"anchor":_url=d.attr("href");break;case"panel":case"parent":_url="#"+s;break;default:_url=!1}c.append('<a class="'+i.btn+" "+i.prev+'" href="#'+s+'" data-target="#'+s+'" />').append(e('<a class="'+i.title+'"'+(_url?' href="'+_url+'"':"")+" />").text(d.text())).prependTo(r),n.opts.navbar.add&&r.addClass(i.hasnavbar)}else n.opts.navbar.title&&(c.append('<a class="'+i.title+'">'+n.opts.navbar.title+"</a>").prependTo(r),n.opts.navbar.add&&r.addClass(i.hasnavbar))}});var c=this.__findAddBack(t,"."+i.listview).children("."+i.selected).removeClass(i.selected).last(
1129).addClass(i.selected);c.add(c.parentsUntil("."+i.menu,"li")).filter("."+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil("."+i.menu,"."+i.panel).not("."+i.vertical).first().addClass(i.opened).parentsUntil("."+i.menu,"."+i.panel).not("."+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children("."+i.panel).not("."+i.vertical).addClass(i.opened).parentsUntil("."+i.menu,"."+i.panel).not("."+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter("."+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not("."+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+"-oncanvas","a[href]",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr("href");if(!o&&r&&d.length>1&&"#"==d.slice(0,1))try{var c=e(d,t.$menu);c.is("."+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?"togglePanel":"openPanel"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is("."+i.listview+" > li > a")&&!a.is('[rel="external"]')&&!a.is('[target="_blank"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,"#"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr("id");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return"undefined"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return"function"==typeof e?e.call(t[0]):"undefined"==typeof e&&"undefined"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter("."+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not("."+i.divider).not("."+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:"ontouchstart"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if("undefined"!=typeof Modernizr&&"undefined"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n="transition";if("string"==typeof t[n])return!0;var s=["Moz","webkit","Webkit","Khtml","O","ms"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if("string"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*	
1130 * jQuery mmenu offCanvas addon
1131 * mmenu.frebsite.nl
1132 *
1133 * Copyright (c) Fred Heusschen
1134 */
1135function(e){var t="mmenu",n="offCanvas";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,["open","close","setPage"]),("top"==i.position||"bottom"==i.position)&&(i.zposition="front"),"string"!=typeof a.pageSelector&&(a.pageSelector="> "+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];"left"!=i.position&&r.push(s.mm(i.position)),"back"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(" ")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this["_initWindow_"+n](),this.$menu[a.menuInjectMethod+"To"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add("offcanvas slideout blocking modal background opening blocker page"),i.add("style"),a.add("resize")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href="#'+s+'"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr("id"),s&&e.is('[href="#'+s+'"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:"left",zposition:"back",blockUI:!0,moveBackgroun
1135d:!0},e[t].configuration[n]={pageNodetype:"div",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:"body",menuInjectMethod:"prepend"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger("open")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr("style")||"")}),o.$wndw.trigger(a.resize+"-"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),"modal"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),"left"!=r.position&&l.push(s.mm(this.opts[n].position)),"back"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(" ")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+" "+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger("opened")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger("opening")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr("style",e(this).data(i.style))}),t.vars.opened=!1,t.trigger("closed")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger("close"),this.trigger("closing")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(", "))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll("<"+this.conf[n].pageNodetype+" />").parent())),t.each(function(){e(this).attr("id",e(this).attr("id")||i.__getUniqueId())}),t.addClass(s.page+" "+s.slideout),o.$page=t,this.trigger("setPage",t)},e[t].prototype["_initWindow_"+n]=function(){o.$wndw.off(a.keydown+"-"+n).on(a.keydown+"-"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+"-"+n).on(a.resize+"-"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css("minHeight",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id="'+s.blocker+'" class="'+s.slideout+'" />')),o.$blck.appendTo(o.$body).off(a.touchstart+"-"+n+" "+a.touchmove+"-"+n).on(a.touchstart+"-"+n+" "+a.touchmove+"-"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+"-"+n)}).off(a.mousedown+"-"+n).on(a.mousedown+"-"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*	
1136 * jQuery mmenu scrollBugFix addon
1137 * mmenu.frebsite.nl
1138 *
1139 * Copyright (c) Fred Heusschen
1140 */
1141function(e){var t="mmenu",n="scrollBugFix";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.modal&&("boolean"==typeof r&&(r={fix:r}),"object"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr("id"),d=!1;this.bind("opening",function(){this.$pnls.children("."+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,"#"+l+"> ."+s.panels+"> ."+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,"#"+l+"> ."+s.panels+"> ."+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children("."+s.current).scrollTop(0).css({"-webkit-overflow-scrolling":"auto"}).css({"-webkit-overflow-scrolling":"touch"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);
1142/*
1143 * jQuery Superfish Menu Plugin
1144 * Copyright (c) 2013 Joel Birch
1145 *
1146 * Dual licensed under the MIT and GPL licenses:
1147 *	http://www.opensource.org/licenses/mit-license.php
1148 *	http://www.gnu.org/licenses/gpl.html
1149 */
1150!function(e,s){"use strict";var o=function(){var o={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",menuArrowClass:"sf-arrows"},t=function(){var s=/^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);return s&&e("html").css("cursor","pointer").on("click",e.noop),s}(),n=function(){var e=document.documentElement.style;return"behavior"in e&&"fill"in e&&/iemobile/i.test(navigator.userAgent)}(),i=function(){return!!s.PointerEvent}(),r=function(e,s){var t=o.menuClass;s.cssArrows&&(t+=" "+o.menuArrowClass),e.toggleClass(t)},a=function(s,t){return s.find("li."+t.pathClass).slice(0,t.pathLevels).addClass(t.hoverClass+" "+o.bcClass).filter(function(){return e(this).children(t.popUpSelector).hide().show().length}).removeClass(t.pathClass)},l=function(e){e.children("a").toggleClass(o.anchorClass)},h=function(e){var s=e.css("ms-touch-action"),o=e.css("touch-action");o=o||s,o="pan-y"===o?"auto":"pan-y",e.css({"ms-touch-action":o,"touch-action":o})},u=function(s,o){var r="li:has("+o.popUpSelector+")";e.fn.hoverIntent&&!o.disableHI?s.hoverIntent(c,f,r):s.on("mouseenter.superfish",r,c).on("mouseleave.
1150superfish",r,f);var a="MSPointerDown.superfish";i&&(a="pointerdown.superfish"),t||(a+=" touchend.superfish"),n&&(a+=" mousedown.superfish"),s.on("focusin.superfish","li",c).on("focusout.superfish","li",f).on(a,"a",o,p)},p=function(s){var o=e(this),t=m(o),n=o.siblings(s.data.popUpSelector);return t.onHandleTouch.call(n)===!1?this:void(n.length>0&&n.is(":hidden")&&(o.one("click.superfish",!1),"MSPointerDown"===s.type||"pointerdown"===s.type?o.trigger("focus"):e.proxy(c,o.parent("li"))()))},c=function(){var s=e(this),o=m(s);clearTimeout(o.sfTimer),s.siblings().superfish("hide").end().superfish("show")},f=function(){var s=e(this),o=m(s);t?e.proxy(d,s,o)():(clearTimeout(o.sfTimer),o.sfTimer=setTimeout(e.proxy(d,s,o),o.delay))},d=function(s){s.retainPath=e.inArray(this[0],s.$path)>-1,this.superfish("hide"),this.parents("."+s.hoverClass).length||(s.onIdle.call(v(this)),s.$path.length&&e.proxy(c,s.$path)())},v=function(e){return e.closest("."+o.menuClass)},m=function(e){return v(e).data("sf-options")};return{hide:function(s){if(this.length){var o=this,t=m(o);if(!t)return this;var n=t.retainPath===!0?t.$path:"",i=o.find("li."+t.hoverClass).add(this).not(n).removeClass(t.hoverClass).children(t.popUpSelector),r=t.speedOut;if(s&&(i.show(),r=0),t.retainPath=!1,t.onBeforeHide.call(i)===!1)return this;i.stop(!0,!0).animate(t.animationOut,r,"easeOutQuad",function(){var s=e(this);t.onHide.call(s)})}return this},show:function(){var e=m(this);if(!e)return this;var s=this.addClass(e.hoverClass),o=s.children(e.popUpSelector);return e.onBeforeShow.call(o)===!1?this:(o.stop(!0,!0).animate(e.animation,e.speed,"easeOutQuad",function(){e.onShow.call(o)}),this)},destroy:function(){return this.each(function(){var s,t=e(this),n=t.data("sf-options");return n?(s=t.find(n.popUpSelector).parent("li"),clearTimeout(n.sfTimer),r(t,n),l(s),h(t),t.off(".superfish").off(".hoverIntent"),s.children(n.popUpSelector).attr("style",function(e,s){return s.replace(/display[^;]+;?/g,"")}),n.$path.removeClass(n.hoverClass+" "+o.bcClass).addClass(n.pathClass),t.find("."+n.hoverClass).removeClass(n.hoverClass),n.onDestroy.call(t),void t.removeData("sf-options")):!1})},init:function(s){return this.each(function(){var t=e(this);if(t.data("sf-options"))return!1;var n=e.extend({},e.fn.superfish.defaults,s),i=t.find(n.popUpSelector).parent("li");n.$path=a(t,n),t.data("sf-options",n),r(t,n),l(i),h(t),u(t,n),i.not("."+o.bcClass).superfish("hide",!0),n.onInit.call(this)})}}}();e.fn.superfish=function(s,t){return o[s]?o[s].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof s&&s?e.error("Method "+s+" does not exist on jQuery.fn.superfish"):o.init.apply(this,arguments)},e.fn.superfish.defaults={popUpSelector:"ul,.sf-mega",hoverClass:"sfHover",pathClass:"overrideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},animationOut:{opacity:"hide"},speed:"normal",speedOut:"fast",cssArrows:!0,disableHI:!1,onInit:e.noop,onBeforeShow:e.noop,onShow:e.noop,onBeforeHide:e.noop,onHide:e.noop,onIdle:e.noop,onDestroy:e.noop,onHandleTouch:e.noop}}(jQuery,window);

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.