/* GameOptions.js */
import { Player } from "../src/Player";

//Close box when clicking outside
$(document).click(function (event) {
  if (gameOptionsOpened) {
    if ($(event.target).closest(".game-options-box").get(0) == null) {
      gameOptionsBoxClose();
    }
  }
});

var gameOptionsOpened = false;
function gameOptionsBoxInit() {
  //Menu link button
  document.getElementById("options-menu-link").addEventListener("click", function () {
    gameOptionsBoxOpen();
    return false;
  });

  //Close button
  var closeButton = document.getElementById("game-options-close-button");
  closeButton.addEventListener("click", function () {
    gameOptionsBoxClose();
    return false;
  });
}

document.addEventListener("DOMContentLoaded", gameOptionsBoxInit, false);

function gameOptionsBoxClose() {
  gameOptionsOpened = false;
  var box = document.getElementById("game-options-container");
  box.style.display = "none";
}

function gameOptionsBoxOpen() {
  var box = document.getElementById("game-options-container");
  box.style.display = "flex";

  // special exception for bladeburner popup because it's only visible later.
  document.getElementById("settingsSuppressBladeburnerPopup").closest("fieldset").style.display =
    Player.canAccessBladeburner() ? "block" : "none";
  setTimeout(function () {
    gameOptionsOpened = true;
  }, 500);
}

export { gameOptionsBoxOpen, gameOptionsBoxClose };