/* Thanks to StephenLynx, I modified his Theme Changer from the Penumbra Lynx Frontend for the Lynxchan Software https://gitgud.io/LynxChan/LynxChan and reused it to make f0ck a nicer place. */
var themes = [ {
  file : 'f0ck95.css',
  label : 'f0ck95',
  id : 'f0ck95'
}];

let interval = null;
const clocklol = () => {
  const l = document.querySelector("body");
  if(localStorage.selectedTheme && localStorage.selectedTheme === "f0ck95")
    interval = setInterval((d = new Date()) => l.setAttribute("data-clock", d.toLocaleTimeString()), 1e3);
  else {
    clearInterval(interval);
    l.removeAttribute("data-clock");
  }
};

const speaker = () => {
  const k = document.querySelector("body");
  if(localStorage.selectedTheme && localStorage.selectedTheme === "f0ck95")
    k.document.createElement("div");
  else
    return;
};

var customCss;
var addedTheme;
function updateCss() {
  if (addedTheme) {
    addedTheme.parentNode.removeChild(addedTheme);
    addedTheme = null;
  }
  for (var i = 0; i < themes.length; i++) {
    var theme = themes[i];
    if (theme.id === localStorage.selectedTheme) {
      addedTheme = theme.element;
      document.head.insertBefore(theme.element, customCss);
    }
  }
}
for (var i = 0; i < document.head.children.length; i++) {
  var element = document.head.children[i];
  if (element.rel === 'stylesheet' && element.href.indexOf('/css/custom.css') > -1) {
    customCss = element;
    break;
  }
}
for (var i = 0; i < themes.length; i++) {
  themes[i].element = document.createElement('link');
  themes[i].element.type = 'text/css';
  themes[i].element.rel = 'stylesheet';
  themes[i].element.href = './s/css/' + themes[i].file;
}

clocklol();
updateCss();
var postingLink = document.getElementById('themes');
if (postingLink) {
  var divider = document.createElement('span');
  divider.style = ('display: none;');
  divider.innerHTML = '';
  var referenceNode = postingLink.nextSibling;
  postingLink.parentNode.insertBefore(divider, referenceNode);
  var themeSelector = document.createElement('select');
  themeSelector.id = 'themeSelector';
  var vanillaOption = document.createElement('option');
  vanillaOption.innerHTML = 'Default';
  themeSelector.appendChild(vanillaOption);
  for (i = 0; i < themes.length; i++) {
    var theme = themes[i];
    var themeOption = document.createElement('option');
    themeOption.innerHTML = theme.label;
    if (theme.id === localStorage.selectedTheme) {
      themeOption.selected = true;
    }
    themeSelector.appendChild(themeOption);
  }
  themeSelector.onchange = function() {
    if (!themeSelector.selectedIndex) {
      if (localStorage.selectedTheme) {
        delete localStorage.selectedTheme;
        clocklol();
        updateCss();
      }
      return;
    }
    var selectedTheme = themes[themeSelector.selectedIndex - 1];
    if (selectedTheme.id === localStorage.selectedTheme) {
      return;
    }
    localStorage.selectedTheme = selectedTheme.id;
    clocklol();
    updateCss();
  };
  postingLink.parentNode.insertBefore(themeSelector, referenceNode);
}