1/******* Do not edit this file ******* 2Simple Custom CSS and JS - by Silkypress.com 3Saved: Apr 27 2026 | 20:22:22 */ 4document.addEventListener('DOMContentLoaded', function () { 5 const body = document.body; 6 if (!body.classList.contains('system-overview-page')) return; 7 8 body.classList.add('black-primary-active'); 9 const tabButtons = document.querySelectorAll('#system-tabs .e-n-tab-title'); 10 const tabArray = Array.from(tabButtons); 11 const coloredSection = document.querySelector('.colored-section'); 12 13 const tabClasses = { 14 1: 'coral-primary-active', 15 2: 'green-primary-active', 16 3: 'blue-primary-active', 17 4: 'yellow-primary-active', 18 5: 'black-primary-active' 19 }; 20 21 const colorClasses = Object.values(tabClasses); 22 const overviewClass = 'system-overview-page-active'; 23 24 const prevTextElement = document.createElement("div"); 25 prevTextElement.className = "keoch-tab-prev-text"; 26 27 const nextTextElement = document.createElement("div"); 28 nextTextElement.className = "keoch-tab-next-text"; 29 30 const navContainer = document.querySelector(".keoch-tabs-navigation"); 31 if (navContainer) { 32 navContainer.appendChild(prevTextElement); 33 navContainer.appendChild(nextTextElement); 34 } 35 36 function getActiveTabIndex() { 37 const activeTab = document.querySelector('.e-n-tab-title[aria-selected="true"][aria-clicked="true"]'); 38 return activeTab ? parseInt(activeTab.getAttribute('data-tab-index')) : null; 39 } 40 41 function applyColorClassFromActiveTab() { 42 const index = getActiveTabIndex(); 43 if (!index || !tabClasses[index]) return; 44 45 colorClasses.forEach(cls => body.classList.remove(cls)); 46 body.classList.remove(overviewClass); 47 48 49 body.classList.add(tabClasses[index]); 50 body.classList.add(overviewClass); 51 } 52 53 function updatePrevNext(index) { 54 const total = tabArray.length; 55 const prevIndex = (index - 1 + total) % total; 56 const nextIndex = (index + 1) % total; 57 58 const prevSpan = tabArray[prevIndex].querySelector(".e-n-tab-title-text > span"); 59 const nextSpan = tabArray[nextIndex].querySelector(".e-n-tab-title-text > span"); 60 61 prevTextElement.textContent = prevSpan ? prevSpan.textContent.trim() : ""; 62 nextTextElement.textContent = nextSpan ? nextSpan.textContent.trim() : ""; 63 } 64 65 tabArray.forEach((tab, index) => { 66 tab.addEventListener('click', function () { 67 tabArray.forEach((t) => t.setAttribute("aria-selected", "false")); 68 this.setAttribute("aria-selected", "true"); 69 this.setAttribute("aria-clicked", "clicked"); 70 body.classList.remove('black-primary-active'); 71 applyColorClassFromActiveTab(); 72 updatePrevNext(index); 73 }); 74 }); 75 76 const systemArrows = document.querySelectorAll('.system-tabs .keoch-tab-prev, .system-tabs .keoch-tab-next, .system-tabs .keoch-tab-dot'); 77 systemArrows.forEach(arrow => { 78 arrow.addEventListener('click', () => { 79 const selectedTab = document.querySelector('.system-tabs .e-n-tab-title[aria-selected="true"][aria-clicked="true"]'); 80 if (selectedTab) selectedTab.click(); 81 }); 82 }); 83 84 // Initial setup 85 //applyColorClassFromActiveTab(); 86 //const selectedTab = tabArray.find((tab) => tab.getAttribute("aria-selected") === "true"); 87 //const selectedIndex = tabArray.indexOf(selectedTab); 88 //updatePrevNext(selectedIndex); 89 90 // Scroll logic 91 /*let wasOutOfView = true; 92 document.addEventListener('scroll', function () { 93 if (!coloredSection) return; 94 95 const rect = coloredSection.getBoundingClientRect(); 96 const isInView = rect.top <= 0 && rect.bottom > 0; 97 const isOutOfView = rect.bottom <= 0 || rect.top >= window.innerHeight; 98 99 if (isInView && wasOutOfView) { 100 applyColorClassFromActiveTab(); 101 wasOutOfView = false; 102 } else if (isOutOfView) { 103 colorClasses.forEach(cls => body.classList.remove(cls)); 104 body.classList.remove(overviewClass); 105 wasOutOfView = true; 106 } 107 });*/ 108});
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.