function setBackgroundImage(currentSeason) { // Randomly select a background appropriate for the season let selectedBackground = userBackgrounds[currentSeason][Math.floor(Math.random() * userBackgrounds[currentSeason].length)]; document.body.style.backgroundImage = `url(images/${currentSeason}/backgrounds/${selectedBackground}.jpg)`; // Art credit document.body.alt = `Image courtesy of ${selectedBackground.slice(0, -2)}`; console.log(`Background image courtesy of ${selectedBackground.slice(0, -2)}`); } function setSeasonal(currentSeason, nextSeason) { document.title = "It's " + currentSeason + " in Horizon"; document.getElementById("season-splash").src = `images/${currentSeason}/${currentSeason}-splash.svg`; document.getElementById("countdown-title").textContent = nextSeason + " starts in"; setBackgroundImage(currentSeason); } function setCountdown(days, hours, minutes, seconds) { // Set all the times document.getElementById("days").textContent = days; document.getElementById("hours").textContent = hours; document.getElementById("minutes").textContent = minutes; // Pad the seconds to two digits document.getElementById("seconds").textContent = (seconds > 9) ? seconds : ("0" + seconds); // Hide the days if there are zero full days left if (days === 0) { document.getElementById("days").style.display = "none"; document.getElementById("days-label").style.display = "none"; } else { document.getElementById("days").style.display = ""; document.getElementById("days-label").style.display = ""; } // Hide the hours if there are zero full hours AND days left if (hours === 0 && days === 0) { document.getElementById("hours").style.display = "none"; document.getElementById("hours-label").style.display = "none"; } else { document.getElementById("hours").style.display = ""; document.getElementById("hours-label").style.display = ""; } // Hide the minutes if there are zero full minutes, hours, AND days left if (minutes === 0 && hours === 0 && days === 0) { document.getElementById("minutes").style.display = "none"; document.getElementById("minutes-label").style.display = "none"; } else { document.getElementById("minutes").style.display = ""; document.getElementById("minutes-label").style.display = ""; } if (days === 0 && hours === 0) { // If there are no full hours or days left, show the seconds document.getElementById("seconds").style.display = ""; document.getElementById("seconds-label").style.display = ""; // If there are also no minutes left, show the full "seconds" label if (minutes === 0) { document.getElementById("seconds-label").textContent = "SECONDS"; } else { document.getElementById("seconds-label").textContent = "S"; } } else { document.getElementById("seconds").style.display = "none"; document.getElementById("seconds-label").style.display = "none"; } }