`; } 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 dove into the latest data to look at migration shifts, office trends and the impact that these factors have on retail performance. Leveraging the latest location analytics, we looked at how performance could shift in the coming months, the areas to watch in the coming years and how a range of disparate factors could impact retail and office performance.