"use strict";
var mouseX, mouseY;
denmark.onmousemove = event => {
zip.style.display = "none";
var rect = denmark.getBoundingClientRect();
mouseX = event.x - rect.left;
mouseY = event.y - rect.top;
var oldMouseX = mouseX, oldMouseY = mouseY;
setTimeout(() => {
if (!mouseX || !mouseY || oldMouseX != mouseX || oldMouseY != mouseY) return;
showZipCode();
}, 200);
};
denmark.onclick = event => {
var rect = denmark.getBoundingClientRect();
mouseX = event.x - rect.left;
mouseY = event.y - rect.top;
ShowZipCode();
};
denmark.onmouseleave = () => {
mouseX = mouseY = null;
};
function showZipCode() {
var coordX = mouseX / denmark.clientWidth * 8 + 6.2;
var coordY = Math.abs(mouseY / denmark.clientHeight * 3.6 - 57.93);
coords.innerHTML = `${coordX}
${coordY}`;
var xhr = new XMLHttpRequest;
xhr.onload = () => {
if (xhr.status === 200)
eval(xhr.responseText);
else
onZipError();
}
xhr.open("GET", `https://api.dataforsyningen.dk/postnumre/reverse?x=${coordX}&y=${coordY}&callback=onZipFound`);
xhr.send();
}
function onZipFound(data) {
zip.innerHTML = `${data.nr} ${data.navn}`;
zip.style.left = (mouseX+3) + "px";
zip.style.top = (mouseY+3) + "px";
zip.style.display = "block";
}
function onZipError() {
zip.innerHTML = "Postnummer ikke fundet";
zip.style.left = (mouseX+3) + "px";
zip.style.top = (mouseY+3) + "px";
zip.style.display = "block";
}