Pilots registration list available - 20m class @sgplab
The current registration list of the two seater glider GrandPrix is published now !
The current registration list of the two seater glider GrandPrix is published now !
No upcoming events.
'; } // Populate the "Upcoming" tab with remaining upcoming events upcomingEvents.forEach(event => { const clonedEvent = event.cloneNode(true); upcomingTab.appendChild(clonedEvent); }); // Populate the "Past" tab pastEvents.forEach(event => { const clonedEvent = event.cloneNode(true); pastTab.appendChild(clonedEvent); }); // Populate the "Event Grid" (all events) const allSortedEvents = [nextTab.querySelector('.event-card') ? nextTab.querySelector('.event-card').cloneNode(true) : null, ...upcomingEvents, ...pastEvents].filter(Boolean); allSortedEvents.sort((a, b) => { const dateA = new Date(a.getAttribute('data-start-date')); const dateB = new Date(b.getAttribute('data-start-date')); return dateA - dateB; }); allSortedEvents.forEach(event => { const clonedEvent = event.cloneNode(true); eventGrid.appendChild(clonedEvent); }); // Tab functionality const tabButtons = document.querySelectorAll('.tab-btn'); const tabPanes = document.querySelectorAll('.tab-pane'); tabButtons.forEach(button => { button.addEventListener('click', function() { tabButtons.forEach(btn => btn.classList.remove('active')); tabPanes.forEach(pane => pane.classList.remove('active')); this.classList.add('active'); const tabId = this.getAttribute('data-tab'); document.getElementById(tabId).classList.add('active'); }); }); // Toggle functionality for the title arrow const title = document.querySelector('.serie-12-title'); const eventTabs = document.querySelector('.event-tabs'); title.addEventListener('click', function() { this.classList.toggle('active'); eventGrid.style.display = eventGrid.style.display === 'none' ? 'grid' : 'none'; eventTabs.style.display = eventGrid.style.display === 'none' ? 'block' : 'none'; }); // Initialize with only Next tab visible eventGrid.style.display = 'none'; });