Files of German airspaces and borders and waypoints available
The txt. and cup. files containing the German borders and airspaces are available on the competition homepage of LSR Aalen.
The txt. and cup. files containing the German borders and airspaces are available on the competition homepage of LSR Aalen.
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'; });