{"version":3,"sources":["block.media-box.js","block.rank-math-faq.js","components.accordion.js","components.form.js","components.in-view.js","components.load-more.js","components.loop-concert.js","components.oembed.js","components.site-header.js","components.site-nav.js","master.js"],"names":["twentyninetimes","blockMediaBox","addVideoElement","mediaBox","videoWrapper","videoSrc","getAttribute","videoElement","setAttribute","createVideoElement","video","document","createElement","classList","contains","add","addEventListener","appendChild","removeVideoElement","setTimeout","removeChild","mediaBoxes","querySelectorAll","length","forEach","querySelector","init","faqs","rankMathFaqs","faq","id","replace","question","answerContent","innerHTML","questionContent","accordion","closeAccordion","toggle","content","accordionHeight","clientHeight","style","height","remove","accordionToggle","activeAccordion","activeToggle","activeContent","closest","accordionContent","parentNode","concertSearchInput","getElementById","focus","formular","handleFileSelect","evt","target","files","list","reader","type","f","FileReader","onload","match","theFile","e","result","name","span","html","join","readAsDataURL","formular_inputs","input","stopPropagation","value","field","fileInputs","forms","form","inView","inViewItems","windowWidth","window","innerWidth","IntersectionObserver","entries","observer","entry","isIntersecting","playBtn","click","hasAttribute","observe","item","loadMore","loadMoreBtnContainer","btn","btn_text_elm","btn_load_text","btn_container","btn_wrapper","btn_text","posts_list","xhr","method","action","nonce","previousElementSibling","XMLHttpRequest","query_var_block","query_var","ajax_var","url","location","search","count_elm","open","setRequestHeader","JSON","stringify","query","status","responseText","listHeight","new_posts","overflow","listHeightNew","animateListHeight","test","post_counter","page","console","log","response","alert","loopConcert","next","concertLoopWithFilter","items","titles","loopNoResults","Array","from","searchTerm","toLowerCase","hasVisibleItems","innerText","includes","loopSortSearch","nextElementSibling","push","title","oembedToggle","createIframe","src","elm","appendElm","figure","iframe","overlay","appendWrapper","overlay_inner","oembed_btns","testimonial_images","documentElement","body","bodyScrollLock","enableBodyScroll","image","new_src","this","parent","disableBodyScroll","siteHeader","curScroll","doc","w","prevScroll","scrollY","scrollTop","direction","prevDirection","site_body","header","header_height","toggleHeader","checkScroll","navigation","site_nav_overlay","nav_toggle","event","site_nav_overlay_item","i","site_nav_overlay_item_timeout","current","sub_menu","current_open","itemsWithChildren","sub_menu_toggle","nav_item","parentElement","subMenuToggle","onscroll"],"mappings":"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","file":"master.min.js","sourcesContent":["'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.blockMediaBox = twentyninetimes.blockMediaBox || function () {\n\n\tfunction init() {\n const mediaBoxes = document.querySelectorAll('.media-box-item[data-video-src]');\n\n if (mediaBoxes.length) {\n mediaBoxes.forEach(function(mediaBox) {\n let videoWrapper = mediaBox.querySelector('.media-box-item__video');\n addMouseEnter(mediaBox, videoWrapper);\n addMouseLeave(mediaBox, videoWrapper);\n });\n }\n\t}\n\n // Add hover event listener to media box element\n function addMouseEnter(mediaBox, videoWrapper) {\n mediaBox.addEventListener('mouseenter', function() {\n addVideoElement(mediaBox, videoWrapper);\n });\n }\n\n // Remove video element on mouse leave\n function addMouseLeave(mediaBox, videoWrapper) {\n mediaBox.addEventListener('mouseleave', function() {\n removeVideoElement(mediaBox, videoWrapper);\n });\n }\n\n function addVideoElement(mediaBox, videoWrapper) {\n const videoSrc = mediaBox.getAttribute('data-video-src');\n const videoElement = createVideoElement(videoSrc);\n\n if ( !mediaBox.classList.contains('has-video') ) {\n // Wait until the video is loaded\n videoElement.addEventListener('loadeddata', () => {\n // Append the video element to the wrapper\n videoWrapper.appendChild(videoElement);\n mediaBox.classList.add('has-video');\n mediaBox.classList.add('is-hovered');\n });\n } else {\n mediaBox.classList.add('is-hovered');\n }\n \n \n }\n\n function removeVideoElement(mediaBox, videoWrapper) {\n const videoElement = mediaBox.querySelector('video');\n \n mediaBox.classList.remove('is-hovered');\n\n setTimeout(function() {\n if ( !mediaBox.classList.contains('is-hovered') ) {\n videoWrapper.removeChild(videoElement);\n mediaBox.classList.remove('has-video');\n }\n }, 600);\n }\n\n // Get video src from attribute and create and append to autoplayed video element on hover\n function createVideoElement(videoSrc) {\n const video = document.createElement('video');\n video.setAttribute('autoplay', '');\n video.setAttribute('muted', '');\n video.setAttribute('playsinline', '');\n video.setAttribute('loop', '');\n video.setAttribute('src', videoSrc);\n\n // Explicitly set the muted property to true\n video.muted = true;\n\n return video;\n }\n\n\treturn {\n\t\tinit : init,\n addVideoElement : addVideoElement,\n removeVideoElement : removeVideoElement\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.faqs = twentyninetimes.faqs || function () {\n\n\tfunction init() {\n\t\tconst rankMathFaqs = document.querySelectorAll('.rank-math-list-item')\n\n\t\tif ( rankMathFaqs.length > 0 ) {\n rankMathFaqFunction(rankMathFaqs);\n\t\t}\n\t}\n\n\tfunction rankMathFaqFunction(rankMathFaqs) {\n rankMathFaqs.forEach((faq) => {\n var id = faq.getAttribute('id').replace('faq-question-', ''),\n question = faq.querySelector('.rank-math-question'),\n answer = faq.querySelector('.rank-math-answer'),\n answerContent = answer.innerHTML,\n questionContent = question.innerHTML;\n\n faq.classList.add('js-accordion');\n\n var questionContentNew = '',\n answerContentNew = '
' + answerContent + '
';\n\n faq.innerHTML = questionContentNew + answerContentNew;\n });\n\t}\n\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.accordion = twentyninetimes.accordion || function () {\n\n\tfunction init(accordionToggle) {\n var accordion = accordionToggle.closest('.js-accordion'),\n accordionContent = accordion.querySelector('.js-accordion-content');\n\n if ( accordion.classList.contains('item-concert') ) {\n var activeAccordion = accordion.parentNode.closest('.item-concert.js-accordion.active');\n } else if ( accordion.classList.contains('item-concert__accordion') ) {\n var activeAccordion = accordion.parentNode.closest('.item-concert__accordion.js-accordion.active');\n } else {\n var activeAccordion = accordion.parentNode.closest('.js-accordion.active');\n }\n\n if ( activeAccordion ) {\n var activeToggle = activeAccordion.querySelector('.js-accordion-toggle'),\n activeContent = activeAccordion.querySelector('.js-accordion-content');\n closeAccordion(activeAccordion, activeToggle, activeContent);\n }\n\n\n ( !accordion.classList.contains('active') )\n ? openAccordion(accordion, accordionToggle, accordionContent)\n : closeAccordion(accordion, accordionToggle, accordionContent);\n }\n\n\tfunction openAccordion(accordion, toggle, content) {\n\t\ttoggle.setAttribute('aria-expanded', true);\n\t\taccordion.classList.add('active');\n\n\t\tcontent.style.height = 'auto';\n\t\tvar accordionHeight = content.clientHeight;\n\t\tcontent.style.height = '0px';\n\n\t\tsetTimeout(function () {\n\t\t\taccordion.classList.add('active');\n\t\t\tcontent.style.height = accordionHeight + 'px';\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tif ( accordion.classList.contains('active') ) {\n\t\t\t\t\tcontent.style.height = 'auto';\n\t\t\t\t}\n\t\t\t}, 500);\n\n if ( toggle.classList.contains('search-toggle') ) {\n var concertSearchInput = document.getElementById('concert-search');\n\n if ( !concertSearchInput ) return;\n\n concertSearchInput.focus();\n }\n\t\t}, 10);\n\t}\n\n\tfunction closeAccordion(accordion, toggle, content) {\n\t\tvar accordionHeight = content.clientHeight;\n\t\tcontent.style.height = accordionHeight + 'px';\n\n\t\tsetTimeout(function () {\n\t\t\tcontent.style.height = '0px';\n\t\t\taccordion.classList.remove('active');\t\t\t\t\n\t\t}, 10);\n\n\t\ttoggle.setAttribute('aria-expanded', false);\n\t}\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.formular = twentyninetimes.formular || function () {\n\n\tfunction init() {\n var formular_inputs = document.querySelectorAll('.customform-field input, .customform-field textarea, .customform-field select');\n\t\tif ( formular_inputs.length > 0 ) {\n\t\t\tformLabelToggle(formular_inputs);\n\t\t}\n\n var fileInputs = document.querySelectorAll('input[type=\"file\"]');\n if ( fileInputs.length > 0 ) {\n fileInputs.forEach((input) => {\n input.addEventListener(\"change\", handleFileSelect, false);\n });\n }\n\n var forms = document.querySelectorAll(\".customform-form\");\n if ( forms.length > 0 ) {\n forms.forEach((form) => {\n form.addEventListener(\"submit\", function (e) {\n e.target.classList.add(\"sending\");\n });\n });\n }\n\t}\n\n function formLabelToggle(inputs) {\n inputs.forEach((input) => {\n input.addEventListener('input', (e) => {\n e.stopPropagation();\n\n var value = input.value,\n field = input.parentNode;\n\n ( !value == '' )\n ? field.classList.add('has-value')\n : field.classList.remove('has-value');\n });\n });\n }\n\n function handleFileSelect(evt) {\n var target = evt.target,\n files = target.files,\n list = target.parentNode.parentNode.querySelector(\n \".customform-field-file__list\"\n ); // FileList object\n\n if (list) {\n target.parentNode.parentNode.removeChild(list);\n }\n\n if (files) {\n list = document.createElement(\"ul\");\n list.setAttribute(\"class\", \"customform-field-file__list\");\n target.parentNode.parentNode.appendChild(list);\n }\n\n // Loop through the FileList and render image files as thumbnails.\n for (var i = 0, f; (f = files[i]); i++) {\n let type = f.type;\n // Only process image files.\n // if (!f.type.match('image.*')) {\n // continue;\n // }\n\n var reader = new FileReader();\n\n // Closure to capture the file information.\n reader.onload = (function (theFile) {\n return function (e) {\n // Render thumbnail.\n var span = document.createElement(\"li\"),\n html = type.match(\"image.*\")\n ? [\n '
',\n theFile.name,\n \"\",\n ]\n : [\n '
',\n '',theFile.name,''\n ];\n\n span.innerHTML = html.join(\"\");\n list.appendChild(span, null);\n };\n })(f);\n\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n }\n\n return {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.inView = twentyninetimes.inView || function () {\n\n\tfunction init() {\n const inViewItems = document.querySelectorAll('[in-view], .wp-block-column, .wp-block-media-text, .rank-math-list-item, .customform-container'),\n windowWidth = window.innerWidth;\n if (!inViewItems.length) return;\n\n const inView = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n var target = entry.target;\n\n target.classList.toggle('visible', entry.isIntersecting)\n\n if ( target.classList.contains('oembed--autoplay') ) {\n var playBtn = target.querySelector('.js-oembed-toggle.js-oembed-inline');\n if ( !playBtn ) return;\n \n playBtn.click();\n }\n\n if ( target.classList.contains('media-box-item') && target.hasAttribute('data-video-src') && windowWidth < 768 ) {\n var mediaBox = target,\n videoWrapper = mediaBox.querySelector('.media-box-item__video');\n\n if ( mediaBox.classList.contains('is-hovered') ) {\n twentyninetimes.blockMediaBox.removeVideoElement(mediaBox, videoWrapper);\n } else {\n twentyninetimes.blockMediaBox.addVideoElement(mediaBox, videoWrapper);\n }\n }\n \n // remove this if statement, if animations should replay when you scroll back\n // if (entry.isIntersecting) {\n // observer.unobserve(target)\n // } \n })\n })\n inViewItems.forEach((item) => {\n inView.observe(item)\n })\n\t}\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.loadMore = twentyninetimes.loadMore || function () {\n\n\tfunction init() {\n\t\tlet loadMoreBtnContainer = document.getElementById('js-load-more-container');\n\n\t\tif ( loadMoreBtnContainer ) load_more(loadMoreBtnContainer);\n\t}\n\n\tfunction load_more(loadMoreBtnContainer) {\n loadMoreBtnContainer.addEventListener('click', function(e) {\n\n if ( !e.target.closest('.js-load-more-btn') ) \n return;\n\n e.stopPropagation();\n \n var btn = e.target.closest('.js-load-more-btn'),\n btn_text_elm = btn.querySelector('.js-load-more-text'),\n btn_text = btn_text_elm.innerHTML,\n btn_load_text = btn_text_elm.getAttribute('data-load-text'),\n btn_container = btn.closest('#js-load-more-container'),\n posts_list \t\t= btn_container.previousElementSibling;\n\n if ( !btn.classList.contains('ready') ) \n return;\n\n btn.classList.remove('ready');\n \n btn_text_elm.innerHTML = btn_load_text;\n\n request_new_posts(btn_container, btn, btn_text_elm, btn_text, posts_list);\n });\n\t}\n\n\tfunction request_new_posts(btn_wrapper, btn, btn_text_elm, btn_text, posts_list) {\n\t // https://getbutterfly.com/how-to-replace-jquery-ajax-with-vanilla-javascript-in-wordpress/\n\t var xhr \t\t\t= new XMLHttpRequest(),\n method \t= 'POST',\n query \t = typeof query_var_block !== 'undefined' \n ? query_var_block \n : query_var,\n action \t\t\t= 'load_more_posts',\n url \t\t= ajax_var.url + window.location.search,\n nonce = ajax_var.nonce,\n\t count_elm = posts_list.parentNode.querySelector('.js-load-more-counter');\n\n\t xhr.open(method, url, true);\n\t xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');\n\t xhr.send('action='+action+'&nonce='+nonce+'&query='+JSON.stringify(query));\n\n\t xhr.onload = function() {\n\t if (xhr.status >= 200 && xhr.status < 400) {\n\t // If successful\n\t let new_posts = xhr.responseText;\n\n var listHeight = posts_list.clientHeight;\n posts_list.style.height = listHeight+'px';\n posts_list.style.overflow = 'hidden';\n\n // Add new posts to existing post list\n\t posts_list.innerHTML += new_posts;\n \n posts_list.style.height = 'auto';\n var listHeightNew = posts_list.clientHeight;\n posts_list.style.height = listHeight+'px';\n \n setTimeout(() => {\n posts_list.style.height = listHeightNew+'px';\n \n setTimeout(() => {\n posts_list.style.height = 'auto';\n }, 600);\n }, 10);\n\t \n animateListHeight(posts_list);\n\n\t setTimeout(() => {\n\t \tvar inViewItems = posts_list.querySelectorAll('[in-view]:not(.visible)');\n\t \tif ( inViewItems ) {\n\t \t var test = (item) => {\n\t \t if ( !item.classList.contains('visible') ) {\n\t \t item.classList.add('visible');\n\n setTimeout(() => {\n item.removeAttribute('in-view');\n }, 600);\n\t \t }\n\t \t };\n\t \t twentyninetimes.inView.init(inViewItems, test, -100);\n\t \t}\n\t }, 300);\n\n if ( count_elm ) {\n // Update the counter after new posts are loaded\n let post_counter = posts_list.childElementCount;\n count_elm.innerHTML = post_counter;\n }\n\n // Change WP Query page\n query.page++;\n\n\t // If more pages keep button visible else hide it\n\t if ( query.page < query.max_num_pages ) {\n \tsetTimeout(() => {\n btn_text_elm.innerHTML = btn_text;\n \tbtn.classList.add('ready');\n \t}, 610);\n\t } else {\n \t\tsetTimeout(() => {\n posts_list.parentNode.removeChild(btn_wrapper);\n \t\t}, 610);\n\t }\n\t } else {\n\t // If fail\n\t console.log(xhr.response);\n\t }\n\t };\n\n\t xhr.onerror = function() {\n\t alert(\"Something went wrong... Please try again later\");\n\t };\n\t}\n\n function animateListHeight(list) {\n\n }\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.loopConcert = twentyninetimes.loopConcert || function () {\n\n\tfunction init() {\n const concertLoopWithFilter = document.querySelector('.loop--concert.has-filter');\n\n if (concertLoopWithFilter) {\n loopSortSearch(concertLoopWithFilter);\n }\n\t}\n\n // function loopSortSearch() {\n // var options = {\n // valueNames: [ \n // 'title', \n // 'date', \n // { name: 'timestamp', attr: 'data-timestamp'},\n // { name: 'city', attr: 'data-city'}\n // ]\n // };\n \n // var userList = new List('concerts', options);\n\n // var loopNoResults = document.querySelector('.loop__no-results');\n\n // userList.on('updated', function() {\n // if ( userList.matchingItems.length > 0 ) {\n // loopNoResults.style.display = 'none';\n // } else {\n // loopNoResults.style.display = 'block';\n // }\n // });\n // }\n\n function loopSortSearch(concertLoopWithFilter) {\n const search = concertLoopWithFilter.querySelector('.search-input');\n const items = Array.from(concertLoopWithFilter.querySelectorAll('.item-concert'));\n const titles = Array.from(concertLoopWithFilter.querySelectorAll('.loop__inner-header'));\n const loopNoResults = concertLoopWithFilter.querySelector('.loop__no-results');\n\n search.addEventListener('input', (e) => {\n const searchTerm = e.target.value.toLowerCase();\n let hasVisibleItems = false;\n\n items.forEach((item) => {\n if (item.innerText.toLowerCase().includes(searchTerm) || !searchTerm) {\n item.classList.remove('item-concert--hidden');\n hasVisibleItems = true;\n } else {\n item.classList.add('item-concert--hidden');\n }\n });\n\n titles.forEach((title) => {\n const siblings = [];\n let next = title.nextElementSibling;\n while (next && !next.matches('.loop__inner-header')) {\n if (!next.classList.contains('item-concert--hidden')) {\n siblings.push(next);\n }\n next = next.nextElementSibling;\n }\n\n if (siblings.length > 0) {\n title.classList.remove('loop__inner-header--hidden');\n } else {\n title.classList.add('loop__inner-header--hidden');\n }\n });\n\n if (hasVisibleItems) {\n loopNoResults.style.display = 'none';\n } else {\n loopNoResults.style.display = 'block';\n }\n });\n }\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.oembedToggle = twentyninetimes.oembedToggle || function () {\n\n\tfunction init() {\n\t\tvar oembed_btns = document.querySelectorAll('.js-oembed-toggle');\n\n\t\tif ( oembed_btns && oembed_btns.length != 0 ) {\n\t\t\tvar overlay = document.getElementById('js-overlay-embed'),\n\t\t\t\tappendWrapper = overlay.querySelector('.overlay-embed__inner');\n\t\t\t\t\n\t\t\toembed_overlay_remove(overlay);\n\n\t\t\toembed_btns.forEach(btn => {\n\t\t\t\tbtn.addEventListener('click', function(e) {\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tvar src \t= this.getAttribute('data-oembed-src'),\n\t\t\t\t\t\tnew_src = src + '?&autoplay=1';\n\n\t\t\t\t\tif ( btn.classList.contains('js-oembed-autoplay') ) {\n\t\t\t\t\t\tnew_src += '&mute=1&background=1&rel=0';\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( btn.classList.contains('js-oembed-inline') ) {\n\t\t\t\t\t\tvar parent \t= this.parentNode;\n\n\t\t\t\t\t\tif ( !parent.classList.contains('has-media') ) {\n\t\t\t\t\t\t\tparent.classList.add('active');\n\t\t\t\t\t\t\tcreateIframe(new_src, parent, parent);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( !overlay.classList.contains('has-media') ) {\n\t\t\t\t\t\t\toverlay.classList.add('active');\n\t\t\t\t\t\t\toverlay.classList.add('oembed-active');\n\t\t\t\t\t\t\tcreateIframe(new_src, overlay, appendWrapper);\n\n\t\t\t\t\t\t\t( document.documentElement )\n\t\t\t\t\t\t\t\t? document.documentElement.classList.add('no-scroll')\n\t\t\t\t\t\t\t\t: document.body.classList.add('no-scroll');\n\n\t\t\t\t\t\t\tbodyScrollLock.disableBodyScroll(overlay);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction createIframe(src, elm, appendElm) {\n\t\tvar\tfigure = document.createElement('figure'),\n\t\t\tiframe = document.createElement('iframe');\n\n\t\tfigure.setAttribute('class', 'oembed__inline-wrapper');\n\t\tiframe.setAttribute('src', src);\n\t\tiframe.setAttribute('frameborder', '0');\n\t\tiframe.setAttribute('allow', 'autoplay; fullscreen');\n\t\tiframe.setAttribute('allowfullscreen', '');\n\n figure.appendChild(iframe);\n appendElm.appendChild(figure);\n\n \telm.classList.add('has-media');\n\t}\n\n\tfunction oembed_overlay_remove(overlay) {\n\t\tvar overlay_inner = overlay.querySelector('.overlay-embed__inner'),\n\t\t\toverlay_close_btn = overlay.querySelector('.js-overlay-close');\n\n\t\toverlay_close_btn.addEventListener('click', function(e) {\n\t\t\te.stopPropagation();\n\n\t\t\tif ( overlay.classList.contains('active') ) {\n\n\t\t\t\tvar testimonial_images = document.querySelectorAll('.item-testimonial .js-overlay-slider-item.current');\n\n\t\t\t\toverlay.classList.remove('active');\n\t\t\t\toverlay.classList.add('remove-media');\n\n\t\t\t\t( document.documentElement )\n\t\t\t\t\t? document.documentElement.classList.remove('no-scroll')\n\t\t\t\t\t: document.body.classList.remove('no-scroll');\n\n\t\t\t\tbodyScrollLock.enableBodyScroll(overlay);\n\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\toverlay_inner.innerHTML = '';\n\t\t\t\t}, 600);\n\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\toverlay.classList.remove('has-media', 'remove-media', 'oembed-active', 'slider-active');\n\n\t\t\t\t\tif ( testimonial_images ) {\n\t\t\t\t\t\ttestimonial_images.forEach((image) => {\n\t\t\t\t\t\t\timage.classList.remove('current');\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}, 1200);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.siteHeader = twentyninetimes.siteHeader || function () {\n\n var doc = document.documentElement;\n var w = window;\n\n var prevScroll = w.scrollY || doc.scrollTop;\n var curScroll;\n var direction = 0;\n var prevDirection = 0;\n\n var site_body = document.body,\n header = document.getElementById('js-site-header'),\n header_height = header.clientHeight;\n\n function init() {\n if ( header ) {\n toggleHeader(header);\n }\n }\n\n function checkScroll() {\n /*\n ** Find the direction of scroll\n ** 0 - initial, 1 - up, 2 - down\n */\n\n curScroll = w.scrollY || doc.scrollTop;\n\n ( curScroll > header_height ) \n ? site_body.classList.add('scrolled')\n : site_body.classList.remove('scrolled');\n\n if (curScroll > prevScroll) { \n //scrolled up\n direction = 2;\n }\n else if (curScroll < prevScroll) { \n //scrolled down\n direction = 1;\n }\n\n if (direction !== prevDirection) {\n toggleHeader(direction, curScroll);\n }\n\n prevScroll = curScroll;\n }\n\n function toggleHeader(direction, curScroll) {\n \n if (direction === 2 && curScroll > header_height) { \n\n site_body.classList.add('hide');\n prevDirection = direction;\n }\n else if (direction === 1) {\n site_body.classList.remove('hide');\n prevDirection = direction;\n }\n };\n\n return {\n init : init,\n checkScroll : checkScroll\n };\n\n}();","'use strict';\nvar twentyninetimes = twentyninetimes || {};\n\ntwentyninetimes.navigation = twentyninetimes.navigation || function () {\n\n\tfunction init() {\n\t\tconst site_nav_overlay = document.getElementById('js-site-nav-overlay');\n\n\t\tif ( site_nav_overlay ) {\n\t\t\tsiteNav(site_nav_overlay);\n\t\t\tsubMenuToggle(site_nav_overlay);\n\t\t}\n\t}\n\n\tfunction siteNav(site_nav_overlay) {\n\t\tvar site_body\t\t= document.body,\n\t\t\tnav_toggle \t\t= document.getElementById('js-mobile-nav-toggle');\n\n\t\tnav_toggle.addEventListener('click', function(event) {\n\t\t\tevent.stopPropagation();\n\n\t\t\tvar btn = event.target,\n\t\t\t\tsite_nav_overlay_item = site_nav_overlay.querySelectorAll('.menu > .menu-item'),\n\t\t\t\ti = 0;\n\n\t\t\tif ( !site_body.classList.contains('nav-active') ) {\n\n\t\t\t\tsite_body.classList.add('nav-active');\n\t\t\t\tnav_toggle.setAttribute('aria-expanded', true);\n\n\t\t\t\t// Disable scrolling\n\t\t\t\tsite_body.classList.add('no-scroll');\n\t\t\t\tbodyScrollLock.disableBodyScroll(site_nav_overlay);\n\n\t\t\t\tfunction site_nav_overlay_item_timeout(i) {\n\t\t\t\t\tsetTimeout(function() {\n setTimeout(function() {\n site_nav_overlay_item[i].classList.add('visible');\n }, i*50);\n }, 150);\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < site_nav_overlay_item.length; i++) { \n site_nav_overlay_item_timeout(i);\n\n\t\t\t\t\tvar current = site_nav_overlay_item[i];\n\n\t\t\t\t\tif ( !current.classList.contains('open') && current.classList.contains('current-menu-ancestor') ) {\n\t\t\t\t\t\tvar current_open = current,\n\t\t\t\t\t\t\tsub_menu = current.querySelector('.sub-menu');\n\n\t\t\t\t\t\tsub_menu.style.height = 'auto';\n\t\t\t\t\t\tvar height = sub_menu.clientHeight;\n\t\t\t\t\t\tsub_menu.style.height = '0px';\n\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\tcurrent_open.classList.add('open');\n\t\t\t\t\t\t\tsub_menu.style.height = height + 'px';;\n\n\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\tif ( current_open.classList.contains('open') ) {\n\t\t\t\t\t\t\t\t\tsub_menu.style.height = 'auto';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 400);\n\t\t\t\t\t\t}, 600);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ti = 0;\n\t\t\t} else {\n\t\t\t\tfunction site_nav_overlay_item_timeout(i) {\n setTimeout(function() {\n site_nav_overlay_item[i].classList.remove('visible');\n }, i*50);\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < site_nav_overlay_item.length; i++) { \n\t\t\t\t\tsite_nav_overlay_item_timeout(i);\n\n\t\t\t\t\tvar current = site_nav_overlay_item[i];\n\n\t\t\t\t\tif ( current.classList.contains('open') ) {\n\t\t\t\t\t\tvar current_open = current,\n\t\t\t\t\t\t\tsub_menu = current.querySelector('.sub-menu');\n\t\t\t\t\t\t\n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tsub_menu.style.height = '0px';\n\t\t\t\t\t\t\tcurrent_open.classList.remove('open');\n\t\t\t\t\t\t}, 1200);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ti = 0;\n\n\t\t\t\tsite_body.classList.remove('nav-active');\n\t\t\t\tnav_toggle.setAttribute('aria-expanded', false);\n\n\t\t\t\t// Re-activate scrolling\n\t\t\t\tsite_body.classList.remove('no-scroll');\n\t\t\t\tbodyScrollLock.enableBodyScroll(site_nav_overlay);\n\t\t\t}\n\t\t});\n\t}\n\tfunction subMenuToggle(site_nav_overlay) {\n\t\tvar itemsWithChildren = site_nav_overlay.querySelectorAll('.menu-item-has-children');\n\n\t\tif ( itemsWithChildren ) {\n\t\t\titemsWithChildren.forEach((item) => {\n\t\t\t\tvar sub_menu_toggle = item.querySelector('.js-sub-menu-toggle');\n\n\t\t\t\tif ( !sub_menu_toggle ) return;\n\t\t\t\t\n\t\t\t\tsub_menu_toggle.addEventListener('click', function(e) {\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tvar nav_item = this.parentElement,\n\t\t\t\t\t\tsub_menu = nav_item.querySelector('.sub-menu');\n\n\t\t\t\t\tif ( !nav_item.classList.contains('open') ) {\n\t\t\t\t\t\tsub_menu.style.height = 'auto';\n\t\t\t\t\t\tvar height = sub_menu.clientHeight;\n\t\t\t\t\t\tsub_menu.style.height = '0px';\n\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\tnav_item.classList.add('open');\n\t\t\t\t\t\t\tsub_menu.style.height = height + 'px';;\n\n\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\tif ( nav_item.classList.contains('open') ) {\n\t\t\t\t\t\t\t\t\tsub_menu.style.height = 'auto';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}, 400);\n\t\t\t\t\t\t}, 10);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar height = sub_menu.clientHeight;\n\t\t\t\t\t\tsub_menu.style.height = height + 'px';\n\n\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\tsub_menu.style.height = '0px';\n\t\t\t\t\t\t\tnav_item.classList.remove('open');\t\t\t\n\t\t\t\t\t\t}, 10);\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\treturn {\n\t\tinit : init\n\t};\n\n}();","'use strict';\n/*\n* Use this file to call functions in other files, on document ready, window.resize etc.\n*/\n\nvar twentyninetimes = twentyninetimes || {};\n\n// Document ready\ndocument.addEventListener('DOMContentLoaded', function(){\n\n twentyninetimes.siteHeader.init();\n twentyninetimes.navigation.init();\n twentyninetimes.inView.init();\n twentyninetimes.loadMore.init();\n twentyninetimes.formular.init();\n twentyninetimes.oembedToggle.init();\n twentyninetimes.blockMediaBox.init();\n twentyninetimes.loopConcert.init();\n twentyninetimes.faqs.init();\n\n document.addEventListener('click', function(event) {\n\t\t\tevent.stopPropagation();\n\n let accordionToggle = event.target.closest('.js-accordion-toggle, .item-concert__bottom'); \n\n if ( accordionToggle ) {\n if ( accordionToggle.tagName === 'A' ) return;\n twentyninetimes.accordion.init(accordionToggle);\n }\n \n\t\t});\n\n // Scroll functions\n window.onscroll = function () {\n // INSERT FUNCTIONS TO TRIGGER ON SCROLL\n\n twentyninetimes.siteHeader.checkScroll();\n };\n\n // Resize functions\n window.onresize = function () { \n // INSERT FUNCTIONS TO TRIGGER ON WINDOW RESIZE\n };\n \n});"]}