1//header 2//********************************* Menu Mobile ********************************* 3jQuery(window).ready(function(){ 4 jQuery(window).on("load resize", function() { 5 if(jQuery(window).width() < 991){ 6 var $addedDiv = jQuery(".menu-chevron"); 7 if($addedDiv.length == 0){ 8 jQuery('.site-header .menu .menu-item-has-children').addClass( "md-drop" ); 9 jQuery('.site-header .menu .menu-item-has-children.md-drop').append('<span role="button" class="menu-chevron">›</span>'); 10 jQuery('.site-header .menu .menu-item-has-children.md-drop > .menu-chevron').on('click',function(event){ 11 event.preventDefault() 12 jQuery(this).parent().find('ul').first().toggle(300); 13 jQuery(this).parent().siblings().find('ul').hide(200); 14 //Hide menu when clicked outside 15 jQuery(this).parent().find('ul').mouseleave(function(){ 16 var thisUI = jQuery(this); 17 jQuery('html').click(function(){ 18 thisUI.hide(); 19 jQuery('html').unbind('click'); 20 }); 21 }); 22 }); 23 } 24 }; 25 if(jQuery(window).width() > 991){ 26 jQuery('.md-drop').removeClass( "md-drop" ); 27 jQuery('.site-header .menu .menu-item-has-children .menu-chevron').remove(); 28 jQuery('.site-header .menu .sub-menu').removeAttr('style'); 29 }; 30 31 }); 32 }); 33 34////*********************************Remove autocomplete from dates********************************* 35jQuery(".wpcf7-date").attr("autocomplete", "off"); 36 37 38////*********************************Disable Double submit********************************* 39jQuery(document).on('click', '.wpcf7-submit', function(e){ 40 if( jQuery('.ajax-loader').hasClass('is-active') ) { 41 e.preventDefault(); 42 return false; 43 } 44}); 45 46///********************************* Google Autocomplete ********************************* 47////Hero form autocomplete 48var autocompleteInputs = []; 49 50function initializeFrom1(){ 51 if (document.getElementById("address-from-hero")){ 52 var input=document.getElementById("address-from-hero"); 53 jQuery(input).on("change", function(){ 54 console.log('inputchange'); 55 autocompleteAddressValid(false); 56 }); 57 var autocomplete=new google.maps.places.Autocomplete((input), {types: ['(regions)']}); 58 autocomplete.setComponentRestrictions( 59 {'country': 'us'}); 60 61 autocomplete.addListener('place_changed', fillInAddress1); 62 63 } 64 65 } 66 function fillInAddress1() { 67 autocompleteAddressValid(true); 68 var placeSearch, autocomplete; 69 var componentForm = { 70 street_number: 'short_name', 71 route: 'long_name', 72 locality: 'long_name', 73 administrative_area_level_1: 'short_name', 74 country: 'long_name', 75 postal_code: 'short_name' 76 }; 77 // Get the place details from the autocomplete object. 78 var place = this.getPlace(); 79 80 for (var component in componentForm) { 81 jQuery('.'+component).val(" "); 82 } 83 84 jQuery('.geolocatelat').val(place.geometry.location.lat()); 85 jQuery('.geolocatelong').val(place.geometry.location.lng()); 86 // Get each component of the address from the place details 87 // and fill the corresponding field on the form. 88 for (var i = 0; i < place.address_components.length; i++) { 89 var addressType = place.address_components[i].types[0]; 90 if (componentForm[addressType]) { 91 var val = place.address_components[i][componentForm[addressType]]; 92 jQuery('.'+addressType).val(val); 93 console.log(addressType, val); 94 95 } 96 } 97 } 98 google.maps.event.addDomListener(window,'load',initializeFrom1); 99 100 function initializeTo1(){ 101 if (document.getElementById("address-to-hero")){ 102 var input=document.getElementById("address-to-hero"); 103 jQuery(input).on("change", function(){ 104 console.log('inputchange'); 105 autocompleteAddressValid(false); 106 }); 107 var autocomplete=new google.maps.places.Autocomplete((input), {types: ['(regions)']}); 108 autocomplete.setComponentRestrictions( 109 {'country': 'us'}); 110 111 autocomplete.addListener('place_changed', fillInAddress2);} 112 } 113 function fillInAddress2() { 114 autocompleteAddressValid(true); 115 var placeSearch, autocomplete; 116 var componentForm = { 117 street_number: 'short_name', 118 route: 'long_name', 119 locality: 'long_name', 120 administrative_area_level_1: 'short_name', 121 country: 'long_name', 122 postal_code: 'short_name' 123 }; 124 // Get the place details from the autocomplete object. 125 var place = this.getPlace(); 126 for (var component in componentForm) { 127 jQuery('.'+component + '1').val(" "); 128 } 129 jQuery('.geolocatelat1').val(place.geometry.location.lat()); 130 jQuery('.geolocatelong1').val(place.geometry.location.lng()); 131 // Get each component of the address from the place details 132 // and fill the corresponding field on the form. 133 for (var i = 0; i < place.address_components.length; i++) { 134 var addressType = place.address_components[i].types[0]; 135 if (componentForm[addressType]) { 136 var val = place.address_components[i][componentForm[addressType]]; 137 jQuery('.'+addressType + '1').val(val); 138 console.log(addressType, val); 139 } 140 } 141 } 142 google.maps.event.addDomListener(window,'load',initializeTo1); 143 144//FOOTER FORM// 145 146function initializeFrom(){ 147 if (document.getElementById("address-from-footer")){ 148 var input=document.getElementById("address-from-footer"); 149 jQuery(input).on("change", function(){ 150 console.log('inputchange'); 151 autocompleteAddressValid(false); 152 }); 153 var autocomplete=new google.maps.places.Autocomplete((input), {types: ['(regions)']}); 154 autocomplete.setComponentRestrictions( 155 {'country': 'us'}); 156 157 autocomplete.addListener('place_changed', fillInAddress1);} 158 } 159 function fillInAddress1() { 160 autocompleteAddressValid(true); 161 var placeSearch, autocomplete; 162 var componentForm = { 163 street_number: 'short_name', 164 route: 'long_name', 165 locality: 'long_name', 166 administrative_area_level_1: 'short_name', 167 country: 'long_name', 168 postal_code: 'short_name' 169 }; 170 // Get the place details from the autocomplete object. 171 var place = this.getPlace(); 172 for (var component in componentForm) { 173 jQuery('.'+component).val(" "); 174 } 175 jQuery('.geolocatelat').val(place.geometry.location.lat()); 176 jQuery('.geolocatelong').val(place.geometry.location.lng()); 177 // Get each component of the address from the place details 178 // and fill the corresponding field on the form. 179 for (var i = 0; i < place.address_components.length; i++) { 180 var addressType = place.address_components[i].types[0]; 181 if (componentForm[addressType]) { 182 var val = place.address_components[i][componentForm[addressType]]; 183 jQuery('.'+addressType).val(val); 184 console.log(addressType, val); 185 } 186 } 187 } 188 google.maps.event.addDomListener(window,'load',initializeFrom); 189 190 function initializeTo(){ 191 if (document.getElementById("address-to-footer")){ 192 var input=document.getElementById("address-to-footer"); 193 jQuery(input).on("change", function(){ 194 console.log('inputchange'); 195 autocompleteAddressValid(false); 196 }); 197 var autocomplete=new google.maps.places.Autocomplete((input), {types: ['(regions)']}); 198 autocomplete.setComponentRestrictions( 199 {'country': 'us'}); 200 201 autocomplete.addListener('place_changed', fillInAddress2);} 202 } 203 function fillInAddress2() { 204 autocompleteAddressValid(true); 205 var placeSearch, autocomplete; 206 var componentForm = { 207 street_number: 'short_name', 208 route: 'long_name', 209 locality: 'long_name', 210 administrative_area_level_1: 'short_name', 211 country: 'long_name', 212 postal_code: 'short_name' 213 }; 214 // Get the place details from the autocomplete object. 215 var place = this.getPlace(); 216 for (var component in componentForm) { 217 jQuery('.'+component + '1').val(" "); 218 } 219 jQuery('.geolocatelat1').val(place.geometry.location.lat()); 220 jQuery('.geolocatelong1').val(place.geometry.location.lng()); 221 // Get each component of the address from the place details 222 // and fill the corresponding field on the form. 223 for (var i = 0; i < place.address_components.length; i++) { 224 var addressType = place.address_components[i].types[0]; 225 if (componentForm[addressType]) { 226 var val = place.address_components[i][componentForm[addressType]]; 227 jQuery('.'+addressType + '1').val(val); 228 console.log(addressType, val); 229 } 230 } 231 } 232 google.maps.event.addDomListener(window,'load',initializeTo); 233 234//********************************* redirections for ty pages ********************************* 235document.addEventListener( 'wpcf7mailsent', function( event ) { 236// if ( '3983' == event.detail.contactFormId ){ 237// location = '/thank-you'; 238// } 239// 240 }); 241 242 243 244// //popup on exit 245 246 247 jQuery(document).ready(function(){ 248 //COUPON JS --> 249 var timer; 250 jQuery('.md-popup-close').on('click', function(e){ 251 252 e.preventDefault(); 253 254 jQuery('#md-popup-holder').fadeOut(600); 255 256 }); 257 // END COUPON JS --> 258 259 function setExitCookie(cname, cvalue, exdays) { 260 var d = new Date(); 261 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 262 var expires = "expires="+d.toUTCString(); 263 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 264 } 265 function getExitCookie(cname) { 266 var name = cname + "="; 267 var ca = document.cookie.split(';'); 268 for(var i = 0; i < ca.length; i++) { 269 var c = ca[i]; 270 while (c.charAt(0) == ' ') { 271 c = c.substring(1); 272 } 273 if (c.indexOf(name) == 0) { 274 return c.substring(name.length, c.length); 275 } 276 } 277 return ""; 278 } 279 function checkExitCookie() { 280 var seen = false;
281 var popup = getExitCookie("visiteexit"); 282 if (popup != "") { 283 console.log("there", popup); 284 } else { 285 setExitCookie("visiteexit", "visiteexit", 1); 286 //POP UP ON EXIT CODE 287 var mouseX = 0; 288 var mouseY = 0; 289 var popupCounter = 0; 290 291 document.addEventListener("mousemove", function(e) { 292 mouseX = e.clientX; 293 mouseY = e.clientY; 294 295 }); 296 297 jQuery(document).mouseleave(function () { 298 if (mouseY < 100) { 299 if (popupCounter < 1) { 300 301 // if(jQuery('#md-popup-holder').is(':hidden')){ 302 jQuery("#md-popup-holder").fadeIn(600); 303 304 // } 305 } 306 // if(jQuery('#md-popup-holder').is(':hidden')){ 307 popupCounter ++; 308 // } 309 } 310 }); 311 //END EXIT JS --> 312 313 } 314 } 315 checkExitCookie(); 316 }); 317 jQuery('.md-popup-close').on('click', function(e2){ 318 319 e2.preventDefault(); 320 321 jQuery('#md-popup-holder').fadeOut(600); 322 323 }); 324 325function closeitnow() { 326 document.getElementById("md-popup-holder").style.display = "none"; 327 } 328 329// call tracking 330 331jQuery( '.md-phone-url' ).click(function() { gtag('event', 'click', { 'send_to': 'UA-102363466-65', 'event_category': 'Total Clicks on Phone Number', 'event_label': 'Phone Click' }); }); 332 333// call tracking 334 335 336 337jQuery(document).scroll(function() { 338 var y = jQuery(this).scrollTop(); 339 if (y > 800) { 340 jQuery('.on-scroll-button').fadeIn(); 341 } else { 342 jQuery('.on-scroll-button').fadeOut(); 343 } 344}); 345 346 347document.addEventListener('DOMContentLoaded', function () { 348 const dropdown = document.getElementById('partnerDropdown'); 349 const toggle = document.getElementById('partnerDropdownToggle'); 350 const menu = document.getElementById('partnerDropdownMenu'); 351 const items = menu.querySelectorAll('li'); 352 353 toggle.addEventListener('click', function (e) { 354 e.stopPropagation(); 355 const isOpen = dropdown.classList.toggle('open'); 356 toggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); 357 }); 358 359 document.addEventListener('click', function (e) { 360 if (!dropdown.contains(e.target)) { 361 dropdown.classList.remove('open'); 362 toggle.setAttribute('aria-expanded', 'false'); 363 } 364 }); 365 366 items.forEach(function (item) { 367 item.addEventListener('click', function (e) { 368 e.preventDefault(); 369 e.stopPropagation(); 370 }); 371 372 item.addEventListener('mousedown', function (e) { 373 e.preventDefault(); 374 }); 375 }); 376});
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.