let jobsContainer = document.getElementById("jobsContainer")

fetch('/json/jobs.json')
  .then((response) => response.json())
  .then((json) => {
    if(json.length <= 0) {
      const jobContainer = document.createElement("div");
      jobContainer.classList.add("flex-auto");
      jobContainer.appendChild(document.createElement("h2")).innerHTML = "There are currently no open jobs to apply for"
      jobContainer.appendChild(document.createElement("p")).innerHTML = "Please try again to a different time"

      jobsContainer.appendChild(jobContainer);
    } else {
      json.forEach((job) => {
        const jobContainer = document.createElement("div");
        jobContainer.classList.add("flex-auto");
  
        const jobTitle = document.createElement("h2");
        jobTitle.innerHTML = job.title;
        jobContainer.appendChild(jobTitle)
        if(job.sub.length > 0) {
          const jobIcons = document.createElement("div");
          jobIcons.classList.add("flex", "flex-row", "text-2xl");
          job.sub.forEach((icon) => {
            let iconObject
            switch(icon.source) {
              case "mdi":
                iconObject = document.createElement("span");
                iconObject.classList.add("iconify");
                iconObject.setAttribute("data-icon", "mdi-"+icon.icon+"");
                break;
                case "simpleicons":
                  iconObject = document.createElement("span");
                  iconObject.classList.add("icon");
                  const iconImg = document.createElement("img");
                  iconImg.height = 20;
                  iconImg.width = 20;
                  iconImg.src = "https://cdn.jsdelivr.net/npm/simple-icons@v10/icons/"+icon.icon+".svg"
                  iconObject.appendChild(iconImg);
                  break;
            }
            jobIcons.appendChild(iconObject);
          });
          jobContainer.appendChild(jobIcons);
        }
  
        const jobDescription = document.createElement("p");
        jobDescription.innerHTML = job.description;
        jobContainer.appendChild(jobDescription);
  
        const applyButton = document.createElement("button");
        applyButton.type = "button"
        applyButton.classList.add("text-white", "bg-blue-700", "hover:bg-blue-800", "focus:outline-none", "focus:ring-4", "focus:ring-blue-300", "font-medium", "rounded-full", "text-sm", "px-5", "py-2.5", "text-center", "me-2", "mb-2", "dark:bg-blue-600", "dark:hover:bg-blue-700", "dark:focus:ring-blue-800", "max-w-2xs");
        applyButton.addEventListener("click", () => {
          openApplyForm(job.title)
        })
        applyButton.innerHTML = "Apply"
        
        jobsContainer.appendChild(jobContainer)
        jobsContainer.appendChild(applyButton)
      });
    }
});
