PageSourceSearch

https://glisten.org/wp-content/themes/glsen/_include/js/scripts.js?ver=1.0.3

js glisten.org collected 2026-10-01 14:00:52 UTC 20,436 bytes, 1 lines download raw bytes

1!function(){"use strict";const e=document.body,t=document.getElementsByTagName("html")[0],o=(document.getElementById("wrapper"),document.querySelector(".main-header")),n=document.querySelector("#mobile-menu");document.querySelector("footer"),document.querySelector("#content");let i=!1,s=window.scrollY,r=window.innerHeight;function c(){window.innerWidth<992&&window.innerHeight!==r&&t.style.setProperty("--vh",.01*window.innerHeight+"px"),s!==window.scrollY?(s=window.scrollY,requestAnimationFrame(c)):i=!1}window.addEventListener("scroll",function(){i||(i=!0,requestAnimationFrame(c));window.scrollY}),null!==document.querySelector(".page-transition")&&function(){document.querySelector(".page-transition").classList.add("out");const e=document.querySelectorAll("a");for(const[t,o]of e.entries())o.addEventListener("click",function(e){let t=o;if("a"==e.target.tagName.toLocaleLowerCase?t=e.target:e.target.closest("a")&&(t=e.target.closest("a")),t.getAttribute("href")){let o=t.getAttribute("href"),n=!1;if(o.includes("#")&&(n=!0),!("_blank"===t.getAttribute("target")||o.includes("#")||0!=n||t.classList.contains("external-link")||t.classList.contains("btn-copy-url")||t.classList.contains("about-target-page")||t.classList.contains("internal-sub-navigation")||t.classList.contains("loadmore-btn")||t.classList.contains("btn-copy-url")||t.getAttribute("data-bs-toggle")||t.getAttribute("external")||t.closest(".block-about-sites")||t.classList.contains("scroll-to-btn")||t.parentElement().classList.contains("pagination"))){e.preventDefault();let o=t.getAttribute("href");document.querySelector(".page-transition").classList.remove("out"),setTimeout(function(){window.location=o},350)}}})}();const l=document.querySelectorAll(".secondary-btn");function a(){l.forEach((e,t)=>{e.style.setProperty("--height",e.getBoundingClientRect().height+"px"),e.style.setProperty("--width",e.getBoundingClientRect().width+"px")})}a(),madeoApp.fnObserver.push(a),madeoApp.generalObserver.observe(madeoApp.selectors.body);let d=Array.from(document.querySelectorAll(".btn-copy-url"));d.forEach((e,t)=>{d[t].addEventListener("click",e=>{e.preventDefault(),function(e){let t=e.getAttribute("href");(async()=>{try{await navigator.clipboard.writeText(t),console.log("Content copied to clipboard")}catch(e){console.error("Failed to copy: ",e)}})()}(e.target),e.target.classList.add("copied"),setTimeout(function(){e.target.classList.remove("copied")},2500)})}),document.querySelectorAll(".icon-copy-link").forEach(function(e){e.removeAttribute("data-bs-toggle");let t=new bootstrap.Tooltip(e,{customClass:"tooltip-copy-link",title:"Copy Link to Section",placement:"bottom",offset:"-30,5"});e.addEventListener("click",function(o){o.preventDefault();const n=e.closest("section");if(n&&n.id){const o=window.location.origin+window.location.pathname+"#"+n.id;(async()=>{try{await navigator.clipboard.writeText(o),console.log("Section URL copied to clipboard:",o),t.hide(),t.dispose(),(t=new bootstrap.Tooltip(e,{customClass:"tooltip-copy-link copied",title:"Link Copied",placement:"bottom",offset:"-15,5"})).show(),e.classList.add("copied"),setTimeout(function(){t.hide(),t.dispose(),t=new bootstrap.Tooltip(e,{customClass:"tooltip-copy-link",title:"Copy Link to Section",placement:"bottom"}),e.classList.remove("copied")},3e3)}catch(e){console.error("Failed to copy: ",e)}})()}else console.warn("Section element or ID not found")})});const u=document.querySelectorAll(".topic-item");function f(){const e=document.querySelector(".main-header"),t=(e?e.offsetHeight:0)+20,o=[];u.forEach(function(e){const t=e.getAttribute("href");if(t&&t.startsWith("#")){const n=document.querySelector(t);n&&o.push({section:n,link:e,id:t})}});let n=null;const i=window.pageYOffset+t;for(let e=o.length-1;e>=0;e--){const t=o[e];if(i>=t.section.offsetTop){n=t;break}}!n&&o.length>0&&(n=o[0]),u.forEach(function(e){e.classList.remove("active")}),n&&n.link.classList.add("active")}let m;if(u.forEach(function(e){e.addEventListener("click",function(t){t.preventDefault();const o=e.getAttribute("href");if(o&&o.startsWith("#")){const t=document.querySelector(o);if(t){const o=document.querySelector(".main-header"),n=(o?o.offsetHeight:0)+20,i=t.getBoundingClientRect().top+window.pageYOffset-n;if(window.scrollTo({top:i,behavior:"smooth"}),e.closest(".dropdown-menu")){const t=bootstrap.Dropdown.getInstance(e.closest(".dropdown-toggle"));t&&t.hide()}}}})}),document.querySelectorAll(".arrow-down").forEach(function(e){e.addEventListener("click",function(t){t.preventDefault();const o=e.closest("section");if(o){let e=o.nextElementSibling;for(;e&&"SECTION"!==e.tagName;)e=e.nextElementSibling;if(e){const t=document.querySelector(".main-header"),o=(t?t.offsetHeight:0)+20,n=e.getBoundingClientRect().top+window.pageYOffset-o;window.scrollTo({top:n,behavior:"smooth"})}}})}),window.addEventListener("scroll",function(){m&&clearTimeout(m),m=setTimeout(f,10)}
1),f(),madeoApp.fontLoaded("GT America",e=>{if(document.querySelector(".caption-container")){new AdvancedCaptionPlugin(".caption-container",{defaultRows:2,truncateBy:"letters",fadeEffect:!1,expandText:"Read More",collapseText:"Read Less"})}}),o){const t=document.querySelector(".header-homepage");window.HeaderLock=HeaderLock;const i=new HeaderLock("#main-header",{offset:t?t.getBoundingClientRect().height-window.innerHeight:500,revealOffset:200,hideOffset:200,offsetElement:"#wrapper",readyClass:"ready-for-lock",lockedClass:"header-locked",unlockTimeout:300});let s=!1;const r=o.getBoundingClientRect().height,c=o.querySelectorAll("li");window.addEventListener("scroll",function(){s||(s=!0,window.requestAnimationFrame(function(){const e=window.scrollY>r;o.classList.toggle("out-of-viewport",e),e&&!o.classList.contains("header-locked")&&c.forEach(e=>e.classList.remove("hover")),s=!1}))});const l=e=>{"li"===e.target.tagName.toLowerCase()&&e.target.classList.toggle("hover","mouseenter"===e.type)};if(o.addEventListener("mouseenter",l,!0),o.addEventListener("mouseleave",l,!0),e.classList.contains("global-search-page"))o.classList.add("search-active"),i.freeze();else{const t=o.querySelector(".search-trigger"),n=o.querySelector(".search-close");t.addEventListener("click",function(t){t.preventDefault(),o.classList.add("search-active"),e.classList.add("search-active"),i.freeze()}),n.addEventListener("click",function(t){return t.preventDefault(),e.classList.remove("search-active"),setTimeout(function(){o.classList.remove("search-active"),i.unfreeze()},300),!1}),document.addEventListener("click",function(t){if(e.classList.contains("search-active")){const n=document.getElementById("search-overlay"),s=n?n.querySelector(".container"):null;o.contains(t.target)||s&&s.contains(t.target)||(t.preventDefault(),e.classList.remove("search-active"),setTimeout(function(){o.classList.remove("search-active"),i.unfreeze()},300))}}),document.addEventListener("keydown",function(t){"Escape"===t.key&&e.classList.contains("search-active")&&(t.preventDefault(),e.classList.remove("search-active"),setTimeout(function(){o.classList.remove("search-active"),i.unfreeze()},300))})}n.querySelectorAll(".menu-item-header").forEach(e=>{if(!e.parentElement.querySelector(".sub-menu"))return;e.addEventListener("click",function(t){t.preventDefault(),e.closest("li").classList.toggle("active")});const t=e.parentElement.querySelector("a");!t||t.hasAttribute("href")&&"#"!==t.getAttribute("href")||t.addEventListener("click",function(t){t.preventDefault(),e.closest("li").classList.toggle("active")})}),n.querySelectorAll(".sub-menu-items").forEach(e=>{const t=e.getBoundingClientRect().height;e.parentElement.style.setProperty("--sub-menu-height",`${t}px`),madeoApp.fnObserver.push(()=>{e.parentElement.style.setProperty("--sub-menu-height",`${t}px`)}),madeoApp.generalObserver.observe(e.parentElement)});const a=window.location.href;n.querySelectorAll(".sub-menu-items > a").forEach(e=>{const t=e.getAttribute("href");if(t){new URL(t,window.location.origin).href===a&&e.classList.add("current-item")}}),n.addEventListener("show.bs.offcanvas",function(){if(e.classList.add("menu-opened"),o.classList.contains("header-locked")){const e=document.createElement("span");e.classList.add("menu-cover","background-white"),n.insertAdjacentElement("beforebegin",e)}}),n.addEventListener("hide.bs.offcanvas",function(){e.classList.remove("menu-opened")}),n.addEventListener("hidden.bs.offcanvas",function(){}),e.classList.contains("global-search-page")&&(o.classList.add("search-active"),i.freeze())}document.querySelector(".block-search-results")&&document.querySelector(".block-search-results").querySelectorAll(".item").forEach(e=>{e.querySelectorAll("a").forEach(t=>{t.addEventListener("mouseenter",function(){e.classList.add("hover")}),t.addEventListener("mouseleave",function(){e.classList.remove("hover")})})});const p=document.querySelectorAll("section");p.length>0&&p.forEach(e=>{if(!e.classList.contains("no-background")){let t=window.getComputedStyle(e).getPropertyValue("background-color");
1t=t.includes("rgba")?"#F3ECE3 (50%)":t,e.setAttribute("data-color",madeoApp.rgbToHex(t)),e.style.setProperty("--data-color",madeoApp.rgbToHex(t))}}),madeoApp.checkForBackgroundClass("section");new VideoModalPlugin({triggerSelector:"[data-bs-target-js='#videoModal']",modalSelector:"#videoModal",onOpen:()=>{const e=document.querySelector("#videoModal"),t=t=>{const o=e.querySelector(".content-col");if(o&&!o.contains(t.target)&&!t.target.classList.contains("close-btn")){const t=bootstrap.Modal.getInstance(e);t&&t.hide()}};e.addEventListener("click",t),e.addEventListener("hidden.bs.modal",()=>{e.removeEventListener("click",t)},{once:!0})}}),new HeightDetectPlugin({selector:".height-detect",activeClass:"active"}),[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map(e=>new bootstrap.Tooltip(e));document.querySelector(".richtext")&&function(){let e=document.querySelectorAll(".richtext");for(let[t,o]of Object.entries(e)){let e=o.querySelectorAll("iframe");for(let[t,o]of Object.entries(e)){let e=o.getAttribute("src"),t=!1,n="";switch(!0){case e.includes("vimeo"):n="vimeo",t=!0;break;case e.includes("youtube"):n="youtube",t=!0;break;case e.includes("wistia"):n="wistia",t=!0}if(1==t){let e=document.createElement("div");e.classList.add("iframe-video-holder",n),o.parentNode.insertBefore(e,o),e.appendChild(o)}}}}(),document.querySelector(".scroll-to-btn")&&scrollToSection(".scroll-to-btn");var g=window.innerHeight;function h(){const e=document.querySelector("#sidebar");if(!e)return;const t=document.querySelector("#content"),o=document.querySelectorAll('section[class*="block-header-"]'),n=document.querySelectorAll('section[class*="block-related-"]'),i=e.offsetWidth;let s=0,r=0;o.forEach(e=>{s+=e.offsetHeight;const t=e.nextElementSibling;if(t){const o=t.offsetTop-(e.offsetTop+e.offsetHeight);r+=o}}),n.forEach(e=>{s+=e.offsetHeight});let c=t.offsetHeight-s-r,l=0;if(o.length>0){const e=o[0].nextElementSibling;e&&(l=e.offsetTop)}e.style.setProperty("--sidebar-height",`${c}px`),e.style.setProperty("--sidebar-offset",`${l}px`),console.log("Sidebar dimensions:",{height:c,width:i,offset:l,spacingExcluded:r})}function v(){const e=document.querySelector("#Report_sub_nav");if(!e)return;const t=document.querySelector("#content"),o=document.querySelectorAll('section[class*="block-header-"]'),n=e.offsetWidth;let i=0;o.forEach(t=>{i+=t.offsetHeight;const o=e.nextElementSibling;console.log(o)});let s=t.offsetHeight-i-120,r=0;if(o.length>0){const e=o[0].nextElementSibling;e&&(r=e.nextElementSibling.offsetTop,console.log(r))}e.style.setProperty("--Report_sub_nav-height",`${s}px`),e.style.setProperty("--Report_sub_nav-offset",`${r}px`),console.log("Report_sub_nav dimensions:",{height:s,width:n,offset:r,spacingExcluded:0})}window.addEventListener("resize",function(){var e=window.innerHeight;e<g?(!0,console.log("Keyboard is visible"),g=e):e>g&&(!1,console.log("Keyboard is hidden"))}),h(),madeoApp.fnObserver.push(h),madeoApp.generalObserver.observe(madeoApp.selectors.body),v(),madeoApp.fnObserver.push(v),madeoApp.generalObserver.observe(madeoApp.selectors.body),function(){const e=document.querySelectorAll(".filter-container");e&&e.forEach(e=>{let t=e.querySelector(".clear-filters"),o=e.querySelector(".text-button"),n=e.querySelectorAll(".filter-list a"),i=e.querySelectorAll(".filter-item.selected").length;o.querySelector("span").innerText=`(${i})`,t.querySelector("a").addEventListener("click",function(e){e.preventDefault(),n.forEach(e=>{e.classList.remove("selected"),e.classList.remove("active")}),t.classList.add("d-none"),o.querySelector("span").classList.add("d-none")}),n.forEach(n=>{n.addEventListener("click",function(s){s.preventDefault(),n.classList.toggle("selected"),i=e.querySelectorAll(".filter-item.selected").length,console.log(i),0==i?(t.classList.add("d-none"),o.querySelector("span").classList.add("d-none")):(o.querySelector("span").innerText=`(${i})`,t.classList.remove("d-none"),o.querySelector("span").classList.remove("d-none"))})})})}();const y=document.querySelector("#footer-lottie");if(y){function w(){const e=y.querySelector("svg");if(e){const t=e.getAttribute("viewBox"),[o,n]=t.split(" ").slice(2).map(Number),i=1*window.innerWidth,s=i*(650/1440);e.setAttribute("width",i),e.setAttribute("height",s),e.style.width=i+"px",e.style.height=s+"px",e.setAttribute("preserveAspectRatio","xMidYMid meet")}}console.log("Initializing Lottie animation...");let e=!1,t=null,o=window.scrollY,n=0,i=!1,s="down",r=0,c=500,l=!1,a="down";function b(){if(e)return;e=!0;const o=y.getAttribute("data-src");fetch(o).then(e=>{if(!e.ok)throw new Error("Failed to load Lottie file");return e.json()}).then(e=>{(function(e){e.addEventListener("DOMLoaded",()=>{console.log("Animation DOM loaded and ready"),setTimeout(()=>{w()},100);const e=y.getBoundingClientRect();e.top>=0&&e.bottom<=window.innerHeight&&window.innerHeight+window.scrollY>=document.body.offsetHeight-100&&(console.log("Footer already in viewport - playing animation immediately"),L())}),e.addEventListener("complete",()=>{console.log("Animation completed"),l=!1}),e.addEventListener("error",e=>{console.error("Lottie animation error:",e)})})(t=lottie.loadAnimation({container:y,renderer:"svg",loop:!1,autoplay:!1,animationData:e})),setTimeout(()=>{w()},100)}).catch(e=>{console.log("Glisten logo animation failed, using fallback...",e),y.innerHTML='\n            <div style="width: 100px; height: 100px; background: red; border-radius: 50%; margin: 50px auto; animation: spin 2s linear infinite;"></div>\n            <style>\n              @keyframes spin {\n                0% { transform: rotate(0deg); }\n                100% { transform: rotate(360deg); }\n              }\n            </style>\n          ',console.log("Fallback HTML animation created")})}function L(e=!1){t?requestAnimationFrame(()=>{try{if(console.log("Footer is in viewport - playing animation",e?"(reverse)":"(forward)"),e){const e=Math.floor(t.currentFrame||0),o=t.totalFrames;let n=e;n<=1&&(n=o),t.setDirection(-1),t.playSegments([n,0],!0),console.log("Reverse animation started",{currentFrame:e,startFrame:n,totalFrames:o,direction:-1})}else t.setDirection(1),t.goToAndPlay(0,!0);console.log("Animation play() called successfully",{reverse:e,currentFrame:t.currentFrame,totalFrames:t.totalFrames})}catch(e){console.error("Error playing animation:",e)}}):console.log("Animation not loaded yet")}window.addEventListener("scroll",()=>{const e=window.scrollY;s=e>o?"down":e<o?"up":s,o=e},{passive:!0}),new IntersectionObserver(d=>{d.forEach(d=>{d.isIntersecting&&!e&&b();const u=window.scrollY,f=u>=o;(!d.isIntersecting||d.intersectionRatio<.1)&&(i=!1);const m=d.isIntersecting&&d.intersectionRatio>=.13,p=d.intersectionRatio>
1=.3&&n<.3,g=d.isIntersecting&&(p||d.intersectionRatio>n&&d.intersectionRatio>=.3),h=d.intersectionRatio<n,v="up"===s&&"down"===a;if(g&&!i&&e&&t&&(f||0===o)&&"down"===s)console.log("Footer is in view - playing animation forward",{intersectionRatio:d.intersectionRatio,lastRatio:n,scrollDirection:s,currentScrollY:u,lastScrollY:o,crossedThreshold:p}),i=!0,l=!1,setTimeout(()=>{L(!1)},100);else if(m&&e&&t&&v&&!l){const e=Date.now();e-r>=c&&(console.log("Scrolling up on footer - playing animation reverse",{intersectionRatio:d.intersectionRatio,lastRatio:n,scrollDirection:s,previousDirection:a,isRatioDecreasing:h}),r=e,l=!0,i=!1,setTimeout(()=>{L(!0)},100))}s!==a&&(a=s),n=d.intersectionRatio,o=u})},{threshold:[0,.1,.3,.5,.9,1],rootMargin:"20px"}).observe(y);const d=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&!e&&(b(),d.disconnect())})},{rootMargin:"600px 0px",threshold:0});d.observe(y),window.addEventListener("resize",()=>{w()})}function E(e){const t=e+"=",o=document.cookie.split(";");for(let e=0;e<o.length;e++){let n=o[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return n.substring(t.length,n.length)}return null}function S(){const t=document.querySelector(".top-announcement");if(!t||t.classList.contains("hide")||t.classList.contains("hiding"))e.style.setProperty("--announcement-bar-height","0px");else{const o=t.offsetHeight;e.style.setProperty("--announcement-bar-height",o+"px"),console.log("Announcement bar height updated:",o+"px")}}function A(){document.querySelectorAll(".custom-input-black").forEach(function(e){function t(){e.value&&""!==e.value.trim()?e.classList.add("has-value"):e.classList.remove("has-value")}t(),e.addEventListener("input",t),e.addEventListener("change",t),e.addEventListener("blur",t)})}function q(){document.querySelectorAll(".custom-dropdown").forEach(function(e){const t=e.querySelector(".dropdown-toggle"),o=e.querySelectorAll(".dropdown-item");t&&o.length>0&&o.forEach(function(e){e.addEventListener("click",function(e){e.preventDefault();const n=this.textContent.trim();t.textContent=n,o.forEach(function(e){e.classList.remove("selected")}),this.classList.add("selected");const i=bootstrap.Dropdown.getInstance(t);i&&i.hide()})})})}document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector(".popupModal-trigger"),t=document.querySelector("#popupModal");e&&t&&(function(e){return null!==E(e)}("popupModalClosed")||e.click())}),document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("#popupModal");e&&e.addEventListener("hidden.bs.modal",function(){!function(e,t,o){let n="";if(o){const e=new Date;e.setTime(e.getTime()+24*o*60*60*1e3),n="; expires="+e.toUTCString()}document.cookie=e+"="+(t||"")+n+"; path=/"}("popupModalClosed","true",365),console.log("Popup modal closed - cookie set")})}),E("popupModalClosed"),document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector(".top-announcement"),t=e?e.querySelector(".close-btn"):null;let o;e&&(()=>{try{return"true"===localStorage.getItem("topAnnouncementClosed")}catch(e){return!1}})()&&(e.classList.add("hide"),document.documentElement.classList.add("top-announcement-hide")),S(),window.addEventListener("resize",function(){clearTimeout(o),o=setTimeout(function(){S()},100)}),t&&t.addEventListener("click",function(t){if(t.preventDefault(),e.classList.contains("hiding"))return;e.classList.add("hiding"),(()=>{try{localStorage.setItem("topAnnouncementClosed","true")}catch(e){}})();const o=setInterval(function(){e.classList.contains("hide")?(clearInterval(o),S()):S()},16);(function(e,t=300){return new Promise(o=>{if(!e)return void o();const n=e.offsetHeight,i=performance.now();e.style.height=n+"px",e.style.overflow="hidden",e.style.transition="none",e.offsetHeight,requestAnimationFrame(function s(r){const c=r-i,l=Math.min(c/t,1),a=l<.5?2*l*l:1-Math.pow(-2*l+2,2)/2,d=n*(1-a);e.style.height=d+"px",l<1?requestAnimationFrame(s):(e.style.height="0",e.style.paddingTop="0",e.style.paddingBottom="0",e.style.margin="0",o())})})})(e,300).then(()=>{e.classList.add("hide"),clearInterval(o),S()})})}),document.addEventListener("DOMContentLoaded",function(){const e=document.getElementById("reading-progress-bar"),t=e?e.querySelector(".reading-progress-fill"):null;if(!e||!t)return;function o(){const e=window.innerHeight,o=document.documentElement.scrollHeight,n=window.pageYOffset||document.documentElement.scrollTop,i=o-e,s=i>0?n/i*100:0;t.style.width=Math.min(100,Math.max(0,s))+"%",t.style.setProperty("--reading-progress-fill-width",s+"%")}let n;window.addEventListener("scroll",function(){n&&cancelAnimationFrame(n),n=requestAnimationFrame(o)}),o()}),A(),madeoApp.fnObserver.push(A),q(),madeoApp.fnObserver.push(q)}();

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.