{"version":3,"file":"ComponentsBundle.min.js","sources":["../Components/Main.js"],"sourcesContent":["var axios;\r\nvar Swiper;\r\nvar nanogallery2;\r\nvar WebSite;\r\n(function (WebSite) {\r\n var AFWSwiper = (function () {\r\n function AFWSwiper(element, swiperSettings) {\r\n if (swiperSettings === void 0) { swiperSettings = null; }\r\n this.SwiperSettings = null;\r\n var swpSetJson = swiperSettings || element.getAttribute('data-swiper-settings');\r\n if (swpSetJson) {\r\n this.SwiperSettings = JSON.parse(swpSetJson);\r\n }\r\n new Swiper(element, this.SwiperSettings);\r\n }\r\n return AFWSwiper;\r\n }());\r\n WebSite.AFWSwiper = AFWSwiper;\r\n var Main = (function () {\r\n function Main() {\r\n this.pills = function () {\r\n var updateQueryString = function (tab) {\r\n var url = new URL(String(window.location.href));\r\n var urlParams = new URLSearchParams(url.search);\r\n urlParams.set('tab', tab);\r\n url.search = urlParams.toString();\r\n window.history.replaceState({}, '', url.toString());\r\n };\r\n var urlParams = new URLSearchParams(window.location.search);\r\n var selectedTab = urlParams.get('tab');\r\n if (selectedTab) {\r\n $(\"a.nav-link\").removeClass(\"active\");\r\n $('#' + selectedTab).addClass(\"active\");\r\n $(\".tab-pane\").removeClass(\"show active\");\r\n $(\"#\" + selectedTab + \"-pane\").addClass(\"show active\");\r\n }\r\n $(\"#pills-tab a.nav-link\").click(function (et) {\r\n $(\"a.nav-link\").removeClass(\"active\");\r\n var target = et.target;\r\n $(target).addClass(\"active\");\r\n $(\".tab-pane\").removeClass(\"show active\");\r\n $(\"#\" + target.id + \"-pane\").addClass(\"show active\");\r\n updateQueryString(target.id);\r\n });\r\n };\r\n this.collapsibleMenuClose = function () {\r\n $('.navbar-nav>li>a').on('click', function () {\r\n $('.navbar-collapse').collapse('hide');\r\n });\r\n };\r\n this.homepageMainSwiper = function () {\r\n var elements = document.querySelectorAll('[data-swiper-homepageMainSwiper-init]')[0];\r\n var el = elements;\r\n var swiper = new Swiper(el, {\r\n slidesPerView: 1,\r\n spaceBetween: 30,\r\n loop: true,\r\n breakpoints: {\r\n 992: {\r\n slidesPerView: 4,\r\n },\r\n 768: {\r\n slidesPerView: 3,\r\n },\r\n 480: {\r\n slidesPerView: 2,\r\n }\r\n },\r\n navigation: {\r\n nextEl: '.swiper-homepageMainSwiper-button-next',\r\n prevEl: '.swiper-homepageMainSwiper-button-prev'\r\n },\r\n });\r\n };\r\n this.gallerySwiper = function () {\r\n var elements = document.querySelectorAll('[data-swiper-gallerySwiper-init]')[0];\r\n var el = elements;\r\n var swiper = new Swiper(el, {\r\n slidesPerView: 1,\r\n spaceBetween: 10,\r\n centeredSlides: true,\r\n loop: true,\r\n loopAdditionalSlides: 2,\r\n touchStartPreventDefault: false,\r\n pagination: {\r\n el: '.swiper-gallery-pagination',\r\n type: 'custom',\r\n renderCustom: function (swiper, current, total) {\r\n var text = \"\";\r\n for (var i = 1; i <= total; i++) {\r\n if (i == 1) {\r\n text += \"\" + current + \"\";\r\n }\r\n var active = (current == i) ? \"active\" : \"\";\r\n text += \"\";\r\n if (i == total) {\r\n text += \"\" + total + \"\";\r\n }\r\n }\r\n return text;\r\n }\r\n },\r\n on: {\r\n slideChange: function () {\r\n var childNum = $(\".swiper-gallery-pagination\").children().length - 2;\r\n var pagWidth = 360 / childNum;\r\n $(\".custom-pag\").css(\"width\", pagWidth + \"px\");\r\n }\r\n },\r\n breakpoints: {\r\n 992: {\r\n slidesPerView: 3,\r\n },\r\n 768: {\r\n slidesPerView: 2,\r\n }\r\n },\r\n navigation: {\r\n nextEl: '.swiper-gallerySwiper-button-next',\r\n prevEl: '.swiper-gallerySwiper-button-prev'\r\n },\r\n });\r\n swiper.on(\"slideChange\", function () {\r\n $(\".comments-block\").removeClass(\"active\");\r\n $(\".comments\").find('[data-index=\"' + swiper.realIndex + '\"]').addClass(\"active\");\r\n });\r\n };\r\n this.bindSwiperTmpFunc = function () {\r\n var elements = document.querySelectorAll('[data-swiper-init]');\r\n for (var i = 0; i < elements.length; i++) {\r\n var el = elements[i];\r\n new WebSite.AFWSwiper(el);\r\n }\r\n };\r\n this.referencesSwiper = function () {\r\n var elements = document.querySelectorAll('[data-swiper-references-init]')[0];\r\n var el = elements;\r\n var swiper = new Swiper(el, {\r\n slidesPerView: 1,\r\n spaceBetween: 30,\r\n centeredSlides: true,\r\n loop: true,\r\n slideToClickedSlide: true,\r\n touchStartPreventDefault: false,\r\n breakpoints: {\r\n 992: {\r\n slidesPerView: 3,\r\n },\r\n 768: {\r\n slidesPerView: 2,\r\n }\r\n },\r\n navigation: {\r\n nextEl: '.swiper-references-button-next',\r\n prevEl: '.swiper-references-button-prev'\r\n },\r\n });\r\n swiper.on(\"slideChange\", function () {\r\n $(\".comments-block\").removeClass(\"active\");\r\n $(\".comments\").find('[data-index=\"' + swiper.realIndex + '\"]').addClass(\"active\");\r\n });\r\n };\r\n this.stickyNavigation = function () {\r\n var header = $(\"header\");\r\n if ($(window).scrollTop() >= 1) {\r\n header.addClass(\"sticky\");\r\n }\r\n else {\r\n header.removeClass(\"sticky\");\r\n }\r\n $(window).scroll(function () {\r\n if ($(window).scrollTop() >= 1) {\r\n header.addClass(\"sticky\");\r\n }\r\n else {\r\n header.removeClass(\"sticky\");\r\n }\r\n });\r\n };\r\n this.mobileMenu = function () {\r\n var hamburger = $(\"#hamburger-menu\");\r\n var mobileMenu = $(\"#mobile-menu\");\r\n var header = $(\"header\");\r\n var body = $(\"body\");\r\n var buttonsMobileMenu = $(\".mobile-menu-footer .btn\");\r\n hamburger.on(\"click\", function () {\r\n mobileMenu.toggleClass(\"open\");\r\n hamburger.toggleClass(\"open\");\r\n body.toggleClass(\"overflow\");\r\n if (!header.hasClass(\"sticky\")) {\r\n header.addClass(\"sticky\");\r\n }\r\n });\r\n buttonsMobileMenu.on(\"click\", function () {\r\n mobileMenu.toggleClass(\"open\");\r\n hamburger.toggleClass(\"open\");\r\n body.toggleClass(\"overflow\");\r\n });\r\n };\r\n this.collapseNavbarOnScroll = function () {\r\n document.getElementById(\"navbar\").style.top = \"0\";\r\n var prevScrollpos = window.pageYOffset;\r\n window.onscroll = function () {\r\n var currentScrollPos = window.pageYOffset;\r\n if (prevScrollpos > currentScrollPos) {\r\n document.getElementById(\"navbar\").style.top = \"0\";\r\n }\r\n else {\r\n document.getElementById(\"navbar\").style.top = \"-116px\";\r\n }\r\n prevScrollpos = currentScrollPos;\r\n };\r\n };\r\n this.collapseShowMoreBtn = function () {\r\n $('.collapsed-agenda').on('shown.bs.collapse', function () {\r\n $('.show-more-btn').text('Prikaži manj');\r\n });\r\n $('.collapsed-agenda').on('hidden.bs.collapse', function () {\r\n $('html, body').animate({\r\n scrollTop: $(\".agenda-first\").offset().top - 150\r\n }, 500);\r\n $('.show-more-btn').text('Prikaži celoten program');\r\n });\r\n };\r\n this.revealTextAnimation = function () {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n var paragraphs = Array.from(document.querySelectorAll(\".faded-text\"));\r\n var spans = [];\r\n paragraphs.forEach(function (paragraph) {\r\n var htmlString = '';\r\n var pArray = paragraph.textContent.split('');\r\n for (var i = 0; i < pArray.length; i++) {\r\n htmlString += \"\" + pArray[i] + \"\";\r\n }\r\n paragraph.innerHTML = htmlString;\r\n });\r\n spans = Array.from(document.querySelectorAll('.faded-text-spans'));\r\n function revealSpans() {\r\n for (var i = 0; i < spans.length; i++) {\r\n if (spans[i].parentElement.getBoundingClientRect().top < window.innerHeight / 2) {\r\n var _a = spans[i].getBoundingClientRect(), left = _a.left, top_1 = _a.top;\r\n top_1 = top_1 - (window.innerHeight * .4);\r\n var opacityValue = 1 - ((top_1 * .01) + (left * 0.001)) < 0.1 ? 0.1 : 1 - parseFloat(((top_1 * .01) + (left * 0.001)).toFixed(3));\r\n opacityValue = opacityValue > 1 ? 1 : opacityValue;\r\n spans[i].style.opacity = opacityValue.toString();\r\n }\r\n }\r\n }\r\n window.addEventListener('scroll', function () {\r\n revealSpans();\r\n });\r\n revealSpans();\r\n });\r\n };\r\n this.rowSlideUpAnimation = function () {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n var rows = document.querySelectorAll('.slide-up-item');\r\n var observer = new IntersectionObserver(handleIntersection, { threshold: 0.2 });\r\n var delayedItemsCount = 0;\r\n rows.forEach(function (row, index) {\r\n observer.observe(row);\r\n if (row.classList.contains('delayed')) {\r\n if (delayedItemsCount >= 1) {\r\n row.style.transitionDelay = (delayedItemsCount - 1) * 0.2 + 0.2 + \"s\";\r\n }\r\n delayedItemsCount++;\r\n }\r\n else {\r\n row.style.transitionDelay = '0s';\r\n }\r\n });\r\n function handleIntersection(entries, observer) {\r\n entries.forEach(function (entry) {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('slide-up-animation');\r\n }\r\n else {\r\n entry.target.classList.remove('slide-up-animation');\r\n }\r\n });\r\n }\r\n });\r\n };\r\n this.customSwipeCursor = function () {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n var customHoverElement = document.querySelector('.custom-hover-element');\r\n var customCursor;\r\n if (customHoverElement != null) {\r\n customCursor = document.createElement('div');\r\n var spanElement = document.createElement('span');\r\n spanElement.innerHTML = 'SWIPE';\r\n customCursor.classList.add('custom-cursor', 'd-none');\r\n spanElement.classList.add('custom-cursor-span');\r\n customCursor.appendChild(spanElement);\r\n document.body.appendChild(customCursor);\r\n if (customHoverElement) {\r\n customHoverElement.addEventListener('mousemove', handleMouseMove);\r\n customHoverElement.addEventListener('touchmove', handleTouchMove);\r\n customHoverElement.addEventListener('mouseleave', handleMouseLeave);\r\n customHoverElement.addEventListener('mouseenter', handleMouseEnter);\r\n }\r\n }\r\n function handleMouseMove(event) {\r\n updateCursorPosition(event.pageX, event.pageY);\r\n }\r\n function handleTouchMove(event) {\r\n var touch = event.touches[0];\r\n if (touch) {\r\n updateCursorPosition(touch.pageX, touch.pageY);\r\n }\r\n }\r\n function updateCursorPosition(x, y) {\r\n customCursor.style.left = x - 25 + \"px\";\r\n customCursor.style.top = y - 25 + \"px\";\r\n }\r\n function handleMouseLeave() {\r\n document.body.style.cursor = 'default';\r\n customCursor.style.opacity = '0';\r\n }\r\n function handleMouseEnter() {\r\n document.body.style.cursor = 'none';\r\n customCursor.classList.add('d-lg-block');\r\n customCursor.offsetWidth;\r\n customCursor.style.opacity = '1';\r\n }\r\n });\r\n };\r\n this.dynamicTicketsForm = function () {\r\n var attendeesDiv = document.getElementById(\"attendees\");\r\n var addButton = document.getElementById(\"addButton\");\r\n var lastKnownCount = 0;\r\n function createInput(type, name, placeholder, required, colClass) {\r\n if (required === void 0) { required = true; }\r\n var inputDiv = document.createElement(\"div\");\r\n inputDiv.classList.add(colClass, \"form-group\");\r\n var inputField = document.createElement(\"input\");\r\n inputField.type = type;\r\n inputField.name = name;\r\n inputField.placeholder = placeholder;\r\n inputField.required = required;\r\n inputDiv.appendChild(inputField);\r\n if (required) {\r\n inputDiv.classList.add(\"required\");\r\n var span = document.createElement(\"span\");\r\n span.innerHTML = \"*\";\r\n span.classList.add(\"required-span\");\r\n inputDiv.appendChild(span);\r\n console.log(\"span appended\");\r\n }\r\n return inputDiv;\r\n }\r\n function removeRow(row) {\r\n attendeesDiv.removeChild(row);\r\n lastKnownCount--;\r\n console.log(lastKnownCount);\r\n updateButtonState();\r\n }\r\n function createAttendeeRow(i) {\r\n var row = document.createElement(\"div\");\r\n row.classList.add(\"row\", \"attendee\");\r\n var namesInputField = createInput(\"text\", \"Names[\" + i + \"]\", \"Ime\", true, \"col-6\");\r\n var surnamesInputField = createInput(\"text\", \"Surnames[\" + i + \"]\", \"Priimek\", true, \"col-6\");\r\n var emailInputField = createInput(\"text\", \"EmailAddresses[\" + i + \"]\", \"Email\", true, \"col-6\");\r\n var phonesInputField = createInput(\"text\", \"Phones[\" + i + \"]\", \"Telefonska št.\", false, \"col-6\");\r\n var removeLink = document.createElement(\"a\");\r\n removeLink.href = \"javascript:void(0);\";\r\n removeLink.textContent = \"Odstrani\";\r\n removeLink.classList.add(\"btn-remove\");\r\n removeLink.addEventListener(\"click\", function () { return removeRow(row); });\r\n var hr = document.createElement(\"hr\");\r\n row.appendChild(namesInputField);\r\n row.appendChild(surnamesInputField);\r\n row.appendChild(emailInputField);\r\n row.appendChild(phonesInputField);\r\n row.appendChild(removeLink);\r\n row.appendChild(hr);\r\n return row;\r\n }\r\n function addAttendeeInputFields(count) {\r\n if (attendeesDiv) {\r\n while (attendeesDiv.children.length > count * 4) {\r\n removeRow(attendeesDiv.lastChild);\r\n }\r\n if (lastKnownCount < 5) {\r\n for (var i = lastKnownCount; i < count; i++) {\r\n var row = createAttendeeRow(i);\r\n attendeesDiv.appendChild(row);\r\n console.log(lastKnownCount);\r\n }\r\n }\r\n lastKnownCount = count;\r\n updateButtonState();\r\n }\r\n }\r\n function updateButtonState() {\r\n if (addButton) {\r\n if (lastKnownCount >= 5) {\r\n addButton.classList.add(\"d-none\");\r\n }\r\n else {\r\n addButton.classList.remove(\"d-none\");\r\n }\r\n }\r\n }\r\n if (addButton) {\r\n addButton.addEventListener(\"click\", function (event) {\r\n event.preventDefault();\r\n addAttendeeInputFields(lastKnownCount + 1);\r\n });\r\n updateButtonState();\r\n }\r\n };\r\n this.earlyBirdCountdown = function () {\r\n var countdownElement = document.getElementById('countdown');\r\n if (!countdownElement) {\r\n return;\r\n }\r\n var targetDatetimeString = countdownElement.dataset.targetDatetime;\r\n if (!targetDatetimeString) {\r\n console.error('Target datetime is missing.');\r\n return;\r\n }\r\n var _a = targetDatetimeString.split(' '), datePart = _a[0], timePart = _a[1];\r\n var _b = datePart.split('-').map(Number), year = _b[0], month = _b[1], day = _b[2];\r\n var _c = timePart.split(':').map(Number), hours = _c[0], minutes = _c[1];\r\n var targetDatetime = new Date(year, month - 1, day, hours, minutes).getTime();\r\n if (isNaN(targetDatetime)) {\r\n console.error('Invalid target datetime.');\r\n return;\r\n }\r\n function padWithZero(number) {\r\n return number < 10 ? \"0\" + number : \"\" + number;\r\n }\r\n updateCountdown();\r\n var intervalId = setInterval(updateCountdown, 1000);\r\n function updateCountdown() {\r\n var currentDatetime = new Date().getTime();\r\n var timeDifference = targetDatetime - currentDatetime;\r\n var firstDivContent = countdownElement.children[0].outerHTML;\r\n if (timeDifference <= 0) {\r\n clearInterval(intervalId);\r\n countdownElement.innerHTML = \"\\n \" + firstDivContent + \"\\n