{"version":3,"sources":["empty.js","Accordion/textAccordion.js","anchor-menu/anchor-menu.js","courses/course-list.js","contact-button/contact-button.js","Collapse/collapse.js","grid-accordion/accordion.js","grid-rte/grid-rte.js","header/toggleMenu.js","grid-video/grid-video.js","js-overflow/js-overflow.js","modal/modal.js","scroll-to-top/scroll-to-top.js"],"names":[],"mappings":"AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"modules.js","sourcesContent":["(function () {})();","(function () {\r\n function initAcc(elem, option){\r\n document.addEventListener('click', function (e) {\r\n if (!e.target.matches(elem+' .a-btn')) {return}\r\n else{\r\n if(!e.target.parentElement.classList.contains('active')){\r\n if(option===true){\r\n const elementList = document.querySelectorAll(elem + ' .a-container');\r\n Array.prototype.forEach.call(elementList, function (e) {\r\n e.classList.remove('active');\r\n });\r\n }\r\n e.target.parentElement.classList.add('active');\r\n e.target.style.background = e.target.getAttribute(\"tab-color\");\r\n\r\n }else{\r\n e.target.parentElement.classList.remove('active');\r\n e.target.style.background = \"\";\r\n }\r\n }\r\n });\r\n }\r\n initAcc('.accordion-text.v2', false);\r\n\r\n const elements = document.getElementsByClassName(\"a-btn\");\r\n\r\n const $Osc = {\r\n hover: function (event) {\r\n event.target.style.backgroundColor = event.target.getAttribute(\"tab-color\");\r\n },\r\n out: function (event) {\r\n console.log(event.target.parentElement.classList)\r\n if(!event.target.parentElement.classList.contains(\"active\")){\r\n event.target.style.backgroundColor = \"\";\r\n }\r\n }\r\n\r\n };\r\n for (let j = 0; j < elements.length; j++) {\r\n elements[j].addEventListener(\"mouseover\", $Osc.hover, false);\r\n elements[j].addEventListener(\"mouseout\", $Osc.out, false);\r\n }\r\n})();","(function () {\r\n const anchorMenu = document.querySelector('.anchor-menu');\r\n const anchorPoints = document.querySelectorAll('[data-anchor-link]');\r\n\r\n if (anchorMenu && anchorPoints.length > 0) {\r\n \r\n\r\n const trigger = anchorMenu.querySelector('.anchor-menu__trigger');\r\n const body = anchorMenu.querySelector('.anchor-menu__body');\r\n\r\n trigger.onclick = function () {\r\n anchorMenu.classList.toggle('active');\r\n document.documentElement.classList.toggle('anchor-menu-open');\r\n }\r\n\r\n let bodyHTML = '';\r\n\r\n anchorPoints.forEach(function (el) {\r\n const title = el.getAttribute('data-anchor-title');\r\n const id = el.getAttribute('data-anchor-link');\r\n if (title && id) {\r\n bodyHTML += '' + title + '';\r\n }\r\n });\r\n body.innerHTML = bodyHTML;\r\n\r\n body.querySelectorAll('a').forEach(function(el) {\r\n el.addEventListener('click',\r\n function() {\r\n trigger.click();\r\n });\r\n });\r\n if (bodyHTML) {\r\n anchorMenu.classList.remove('anchor-menu--hidden');\r\n }\r\n }\r\n\r\n})();","(function () {\r\n SetMinDateInDatepicker();\r\n\r\n const checkboxes = document.querySelectorAll(\".courses-checkbox\");\r\n const datePickers = document.querySelectorAll(\".course-filter__datepicker\");\r\n const tabs = document.getElementsByClassName(\"tab-label\");\r\n const selectBoxes = document.getElementsByClassName(\"selectBox\")\r\n const resetBtn = document.querySelectorAll('.course-filter__reset-btn');\r\n\r\n SetEvents(checkboxes, UpdateCourses, \"change\")\r\n SetEvents(datePickers, UpdateCourses, \"change\")\r\n SetEvents(tabs, GetCourses, \"click\")\r\n SetEvents(selectBoxes, DropDownListener, \"click\")\r\n SetEvents(resetBtn, setResetBtn, \"click\")\r\n\r\n if (document.querySelector(\".tab-label--area-page\") != null) {\r\n const areaPageTabs = document.getElementsByClassName(\"tab-label--area-page\");\r\n for (let i = 0; i < areaPageTabs.length; i++) {\r\n GetCoursesOnLoad(areaPageTabs[i])\r\n }\r\n }\r\n\r\n const tabElements = document.getElementsByClassName(\"tab\");\r\n for (let i = 0; i < tabElements.length; i++) {\r\n if (tabElements[i].querySelector(\"input\").checked) {\r\n tabElements[i].querySelector(\"input\").checked = false;\r\n }\r\n }\r\n window.addEventListener('click', function (e) {\r\n if (\r\n !e.target.parentNode.classList.contains('custom-checkbox')\r\n &&\r\n !e.target.parentNode.classList.contains('selectBox')\r\n ) {\r\n var checkboxesList = document.querySelectorAll('.checkboxes');\r\n for (let i = 0; i < checkboxesList.length; i++) {\r\n if (checkboxesList[i].style.display === 'block') {\r\n checkboxesList[i].style.display = 'none'\r\n }\r\n }\r\n }\r\n\r\n })\r\n\r\n})();\r\n\r\nfunction setResetBtn() {\r\n const datepickerStartDate = document.getElementById(\"start-date\");\r\n const datepickerEndDate = document.getElementById(\"end-date\");\r\n const checkboxes = document.querySelectorAll(\".courses-checkbox\");\r\n const labels = document.querySelectorAll('.option-label');\r\n\r\n datepickerStartDate.value = \"\";\r\n datepickerEndDate.value = \"\";\r\n\r\n for (let i = 0; i < labels.length; i++) {\r\n labels[i].innerHTML = \"\"\r\n }\r\n for (let i = 0; i < checkboxes.length; i++) {\r\n checkboxes[i].checked = false;\r\n }\r\n\r\n UpdateCourses(datepickerStartDate)\r\n}\r\n\r\nfunction SetMinDateInDatepicker() {\r\n // Set min date in datepickers\r\n const datepickerStartDate = document.getElementById(\"start-date\");\r\n const datepickerEndDate = document.getElementById(\"end-date\");\r\n const todayDate = new Date().toISOString().slice(0, 10);\r\n if (datepickerStartDate !== undefined && datepickerStartDate !== null) {\r\n datepickerStartDate.setAttribute(\"min\", todayDate);\r\n }\r\n if (datepickerEndDate !== undefined && datepickerEndDate !== null) {\r\n datepickerEndDate.setAttribute(\"min\", todayDate);\r\n }\r\n}\r\n\r\nfunction SetLabel(elem) {\r\n // Function for adding selected value on dropdowns. Depends on type of input.\r\n const dateSpan = document.createElement('span')\r\n dateSpan.classList.add(\"option-label\")\r\n const selectBox = elem.closest(\".selectBox\");\r\n const option = selectBox.querySelector(\".selectBox__option\");\r\n\r\n if (elem.getAttribute(\"type\") === \"date\") {\r\n dateSpan.innerHTML = \"(\" + elem.value + \")\";\r\n } else if (elem.getAttribute(\"type\") === \"checkbox\") {\r\n const checkBoxesDays = document.querySelectorAll(\"#\" + selectBox.id + \" input[type=checkbox]:checked\");\r\n console.log(checkBoxesDays)\r\n if (checkBoxesDays.length === 0) {\r\n dateSpan.innerHTML = \"\";\r\n } else if (checkBoxesDays.length === 1) {\r\n const text = checkBoxesDays[0]\r\n dateSpan.innerHTML = \"(\" + text.nextElementSibling.innerText + \")\";\r\n } else {\r\n dateSpan.innerHTML = \"(\" + checkBoxesDays.length + \")\";\r\n }\r\n }\r\n option.removeChild(option.lastChild)\r\n option.innerText = option.getAttribute(\"text\")\r\n option.appendChild(dateSpan);\r\n}\r\n\r\n// Takes the current filters and updates the courses according to that\r\nfunction UpdateCourses(event) {\r\n const elem = document.querySelector(\"#dvProductDetails\");\r\n\r\n // Updating courses by selected filter\r\n if (event.target !== undefined) {\r\n SetLabel(event.target)\r\n }\r\n const filterRequestObject = GetFilterRequestObject();\r\n\r\n elem.innerHTML = \"LOADING\";\r\n ajax.post('/umbraco/surface/CourseList/Filter', filterRequestObject.Filter,\r\n function (data) {\r\n elem.innerHTML = data;\r\n const tabs = document.getElementsByClassName(\"tab-label\");\r\n SetEvents(tabs, GetCourses, \"click\");\r\n });\r\n}\r\n\r\nfunction GetCourses(el) {\r\n // Get courses by selected tab it is for lazy loading\r\n const dataLoaded = el.target.getAttribute(\"data-loaded\");\r\n const filterRequestObject = GetFilterRequestObject();\r\n \r\n if (el.target.nextElementSibling.style.display === \"block\") {\r\n el.target.nextElementSibling.style.display = 'none';\r\n } else {\r\n el.target.nextElementSibling.style.display = 'block';\r\n }\r\n\r\n if (dataLoaded === \"0\") {\r\n filterRequestObject.SubjectIds = el.target.getAttribute(\"data-subjects\");\r\n filterRequestObject.NodeId = el.target.getAttribute(\"data-id\");\r\n ajax.post('/umbraco/surface/CourseList/RenderSubjectCourses', filterRequestObject,\r\n function (data) {\r\n //const elem = document.getElementById(filterRequestObject.NodeId + \"-content\");\r\n //console.log(\"elem - elem \", elem)\r\n const elem = el.target.nextElementSibling;\r\n elem.innerHTML = data;\r\n el.target.setAttribute(\"data-loaded\", \"1\");\r\n });\r\n\r\n }\r\n}\r\n\r\nfunction GetCoursesOnLoad(el) {\r\n // Get courses by selected tab it is for lazy loading\r\n const dataLoaded = el.getAttribute(\"data-loaded\");\r\n const filterRequestObject = GetFilterRequestObject();\r\n\r\n el.previousElementSibling.checked = true;\r\n el.nextElementSibling.style.cssText = 'display:block; max-height: inherit';\r\n\r\n if (dataLoaded === \"0\") {\r\n filterRequestObject.SubjectIds = el.getAttribute(\"data-subjects\");\r\n filterRequestObject.NodeId = el.getAttribute(\"data-id\");\r\n ajax.post('/umbraco/surface/CourseList/RenderSubjectCourses', filterRequestObject,\r\n function (data) {\r\n //const elem = document.getElementById(filterRequestObject.NodeId + \"-content\");\r\n const elem = el.target.nextSibling;\r\n elem.innerHTML = data;\r\n el.setAttribute(\"data-loaded\", \"1\");\r\n });\r\n }\r\n}\r\n\r\nfunction DropDownListener(event) {\r\n //Event listener for Dropdown\r\n const elem = event.target;\r\n const checkboxes = elem.nextElementSibling;\r\n if (!elem.classList.contains(\"selectBox__select\")) {\r\n return;\r\n }\r\n let checkboxesList = document.querySelectorAll(\".checkboxes\");\r\n for (let i = 0; i < checkboxesList.length; i++) {\r\n if (checkboxesList[i] !== checkboxes) {\r\n checkboxesList[i].style.display = \"none\"\r\n }\r\n }\r\n\r\n if (checkboxes.style.display === \"block\") {\r\n checkboxes.style.display = \"none\";\r\n } else {\r\n checkboxes.style.display = \"block\";\r\n }\r\n}\r\n\r\nfunction GetFilterRequestObject() {\r\n const element = document.getElementById(\"ListFilterControls\");\r\n if (element != null) {\r\n let id = element.getAttribute(\"data-id\");\r\n\r\n const startDate = document.getElementById(\"start-date\") != null ? document.getElementById(\"start-date\").value : \"\";\r\n const endDate = document.getElementById(\"end-date\") != null ? document.getElementById(\"end-date\").value : \"\";\r\n\r\n const checkBoxesDays = document.querySelectorAll(\"#DaysDropdowns input[type=checkbox]:checked\");\r\n const checkBoxesSchool = document.querySelectorAll(\"#schoolDropdown input[type=checkbox]:checked\");\r\n\r\n const filterRequestObject = {\r\n Filter: {\r\n Id: parseInt(id),\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n Days: []\r\n },\r\n SubjectIds: \"\"\r\n }\r\n\r\n for (let i = 0; i < checkBoxesDays.length; i++) {\r\n const values = checkBoxesDays[i].value.split(\",\");\r\n filterRequestObject.Filter.Days.push(values)\r\n }\r\n\r\n for (let i = 0; i < checkBoxesSchool.length; i++) {\r\n filterRequestObject.Filter[\"School\"] = checkBoxesSchool[i].value;\r\n }\r\n return filterRequestObject;\r\n }\r\n}\r\n\r\nfunction SetEvents(listOfElements, listener, type) {\r\n for (let i = 0; i < listOfElements.length; i++) {\r\n listOfElements[i].addEventListener(type, function (event) {\r\n listener(event)\r\n })\r\n }\r\n}","(function () {\r\n\r\n const contactButton = document.querySelector('.contact-button');\r\n if (contactButton) {\r\n const trigger = contactButton.querySelector('.contact-button__trigger');\r\n\r\n trigger.onclick = function () {\r\n contactButton.classList.toggle('active');\r\n document.documentElement.classList.toggle('contact-button-open');\r\n }\r\n }\r\n\r\n})();","(function () {\r\n const coll = document.getElementsByClassName(\"collapsible\");\r\n let i;\r\n\r\n for (i = 0; i < coll.length; i++) {\r\n coll[i].addEventListener(\"click\", function() {\r\n this.classList.toggle(\"active\");\r\n const content = this.nextElementSibling;\r\n if (content.style.maxHeight){\r\n content.style.maxHeight = null;\r\n content.style.display = \"none\"\r\n } else {\r\n content.style.display = \"block\"\r\n content.style.maxHeight = content.scrollHeight + \"px\";\r\n }\r\n });\r\n }\r\n})();","(function () {\r\n\r\n const accordions = document.querySelectorAll('.accordion');\r\n if (accordions.length > 0) {\r\n function enableAccordions() {\r\n accordions.forEach(function(el) {\r\n const trigger = el.querySelector('.accordion__trigger');\r\n const body = el.querySelector('.accordion__body');\r\n\r\n trigger.onclick = function () {\r\n trigger.classList.toggle('active');\r\n el.classList.toggle('accordion--active');\r\n\r\n if (body.style.maxHeight) {\r\n body.style.maxHeight = null;\r\n } else {\r\n body.style.maxHeight = body.scrollHeight + 'px';\r\n }\r\n }\r\n });\r\n }\r\n\r\n enableAccordions();\r\n }\r\n\r\n})();","(function () {\r\n var tables = document.querySelectorAll('.grid-rte table');\r\n if (tables.length > 0) {\r\n tables.forEach(function(table) {\r\n table.outerHTML = \"