document.addEventListener('DOMContentLoaded', function () { // 1. Target the accordion container for event delegation var accordionWrapper = document.querySelector('.accordion'); // 1. Individual Accordion Header Toggles if (accordionWrapper) { accordionWrapper.addEventListener('click', function (event) { // Walk up from the click target to find the accordion button var trigger = event.target.closest('.accordion-trigger'); if (!trigger) return; // Prevent default action to ensure clean execution event.preventDefault(); var isOpen = trigger.getAttribute('aria-expanded') === 'true'; var targetId = trigger.getAttribute('aria-controls'); var targetPanel = document.getElementById(targetId); trigger.setAttribute('aria-expanded', !isOpen); if (targetPanel) { targetPanel.style.display = isOpen ? 'none' : 'block'; } }); } // 2. Master Show/Hide All Button Toggle var masterBtn = document.getElementById('btnToggleAccordions'); if (masterBtn) { masterBtn.addEventListener('click', function () { var triggers = document.querySelectorAll('.accordion-trigger'); var isExpanding = (this.textContent.trim() === 'Show All Previous Recipients'); for (var idx = 0; idx < triggers.length; idx++) { var targetId = triggers[idx].getAttribute('aria-controls'); var targetPanel = document.getElementById(targetId); triggers[idx].setAttribute('aria-expanded', isExpanding); if (targetPanel) { targetPanel.style.display = isExpanding ? 'block' : 'none'; } } this.textContent = isExpanding ? 'Hide All Previous Recipients' : 'Show All Previous Recipients'; }); } });