window.addEventListener("scroll", function (e) {
  if (document.querySelector("body").clientWidth > 767) {
    let rightcolumn = document.querySelector(".rightcolumn");
    let mantletitle =
      document.querySelector(".mantletitle") ||
      document.querySelector(".crusttitle") ||
      false;
    if (!mantletitle) {
      return;
    }
    let mantlebar = document.querySelector(".mantlebar");
    let grid = document.querySelector(".grid");
    let gridrect = mantletitle.getBoundingClientRect();

    if (
      document.querySelector("body").clientHeight -
        (grid.clientHeight + mantletitle.clientHeight + 32) <
      window.innerHeight
    ) {
      return;
    }

    if (gridrect.top < 20 && !grid.classList.contains("moved")) {
      grid.classList.add("moved");
      mantlebar.style.display = "inline";
      mantletitle.style.visibility = "hidden";
    } else if (gridrect.top > 21 && grid.classList.contains("moved")) {
      grid.classList.remove("moved");
      mantletitle.style.visibility = "visible";
      mantlebar.style.display = "none";
    }
  } else {
    let rightcolumn = document.querySelector(".rightcolumn");
    let mantletitle =
      document.querySelector(".mantletitle") ||
      document.querySelector(".crusttitle") ||
      false;
    if (!mantletitle) {
      return;
    }
    let mantlebar = document.querySelector(".mantlebar");
    let grid = document.querySelector(".grid");
    let gridrect = mantletitle.getBoundingClientRect();

    if (gridrect.top < 20 && !grid.classList.contains("moved")) {
      grid.classList.add("moved");
      mantlebar.style.display = "inline";
      mantletitle.style.visibility = "hidden";
    } else if (gridrect.top > 21 && grid.classList.contains("moved")) {
      grid.classList.remove("moved");
      mantletitle.style.visibility = "visible";
      mantlebar.style.display = "none";
    }
  }
});

window.addEventListener("DOMContentLoaded", (e) => {
  let preview = document.querySelector("#preview");
  if (
    location.pathname.split("/").includes("_preview") ||
    location.hash.startsWith("#/_edit")
  ) {
    preview.style.display = "flex";
  }

  let par = document.querySelector(
    "#TableOfContents > ol:first-child > li:first-child"
  );
  let s = document.createElement("span");
  s.appendChild(par.cloneNode(true));
  par.remove();
  document
    .querySelector("#TableOfContents > ol:first-child")
    .insertBefore(
      s,
      document.querySelector("#TableOfContents > ol:first-child").firstChild
    );

  if (document.querySelector(".soundcite")) {
    let relPath = "../".repeat(relPathDepth - 1);

    var popcorn = document.createElement("script");
    popcorn.src = `${relPath}js/popcorn.min.js`;
    document.body.appendChild(popcorn);

    var soundcite = document.createElement("script");
    soundcite.src = `${relPath}js/soundcite.min.js`;
    document.body.appendChild(soundcite);
  }

  document
    .querySelectorAll(
      "#TableOfContents a, .anchorz, .footnote-backref, .footnote-ref"
    )
    .forEach((i) => {
      i.addEventListener("click", (e) => {
        setTimeout(() => {
          window.scrollBy({
            top: document.querySelector(".header").clientHeight * -1.25,
            behavior: "smooth",
          });
        }, 50);
      });
    });
});

toggleAllLinks = function () {
  document.querySelectorAll("details").forEach((i) => {
    if (i.open) {
      i.removeAttribute("open");
    } else {
      i.setAttribute("open", true);
    }
  });
};
