const cd = {
  default: 60,
  wait: undefined,
  interval: undefined
};

function decrement() {
  let wait = document.getElementById("wait");
  let duration = wait.querySelector("span");
  cd.wait--;
  if (cd.wait > 0) {
    if (cd.wait == 1) {
      duration.innerHTML = `1 second`;
    } else {
      duration.innerHTML = `${cd.wait} seconds`;
    }
  } else {
    clearInterval(cd.interval);
    wait.innerHTML = "";
  }
}

function countdown(n) {
  let wait = document.getElementById("wait");
  wait.innerHTML = ` (Wait <span>${n} seconds</span>)`;
  cd.wait = n;
  cd.interval = setInterval(decrement, 1000);
}

function refresh() {
  if (cd.wait > 0) return;
  let img  = document.getElementById("captcha");
  let r    = "mainpage";
  let m    = location.pathname.match(/(\d+).html/);
  if (m) r = `res${m[1]}`;
  let now  = Math.floor(Date.now() / 1000);
  let src  = `/captcha.pl?key=${r}&refresh=${now}`;
  img.src  = src;
  countdown(cd.default);
}
