let timeTaken = 0;
let destination = [
{
name: "North Pole",
distanceFromPrevDestination: 2800,
bgImage: "images/christmas-4676455_1920.jpg"
},
{
name: "Munich",
distanceFromPrevDestination: 2892,
bgImage: "images/munich-2516492_1920.jpg"
},
{
name: "Kiev",
distanceFromPrevDestination: 1111,
bgImage: "images/kiev-3795060_1920.jpg"
},
{
name: "Ulaanbaatar",
distanceFromPrevDestination: 5324,
bgImage: "images/monument-6623161_1920.jpg"
},
{
name: "Sydney",
distanceFromPrevDestination: 5458,
bgImage: "images/sydney-opera-house-363244_1920.jpg"
},
{
name: "Tijuana",
distanceFromPrevDestination: 6531,
bgImage: "images/cecut-323466_1920.jpg"
},
{
name: "Chicago",
distanceFromPrevDestination: 1729,
bgImage: "images/buildings-1804479_1920.jpg"
}
];
function calculateSpeed() {
let speed = 0;
currentLocation = select.value;
timeTaken = time.value;
let displayOverallAvg = 0;
if (time.value > 0) {
destination.forEach(destination => {
if (destination.name === currentLocation) {
speed = Math.round(destination.distanceFromPrevDestination / timeTaken);
destinationsCounter++;
avgOverallSpeedSum = avgOverallSpeedSum + speed;
displayOverallAvg = Math.round(avgOverallSpeedSum / destinationsCounter);
speedometer.textContent = `${speed}`;
overallAvgDisplay.textContent = `${displayOverallAvg}`;
}
});
} else {
alert("Please enter a valid time");
}
time.value = "";
}
function changeBG() {
destination.forEach(destination => {
if (destination.name === select.value) {
body.style.backgroundImage = `url(${destination.bgImage})`
}
});
}
select.addEventListener("change", changeBG);
btnCalculate.addEventListener("click", calculateSpeed);
// Task:
// - Retrieve distance from previous destination from array of objects.
// - Calculate speed and round speed to an integer (whole number).
// - Display speed in speedometer paragraph.
// Stretch goals:
// - Calculate average overall speed.
// - Display location as North Pole on pageload.
const body = document.querySelector("body");
const speedometer = document.getElementById("currentavg");
const overallAvgDisplay = document.getElementById("overallavg");
const select = document.getElementById("select");
const time = document.getElementById("time");
const btnCalculate = document.getElementById("btncalculate");
let avgOverallSpeedSum = 0;
let destinationsCounter = 0;
let currentLocation = "";