PageSourceSearch

https://fairhopeumc.org/_assets/js/monk/main.js

js fairhopeumc.org collected 2026-10-02 21:53:46 UTC 13,786 bytes, 413 lines download raw bytes

1/*============================================
2 * Mobile Detect
3 *=============================================
4*/
5
6function mobileDetect() {
7
8	var check = false;
9	(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
10	return check; 
11}
12
13/*============================================
14 * Touch Detect
15 *=============================================
16*/
17function touchDetect() { 
18  return (('ontouchstart' in window)
19	|| (navigator.MaxTouchPoints > 0)
20	|| (navigator.msMaxTouchPoints > 0));
21}
22
23/*
24 * Detect and return the current active responsive breakpoint in Bootstrap 4
25 *
26 * @returns {string} - matches $grid-breakpoints variables
27 * xs: Extra small (< 576px)
28 * sm: Small (576px ≥ X < 768px)
29 * md: Medium (768px ≥ X < 992px)
30 * lg: Large (992px ≥ X < 1200px)
31 * xl: Extra large (≥ 1200 px)
32 */
33function getBreakpoint() {
34    var envs = ["sm", "md", "lg", "xl"];
35    var env = "";
36
37    var $el = $("<div>");
38    $el.appendTo($("body"));
39    $el.addClass("d-block");
40    for (var i = envs.length - 1; i >= 0; i--) {
41        env = envs[i];
42        $el.addClass("d-" + env + "-none");
43        if ($el.is(":hidden")) {
44            $el.remove();
45            return env;
46        }
47    }
48    $el.remove();
49    return "xs";    //extra small
50}
51
52/*============================================
53 * Selectmenu
54 *=============================================
55*/
56function selectors(){
57	var changeSelectMenu = function(event, item) {
58		$(this).trigger('change', item);
59	};
60	selectmenu();
61	function selectmenu(){
62		$('.filters select.sorter, .event-right .sorter, .monkForm select, #select-nav-dropdown').selectmenu({
63			width: false,
64			style:'dropdown',
65			change: changeSelectMenu
66		});
67		$('#select-nav-dropdown').selectmenu('option', 'appendTo', '#stickysub');
68		$('.ui-selectmenu-button').append("<span class='fa fa-chevron-down'></span>");
69	}
70}
71
72
73/*============================================
74 * Global
75 *=============================================
76*/
77 function global(){  
78	
79	// Copyright 2014-2017 The Bootstrap Authors
80	// Copyright 2014-2017 Twitter, Inc.
81	// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
82	if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
83	  var msViewportStyle = document.createElement('style')
84	  msViewportStyle.appendChild(
85		document.createTextNode(
86		  '@-ms-viewport{width:auto!important}'
87		)
88	  )
89	  document.head.appendChild(msViewportStyle)
90	}
91
92	//responsive third party vids
93	$('#content, .content-section').fitVids({
94		ignore: '#video-player, .div-embed, .vimeoWrapper, .embed-responsive',
95		customSelector: "iframe[src*='/Clients/player/videoembed.php']"
96	});	
97  	
98			
99	//colorbox defaults
100	$('.thickbox').colorbox({ iframe: true, opacity: 0.85, width: 860,height: 650,maxWidth: "75%",maxHeight: "75%" }); 
101	$('.slideshow').colorbox({slideshow: true,photo: true,preloading: true,slideshowSpeed: 5000,slideshowAuto: false});
102	
103	//scroll top
104	$('#scrolltop').click(function(event){
105		event.preventDefault();
106		$('html, body').animate({scrollTop:0}, 'slow');
107	});
108	
109	//window resize
110	var resizeTimer = null;
111	$(window).on('resize', function() {
112		if (resizeTimer) clearTimeout(resizeTimer);
113		resizeTimer = setTimeout(siteReset, 150);
114	});
115	function siteReset() {
116		$('#cboxClose').click();
117	}
118
119	//Sticky 
120  	var stickyToggle = function(sticky, stickyWrapper, scrollElement) {
121		var stickyHeight = sticky.outerHeight();
122		if(sticky.attr('id')==='header'){
123			var stickyTop = stickyWrapper.offset().top+1;
124		}
125		else {
126			var stickyTop = stickyWrapper.offset().top;
127		}
128		if ( (scrollElement.scrollTop() >= stickyTop) && (getBreakpoint() === 'lg' || getBreakpoint() === 'xl') ){
129		  stickyWrapper.height(stickyHeight);
130		  sticky.addClass("is-sticky");
131		}
132		else{
133		  sticky.removeClass("is-sticky");
134		  stickyWrapper.height('auto');
135		}
136  	};
137  	$('[data-toggle="sticky-onscroll"]').each(function() {
138		var sticky = $(this);
139		var stickyWrapper = $('<div>').addClass('sticky-wrapper'); // insert hidden element to maintain actual top offset on page
140		sticky.before(stickyWrapper);
141		sticky.addClass('sticky');
142		
143		// Scroll & resize events
144		$(window).on('scroll.sticky-onscroll resize.sticky-onscroll', function() {
145		  stickyToggle(sticky, stickyWrapper, $(this));
146		});
147		
148		// On page load
149		stickyToggle(sticky, stickyWrapper, $(window));
150  	});
151  	
152 }
153	
154/*============================================
155 * Header
156 *=============================================
157*/
158 function header(){
159			
160	//desktop search
161	$('.desktopsearch-toggle').on('click', function(event) {
162		event.preventDefault();
163		$('.desktopsearch-toggle i').toggleClass('fa-times fa-search');
164		$('#header #searchForm').fadeToggle();
165	});
166	
167	//desktop third level arrow
168	$('#nav > li > ul > li > ul').parent().addClass('dropdown');
169	
170	//mobile nav
171	$('.mobilenav-toggle').on('click', function(event) {
172		event.preventDefault();
173		$('body').toggleClass('show-mobile');
174	});
175		
176	$('#mobilenav li a').each(function(){
177		if($(this).parent().children("ul").length){
178			$(this).parent().addClass('dropdown');
179			var mnhref = $(this).attr('href');
180			if(mnhref==''||mnhref=='#'){
181				$(this).addClass('open');
182			}else{
183				$(this).prepend('<span class="open"><i></i></span>');
184			}
185		}
186	});
187	
188	$('#mobilenav li.dropdown .open').on('click', function(event){
189		var current = $(this).closest('li').first();
190		current.toggleClass('active');
191		current.find('ul').first().slideToggle();
192		event.preventDefault();
193	});
194	
195	//mobile search
196	$('.mobilesearch-toggle').on('click', function(event) {
197		event.preventDefault();
198		$('#searchForm2').fadeToggle();
199	});
200	$('#search_go2').on('click', function(event){
201		event.preventDefault();
202		if ($('#search_term2').val().length < 1){
203			$('#searchForm2').fadeOut();
204		}else{
205			$('#searchForm2').submit();
206		}
207	});
208	
209 }
210 
211/*============================================
212 * Billboard
213 *=============================================
214*/
215 function billboard(){
216	
217	//rotator
218	$('.rotator .cycle-ss').each(function(){
219		var $slideshow = $(this);
220		var slidecount = $slideshow.find('.slide').length;
221		if(slidecount<2){
222			$('.rotator .cycle-pager').remove();
223			$('.rotator .pager').remove();
224		}
225		$slideshow.on({
226			'cycle-initialized': function(event, optionHash){
227				$('body').delay(1500).queue(function(next) {
228					$('body').addClass('js-rotator');
229				  	next();
230				});
231			},
232			'cycle-post-initialize': function(event, optionHash){
233			},
234			'cycle-before': function(event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag){
235				$('.rotator').removeClass('playing');
236			},
237			'cycle-after': function(event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag){
238				//$slideshow.cycle('resume');
239				if ($(outgoingSlideEl).hasClass('playing') ) {
240					$(outgoingSlideEl).find('.video').remove();
241					$(outgoingSlideEl).removeClass('playing');
242					//$slideshow.cycle('resume');
243				}
244			}
245		});
246		$slideshow.cycle();// Auto initialization
247	});
248	
249	// Video Slide 
250	$('.video-slide').click(function(event){
251		event.preventDefault();
252		var $this = $(this),
253			mediaTitle = $this.data('title'),
254			mediaType = $this.data('type'),
255			mediaSRC = $this.data('src'),
256			mediaImg = encodeURIComponent($this.data('image')),
257			mediaExt = '';
258			if(mediaType == 'file'){
259				var mediaExt = mediaSRC.substr((mediaSRC.lastIndexOf('.')+1)).toLowerCase();
260			}
261			$this.parents('.cycle-ss').cycle('pause');
262			$.ajax({
263				url : '/_components/ajax/ajax-rotator-media.php',
264				type: 'GET',
265				data: ({title: mediaTitle, type: mediaType, src: mediaSRC, image: mediaImg, ext: mediaExt}),
266				success:function(results) {
267					$this.parent('.slide').addClass('playing').prepend(results);
268				},
269				error: function(results, textStatus, jqXHR) {
270					//add error messages as needed console.log(jqXHR.responseText);
271				}
272			});	
273	});
274	
275 }	
276 
277/*============================================
278 * Widgets
279 *=============================================
280*/
281 function widgets(){
282	
283	//jqueryui
284	$('.tabs').tabs({
285		beforeActivate: function (event, ui) {
286			if( $(ui.newTab).find('a').attr('href').indexOf('#') != 0 ){
287				window.open($(ui.newTab).find('a').attr('href'), '_self');
288			}
289			else{
290				window.location.hash = ui.newPanel.attr('id');
291			}
292		}
293	});
294	$('.tabs-linklist').each(function(){
295		var tabsC = $(this).attr('id');
296		var tabsID = tabsC.split('-')[1];
297		$.ajax({
298			url : '/_components/ajax/ajax-tabs.php',
299			type: 'GET',
300			data: ({id: tabsID}),
301			success:function(results) {
302				$('#'+tabsC).html(results);
303				$('#'+tabsC).tabs({
304					beforeActivate: function (event, ui) {
305						//console.log(ui);
306						if( $(ui.newTab).find('a').attr('href').indexOf('#') != 0 ){
307							window.open($(ui.newTab).find('a').attr('href'), '_self');
308						}
309						else{
310							window.location.hash = ui.newPanel.attr('id');
311						}
312					}
313				});
314			},
315			error: function(results, textStatus, jqXHR) {
316				//add error messages as needed console.log(jqXHR.responseText);
317			}
318		});
319	});
320	$('.accordion').accordion(
321		{
322        	header: "> h5",
323			heightStyle: "content", 
324			active: false,
325  			collapsible: true
326      	}
327	);
328	
329	//gallery monklet 
330	$('.insert-gallery').each(function(){
331		var galleryID = $(this).attr('id');
332		$('#'+galleryID).lightGallery({
333			thumbnail:false,
334			animateThumb: true
335		});
336	});
337	
338	//carousel featured links
339	$('.widget.featured-links.carousel').each(function(){
340		var $flcCont = $(this);
341		var flcCount = $flcCont.find('article').length;
342		if(flcCount > 3 && !mobileDetect()){
343			makeFeatCarousel($flcCont);
344		}
345	});
346	function makeFeatCarousel($flcCont){
347		var $flcID = $flcCont.attr('id');
348		var $carID = $flcID +'-cycle2';
349		$flcCont.removeClass('row').addClass('has-carousel');
350		$flcCont.find('article').wrapAll('<div id="'+$carID+'" class="section-carousel">');
351		$flcCont.append('<span id="prev-'+$carID+'" class="carousel-prev"><i class="fa fa-angle-left"></i></span><span id="next-'+$carID+'" class="carousel-next"><i class="fa fa-angle-right"></i></span>');
352		$('#'+$carID).cycle({
353			fx:'carousel',
354			slides: '> article',
355			speed: 350,
356			swipe: true,
357			log: false,
358			timeout: 0,
359			carouselVisible:3,
360			autoHeight:'calc',
361			carouselFluid:true,
362			prev:'#prev-'+$carID+'',
363			next:'#next-'+$carID+'',
364			after: function() {
365			}
366		});
367	}
368	
369	
370 }
371
372
373/*============================================
374 * Responsive Tables
375 *=============================================
376*/
377function tableInit(){
378	function n(n){n.wrap("<div class='table-wrapper' />");var i=n.clone();i.find("td:not(:first-child), th:not(:first-child)").css("display","none"),i.removeClass("responsive-table"),n.closest(".table-wrapper").append(i),i.wrap("<div class='pinned' />"),n.wrap("<div class='scrollable' />"),e(n,i)}function i(n){n.closest(".table-wrapper").find(".pinned").remove(),n.unwrap(),n.unwrap()}function e(n,i){var e=n.find("tr"),t=i.find("tr"),a=[];e.each(function(n){var i=$(this),e=i.find("th, td");e.each(function(){var i=$(this).outerHeight(!0);a[n]=a[n]||0,i>a[n]&&(a[n]=i)})}),t.each(function(n){$(this).height(a[n])})}var t=!1,a=function(){return $(window).width()<767&&!t?(t=!0,$("table.responsive-table").each(function(i,e){n($(e))}),!0):void(t&&$(window).width()>767&&(t=!1,$("table.responsive-table").each(function(n,e){i($(e))})))};a(),$(window).on("redraw",function(){t=!1,a()}),$(window).on("resize",a)
379}
380
381
382/*============================================
383 * Initialize
384 *=============================================
385*/
386function initialize(){
387	
388	//Site defaults
389	global();
390	
391	//Header
392	header();
393	
394	//Billboard (includes looping video and rotator)
395	billboard();
396	
397	//Widgets/Monklets
398	widgets();
399	
400	//Zurb tables
401	tableInit();
402}
403
404$(document).ready(function ekk360Bootstrap() {
405	//Setup bulk
406	initialize();
407	
408	//Enable selectmenu
409	if ($('select.sorter, .monkForm select').length > 0) {
410		selectors();
411	}
412	
413});

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.