`; } else { vimeoIframeHtml = 'Vimeo: No "wcag" parameter found in the URL.'; } // --- Generate YouTube Iframe HTML --- if (youtubeVideoId) { const youtubeEmbedUrl = `https://www.youtube.com/embed/${youtubeVideoId}?rel=0`; youtubeIframeHtml = ` `; } else { youtubeIframeHtml = 'YouTube: No "yt" parameter found in the URL.'; } // --- Conditional Hiding for #wcag-buttons --- const wcagButtons = document.getElementById('wcag-buttons'); if (wcagButtons) { if (!vimeoVideoId || vimeoVideoId.trim() === '') { wcagButtons.style.display = 'none'; } } // --- 2. DEFINE & INITIALIZE CONTAINER CONTENTS --- const videoContainers = [ { id: 'standard', buttonId: 'tab-button-1', content: youtubeIframeHtml }, { id: 'accesible', buttonId: 'tab-button-2', content: vimeoIframeHtml } ]; // 3. Set the initial HTML content for both tabs and set display state videoContainers.forEach(item => { const containerElement = document.getElementById(item.id); if (containerElement) { containerElement.innerHTML = item.content; if (item.id !== 'standard') { containerElement.style.display = 'none'; } } }); // --- 4. TAB SWITCHING LOGIC --- function switchTab(activeId) { videoContainers.forEach(item => { const container = document.getElementById(item.id); const button = document.getElementById(item.buttonId); if (!container || !button) return; if (item.id === activeId) { // ACTIVE tab: Restore content (iframe), show container, and ADD active class container.innerHTML = item.content; container.style.display = 'block'; button.classList.add('active-tab'); } else { // INACTIVE tab: Clear content (stops video), hide container, and REMOVE active class container.innerHTML = ''; container.style.display = 'none'; button.classList.remove('active-tab'); } }); } // --- 5. ATTACH EVENT LISTENERS & INITIAL STATE --- videoContainers.forEach(item => { const button = document.getElementById(item.buttonId); if (button) { button.addEventListener('click', () => switchTab(item.id)); } }); // Initial state: Show the YouTube tab on page load switchTab('standard'); });
Skip to main contentIn this webinar, we will break down some of the most exciting technologies and innovations that could impact the wider retail and retail estate spaces. From the trends that could redefine retail spaces to those far less likely to move the needle, we will dive into the biggest innovation narratives.