1//Global Declarations 2var ie = (document.all) ? true : false; 3 4 5function toggleClass(objClass){ 6// This function will toggle obj visibility of an Element 7// based on Element's Class 8// Works with IE and Mozilla based browsers 9 10 11 if (getElementByClass(objClass).style.display=="none"){ 12 showClass(objClass) 13 }else{ 14 hideClass(objClass) 15 } 16} 17 18 19function hideClass(objClass){ 20// This function will hide Elements by object Class 21// Works with IE and Mozilla based browsers 22 23 24var elements = (ie) ? document.all : document.getElementsByTagName('*'); 25 for (i=0; i<elements.length; i++){ 26 if (elements[i].className==objClass){ 27 elements[i].style.display="none" 28 } 29 } 30} 31 32 33function showClass(objClass){ 34// This function will show Elements by object Class 35// Works with IE and Mozilla based browsers 36var elements = (ie) ? document.all : document.getElementsByTagName('*'); 37 for (i=0; i<elements.length; i++){ 38 if (elements[i].className==objClass){ 39 elements[i].style.display="block" 40 } 41 } 42} 43 44 45function toggle(objID){ 46// This function will toggle obj visibility of an Element 47// based on Element's ID 48// Works with IE and Mozilla based browsers 49var element = (ie) ? document.all(objID) : document.getElementById(objID); 50 if (element.style.display=="none"){ 51 showID(objID) 52 }else{ 53 hideID(objID) 54 } 55} 56 57 58function hide(objID){ 59// This function will hide Elements by object ID 60// Works with IE and Mozilla based browsers 61var element = (ie) ? document.all(objID) : document.getElementById(objID); 62 element.style.display="none" 63} 64 65 66function show(objID){ 67// This function will show Elements by object ID 68// Works with IE and Mozilla based browsers 69var element = (ie) ? document.all(objID) : document.getElementById(objID); 70 element.style.display="block" 71} 72 73 74function toggleID(objID){ 75// This function will toggle obj visibility of an Element 76// based on Element's ID 77// Works with IE and Mozilla based browsers 78var element = (ie) ? document.all(objID) : document.getElementById(objID); 79 if (element.style.display=="none"){ 80 showID(objID) 81 }else{ 82 hideID(objID) 83 } 84} 85 86 87function hideID(objID){ 88// This function will hide Elements by object ID 89// Works with IE and Mozilla based browsers 90var element = (ie) ? document.all(objID) : document.getElementById(objID); 91 element.style.display="none" 92} 93 94 95function showID(objID){ 96// This function will show Elements by object ID 97// Works with IE and Mozilla based browsers 98var element = (ie) ? document.all(objID) : document.getElementById(objID); 99 element.style.display="block" 100} 101 102 103function getElementByClass(objClass){ 104// This function is similar to 'getElementByID' since there 105// is no inherent function to get an element by its class 106// Works with IE and Mozilla based browsers 107var elements = (ie) ? document.all : document.getElementsByTagName('*'); 108 for (i=0; i<elements.length; i++){ 109 //alert(elements[i].className) 110 //alert(objClass) 111 if (elements[i].className==objClass){ 112 return elements[i] 113 } 114 } 115} 116 117 118 119 120/*! 121 * classie v1.0.0 122 * class helper functions 123 * from bonzo https://github.com/ded/bonzo 124 * MIT license 125 * 126 * classie.has( elem, 'my-class' ) -> true/false 127 * classie.add( elem, 'my-new-class' ) 128 * classie.remove( elem, 'my-unwanted-class' ) 129 * classie.toggle( elem, 'my-class' ) 130 */ 131 132 133/*jshint browser: true, strict: true, undef: true, unused: true */ 134/*global define: false */ 135 136 137( function( window ) { 138 139 140'use strict'; 141 142 143// class helper functions from bonzo https://github.com/ded/bonzo 144 145 146function classReg( className ) { 147 return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); 148} 149 150 151// classList support for class management 152// altho to be fair, the api sucks because it won't accept multiple classes at once 153var hasClass, addClass, removeClass; 154 155 156if ( 'classList' in document.documentElement ) { 157 hasClass = function( elem, c ) { 158 return elem && elem.classList && elem.classList.contains( c ); 159 }; 160 addClass = function( elem, c ) { 161 if (elem && elem.classList) { 162 elem.classList.add( c ); 163 } 164 }; 165 removeClass = function( elem, c ) { 166 if (elem && elem.classList) { 167 elem.classList.remove( c ); 168 } 169 }; 170} 171else { 172 hasClass = function( elem, c ) { 173 return classReg( c ).test( elem.className ); 174 }; 175 addClass = function( elem, c ) { 176 if (elem && !hasClass( elem, c ) ) { 177 elem.className = elem.className + ' ' + c; 178 } 179 }; 180 removeClass = function( elem, c ) { 181 if (elem) { 182 elem.className = elem.className.replace( classReg( c ), ' ' ); 183 } 184 }; 185} 186 187 188function toggleClass( elem, c ) { 189 var fn = hasClass( elem, c ) ? removeClass : addClass; 190 fn( elem, c ); 191} 192 193 194var classie = { 195 // full names 196 hasClass: hasClass, 197 addClass: addClass, 198 removeClass: removeClass, 199 toggleClass: toggleClass, 200 // short names 201 has: hasClass, 202 add: addClass, 203 remove: removeClass, 204 toggle: toggleClass 205}; 206 207 208// transport 209if ( typeof define === 'function' && define.amd ) { 210 // AMD 211 define( classie ); 212} else { 213 // browser global 214 window.classie = classie; 215} 216 217 218}
218)( window ); 219 220 221 222/** 223 * The nav stuff 224 */ 225(function( window ){ 226 227 'use strict'; 228 229 230 var body = document.body, 231 mask = document.createElement("div"), 232 togglePushRight = document.querySelector( "#open-menu" ), 233 pushMenuRight = document.querySelector( "#nav-primary" ), 234 activeNav 235 ; 236 mask.className = "mask"; 237 238 239 /* push menu right */ 240 if (togglePushRight) { 241 togglePushRight.addEventListener( "click", function(){ 242 classie.add( body, "pmr-open" ); 243 document.body.appendChild(mask); 244 activeNav = "pmr-open"; 245 } ); 246 } 247 248 249 250 /* hide active menu if mask is clicked */ 251 mask.addEventListener( "click", function(){ 252 classie.remove( body, activeNav ); 253 activeNav = ""; 254 document.body.removeChild(mask); 255 } ); 256 257 258 /* hide active menu if close menu button is clicked */ 259 [].slice.call(document.querySelectorAll("#close-menu")).forEach(function(el,i){ 260 el.addEventListener( "click", function(){ 261 classie.remove( body, activeNav ); 262 activeNav = ""; 263 document.body.removeChild(mask); 264 } ); 265 }); 266 267 268 269})( window ); 270 271 272function lazyLoader() { 273 const elements = [].slice.call(document.querySelectorAll(".lazy")); 274 275 if ("IntersectionObserver" in window) { 276 let lazyObjectObserver = new IntersectionObserver(function (entries, observer) { 277 entries.forEach(function (entry) { 278 if (entry.isIntersecting) { 279 entry.target.classList.add("visible"); 280 lazyObjectObserver.unobserve(entry.target); 281 282 // Check if the element has data-src attribute 283 if (entry.target.hasAttribute("data-src")) { 284 285 // Replace data-src with src 286 entry.target.src = entry.target.getAttribute("data-src"); 287 entry.target.removeAttribute("data-src"); 288 } 289 } 290 }); 291 }); 292 293 elements.forEach(function (element) { 294 lazyObjectObserver.observe(element); 295 }); 296 } 297} lazyLoader(); 298 299 300 301 302function toggleSelected(element) { 303 element.classList.toggle("selected"); 304} 305 306 307 function HeaderScroll() { 308 window.addEventListener('scroll', function(e){ 309 var distanceY = window.pageYOffset || document.documentElement.scrollTop, 310 shrinkOn = 50, 311 header = document.getElementById("header"); 312 if (distanceY > shrinkOn) { 313 classie.add(header,"small"); 314 } else { 315 if (classie.has(header,"small")) { 316 classie.remove(header,"small"); 317 } 318 } 319 }); 320 } 321 322window.onload=HeaderScroll();
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.