1$(function () { 2 // BACKGROUND DIM OVERLAY FOR MAIN MENU [Ticket #102758 05.24.2022] /////////////////////////////// 3 const header = document.getElementsByTagName("header")[0]; 4 5 // this is the overlay we'll use to darken the background when the menu is open 6 let dynamicOverlay = document.createElement("div"); 7 dynamicOverlay.id = "dynamicOverlay"; 8 dynamicOverlay.className = "menu-overlay"; 9 10 // add to the DOM, but don't display yet 11 header.appendChild(dynamicOverlay); 12 13 let toggle = document.getElementById("mainNavToggle"); 14 let searchToggle = document.getElementById("searchtoggle"); 15 16 let label = $("LABEL#mainNavTog"); 17 let searchLabel = $("LABEL#searchtog"); 18 19 label.on("click", function (e) { 20 toggle.checked = !toggle.checked; 21 }); 22 searchLabel.on("click", function (e) { 23 searchToggle.checked = !searchToggle.checked; 24 }); 25 26 const closeMenu = function () { 27 toggle.checked = false; 28 $(".mainNav label").removeClass("open"); 29 $("#dynamicOverlay").hide(); 30 // unbind keydown event 31 $(document).off("keydown"); 32 }; 33 34 const closeSearch = function () { 35 searchToggle.checked = false; 36 $(".search-toggle label").removeClass("open"); 37 $("#dynamicOverlay").hide(); 38 // unbind keydown event 39 $(document).off("keydown"); 40 }; 41 42 // init checkbox as unchecked, menu as 'closed' 43 closeMenu(); 44 closeSearch(); 45 46 $("#mainNavToggle").on("change", function (e) { 47 // update the classes (from orig. script) 48 $(".mainNav label").addClass("open"); 49 $("#searchtoggle").prop("checked", false); 50 $(".search-toggle label").removeClass("open"); 51 52 if ($("#mainNavToggle").is(":checked")) { 53 closeMenu(); 54 } else { 55 toggle.checked = true; 56 // show overlay and close menu when user clicks on it 57 $("#dynamicOverlay") 58 .show() 59 .on("click", function () { 60 closeMenu(); 61 }); 62 // close menu when user hits "ESC" 63 $(document).on("keydown", function (e) { 64 if (e.keyCode == "27") { 65 closeMenu(); 66 } 67 }); 68 } 69 }); 70 71 $("#searchtoggle").on("change", function (e) { 72 // update the classes (from orig. script) 73 $(".search-toggle label").addClass("open"); 74 $("#mainNavToggle").prop("checked", false); 75 $(".mainNav label").removeClass("open"); 76 77 if ($("#searchtoggle").is(":checked")) { 78 closeSearch(); 79 } else { 80 searchToggle.checked = true; 81 // show overlay and close menu when user clicks on it 82 $("#dynamicOverlay") 83 .show() 84 .on("click", function () { 85 closeSearch(); 86 }); 87 // close menu when user hits "ESC" 88 $(document).on("keydown", function (e) { 89 if (e.keyCode == "27") { 90 closeSearch(); 91 } 92 }); 93 } 94 }); 95}); 96 97var _DeferredScripts = _DeferredScripts || []; 98function initDeferredVideos() { 99 var maxVideoResolution = 768; 100 $("video.defer.init").each(function () { 101 if (window.innerWidth >= maxVideoResolution) { 102 $(this) 103 .find("source") 104 .each(function () { 105 var sourceFile = $(this).attr("data-src"); 106 $(this).attr("src", sourceFile); 107 }); 108 $(this).removeClass("init"); 109 var video = $(this)[0]; 110 video.load(); 111 video.play(); 112 } 113 }); 114 $("video.defer:not(.init)").each(function () { 115 var video = $(this)[0]; 116 if (window.innerWidth >= maxVideoResolution) { 117 video.play(); 118 } else { 119 video.pause(); 120 } 121 }); 122} 123 124// $("#searchtoggle").click(function () { 125// if ($("#searchtoggle").prop("checked")) { 126// $(".search-toggle label").addClass("open"); 127// $(".mainNav label").removeClass("open"); 128// } else { 129// $(".search-toggle label").removeClass("open"); 130// } 131// }); 132 133$("#mobiletoggle").click(function () { 134 if ($("#mobiletoggle").prop("checked")) { 135 $(".mobile label").addClass("open"); 136 } else { 137 $(".mobile label").removeClass("open"); 138 } 139}); 140 141$(".mobile-menu ul.main li").click(function () { 142 $(this).toggleClass("open"); 143}); 144 145// Menu Dropdown 146$(function () { 147 var Accordion = function (el, multiple) { 148 this.el = el || {}; 149 // more then one submenu open? 150 this.multiple = multiple || false; 151 152 var dropdownlink = this.el.find(".dropdownlink"); 153 dropdownlink.on( 154 "click", 155 { el: this.el, multiple: this.multiple }, 156 this.dropdown 157 ); 158 }; 159 160 Accordion.prototype.dropdown = function (e) { 161 var $el = e.data.el, 162 $this = $(this), 163 //this is the ul.submenuItems 164 $next = $this.next(); 165 166 $next.slideToggle(); 167 $this.parent().toggleClass("open"); 168 169 if (!e.data.multiple) { 170 //show only one menu at the same time
171 $el.find(".submenu").not($next).slideUp().parent().removeClass("open"); 172 } 173 }; 174 175 var accordion = new Accordion($(".main"), false); 176}); 177 178// Use Enter Key for Inputs 179jQuery("input:checkbox").keypress(function (e) { 180 if ((e.keyCode ? e.keyCode : e.which) == 13) { 181 $(this).trigger("click"); 182 } 183}); 184// Aria Expanded 185jQuery(".bottomLinks, header input:checkbox").bind("click", function () { 186 if ($(this).attr("aria-expanded") == "true") { 187 $(this).attr("aria-expanded", false); 188 } else { 189 $(this).attr("aria-expanded", true); 190 } 191}); 192 193//BEGIN: FIXED HEADER ALERT ABOVE HEADER OPTION 194 195var header = jQuery("header"); 196 197var headerHeight = header.height(); 198 199if (jQuery(".alert").length != 0) { 200 var alert = jQuery("#alertMessage"); 201 var alertHeight = alert.height(); 202 var alertHeaderHeight = alertHeight + headerHeight; 203 jQuery(".menuMain.is-desktop").css("margin-top", alertHeight + "px"); 204 jQuery(window).scroll(function () { 205 if (jQuery(window).scrollTop() == 0) { 206 // var alertHeight1 = jQuery("#alertMessage").height(); 207 alert.css("position", "relative"); 208 header.css("position", "relative"); 209 header.css("top", "0"); 210 jQuery(".menuMainDesktop").css("margin-top", "0px"); 211 jQuery("body").removeClass("scrollOn"); 212 jQuery("body").css("padding-top", "0"); 213 // jQuery(".menuSideButtons").css("margin-top", alertHeight1 + "px"); 214 } else if (jQuery(window).scrollTop() > 0) { 215 header.css("top", alertHeight + "px"); 216 alert.css({ position: "fixed", top: "0" }); 217 alert.css("left", "0"); 218 header.css("left", "0"); 219 header.css("position", "fixed"); 220 jQuery("body").addClass("scrollOn"); 221 jQuery("body").css("padding-top", alertHeaderHeight + "px"); 222 // header.css("top", alertHeight + "px"); 223 } 224 }); 225} else { 226 jQuery(window).scroll(function () { 227 if (jQuery(window).scrollTop() == 0) { 228 // alert.css("position","relative"); 229 header.css("position", "relative"); 230 jQuery("body").removeClass("scrollOn"); 231 jQuery("body").css("padding-top", "0"); 232 } else if (jQuery(window).scrollTop() > 0) { 233 header.css("position", "fixed"); 234 jQuery("body").addClass("scrollOn"); 235 jQuery("body").css("padding-top", headerHeight + "px"); 236 header.css("top", "0"); 237 header.css("left", "0"); 238 } 239 }); 240} 241//END: FIXED HEADER ALERT ABOVE HEADER OPTION 242 243//BEGIN: HOME IMPACT SLIDER WITH VIDEO AND IMAGE 244if (jQuery(".slider-main.video-image").length != 0) { 245 jQuery(".slider-main.video-image").slick({ 246 slidesToShow: 1, 247 slidesToScroll: 1, 248 accessibility: false, 249 arrows: false, 250 dots: false, 251 fade: false, 252 autoplay: true, 253 speed: 1000, 254 autoplaySpeed: 0, 255 pauseOnHover: false, 256 pauseOnFocus: false, 257 adaptiveHeight: true, 258 }); 259 // PLAY AND PAUSE BUTTONS FOR IMAGES 260 jQuery(".playSlide").css("display", "none"); 261 jQuery(".pauseSlide").click(function () { 262 jQuery(".slider-main").slick("slickPause"); 263 jQuery(".playSlide").css("display", "block"); 264 jQuery(".pauseSlide").css("display", "none"); 265 jQuery("video").on("ended", function () { 266 jQuery(".slider-main").slick("slickPause"); 267 }); 268 }); 269 270 jQuery(".playSlide").click(function () { 271 jQuery(".slider-main").slick("slickPlay"); 272 jQuery(".playSlide").css("display", "none"); 273 jQuery(".pauseSlide").css("display", "block"); 274 jQuery("video").on("ended", function () { 275 jQuery(".slider-main").slick("slickPlay"); 276 }); 277 }); 278 jQuery(".slider-main").on( 279 "afterChange", 280 function (event, slick, currentSlide) { 281 var vid = $(slick.$slides[currentSlide]).find("video"); 282 if (vid.length > 0) { 283 jQuery(".slider-main").slick("slickPause"); 284 jQuery(vid).get(0).play(); 285 } else { 286 if (currentSlide === 0) { 287 jQuery(".slider-main").slick("setOption", "autoplaySpeed", 0); 288 jQuery(".slider-main").slick("setOption", "speed", 0); 289 } else { 290 jQuery(".slider-main").slick("setOption", "autoplaySpeed", 5000); 291 jQuery(".slider-main").slick("setOption", "speed", 300); 292 } 293 } 294 } 295 ); 296 jQuery("video").on("ended", function () { 297 jQuery(".slider-main").slick("slickPlay"); 298 }); 299} 300//END: HOME IMPACT SLIDER WITH VIDEO AND IMAGE 301 302//BEGIN: HOME IMPACT SLIDER WITH VIDEO 303if (jQuery(".slider-main.video-only").length != 0) { 304 jQuery(".slider-main.video-only").slick({ 305 slidesToShow: 1, 306 slidesToScroll: 1, 307 accessibility: false, 308 arrows: true,
309 useCSS: false, 310 pauseOnFocus: false, 311 pauseOnHover: false, 312 fade: false, 313 autoplay: true, 314 autoplaySpeed: 1, 315 speed: 5000, 316 adaptiveHeight: true, 317 }); 318 jQuery(".slider-main.video-only").on( 319 "afterChange", 320 function (event, slick, currentSlide) { 321 var vid = $(slick.$slides[currentSlide]).find("video"); 322 if (vid.length > 0) { 323 $(".slider-main").slick("slickPause"); 324 $(vid).get(0).play(); 325 } 326 } 327 ); 328 jQuery("video").on("ended", function () { 329 $(".slider-main.video-only").slick("slickPlay"); 330 }); 331 // PLAY AND PAUSE BUTTONS FOR IMAGES 332 jQuery(".playSlide").css("display", "none"); 333 jQuery(".pauseSlide").click(function () { 334 jQuery(".slider-main").slick("slickPause"); 335 jQuery(".playSlide").css("display", "block"); 336 jQuery(".pauseSlide").css("display", "none"); 337 }); 338 339 jQuery(".playSlide").click(function () { 340 jQuery(".slider-main").slick("slickPlay"); 341 jQuery(".playSlide").css("display", "none"); 342 jQuery(".pauseSlide").css("display", "block"); 343 }); 344} 345//END: HOME IMPACT SLIDER WITH VIDEO 346 347//BEGIN: HOME IMPACT SLIDER WITH IMAGE 348if (jQuery(".slider-main.image-only").length != 0) { 349 jQuery(".slider-main.image-only").slick({ 350 slidesToShow: 1, 351 slidesToScroll: 1, 352 accessibility: false, 353 arrows: false, 354 useCSS: false, 355 pauseOnFocus: true, 356 pauseOnHover: true, 357 dots: false, 358 fade: false, 359 autoplay: true, 360 autoplaySpeed: 5000, 361 adaptiveHeight: true, 362 }); 363 // PLAY AND PAUSE BUTTONS FOR IMAGES 364 jQuery(".playSlide").css("display", "none"); 365 jQuery(".pauseSlide").click(function () { 366 jQuery(".slider-main").slick("slickPause"); 367 jQuery(".playSlide").css("display", "block"); 368 jQuery(".pauseSlide").css("display", "none"); 369 }); 370 371 jQuery(".playSlide").click(function () { 372 jQuery(".slider-main").slick("slickPlay"); 373 jQuery(".playSlide").css("display", "none"); 374 jQuery(".pauseSlide").css("display", "block"); 375 }); 376} 377//END: HOME IMPACT SLIDER WITH IMAGE 378 379if ($(".featured-slider").length > 0) { 380 $(".slider").slick({ 381 slide: ".slide", 382 //centerMode: true, 383 centerPadding: "2em", 384 slidesToShow: 2.5, 385 infinite: false, 386 prevArrow: ".previous.fa.fa-chevron-left", 387 arrows: true, 388 nextArrow: ".next.fa.fa-chevron-right", 389 dots: true, 390 appendDots: ".dots", 391 responsive: [ 392 { 393 breakpoint: 720, 394 settings: { 395 slidesToShow: 1, 396 }, 397 }, 398 ], 399 }); 400 401 $(".slide").each(function () { 402 var $slide = $(this); 403 if ($slide.attr("aria-describedby") != undefined) { 404 // ignore extra/cloned slides 405 $(this).attr("id", $slide.attr("aria-describedby")); 406 } 407 }); 408} 409 410//BEGIN: HOME INFOGRAPHICS SLIDER 411if (jQuery(".academicsSlider").length != 0) { 412 var $slickElement = $(".asliderContainer"); 413 // $slickElement.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) { 414 // }); 415 $slickElement.slick({ 416 infinite: true, 417 slidesToShow: 3, 418 slidesToScroll: 1, 419 variableWidth: true, 420 arrows: true, 421 useCSS: false, 422 pauseOnFocus: false, 423 pauseOnHover: false, 424 dots: true, 425 fade: false, 426 draggable: false, 427 autoplay: false, 428 prevArrow: 429 "<button type='button' class='slick-prev'><span class='slideOut'>Prev</span></button>", 430 nextArrow: 431 "<button type='button' class='slick-next'><span class='slideOut'>Next</span></button>", 432 responsive: [ 433 { 434 breakpoint: 1300, 435 settings: { 436 slidesToShow: 2, 437 slidesToScroll: 1, 438 variableWidth: false, 439 }, 440 }, 441 { 442 breakpoint: 1060, 443 settings: { 444 slidesToShow: 1, 445 slidesToScroll: 1, 446 arrows: false, 447 variableWidth: false, 448 }, 449 }, 450 { 451 breakpoint: 700, 452 settings: { 453 slidesToShow: 1, 454 slidesToScroll: 1, 455 arrows: false, 456 variableWidth: false, 457 }, 458 }, 459 ], 460 }); 461} 462 463jQuery(".infoTog").bind("click", function () { 464 if ($(this).attr("aria-expanded") == "true") { 465 $(this).attr("aria-expanded", false); 466 $(this).removeClass("open"); 467 } else { 468 $(this).attr("aria-expanded", true); 469 $(this).addClass("open"); 470 } 471}); 472 473//END: HOME INFOGRAPHICS SLIDER 474 475// YOUTUBE POPUP MAGNIFIC-POPUP 476 477if (jQuery(".popupYoutube").length > 0) { 478 jQuery(".popupYoutube").magnificPopup({ 479 //disableOn: 700, 480 type: "iframe", 481 mainClass: "mfp-fade", 482 removalDelay: 160, 483 preloader: false,
484 fixedContentPos: false, 485 }); 486} 487 488//BEGIN: LANDING SLIDER 489if (jQuery(".landing-slider").length != 0) { 490 jQuery(".landing-slider").slick({ 491 slidesToShow: 1, 492 slidesToScroll: 1, 493 accessibility: false, 494 arrows: true, 495 useCSS: true, 496 dots: true, 497 fade: true, 498 speed: 2000, 499 autoplay: false, 500 adaptiveHeight: true, 501 }); 502} 503//END: LANDING SLIDER 504 505// EVENTS SCROLL ON HOMPAGE 506 507if ($(".vertScroll").length > 0) { 508 const $slider = $(".vertScroll"); 509 510 $slider.slick({ 511 slide: ".slide", 512 slidesToShow: 2, 513 infinite: false, 514 arrows: false, 515 dots: true, 516 responsive: [ 517 { 518 breakpoint: 1060, 519 settings: { 520 slidesToShow: 1, 521 }, 522 }, 523 ], 524 }); 525 $slider.on("wheel", function (e) { 526 e.preventDefault(); 527 528 if (e.originalEvent.deltaY < 0) { 529 $(this).slick("slickPrev"); 530 } else { 531 $(this).slick("slickNext"); 532 } 533 }); 534 535 $(".vertScroll .slide").each(function () { 536 var $slide = $(this); 537 $slide.removeAttr("aria-hidden"); 538 if ($slide.attr("aria-describedby") != undefined) { 539 // ignore extra/cloned slides 540 $(this).attr("id", $slide.attr("aria-describedby")); 541 } 542 }); 543 $(".vertScroll .slick-dots").removeAttr("role"); 544 $(".vertScroll .slick-dots, .vertScroll .slick-dots li") 545 .removeAttr("aria-hidden") 546 .removeAttr("aria-controls"); 547 $(".vertScroll .dots button").removeAttr("role"); 548 $(".vertScroll .slick-track").attr("aria-label", "Programs"); 549} 550 551/* BEGIN PROGRAM FILTERING */ 552// To keep our code clean and modular, all custom functionality will be contained inside a single object literal called "checkboxFilter". 553 554var checkboxFilter = { 555 // Declare any variables we will need as properties of the object 556 557 $filters: null, 558 // $reset: null, 559 groups: [], 560 outputArray: [], 561 outputString: "", 562 563 // The "init" method will run on document ready and cache any jQuery objects we will need. 564 565 init: function () { 566 var self = this; // As a best practice, in each method we will asign "this" to the variable "self" so that it remains scope-agnostic. We will use it to refer to the parent "checkboxFilter" object so that we can share methods and properties between all parts of the object. 567 568 self.$filters = $(".checkbox-group"); 569 // self.$reset = $('#Reset'); 570 self.$container = $("#Container"); 571 572 self.$filters.find(".filter-section").each(function () { 573 self.groups.push({ 574 $inputs: $(this).find("input"), 575 active: [], 576 tracker: false, 577 }); 578 }); 579 580 self.bindHandlers(); 581 }, 582 583 // The "bindHandlers" method will listen for whenever a form value changes. 584 585 bindHandlers: function () { 586 var self = this; 587 588 self.$filters.on("change", function () { 589 self.parseFilters(); 590 }); 591 592 // self.$reset.on('click', function(e){ 593 // e.preventDefault(); 594 // // self.$filters[0].reset(); 595 // self.parseFilters(); 596 // }); 597 }, 598 599 // The parseFilters method checks which filters are active in each group: 600 601 parseFilters: function () { 602 var self = this; 603 604 // loop through each filter group and add active filters to arrays 605 606 for (var i = 0, group; (group = self.groups[i]); i++) { 607 group.active = []; // reset arrays 608 group.$inputs.each(function () { 609 $(this).is(":checked") && group.active.push(this.value); 610 }); 611 group.active.length && (group.tracker = 0); 612 } 613 614 self.concatenate(); 615 }, 616 617 // The "concatenate" method will crawl through each group, concatenating filters as desired: 618 619 concatenate: function () { 620 var self = this, 621 cache = "", 622 crawled = false, 623 checkTrackers = function () { 624 var done = 0; 625 626 for (var i = 0, group; (group = self.groups[i]); i++) { 627 group.tracker === false && done++; 628 } 629 630 return done < self.groups.length; 631 }, 632 crawl = function () { 633 for (var i = 0, group; (group = self.groups[i]); i++) { 634 group.active[group.tracker] && (cache += group.active[group.tracker]); 635 636 if (i === self.groups.length - 1) { 637 self.outputArray.push(cache); 638 cache = ""; 639 updateTrackers(); 640 } 641 } 642 }, 643 updateTrackers = function () { 644 for (var i = self.groups.length - 1; i > -1; i--) { 645 var group = self.groups[i]; 646 647 if (group.active[group.tracker + 1]) { 648 group.tracker++; 649 break; 650 } else if (i > 0) { 651 group.tracker && (group.tracker = 0); 652 } else { 653 crawled = true; 654 } 655 } 656 }; 657 658 self.outputArray = []; // reset output array 659 660 do { 661 crawl(); 662 } while (!crawled && checkTrackers()); 663 664 self.outputString = self.outputArray.join(); 665 666 // If the output string is empty, show all rather than none: 667 668 !self.outputString.length && (self.outputString = "all"); 669 670 //console.log(self.outputString); 671 672 // ^ we can check the console here to take a look at the filter string that is produced 673 674 // Send the output string to MixItUp via the 'filter' method: 675 676 // if(self.$container.mixItUp('isLoaded')){ 677 // self.$container.mixItUp('filter', self.outputString); 678 // } 679 }, 680}; 681 682// On document ready, initialise our code. 683 684$(function () { 685 // Initialize checkboxFilter code 686 687 checkboxFilter.init(); 688 689 // Instantiate MixItUp 690}); 691 692/* END PROGRAM FILTERING */ 693 694$(function () { 695 // BEGIN: VIDEO DEFER 696 if ($("video.defer").length > 0) { 697 _DeferredScripts.push({ 698 //object properties here: 699 priority: 1, 700 thirdParty: 0, 701 callback: function () { 702 $(window).bind("resize", function () { 703 initDeferredVideos(); 704 }); 705 initDeferredVideos(); 706 }, 707 }); 708 } 709 // END: VIDEO DEFER 710}); 711 712function custInterval(func, wait, times) { 713 var interv = (function (w, t) { 714 return function () { 715 if (typeof t === "undefined" || t-- > 0) { 716 setTimeout(interv, w); 717 try { 718 func.call(null); 719 } catch (e) { 720 t = 0; 721 throw e.toString(); 722 } 723 } 724 }; 725 })(wait, times); 726 setTimeout(interv, wait); 727} 728 729// Include these at the end of the main scripts file: 730function downloadJSAtOnload() { 731 // call function now 732 getDeferredScripts(); 733 // create function interval 734 custInterval(getDeferredScripts, 5000, 10); 735} 736 737function getDeferredScripts() { 738 // if _DeferredScripts is an object and has items 739 if (typeof _DeferredScripts == "object" && _DeferredScripts.length > 0) { 740 // Sort 741 _DeferredScripts.sort(function (a, b) {
742 try { 743 // if they have the same priority 744 if (a.priority == b.priority) { 745 return a.thirdParty - b.thirdParty; 746 } else { 747 //priority is different so third party doesn't matter 748 return a.priority - b.priority; 749 } 750 } catch (e) { 751 return 1; 752 } 753 }); 754 while (_DeferredScripts.length > 0) { 755 // remove the first item in _DeferredScripts and return that item 756 var scriptObj = _DeferredScripts.shift(); 757 758 // if returned object has a callback function 759 // else if it has a url 760 if (typeof scriptObj.callback == "function") { 761 scriptObj.callback(); 762 } else if (typeof scriptObj.url == "string") { 763 var element = document.createElement("script"); 764 element.src = scriptObj.url; 765 document.body.appendChild(element); 766 } 767 } 768 } 769} 770 771if (window.addEventListener) 772 window.addEventListener("load", downloadJSAtOnload, false); 773else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); 774else window.onload = downloadJSAtOnload; 775 776// Swiper 777if (jQuery(".swiper").length != 0) { 778 console.log("swiper"); 779 new Swiper(".swiper", { 780 autoHeight: true, 781 pagination: { 782 el: ".swiper-pagination", 783 }, 784 navigation: { 785 nextEl: ".swiper-button-next", 786 prevEl: ".swiper-button-prev", 787 }, 788 }); 789} 790// MNTN 791function mntnConversion(){ 792 return (function(){var x=null,p,q,m, 793 o="37553", 794 l="ORDER ID", 795 i="TOTAL ORDER AMOUNT", 796 c="", 797 k="", 798 g="", 799 j="", 800 u="", 801 shadditional=""; 802 try{p=top.document.referer!==""?encodeURIComponent(top.document.referrer.substring(0,512)):""}catch(n){p=document.referrer!==null?document.referrer.toString().substring(0,512):""}try{q=window&&window.top&&document.location&&window.top.location===document.location?document.location:window&&window.top&&window.top.location&&""!==window.top.location?window.top.location:document.location}catch(b){q=document.location}try{m=parent.location.href!==""?encodeURIComponent(parent.location.href.toString().substring(0,512)):""}catch(z){try{m=q!==null?encodeURIComponent(q.toString().substring(0,512)):""}catch(h){m=""}}var A,y=document.createElement("script"),w=null,v=document.getElementsByTagName("script"),t=Number(v.length)-1,r=document.getElementsByTagName("script")[t];if(typeof A==="undefined"){A=Math.floor(Math.random()*100000000000000000)}w="dx.mountain.com/spx?conv=1&shaid="+o+"&tdr="+p+"&plh="+m+"&cb="+A+"&shoid="+l+"&shoamt="+i+"&shocur="+c+"&shopid="+k+"&shoq="+g+"&shoup="+j+"&shpil="+u+shadditional;y.type="text/javascript";y.src=("https:"===document.location.protocol?"https://":"http://")+w;r.parentNode.insertBefore(y,r)}()); 803}
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.