`; } 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 contentThe suburbs are on the rise, but what does this mean for urban retail? In this webinar, we dive into the latest location analytics to analyze the challenges and opportunities in the urban retail environment. From the ongoing impact of migration trends to a potential return to the office, we examine the key trends impacting this market and what they mean for retail, restaurants, and hospitality.