{"version":3,"sources":["animations.js","calendar.js","clientQuote.js","contactSidebar.js","faq.js","facebook-brochure.js","formTracking.js","fullScreenSlider.js","homepageLocationsFilter.js","locationFilter.js","locations.js","maps.js","megamenu.js","mobilemenu.js","utilities.js","vacancies.js","video.js"],"names":["gsap","registerPlugin","ScrollTrigger","CSSRulePlugin","animations","init","intro","$","let","menu","shrinkMenu","addClass","unShrinkMenu","removeClass","timeline","scrollTrigger","trigger","pin","start","end","scrub","anticipatePin","once","onEnter","onEnterBack","length","indicator","updateIndicator","position","find","topOffset","height","css","top","utils","toArray","forEach","section","onLeaveBack","fillCalendar","url","kids","each","index","numOfKids","this","attr","numOfSupportedKids","i","kid","Math","floor","random","state","kidElement","parseInt","append","clientQuote","console","log","numberOfSlides","bar","width","slider","Flickity","wrapAround","prevNextButtons","pageDots","autoPlay","fade","on","ready","button","document","querySelector","progress","click","e","preventDefault","next","contactSidebar","closeSidebar","mainPanel","sidebar","toggleClass","target","parents","keyup","key","faq","jQuery","fbq","hasClass","slideUp","slideDown","el","setTimeout","offset","animate","scrollTop","formTracking","gtag","event_category","event_action","fullScreen","bgLazyLoad","flickity","asNavFor","contain","homepageLocationsFilter","globalSlider","homepageIntroLocations","cellAlign","element","global","map","currentLocation","lat","lng","getElementById","locations","JSON","parse","innerHTML","setDistance","id","distance","sortCards","sort","a","b","dataset","appendTo","input","closest","addEventListener","searchBox","google","maps","places","SearchBox","startSearch","getPlaces","classList","add","remove","place","geometry","location","origin","LatLng","destinations","data","destination","push","service","DistanceMatrixService","getDistanceMatrix","origins","travelMode","callback","response","status","location_id","rows","elements","value","addListener","locationFilter","detailsHandler","detailsEl","screen","removeAttribute","locationsSwitchToggle","toggleSlider","setToggle","view","currentSpan","outerWidth","left","megamenu","closeMegaMenu","loadMegaMenu","parent","mobilemenu","closeMobileMenu","hide","loadMobileMenu","siblings","show","openMenu","toggle","utilities","$img","imgID","imgClass","imgURL","get","$svg","removeAttr","replaceWith","resizeBLocks","mod02_holder","mod02_block","window","parseFloat","resize","outerHeight","after","vacancies","onlyUnique","self","indexOf","createFilterItems","parentElement","items","item","listItem","insertAdjacentHTML","createOptionItems","functionsFilter","hoursFilter","areaFilter","vacancy","function_group","hours","area","functions","filter","Boolean","filterButtons","querySelectorAll","filterButton","filterWithSelection","URL","searchParams","selected","results","filtered","keysUsed","finalResults","selectedItems","selectedItem","decodeURIComponent","innerText","result","search_tags","includes","parentNode","flat","lookup","reduce","createVacancies","container","html","last","title","description","vacanciesFilterToggle","buttons","contains","nextElementSibling","video","initVideo","closeButton","playButtons","videoHolder","playVideo","closeVideo","src","source","createElement","setAttribute","event"],"mappings":"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","file":"scripts.js","sourcesContent":["gsap.registerPlugin(ScrollTrigger)\r\ngsap.registerPlugin(CSSRulePlugin)\r\n\r\nconst animations = () => {\r\n const init = () => {\r\n intro()\r\n timeline()\r\n }\r\n\r\n const intro = () => {\r\n // Cache variables\r\n let header = $('header'),\r\n menu = $('.main-navbar')\r\n //\r\n // // Functions for topbar\r\n // function hideTopbar() {\r\n // header.addClass('js-topbar-hidden')\r\n // }\r\n //\r\n // function showTopbar() {\r\n // // Check for session\r\n // // Defined in utilities/topbar\r\n // // TODO\r\n // header.removeClass('js-topbar-hidden')\r\n // }\r\n\r\n function shrinkMenu() {\r\n menu.addClass('js-shrinked')\r\n }\r\n\r\n function unShrinkMenu() {\r\n menu.removeClass('js-shrinked')\r\n }\r\n\r\n let tl = gsap.timeline({\r\n // yes, we can add it to an entire timeline!\r\n scrollTrigger: {\r\n trigger: 'body',\r\n pin: false, // pin the trigger element while active\r\n start: '48px top', // when the top of the trigger hits the top of the viewport\r\n end: '48px', // end after scrolling 500px beyond the start\r\n scrub: 0, // smooth scrubbing, takes 1 second to \"catch up\" to the scrollbar\r\n anticipatePin: 1,\r\n once: false,\r\n onEnter: function () {\r\n // hideTopbar()\r\n shrinkMenu()\r\n },\r\n onEnterBack: function () {\r\n // showTopbar()\r\n unShrinkMenu()\r\n },\r\n },\r\n })\r\n\r\n // Function for header shrink\r\n\r\n // add animations and labels to the timeline\r\n /*\r\n tl.addLabel('start')\r\n .to(\r\n '.header',\r\n {\r\n y: -33,\r\n },\r\n 0\r\n )\r\n .addLabel('topbar')\r\n .to(\r\n '.topbar__inner, .topbar__close',\r\n {\r\n y: -50,\r\n },\r\n 0\r\n )\r\n .addLabel('end')\r\n */\r\n }\r\n\r\n const timeline = () => {\r\n // Check for element\r\n if ($('.timeline__line-item').length == 0) return false\r\n\r\n // vars\r\n let indicator = $('.timeline .line-indicator')\r\n\r\n // Helper\r\n function updateIndicator(trigger) {\r\n trigger = $(trigger).find('.line')\r\n\r\n let position = trigger.position()\r\n // position is relative to .timeline-line container\r\n let height = trigger.height()\r\n let topOffset = height / 2\r\n\r\n indicator.css('transform', `translateY(${position.top + topOffset - 22.5}px)`)\r\n }\r\n\r\n // Create timelines for each item\r\n gsap.utils.toArray('.timeline__line-item').forEach(function (section) {\r\n let tl = gsap.timeline({\r\n // yes, we can add it to an entire timeline!\r\n scrollTrigger: {\r\n trigger: section,\r\n pin: false, // pin the trigger element while active\r\n start: '50% center', // when the top of the trigger hits the top of the viewport\r\n end: '100% 25%', // end after scrolling 500px beyond the start\r\n scrub: 0, // smooth scrubbing, takes 1 second to \"catch up\" to the scrollbar\r\n anticipatePin: 1,\r\n once: false,\r\n onEnter: function (section) {\r\n updateIndicator(section.trigger)\r\n },\r\n onLeaveBack: function (section) {\r\n updateIndicator(section.trigger)\r\n },\r\n },\r\n })\r\n })\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const fillCalendar = () => {\r\n\r\n const url = '/images/'\r\n\r\n const kids = [\r\n 'boy-1.svg',\r\n 'boy-2.svg',\r\n 'boy-3.svg',\r\n 'boy-4.svg',\r\n 'girl-1.svg',\r\n 'girl-2.svg',\r\n 'girl-3.svg',\r\n 'girl-4.svg',\r\n 'girl-5.svg'\r\n ]\r\n\r\n // Kids grid desktop\r\n $('.month .inner-calendar__kids').each(function (index) {\r\n let numOfKids = $(this).attr('data-kids'),\r\n numOfSupportedKids = $(this).attr('data-happy-kids'),\r\n i = 0\r\n\r\n if (numOfSupportedKids > 26) {\r\n numOfKids = numOfSupportedKids + 5\r\n }\r\n\r\n for (i = 0; i < numOfKids; i++) {\r\n //text += cars[i] + \"
\";\r\n\r\n // Get random kid from array\r\n let kid = kids[Math.floor(Math.random() * kids.length)]\r\n\r\n let state = 'class=\"kid\"';\r\n if (parseInt(i) + 1 > numOfSupportedKids) {\r\n state = 'class=\"kid not-happy\"';\r\n }\r\n\r\n\r\n // Create element to push to DOM\r\n let kidElement = ``\r\n\r\n // Push kid to DOM\r\n $(this).append(kidElement)\r\n }\r\n\r\n })\r\n\r\n // Single kid mobile\r\n $('.month .calendar-mobile').each(function (index) {\r\n\r\n // Get random kid from array\r\n let kid = kids[Math.floor(Math.random() * kids.length)]\r\n\r\n // Create element to push to DOM\r\n let kidElement = `
`\r\n\r\n $(this).find('.kid').append(kidElement)\r\n\r\n })\r\n\r\n}\r\n","const clientQuote = () => {\r\n const init = () => {\r\n clientQuoteSlider()\r\n }\r\n\r\n const clientQuoteSlider = () => {\r\n console.log('load clientQuote')\r\n // Check for element\r\n if ($('.quote-slider').length == 0) return false\r\n\r\n // Vars\r\n let numberOfSlides = 0,\r\n bar = $('.slider-navigation-bar'),\r\n width = 0\r\n\r\n // Init slider\r\n let slider = new Flickity('.quote-slider', {\r\n wrapAround: false,\r\n prevNextButtons: false,\r\n pageDots: false,\r\n autoPlay: 8000,\r\n fade: true,\r\n on: {\r\n ready: function () {\r\n numberOfSlides = $('.quote-slider__item').length\r\n // Create width of the bar\r\n width = 100 / numberOfSlides\r\n bar.css('width', width + '%')\r\n },\r\n },\r\n })\r\n\r\n // Move progress bar on Change\r\n slider.on('change', function (index) {\r\n bar.css('left', width * index + '%')\r\n })\r\n\r\n // Progress bar - https://codepen.io/desandro/pen/obpVGa\r\n let progressBar = document.querySelector('.progress-bar')\r\n\r\n slider.on('scroll', function (progress) {\r\n //console.log(Math.max(0, Math.min(1, progress)))\r\n })\r\n\r\n // Bind next button\r\n let button = $('.slider-next-button a')\r\n\r\n button.click(function (e) {\r\n e.preventDefault()\r\n slider.next(true, false)\r\n })\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const contactSidebar = () => {\r\n const init = () => {\r\n sidebar()\r\n secondaryPanel()\r\n closePanel()\r\n closeSidebar()\r\n closeSidebarEvents()\r\n }\r\n\r\n const sidebar = () => {\r\n console.log('load contactSidebar')\r\n // Check for element\r\n if ($('.contact-sidebar').length == 0) return false\r\n\r\n let sidebar = $('.contact-sidebar')\r\n\r\n $('.contact-sidebar__button').click(function (e) {\r\n e.preventDefault()\r\n sidebar.toggleClass('js-open')\r\n })\r\n }\r\n\r\n const secondaryPanel = () => {\r\n // Check for element\r\n if ($('.contact-sidebar').length == 0) return false\r\n\r\n let mainPanel = $('.main-panel')\r\n\r\n $('.contact-sidebar .main-panel a.button[data-panel]').click(function (e) {\r\n e.preventDefault()\r\n let target = $(this).attr('data-panel')\r\n\r\n mainPanel.addClass('js-no-scroll')\r\n $('.secondary-panel').addClass('js-hidden')\r\n $('.secondary-panel[data-panel=\"' + target + '\"]').removeClass('js-hidden')\r\n })\r\n }\r\n\r\n const closePanel = () => {\r\n // Check for element\r\n if ($('.contact-sidebar').length == 0) return false\r\n\r\n let mainPanel = $('.main-panel')\r\n\r\n $('.js-panel-close').click(function (e) {\r\n e.preventDefault()\r\n $(this).parents('.panel').addClass('js-hidden')\r\n mainPanel.removeClass('js-no-scroll')\r\n })\r\n }\r\n\r\n const closeSidebar = () => {\r\n // Check for element\r\n if ($('.contact-sidebar').length == 0) return false\r\n\r\n let mainPanel = $('.main-panel')\r\n let sidebar = $('.contact-sidebar')\r\n mainPanel.removeClass('js-no-scroll')\r\n sidebar.removeClass('js-open')\r\n }\r\n\r\n const closeSidebarEvents = () => {\r\n $('.js-contact-sidebar-close').click(function (e) {\r\n e.preventDefault()\r\n closeSidebar()\r\n $('.panel').addClass('js-hidden')\r\n })\r\n\r\n $(document).keyup(function (e) {\r\n if (e.key === 'Escape') {\r\n // escape key maps to keycode `27`\r\n closeSidebar()\r\n $('.panel').addClass('js-hidden')\r\n }\r\n })\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const faq = () => {\r\n\r\n\tconst init = () => {\r\n\r\n\t\tfaqToggle()\r\n\r\n }\r\n\r\n const faqToggle = () => {\r\n\r\n $('.faq-item__toggle').click(function(e){\r\n \te.preventDefault();\r\n\r\n \tif($(this).hasClass('js-active')){\r\n\r\n \t\t\t$('.faq-item__toggle').removeClass('js-active');\r\n \t\t\t$('.faq-item__content').slideUp(500);\r\n\r\n \t}else{\r\n\r\n \t\t$('.faq-item__toggle').removeClass('js-active');\r\n $('.faq-item__content').slideUp(500);\r\n\r\n \t\t\t$(this).toggleClass('js-active');\r\n \t\t\t$(this).next().slideDown(500);\r\n\r\n \t\t\tlet el = $(this);\r\n\r\n setTimeout(function(){\r\n\r\n \tvar offset = el.offset();\r\n \toffset.top -= 200;\r\n \t$('html, body').animate({\r\n scrollTop: offset.top\r\n });\r\n\r\n },501);\r\n\r\n \t}\r\n\r\n });\r\n\r\n }\r\n\r\n return {\r\n init\r\n }\r\n}\r\n","(function ($, root, undefined) {\r\n\r\n 'use strict';\r\n\r\n\r\n /*\r\n * DOCUMENT READY\r\n */\r\n\r\n jQuery(document).ready(function () {\r\n\r\n\r\n jQuery(\"#gform_submit_button_2\").on( \"click\", function() {\r\n fbq('trackCustom','Brochure Aanvraag');\r\n });\r\n\r\n })\r\n\r\n})(jQuery, this);","const formTracking = () => {\r\n\r\n\tconst init = () => {\r\n\t\ttracking()\r\n }\r\n\r\n const tracking = () => {\r\n\t\t$(function() {\r\n\t\t\t// Brochure aanvragen sidebar\r\n\t\t\t$(\"#gform_submit_button_8\").on( \"click\", function() {\r\n\t\t\t\tgtag('event', 'brochure-aanvraag-sidebar', { event_category: 'brochure-aanvraag-sidebar', event_action: 'brochure-aanvraag-sidebar'});\r\n\t\t\t\tfbq('track', 'lead');\r\n\t\t\t});\r\n\r\n\t\t\t// Rondleiding plannen sidebar\r\n\t\t\t$(\"#gform_submit_button_10\").on( \"click\", function() {\r\n\t\t\t\tgtag('event', 'rondleiding-aanvraag-sidebar', { event_category: 'rondleiding-aanvraag-sidebar', event_action: 'rondleiding-aanvraag-sidebar'});\r\n\t\t\t});\r\n\r\n\t\t\t// Stel een vraag sidebar\r\n\t\t\t$(\"#gform_submit_button_11\").on( \"click\", function() {\r\n\t\t\t\tgtag('event', 'vraag-stellen-sidebar', { event_category: 'vraag-stellen-sidebar', event_action: 'vraag-stellen-sidebar'});\r\n\t\t\t});\r\n\r\n\t\t\t// Stel een vraag sidebar\r\n\t\t\t$(\"#gform_submit_button_15\").on( \"click\", function() {\r\n\t\t\t\tgtag('event', 'zorghotel-aanvraag-sidebar', { event_category: 'zorghotel-aanvraag-sidebar', event_action: 'zorghotel-aanvraag-sidebar'});\r\n\t\t\t});\r\n\r\n\t\t\t// Belafspaak sidebar\r\n\t\t\t$(\"#gform_submit_button_9\").on( \"click\", function() {\r\n\t\t\t\tgtag('event', 'belafspraak-plannen-sidebar', { event_category: 'belafspraak-plannen-sidebar', event_action: 'belafspraak-plannen-sidebar'});\r\n\t\t\t});\r\n\r\n\t\t\t// Direct bellen sidebar\r\n\t\t\t$(\".direct-call\").on( \"click\", function() {\r\n\t\t\t\tgtag('event', 'direct-bellen-sidebar', { event_category: 'direct-bellen-sidebar', event_action: 'direct-bellen-sidebar'});\r\n\t\t\t});\r\n\r\n\t\t});\r\n\r\n }\r\n return {\r\n init\r\n }\r\n}\r\n","const fullScreen = () => {\r\n const init = () => {\r\n fullScreenSlider()\r\n }\r\n\r\n const fullScreenSlider = () => {\r\n console.log('load fullScreen')\r\n\r\n // Check for element\r\n if ($('.full-screen-slider').length == 0) return false\r\n\r\n // Init slider\r\n let slider = new Flickity('.full-screen-slider', {\r\n wrapAround: false,\r\n prevNextButtons: false,\r\n pageDots: false,\r\n fade: true,\r\n bgLazyLoad: 1,\r\n })\r\n\r\n // Bind next button\r\n let button = $('.mod-16-slider-thumbnails-text .next-slide a')\r\n\r\n button.click(function (e) {\r\n e.preventDefault()\r\n slider.next(true, false)\r\n })\r\n\r\n // Navigation for the slider (optional)\r\n // Check for element\r\n if ($('.slider-navigation').length == 0) return false\r\n\r\n $('.slider-navigation').flickity({\r\n asNavFor: '.full-screen-slider',\r\n contain: true,\r\n pageDots: false,\r\n prevNextButtons: false,\r\n bgLazyLoad: 3,\r\n })\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const homepageLocationsFilter = () => {\r\n const init = () => {\r\n initFilter()\r\n homepageIntroLocations()\r\n }\r\n\r\n let globalSlider\r\n\r\n const homepageIntroLocations = () => {\r\n console.log('load homepageIntroLocations')\r\n // Init slider\r\n let slider = $('.homepage-intro__location-filter__results .results-slider').flickity({\r\n wrapAround: true,\r\n prevNextButtons: false,\r\n pageDots: false,\r\n cellAlign: 'left',\r\n contain: true,\r\n })\r\n\r\n // Bind next button\r\n let button = $('.homepage-intro__location-filter__next-result')\r\n\r\n button.click(function (e) {\r\n e.preventDefault()\r\n slider.flickity('next', false, false)\r\n })\r\n\r\n globalSlider = slider\r\n }\r\n\r\n const getLocationsData = () => {\r\n let element = document.getElementById('locations-data')\r\n let data = JSON.parse(element.innerHTML)\r\n return data\r\n }\r\n\r\n const global = {\r\n map: false,\r\n currentLocation: {\r\n lat: '',\r\n lng: '',\r\n },\r\n }\r\n\r\n let locations = getLocationsData()\r\n\r\n const initFilter = () => {\r\n const input = document.querySelector('.google-maps-places-input')\r\n //const searchButton = document.querySelector('.homepage-intro__location-filter__filters form .input--submit')\r\n\r\n //console.log(searchButton)\r\n\r\n if (input) {\r\n input.closest('form').addEventListener('submit', function (e) {\r\n e.preventDefault()\r\n })\r\n } else {\r\n return false\r\n }\r\n\r\n const searchBox = new google.maps.places.SearchBox(input)\r\n\r\n function startSearch() {\r\n const places = searchBox.getPlaces()\r\n\r\n //console.log(places)\r\n\r\n if (!places) {\r\n input.classList.add('js-error')\r\n return false\r\n }\r\n\r\n input.classList.remove('js-error')\r\n\r\n if (places.length == 0) {\r\n input.classList.add('js-error')\r\n return\r\n }\r\n\r\n places.forEach((place) => {\r\n if (!place.geometry) {\r\n //console.log('Returned place contains no geometry')\r\n input.classList.add('js-error')\r\n return\r\n }\r\n\r\n global.currentLocation.lat = place.geometry.location.lat()\r\n global.currentLocation.lng = place.geometry.location.lng()\r\n })\r\n\r\n // Set the origin location based on the Places input\r\n const origin = new google.maps.LatLng(global.currentLocation.lat, global.currentLocation.lng)\r\n\r\n // Create array of destinations. This has a max of 25. If there are more locations the call needs to split up.\r\n let destinations = []\r\n for (let location of locations) {\r\n // Check if location has lat en lng values\r\n if (location.data) {\r\n let lat = location.data.lat\r\n let lng = location.data.lng\r\n // Create destination object\r\n let destination = new google.maps.LatLng(lat, lng)\r\n destinations.push(destination)\r\n }\r\n }\r\n\r\n //console.log(destinations)\r\n\r\n // Create DistanceMatrixService\r\n const service = new google.maps.DistanceMatrixService()\r\n\r\n service.getDistanceMatrix(\r\n {\r\n origins: [origin],\r\n destinations: destinations,\r\n travelMode: 'DRIVING',\r\n },\r\n callback\r\n )\r\n\r\n function callback(response, status) {\r\n // See Parsing the Results for\r\n // the basics of a callback function.\r\n //console.log(response)\r\n // Loop through all the destinations and add their respective distance to the origin object\r\n // We loop through the JSON object we created and match their distance to it. Google always returns the destinations in the same order\r\n for (let index = 0; index < locations.length; index++) {\r\n setDistance(locations[index].location_id, response.rows[0].elements[index].distance.value)\r\n }\r\n }\r\n\r\n setTimeout(function () {\r\n sortCards()\r\n }, 250)\r\n }\r\n\r\n searchBox.addListener('places_changed', () => {\r\n startSearch()\r\n })\r\n }\r\n\r\n function setDistance(id, distance) {\r\n $('.results-slider__result[data-locatie=' + id + ']').attr('data-distance', distance)\r\n $('.results-slider__result[data-locatie=' + id + ']').attr('aria-hidden', 'false')\r\n }\r\n\r\n function sortCards() {\r\n $('.results-slider')\r\n .find('.results-slider__result')\r\n .sort(function (a, b) {\r\n return +a.dataset.distance - +b.dataset.distance\r\n })\r\n .appendTo($('.results-slider .flickity-slider'))\r\n\r\n globalSlider.flickity('destroy')\r\n homepageIntroLocations()\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const locationFilter = () => {\r\n\r\n const init = () => {\r\n\r\n detailsHandler()\r\n\r\n }\r\n\r\n const detailsHandler = () => {\r\n\r\n const detailsEl = document.querySelector('#location-filter');\r\n console.log(screen.width)\r\n if (screen.width < 980) {\r\n detailsEl.removeAttribute('open');\r\n }\r\n }\r\n\r\n return {\r\n init\r\n }\r\n}\r\n","const locations = () => {\r\n const init = () => {\r\n homepageIntroLocations()\r\n }\r\n\r\n const homepageIntroLocations = () => {\r\n console.log('load homepageIntroLocations')\r\n // Init slider\r\n let slider = $('.homepage-intro__location-filter__results .results-slider').flickity({\r\n wrapAround: true,\r\n prevNextButtons: false,\r\n pageDots: false,\r\n cellAlign: 'left',\r\n contain: true,\r\n })\r\n\r\n // Bind next button\r\n let button = $('.homepage-intro__location-filter__next-result')\r\n\r\n button.click(function (e) {\r\n e.preventDefault()\r\n slider.flickity('next', false, false)\r\n })\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const maps = () => {\r\n const init = () => {\r\n locationsSwitchToggle()\r\n }\r\n\r\n const locationsSwitchToggle = () => {\r\n // Cache the slider\r\n let toggleSlider = $('.toggle .toggle-slider')\r\n\r\n function setToggle() {\r\n let currentSpan = $('.toggle span.js-active')\r\n\r\n // Check for toggle\r\n if (currentSpan.length < 1) {\r\n return false\r\n }\r\n\r\n // get new left\r\n let position = currentSpan.position()\r\n\r\n toggleSlider.css('width', currentSpan.outerWidth() + 'px').css('left', position.left + 'px')\r\n\r\n // Set current screen\r\n let view = currentSpan.attr('data-view-toggle')\r\n $('.locations-map, .locations-grid').addClass('js-hidden')\r\n $('.locations-map, .filter-top').addClass('js-hidden')\r\n $(`.${view}`).removeClass('js-hidden')\r\n }\r\n\r\n // Listen to click\r\n $('.toggle span').click(function (e) {\r\n e.preventDefault()\r\n // Remove all js-active classes from span\r\n $('.toggle span').removeClass('js-active')\r\n // give clicked span js-active class\r\n $(this).addClass('js-active')\r\n setToggle()\r\n })\r\n\r\n // Set on load\r\n setToggle()\r\n }\r\n\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const megamenu = () => {\r\n const init = () => {\r\n loadMegaMenu()\r\n closeEvents()\r\n }\r\n\r\n const closeMegaMenu = () => {\r\n let elements = $('.main-dropdown, .main-navbar-left__item__dropdown, .main-navbar-left__item__search, .main-dropdown__item')\r\n elements.removeClass('js-dropdown-open')\r\n }\r\n\r\n const closeEvents = () => {\r\n // Close using escape source: https://stackoverflow.com/questions/3369593/how-to-detect-escape-key-press-with-pure-js-or-jquery\r\n $(document).keyup(function (e) {\r\n if (e.key === 'Escape') {\r\n // escape key maps to keycode `27`\r\n closeMegaMenu()\r\n }\r\n })\r\n\r\n // Close when clicked outside the header\r\n $('header.header').on('mouseleave', function (e) {\r\n closeMegaMenu()\r\n })\r\n }\r\n\r\n const loadMegaMenu = () => {\r\n // Cache all links and dropdowns\r\n let elements = $(\r\n '.main-dropdown, .main-navbar-left__item__dropdown, .top-navbar-right__item__button, .main-navbar-left__item__search, .main-dropdown__item'\r\n )\r\n // Dropdown works on a click registered event. Hover can be hooked into this event.\r\n $('.main-navbar-left__item__dropdown, .top-navbar-right__item__button:not(.js-no-mega-menu), .main-navbar-left__item__search').on('mouseover', function(e) {\r\n e.preventDefault()\r\n // Get target dropdown\r\n let target = $(this).attr('data-dropdown')\r\n // remove all other dropdowns\r\n elements.removeClass('js-dropdown-open')\r\n // Open current targeted dropdown and add active state\r\n $(this).addClass('js-dropdown-open')\r\n $(`#${target}`)\r\n .addClass('js-dropdown-open')\r\n .parent()\r\n .addClass('js-dropdown-open')\r\n })\r\n\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const mobilemenu = () => {\r\n const init = () => {\r\n loadMobileMenu()\r\n openMenu()\r\n closeEvents()\r\n }\r\n\r\n const openMenu = () => {\r\n let toggle = $('.mobile-navbar-toggle__holder'),\r\n menu = $('.mobile-navbar')\r\n toggle.click(function (e) {\r\n e.preventDefault()\r\n menu.addClass('js-mobile-menu-open')\r\n })\r\n }\r\n\r\n const closeMobileMenu = () => {\r\n // Close menu\r\n let elements = $('.mobile-navbar')\r\n elements.removeClass('js-mobile-menu-open')\r\n // Close dropdowns in menu\r\n $('.mobile-navbar-menu__dropdown, .mobile-navbar-dropdown-menu').removeClass('js-dropdown-open')\r\n $('.mobile-navbar-dropdown-menu').hide(200)\r\n }\r\n\r\n const closeEvents = () => {\r\n // Close using escape source: https://stackoverflow.com/questions/3369593/how-to-detect-escape-key-press-with-pure-js-or-jquery\r\n $(document).keyup(function (e) {\r\n if (e.key === 'Escape') {\r\n // escape key maps to keycode `27`\r\n closeMobileMenu()\r\n }\r\n })\r\n\r\n $('.js-close-mobile-navbar').on('click', function (e) {\r\n e.preventDefault()\r\n closeMobileMenu()\r\n })\r\n }\r\n\r\n const loadMobileMenu = () => {\r\n console.log('Load mobilemenu')\r\n // Cache all links and dropdowns\r\n let elements = $('.mobile-navbar-menu__dropdown, .mobile-navbar-dropdown-menu')\r\n // Dropdown works on a click registered event. Hover can be hooked into this event.\r\n $('.mobile-navbar-menu__dropdown a.toggle').on('click', function (e) {\r\n e.preventDefault()\r\n // Close if already open\r\n if ($(this).parent().hasClass('js-dropdown-open')) {\r\n console.log('sluit')\r\n elements.removeClass('js-dropdown-open')\r\n $('.mobile-navbar-dropdown-menu').hide(200)\r\n return false\r\n }\r\n // Get target dropwdown\r\n let target = $(this).siblings('.mobile-navbar-dropdown-menu')\r\n // remove all other dropdowns\r\n elements.removeClass('js-dropdown-open')\r\n // Open current targeted dropdown and add active state\r\n $(this).parent().addClass('js-dropdown-open').show(200)\r\n target.addClass('js-dropdown-open').show(200)\r\n })\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const utilities = () => {\r\n const init = () => {\r\n imgToSVG()\r\n resizeBLocks()\r\n singeLocationDescriptionBG()\r\n moveErrors()\r\n }\r\n\r\n const imgToSVG = () => {\r\n $('img.svg').each(function () {\r\n let $img = $(this)\r\n let imgID = $img.attr('id')\r\n let imgClass = $img.attr('class')\r\n let imgURL = $img.attr('src')\r\n\r\n $.get(\r\n imgURL,\r\n function (data) {\r\n // Get the SVG tag, ignore the rest\r\n let $svg = $(data).find('svg')\r\n\r\n // Add replaced image's ID to the new SVG\r\n if (typeof imgID !== 'undefined') {\r\n $svg = $svg.attr('id', imgID)\r\n }\r\n // Add replaced image's classes to the new SVG\r\n if (typeof imgClass !== 'undefined') {\r\n $svg = $svg.attr('class', imgClass + ' replaced-svg')\r\n }\r\n\r\n // Remove any invalid XML tags as per http://validator.w3.org\r\n $svg = $svg.removeAttr('xmlns:a')\r\n\r\n // Replace image with new SVG\r\n $img.replaceWith($svg)\r\n },\r\n 'xml'\r\n )\r\n })\r\n }\r\n\r\n // jQuery fix to move the validation error to the bottom of the form\r\n const moveErrors = () => {\r\n $('.gform_footer').after(\r\n $('.validation_error')\r\n );\r\n }\r\n\r\n const resizeBLocks = () => {\r\n // Cache object\r\n let mod02_holder = $('.mod-02-text-image-dots .block.block-right'),\r\n mod02_block = $('.mod-02-text-image-dots .block.block-right .background-block')\r\n\r\n $(window)\r\n .on('resize', function () {\r\n // Mod 02\r\n let height = mod02_holder.height()\r\n mod02_block.css('height', parseFloat(height + 110) + 'px')\r\n })\r\n .resize()\r\n }\r\n\r\n const singeLocationDescriptionBG = () => {\r\n if (document.querySelector('.location-description')) {\r\n $(window)\r\n .on('resize', function () {\r\n // Get height\r\n let height = $('.location-description .title-block').outerHeight()\r\n $('.location-description .title-block .background').css('height', height + 'px')\r\n })\r\n .resize()\r\n }\r\n }\r\n\r\n return {\r\n init,\r\n }\r\n}\r\n","const vacancies = () => {\r\n const init = () => {\r\n vacanciesFilter()\r\n vacanciesFilterToggle()\r\n }\r\n\r\n function onlyUnique(value, index, self) {\r\n return self.indexOf(value) === index\r\n }\r\n\r\n function createFilterItems(parentElement, items) {\r\n let test = document.getElementById('filters')\r\n if (!test) {\r\n return false\r\n }\r\n let element = document.querySelector(parentElement)\r\n for (let item of items) {\r\n let listItem = `
We hebben geen resultaten gevonden op basis van uw zoekopdracht.
\r\n${vacancy.description}
\r\n