const domainSelector = document.querySelector(".header-container > .domain-selector");
const currentDomain = domainSelector && domainSelector.querySelector(".current-domain-item");
const domainDropDown = domainSelector && domainSelector.querySelector(".domain-dropdown");
const countryList = domainSelector && domainSelector.querySelector(".country-list");

const toggleDomainSelector = () => {
  domainSelector && domainSelector.classList.toggle("open")

   if (countryList && countryList.classList.contains("open")) {
    toggleOtherCountryList()
  }
}

const toggleOtherCountryList = () => {
  if (!domainSelector || !countryList) return

  countryList.classList.toggle("open")
}


document.addEventListener('click', (event) => {
  if (!domainSelector || !domainDropDown) return

  event.stopPropagation();

  const isClickInsideElement = domainDropDown.contains(event.target);
  const clickedDomainSelector = currentDomain.contains(event.target);

  const isOpen = domainSelector.classList.contains("open");

  if (!isClickInsideElement && isOpen || clickedDomainSelector) {
    return toggleDomainSelector()
  }
});(function initHeader() {
	const body = document.querySelector("body");
	const header = document.querySelector(".header");
	const toggle = header.querySelector(".link-menu-toggle");
	const navLinks = header.querySelectorAll(
		".nav-dropdown > .link"
	);

	const headerItemWithDropdownToggles =
		header.querySelectorAll(
			".header-item-with-dropdown-toggle"
		);

	const menuItemChildrenToggles = header.querySelectorAll(
		".show-children-toggle"
	);

  const domainSubMenuToggle = true

	const menu = header.querySelector(".nav-menu");
	const vacancyOverviewFilters =
		document.querySelector(".form-filters");
	const closeMenu = header.querySelector(
		".close-menu .close-icon svg"
	);

	const headerItemWithDropdowns = header.querySelectorAll(
			".header-item-with-dropdown"
	);



	[...headerItemWithDropdowns].map((headerItemWithDropdown) => {
		if (window.innerWidth >= 992) {
			headerItemWithDropdown.addEventListener("click", (event) => {
				const withToggle = event.currentTarget.querySelector(".header-item-with-dropdown-toggle");
				withToggle.classList.toggle("is-open");
				event.currentTarget.blur();
			});
			document.addEventListener("click", (event) => {
				const linkLabel = headerItemWithDropdown.querySelector(".link-label")
				if (event.target !== linkLabel) {
					const withToggle = headerItemWithDropdown.querySelector(".header-item-with-dropdown-toggle");
					withToggle.classList.remove("is-open");
				}
			});
		}
		headerItemWithDropdown.addEventListener("focus", (event) => {
			event.target.classList.add("has-submenu-focus");

			document.addEventListener("click", function(event) {
				if (event.target !== headerItemWithDropdown) {
					headerItemWithDropdown.classList.remove("has-submenu-focus");
				}
			});
		});

		headerItemWithDropdown.addEventListener("keydown", function(event) {
				if (event.key === "Tab" && event.shiftKey && event.target === headerItemWithDropdown) {
					headerItemWithDropdown.classList.remove("has-submenu-focus");
				};
		});

		const dropdownMenuItems = headerItemWithDropdown.querySelectorAll(
			".dropdown-menu .dropdown-menu-item .link"
		);

		dropdownMenuItems &&
			[...dropdownMenuItems].map((dropdownMenuItem) => {
				dropdownMenuItem.addEventListener("focus", (event) => {
					headerItemWithDropdown.classList.add("has-submenu-focus");
				});

				dropdownMenuItem.addEventListener("blur", (event) => {
					const lastElementOfSubMenu = findLastNestedElement(headerItemWithDropdown);
					checkIfLast(event.target, lastElementOfSubMenu, headerItemWithDropdown);
				});

			});
	});

	function checkIfLast(element, elementOfSubMenu, headerItemWithDropdown) {
		if (element === elementOfSubMenu) {
			headerItemWithDropdown.classList.remove("has-submenu-focus");
		};
	}

	function findLastNestedElement(element) {
			const children = element.children;

			if (children.length === 0) {
				return element;
			} else {
				const lastChild = children[children.length - 1];
				return findLastNestedElement(lastChild);
			}
	}

	const checkForMobile = window.matchMedia(
		"(max-width: 992px)"
	);

	const onScroll = function onScroll(event) {
		if (window.pageYOffset > header.clientHeight) {
			header.classList.add("header-sm");
			vacancyOverviewFilters &&
				vacancyOverviewFilters.classList.add("header-sm");
		} else {
			header.classList.remove("header-sm");
			vacancyOverviewFilters &&
				vacancyOverviewFilters.classList.remove(
					"header-sm"
				);
		}
	};

  // We would prefer to define onScroll inline, but JavaScript does not allow inline ifs
  window.addEventListener("scroll", onScroll);

	if (window.innerWidth <= 992) {
		toggle &&
			toggle.addEventListener("click", (event) => {
				toggle.classList.toggle("is-open");
				menu.classList.toggle("is-open");
				body.classList.toggle("no-scroll");
			});

		navLinks &&
			domainSubMenuToggle &&
			[...navLinks].map((navLink) => {
				navLink.addEventListener("click", (event) => {
					event.preventDefault();
					event.target
						.closest(".nav-dropdown")
						.classList.toggle("is-open");
				});
			});

		closeMenu &&
			closeMenu.addEventListener("click", (event) => {
				closeMenu.classList.toggle("is-open");
				toggle && toggle.classList.remove("is-open");
				menu && menu.classList.remove("is-open");
				body && body.classList.remove("no-scroll");
			});

		headerItemWithDropdownToggles &&
			domainSubMenuToggle &&
			[...headerItemWithDropdownToggles].map(
				(headerItemWithDropdownToggle) => {
					headerItemWithDropdownToggle.addEventListener(
						"click",
						function () {
							headerItemWithDropdownToggle.classList.toggle(
								"is-open"
							);
						}
					);
				}
			);
	}
	menuItemChildrenToggles &&
		[...menuItemChildrenToggles].map((item) => {
			item &&
				item.addEventListener("click", (event) => {
					event.target.parentNode.classList.toggle(
						"is-open"
					);
				});
		});
})();

(function allowFavorites() {
  fetch("/api/cookie-consent")
    .then((response) => response.json())
    .then((data) => {
      const favoriteToggle = document.querySelector("#favorites-page-link");
      data !== "necessary" && favoriteToggle && favoriteToggle.classList.remove("hidden");
    });
})();

(function favoritesCount() {
  fetch("/api/1/favorites")
    .then((response) => response.json())
    .then((data) => {
      const counter = document.querySelector(".link-counter");
      const span = counter && counter.querySelector("span");
      const linkFavorites = document.querySelector(".link.link-favorites");
      if (data && data.length > 0 && span) {
        counter.classList.remove("hidden");
        linkFavorites.classList.add("with-counter");
        span.textContent = data.length;
      }
    });
})();
(function () {
    var app = Elm.Form.init({
        node: document.getElementById("application-form-" + "hident3"),
        flags: {
            formEntity: {"formRequired":[[{"tag":"phone-number"}],[{"tag":"email-address"}]],"formLabel":"Form","formIsDefaultApplicationForm":true,"formFields":[[{"type_":{"tag":"text","contents":{"maxLength":100,"minLength":0}},"defaultPlaceholder":"","missingError":[],"hiddenLabel":true,"name":{"tag":"first-name"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]}],[{"type_":{"tag":"text","contents":{"maxLength":100,"minLength":0}},"defaultPlaceholder":"","missingError":[],"hiddenLabel":true,"name":{"tag":"last-name"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]}],[{"type_":{"tag":"email-address"},"defaultPlaceholder":"","missingError":[],"hiddenLabel":true,"name":{"tag":"email-address"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]}],[{"type_":{"tag":"text","contents":{"maxLength":100,"minLength":0}},"defaultPlaceholder":"","missingError":[],"hiddenLabel":true,"name":{"tag":"phone-number"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]}],[{"type_":{"tag":"file","contents":{"mimeTypes":["application/vnd.oasis.opendocument.text","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/pdf","application/x-iwork-pages-sffpages","text/plain"],"maxFileSizeInMB":30}},"defaultPlaceholder":"","missingError":[],"hiddenLabel":true,"name":{"tag":"resume"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]},{"type_":{"tag":"file","contents":{"mimeTypes":["application/vnd.oasis.opendocument.text","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/pdf","application/x-iwork-pages-sffpages","text/plain"],"maxFileSizeInMB":30}},"defaultPlaceholder":"","missingError":[],"hiddenLabel":false,"name":{"tag":"motivation"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]}],[{"type_":{"tag":"checkbox"},"defaultPlaceholder":"","missingError":[],"hiddenLabel":true,"name":{"tag":"privacy"},"defaultMissingError":"","defaultInvalidError":"","defaultLabel":"","placeholder":[],"label":[],"invalidError":[]}]],"id":1,"formInserted":"2024-04-19T15:22:21.931914Z","formFormType":"job-application","formUpdated":"2024-09-05T06:48:03.156671Z"},
            translations: {"welcome-page-rule3":"Iedereen die in beeldmateriaal wordt weergegeven, gaat ermee akkoord de inhoud te delen","referral-form-matching-metadata":"Wat voor soort vacatures passen het beste bij degene die je aandraagt?","referral-thanks-description":"Bedankt voor je verwijzing! Samen met jouw hulp kunnen we blijven groeien. Jouw vertrouwen in ons wordt zeer op prijs gesteld!","house-number-placeholder":"Vul je huisnummer in","city-label":"Woonplaats","status":"Status","open-text-label":"Tekstveld","referral-form-opt-out-text":"Jammer dat je gaat","referral-form-personal-message-placeholder":"Voer een persoonlijk bericht in voor de persoon die je naar ons verwijst","submit-form-success-message":"Formulier succesvol verstuurd","motivation-label":"Upload motivatie","street-placeholder":"Vul je straatnaam in","welcome-page-intro-text":"Wij zijn zo\'n leuk en gepassioneerd merk! We willen dit graag nog meer delen met onze (s) helden die in Hunkmöller over de hele wereld winkelen! Laten we ze inspireren wat HKM betekent! Help ons om inhoud te maken die we kunnen delen op internationale platforms! We zijn super benieuwd naar je ideeën!","success-page-follow-instagram-button":"Volg HKM People Instagram-kanaal","internship-evaluation2-placeholder":"Kies bestand","referral-form-refer-someone-label":"Op welke website wil je dat de persoon die je aandraagt solliciteert?","no-uploads-found":"Geen uploads gevonden","open-checkbox-three-label":"Selectieveld (3)","referral-tool-change-filter":"Wat voor soort vacatures passen het beste bij je?","resume-label":"Upload CV","privacy-label":"Privacyverklaring","grades-master1-label":"Grades master 1","referral-form-phone-number":"Voeg telefoonnummer toe","upload-page-banner-subtitle":"Laten we gaan","address-label":"Adres","referral-form-email-placeholder":"Voer je e-mailadres in","welcome-page-rule2":"Geen enkele klanten zijn toegestaan ​​in beeldmateriaal","url-placeholder":"https://www.voorbeeld.url","grades-bachelor1-label":"Grades bachelor 1","privacy-consent-text":"Ik accepteer de","xing-url-placeholder":"https://www.xing.com/profile/username","additional-file1-label":"Upload document (1)","privacy-consent-link-text":"Privacyvoorwaarden","grades-master2-placeholder":"Kies bestand","linked-in-url-placeholder":"https://www.linkedin.com/username","privacy-link-text":"Privacyvoorwaarden","first-name-label":"Voornaam","grades-bachelor2-placeholder":"Kies bestand","internal-application-label":"Interne sollicitatie","upload-page-step1":"Stap 1","salary-indication-placeholder":"Salarisindicatie","max-request-size-exceeded-title":"Upload is te groot","success-page-back-to-upload-page-button":"Dat was leuk om het opnieuw te doen","personal-message":"Persoonlijk bericht","caption":"Ondertiteling","welcome-page-rule1":"Deel leuke en authentieke inhoud uit uw winkel-team","privacy-text":"Ik accepteer de","custom-how-did-you-get-here-select-label":"Hoe ben je hier gekomen?","open-select-option-five":"Open select optie 5","grades-bachelor2-label":"Grades bachelor 2","referral-form-banner-title":"Welkom","status-pending":"In afwachting","salary-indication-label":"Salarisindicatie","first-name-placeholder":"Vul je voornaam in","grades-master2-label":"Grades master 2","linked-in-url-label":"LinkedIn URL","phone-number-with-calling-code-label":"Telefoonnummer (landcode)","success-page-banner-title":"Ingediend!","email-address-placeholder":"hallo@example.com","referral-form-last-name-placeholder":"Voer je achternaam in","open-checkbox-three-text":"Extra checkbox 3-tekst","welcome-page-rules-title":"De basis","phone-number-label":"Telefoonnummer","internship-evaluation1-label":"Internship evaluation 1","referral-form-first-name-placeholder":"Vul je voornaam in","referral-form-intro-text":"Heb jij iemand in gedachten die perfect zou passen bij ons? Word ambassador en stuur je vriend een persoonlijke uitnodiging om bij ons te solliciteren.","open-select-option-four":"Open select optie 4","submit":"Verstuur","referral-form-first-name-label":"Voornaam","daypart-availability-description":"Dagdeel beschikbaarheid omschrijving","phone-number-with-calling-code-placeholder":"Vul je telefoonnummer in","success-page-to-my-uploads-button":"Zie alle inzendingen","no-uploads-found-description":"We konden nog geen uploads voor u vinden","newsletter-subscription-label":"Abonneren op de nieuwsbrief","open-select-option-three":"Open select optie 3","daypart-availability-label":"Dagdeel beschikbaarheid","phone-number-placeholder":"Vul je telefoonnummer in","email-address-label":"E-mailadres","referral-form-last-name-label":"Achternaam","internship-evaluation1-placeholder":"Kies bestand","resume-placeholder":"Upload CV","newsletter-subscription-text":"Abonneren op de nieuwsbrief","referral-form-filters-label":"Welke banen zijn interessant?","browse-media":"Browse media","submit-form":"Verstuur","referral-thanks":"Bedankt voor je referral!","referral-form-upload-label":"Selecteer een persoonlijke foto","screening-questions-label":"Selectie Vragen","upload-page-media-label":"Voeg je tags toe","referral-form-personal-message-label":"Persoonlijk bericht","upload-page-tags-label":"Voeg je tags toe","open-select-description":"Open select omschrijving","open-select-label":"Open select","motivation-placeholder":"Upload je motivatie","open-checkbox-four-label":"Selectieveld (4)","address-with-auto-fill-label":"Adres (met autofill)","street-label":"Straatnaam","status-approved":"Goedgekeurd","open-text-placeholder":"Tekstveld Placeholder","internship-evaluation2-label":"Internship evaluation 2","availability-label":"Beschikbaarheid (dagdeel)","welcome-page-call-to-action-button":"Dien uw inhoud in","max-request-size-exceeded-description":"Als je meerdere bestanden uploadt, probeer dan minder bestanden tegelijk te uploaden.","additional-file1-placeholder":"Kies bestand","xing-url-label":"Xing url","success-page-banner-subtitle":"Uw inhoud is","upload-page-caption-label":"(Optioneel) Heeft u suggestie voor een bijschrift om met uw inhoud te komen?","no-feedback-yet":"Nog geen feedback","open-checkbox-two-label":"Selectieveld (2)","upload-page-privacy-link-label":"Lees verder","open-checkbox-one-label":"Selectieveld (1)","grades-master1-placeholder":"Kies bestand","internal-application-text":"Ik werk hier","referral-form-email-label":"E-mail","motivation-text-area-placeholder":"Schrijf je motivatie hier","welcome-page-banner-title":"Deel je passie","url-label":"Url","grades-bachelor1-placeholder":"Kies bestand","upload-page-step2":"Stap 2","postal-code-placeholder":"Vul postcode in","additional-file2-label":"Upload document (2)","success-page-explanation-text":"Uw inhoud is ingediend. Het wordt binnenkort gecontroleerd! Je kunt je inzendingen en hun statussen zien door op het Star-Icon te tikken! Volgende keer dat u zich aanmeldt, wordt u op de hoogte gebracht wanneer de status is gewijzigd!","click-to-remove":"Klik om te verwijderen","select-file":"Selecteer file","open-checkbox-two-text":"Extra checkbox 2 -tekst","upload-page-privacy-link-path":"","open-checkbox-one-text":"Extra checkbox 1-tekst","last-name-label":"Achternaam","date-of-birth-label":"Geboortedatum","success-page-explanation-title":"Goed gedaan!","upload-page-consent-text":"Ja, ik heb alle personen gevraagd in de geüploade inhoud voor goedkeuring van het gebruik (zorg ervoor dat u schriftelijke toestemming hebt).","open-select-option-two":"Open select optie 2","open-select-option-one":"Open select optie 1","additional-file2-placeholder":"Kies bestand","postal-code-label":"Postcode","privacy-consent-label":"Privacyverklaring","status-honors":"You rock!","last-name-placeholder":"Vul je achternaam in","status-retry":"Opnieuw proberen","house-number-label":"huisnummer","feedback":"Feedback","upload-page-step3":"Stap 3","tags":"Pagina tags","open-checkbox-four-text":"Extra checkbox 4-tekst","city-placeholder":"Vul je woonplaats in","upload-page-banner-title":"Deel uw inhoud","store-data-label":"Data langer bewaren","vacancy-description-label":"Vacature beschrijving"},
            formTypeData: {"tag":"job-application-data","contents":720},
            today: {
              now: Date.now(),
              timeZoneOffset: -(new Date().getTimezoneOffset())
            },
            buttonOverwriteText: null,
            privacyPagePath: "https://www.seesingflex.nl/privacy",
            defaultCallingCode: "netherlands",
            domainId: 1,
            schemaFields: [{"type_":{"tag":"address"},"name":{"tag":"address"},"requiredByExport":false},{"type_":{"tag":"file","contents":{"mimeTypes":["application/vnd.oasis.opendocument.text","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/pdf","application/x-iwork-pages-sffpages","text/plain"],"maxFileSizeInMB":30}},"name":{"tag":"resume"},"requiredByExport":false},{"type_":{"tag":"date","contents":{"minOffsetFromTodayInYears":-13,"maxOffsetFromTodayInYears":-70}},"name":{"tag":"date-of-birth"},"requiredByExport":false},{"type_":{"tag":"email-address"},"name":{"tag":"email-address"},"requiredByExport":false},{"type_":{"tag":"text","contents":{"maxLength":100,"minLength":0}},"name":{"tag":"first-name"},"requiredByExport":true},{"type_":{"tag":"text","contents":{"maxLength":100,"minLength":0}},"name":{"tag":"last-name"},"requiredByExport":true},{"type_":{"tag":"url","contents":"linked-in-url"},"name":{"tag":"linked-in-url"},"requiredByExport":false},{"type_":{"tag":"file","contents":{"mimeTypes":["application/vnd.oasis.opendocument.text","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/pdf","application/x-iwork-pages-sffpages","text/plain"],"maxFileSizeInMB":30}},"name":{"tag":"motivation"},"requiredByExport":false},{"type_":{"tag":"text-area","contents":{"maxLength":100,"minLength":0}},"name":{"tag":"motivation-text-area"},"requiredByExport":false},{"type_":{"tag":"text","contents":{"maxLength":100,"minLength":0}},"name":{"tag":"phone-number"},"requiredByExport":false},{"type_":{"tag":"checkbox"},"name":{"tag":"privacy"},"requiredByExport":true}],
            screeningQuestions : []
        }
    });

    app.ports.redirectTo.subscribe(function(url) {
        window.location.assign(url);
    });

    function getTrackingCode() {
        var scripts = [...document.getElementsByTagName('script')];
        var script = scripts.filter(script => script.src.includes('/gtag/js?id='))[0];
        if (script !== undefined) {
          const urlParams = new URLSearchParams(script.src);
          return urlParams.get('https://www.googletagmanager.com/gtag/js?id')
        }
    };

    function getClientID () {
      var cookie = {};
      document.cookie.split(';').forEach(function(el) {
        var splitCookie = el.split('=');
        var key = splitCookie[0].trim();
        var value = splitCookie[1];
        cookie[key] = value;
      });
      return cookie["_ga"].substring(6);
    }


    window.addEventListener("load", function () {
      // Check if GA is loaded, if so send data to elm
      (function check_ga(i) {
        if (getTrackingCode()) {
          const trackingId = getTrackingCode();
          const clientId = getClientID();
          trackingId && clientId &&
           app.ports.receiveGoogleAnalyticsInfo.send({
            trackingId: trackingId,
            clientId: clientId,
            utmCustom: "eyJkZXBhcnRtZW50IjoiVGVjaG5pc2NoIiwic2FsYXJ5IjoiMjQwMCAtIDMwMDAiLCJldmVudCI6ImpvYl9kZXRhaWxzX2xvYWRlZCIsImxvY2F0aW9uLW5hbWUiOiJIb2x0ZW4iLCJjb250cmFjdC10eXBlIjoiVGlqZGVsaWprIG1ldCB1aXR6aWNodCBvcCB2YXN0IiwiY3VzdG9tLWZpbHRlci0wMSI6IkFlYmkgU2NobWlkdCBOZWRlcmxhbmQgQi5WLiIsImVkdWNhdGlvbiI6Ik1CTyIsImRpc2NpcGxpbmUiOiJUZWNobmllayIsImN1c3RvbS1maWx0ZXItMDYiOiIiLCJleHRlcm5hbC1pZCI6ImEwbVA2MDAwMDAwYmhJdklBSSIsImNvdW50cnkiOiJOZXRoZXJsYW5kcyIsImxvY2F0aW9uLXR5cGUiOiIiLCJob3VycyI6IjQwIC0gNDAiLCJjdXN0b20tZmlsdGVyLTA1IjoiIiwicmVjcnVpdGVyIjoiSmlsbCB2YW4gZGVyIE1hZGVuIiwiY3VzdG9tLWZpbHRlci0wNCI6IiIsImNpdHkiOiJIb2x0ZW4iLCJqb2J0aXRsZSI6Ik1vbnRldXIiLCJwcm92aW5jZSI6Ik92ZXJpanNzZWwiLCJjdXN0b20tZmlsdGVyLTAzIjoiIiwiZXhwZXJpZW5jZSI6IkVydmFyZW4iLCJmdWxsdGltZS1wYXJ0dGltZSI6IiIsImN1c3RvbS1maWx0ZXItMDIiOiIifQ=="
          });
        } else if (i <= 5) {
          setTimeout(() => check_ga(i + 1), 500);
        }
      })(1);
    });

    // If ports are unused Elm throws them away during compilation
    try {
        app.ports.logError_.subscribe(console.error);
    } catch (err) {
    }

    try {
        app.ports.logWarning_.subscribe(console.warn);
    } catch (err) {
    }

    try {
        app.ports.logInfo_.subscribe(console.info);
    } catch (err) {
    }
})();
addEventListener('DOMContentLoaded', (event) => {
  fetch("/api/token")
    .then(res => res.ok && res.json())
    .then((value) => {
      const input = document.createElement("input");

      input.setAttribute("type", "hidden");
      input.setAttribute("name", "_token");
      input.setAttribute("value", value.token);

      document.getElementById("toggle-720").appendChild(input);
    });
});

(function allowFavorites() {
	fetch("/api/cookie-consent")
		.then((response) => response.json())
		.then((data) => {
      const toggleLinks = document.querySelectorAll("#favorites-toggle-link");
      Array.from(toggleLinks).forEach((link) => {
        data !== "necessary" && link && link.classList.remove("hidden");
		  });
    })
})();

(function inFavorites() {
	fetch("/api/1/favorites")
		.then((response) => response.json())
		.then((data) => {
      const icons = document.querySelectorAll(".favorites-icon");
      Array.from(icons).forEach((icon) => {
        const emptyIcon = icon && icon.querySelector(".empty-icon");
        const filledIcon = icon && icon.querySelector(".filled-icon");
        if (data && data.includes(720) && emptyIcon && filledIcon) {
          filledIcon.classList.remove("hidden");
          emptyIcon.classList.add("hidden");
        }
      })
		});
})();
addEventListener('DOMContentLoaded', (event) => {
  fetch("/api/token")
    .then(res => res.ok && res.json())
    .then((value) => {
      const input = document.createElement("input");

      input.setAttribute("type", "hidden");
      input.setAttribute("name", "_token");
      input.setAttribute("value", value.token);

      document.getElementById("toggle-720").appendChild(input);
    });
});

(function allowFavorites() {
	fetch("/api/cookie-consent")
		.then((response) => response.json())
		.then((data) => {
      const toggleLinks = document.querySelectorAll("#favorites-toggle-link");
      Array.from(toggleLinks).forEach((link) => {
        data !== "necessary" && link && link.classList.remove("hidden");
		  });
    })
})();

(function inFavorites() {
	fetch("/api/1/favorites")
		.then((response) => response.json())
		.then((data) => {
      const icons = document.querySelectorAll(".favorites-icon");
      Array.from(icons).forEach((icon) => {
        const emptyIcon = icon && icon.querySelector(".empty-icon");
        const filledIcon = icon && icon.querySelector(".filled-icon");
        if (data && data.includes(720) && emptyIcon && filledIcon) {
          filledIcon.classList.remove("hidden");
          emptyIcon.classList.add("hidden");
        }
      })
		});
})();
(function sticky () {
  const selector = document.getElementById("hident2")
  const sticky = document.querySelectorAll(".vacancy-sticky");
  const bannerHeight = selector.querySelector(".banner-wrapper").clientHeight;

  const onScroll = function onScroll(evt) {
    if (window.pageYOffset > bannerHeight) {
      sticky.forEach((element) => {
        element.classList.add("active");
      });

    } else {
      sticky.forEach((element) => {
        element.classList.contains("active") && element.classList.remove("active");
      });
    }
  };

  window.addEventListener("scroll", onScroll, { capture: true });
})();

function stickyScrollOpenForm (uuid) {
  var selector = document.getElementById(uuid);
  var formContainer = selector.querySelector(".form-container");

  window.scrollTo({
    top: 0,
    behavior: 'smooth'
  });

  if (!formContainer.classList.contains("visible")) {
      toggleForm(uuid);
  };
}(function vacancyBackButton() {
  const element = document.getElementById("hident2");
  const vacancyBackButton = element.querySelector(".vacancy-back-button");
  const vacancyBackButtonText =
    vacancyBackButton && vacancyBackButton.querySelector(".btn-text");
  const referrer = document.referrer !== location.href && document.referrer;
  const comesFromVacancyOverview =
    referrer && referrer.includes("https://www.seesingflex.nl/vacatures");
  const comesFromCMSpage =
    referrer &&
    !comesFromVacancyOverview &&
    new URL(referrer).origin == new URL(location.href).origin;
  const comesFromVacancyDetailPage =
  referrer &&
    ((window.location.href.indexOf("solliciteer") > -1) || (window.location.href.indexOf("apply") > -1))
  vacancyBackButtonText.innerText =
    (comesFromVacancyOverview && "Terug naar alle vacatures") ||
    vacancyBackButtonText.innerText;
  vacancyBackButtonText.innerText =
    (comesFromCMSpage && "Terug naar vorige pagina") ||
    vacancyBackButtonText.innerText;
  vacancyBackButtonText.innerText =
    (comesFromVacancyDetailPage && "Terug naar vorige pagina") ||
    vacancyBackButtonText.innerText;

  function clickLogic() {
    (comesFromVacancyOverview && window.history.back()) ||
      (comesFromCMSpage && window.history.back());

    if (!comesFromCMSpage && !comesFromVacancyOverview) {
      document.location.href = "https://www.seesingflex.nl/vacatures";
    }
  }

  vacancyBackButton && vacancyBackButton.addEventListener("click", clickLogic);
})();

var body = document.querySelector("body");

function toggleForm(uuid) {
  var selector = document.getElementById(uuid);
  var formContainer = selector.querySelector(".form-container");
  var btnDisplay = selector.querySelector(".btn-display");
  formContainer.classList.toggle("visible");
  btnDisplay.classList.toggle("hidden");

  if (window.innerWidth <= 992) {
    body.classList.toggle("no-scroll");
  };
};

window.addEventListener("load", function () {
  var dataLayerObj = {"department":"Technisch","salary":"2400 - 3000","event":"application_form","location-name":"Holten","contract-type":"Tijdelijk met uitzicht op vast","custom-filter-01":"Aebi Schmidt Nederland B.V.","education":"MBO","discipline":"Techniek","custom-filter-06":"","external-id":"a0mP6000000bhIvIAI","country":"Netherlands","location-type":"","hours":"40 - 40","custom-filter-05":"","recruiter":"Jill van der Maden","custom-filter-04":"","city":"Holten","jobtitle":"Monteur","province":"Overijssel","custom-filter-03":"","experience":"Ervaren","fulltime-parttime":"","custom-filter-02":""};
  window.dataLayer = window.dataLayer || [];
  fetch(`/api/cookie-consent`)
    .then((response) => response.json())
    .then((data) => { window.dataLayer.push({...dataLayerObj, consent: data})})
    .catch(() => { window.dataLayer.push({...dataLayerObj, consent: "necessary"})});
});

window.addEventListener('DOMContentLoaded', (event) => {
  const endDates = Array.from(document.querySelectorAll(".metadata .date-metadata"));

  endDates.forEach(endDate => {
    const date = endDate.getAttribute("data-utc");

    endDate.innerHTML = formatDate(date, false);
  });
});
(function () {
    var app = Elm.Slider.init({
        node: document.getElementById("application-procedure-" + "hident4"),
        flags: {
            slider: {"tag":"application-procedure-slider","contents":[{"icon":"/static/uploads/start.svg","title":"Solliciteer op de vacature of schrijf je in op deze pagina","description":"","maskColor":"secondary"},{"icon":"/static/uploads/second-live-interview.svg","title":"Wij maken graag kennis met je!","description":"","maskColor":"secondary"},{"icon":"/static/uploads/start.svg","title":"We stellen jouw persoonsprofiel op","description":"","maskColor":"secondary"},{"icon":"/static/uploads/start.svg","title":"We introduceren je bij de werkgever!","description":"","maskColor":"secondary"}]},
            sliderType : "in-threes",
            windowWidth: window.innerWidth,
            infinity: false,
            project: "seesing-flex"
        }
    });
})();
(function removeSrcDoc() {
  const iframes = Array.from(
    document.querySelectorAll(".video iframe")
	);

  return (
    window.innerWidth < 768 &&
    iframes.length &&
    iframes.map((iframe) => {
      iframe.hasAttribute("srcdoc") &&
        iframe.removeAttribute("srcdoc");
    })
  );
})();

(function allowedYoutubeVideo() {
  if (!true) return;

	fetch(`/api/cookie-consent`)
		.then((response) => response.json())
		.then((data) => {
			if (data !== "marketing") return;
			const video = document.querySelector(`#${"hident5"}`);
      const videoPlaceHolder = video && video.querySelector(".placeholder-video")
      const videoIframe = video && video.querySelector("iframe")
      const videoWrapper = video && video.querySelector(".video-wrapper")
      videoPlaceHolder && videoPlaceHolder.classList.add("hidden");
      videoWrapper && videoWrapper.classList.remove("placeholder");
      videoIframe.src = videoIframe.dataset.src;
		});
})();
