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.