document.addEventListener('DOMContentLoaded', function () { const searchForm = document.getElementById('searchForm'); const videoContainer = document.getElementById('videoContainer'); const regenerateBtn = document.getElementById('regenerateBtn'); const yearInput = document.getElementById('yearInput'); let lastSearchedYear = ''; function showSpinner() { videoContainer.innerHTML = `
Loading...
`; } function showError(message) { videoContainer.innerHTML = ``; regenerateBtn.style.display = 'none'; } function displayVideo(videoUrl) { if (videoUrl.includes('youtube.com')) { videoContainer.innerHTML = ``; } else { videoContainer.innerHTML = ``; } regenerateBtn.style.display = 'block'; } async function fetchAndDisplayAd(year) { lastSearchedYear = year; showSpinner(); regenerateBtn.style.display = 'none'; try { const response = await fetch(`api.php?year=${year}`); if (!response.ok) { throw new Error('Network response was not ok.'); } const data = await response.json(); if (data.videoUrl) { displayVideo(data.videoUrl); } else { showError('No video found for this year. Please try another.'); } } catch (error) { console.error('Error fetching ad:', error); showError('Failed to fetch video. Please try again later.'); } } searchForm.addEventListener('submit', function (e) { e.preventDefault(); const year = yearInput.value; if (year) { fetchAndDisplayAd(year); } }); regenerateBtn.addEventListener('click', function () { if (lastSearchedYear) { fetchAndDisplayAd(lastSearchedYear); } }); });