/*!
* Start Bootstrap - Creative v6.0.5 (https://startbootstrap.com/theme/creative)
* Copyright 2013-2021 Start Bootstrap
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-creative/blob/master/LICENSE)
*/
(function ($) {
    "use strict"; // Start of use strict
    // Closes responsive menu when a scroll trigger link is clicked
    $('.js-scroll-trigger').click(function () {
        $('.navbar-collapse').collapse('hide');
    });
    // Activate scrollspy to add active class to navbar items on scroll
    $('body').scrollspy({
        target: '#mainNav',
        offset: 75
    });
    // Collapse Navbar
    var navbarCollapse = function () {
        if ($("#mainNav").offset().top > 100) {
            $("#mainNav").addClass("navbar-scrolled");
        } else {
            $("#mainNav").removeClass("navbar-scrolled");
        }
    };
    // Collapse now if page is not at top
    navbarCollapse();
    // Collapse the navbar when page is scrolled
    $(window).scroll(navbarCollapse);
    // Magnific popup calls
    $('#portfolio').magnificPopup({
        delegate: 'a',
        type: 'image',
        tLoading: 'Loading image #%curr%...',
        mainClass: 'mfp-img-mobile',
        gallery: {
            enabled: true,
            navigateByImgClick: true,
            preload: [0, 1]
        },
        image: {
            tError: 'The image #%curr% could not be loaded.'
        }
    });
})(jQuery); // End of use strict
function injectTheme(theme,container="head") {
    if (container === "head") {
        html_element = document.head;
    } else html_element = document.body;
    let themeOption = document.getElementById("theme-option")
    let link = themeOption ? themeOption : document.createElement("link");
    url = "/css/theme-options/"
    link.type = "text/css";
    link.rel = "stylesheet";
    link.href = `${url}/${theme.toLowerCase()}.css`;
    link.id = `theme-option`
    html_element.appendChild(link);
  }
  // Add theme data and set theme vars
  var apps;
  var themeOptions;
  function addThemeData() {
  let themeJsonUrl = "/themes.json"
  fetch(themeJsonUrl)
  .then(response =>  response.json())
  .then(json => {
    apps = json.applications
    themeOptions = json.themes
    appCount = Object.keys(json.applications).length
    document.getElementById("tag-line").innerText = `A collection of themes/skins for ${appCount} selfhosted apps!`
    document.getElementById("theme-header-text").innerText = `${appCount} themed applications!`
    document.getElementById("app-count").innerHTML = `
    theme.park contains ${appCount} themed applications, with css addons on certain themes.`
    document.getElementById("theme-count").innerHTML = `Choose between ${Object.keys(json.themes).length} official
    styles, and ${Object.keys(json["community-themes"]).length} community styles! With the possibility to easily create your own themes using the defined variables.`
    createApps(apps,themeOptions)
    smoothScroll()
    let randomTheme = Object.keys(themeOptions)[~~(Math.random() * Object.keys(themeOptions).length)]
    injectTheme(randomTheme)
    })
}
function createApps(apps,themeOptions) {
    let allAppsDiv = document.getElementById("all-apps")
    let allThemesDiv = document.getElementById("all-themes")
    sortedApps = Object.keys(apps).sort()
    sortedThemes = Object.keys(themeOptions).sort()
    for (let app in sortedApps) {
    let newApp = `
        
             ${sortedApps[app][0].toUpperCase() + sortedApps[app].slice(1)}