{"version":3,"file":"touristTax.min.js","names":["touristTaxWidget","resultText","document","getElementById","bannerStep1Text","getAttribute","bannerStep2Text","selectCountryText","selectCityText","touristTaxTitle","touristTaxNotesTitle","sortByString","a","b","init","async","data","fetch","jsonData","json","sort","country","calc","form","claimResult","bannerStep","querySelector","bannerText","countryDropdown","cityDropdown","cityDropdownField","continueButton","restartButton","totalBannerSteps","calculateBannerProgress","progress","stepWidth","parseInt","innerHTML","style","width","restartCalc","classList","add","toggle","populateCountryDropdown","forEach","item","option","createElement","value","text","appendChild","addEventListener","selectedCountry","selectedCountryData","find","cities","city","cityItem","remove","populateCityDropdown","this","e","preventDefault","touristTaxResult","selectedCity","selectedCityData","index","countryCityTitle","touristTaxCostHTML","additionalNotesHTML","extraInformation","additionalNotes","touristTaxHTML","showResult"],"sources":["tourist-tax/touristTax.js"],"mappings":"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","ignoreList":[],"sourcesContent":["const touristTaxWidget = (function () {\r\n\tconst resultText = document.getElementById('ctt-cms'),\r\n\t\tbannerStep1Text = resultText.getAttribute('data-banner-step-1-text'),\r\n\t\tbannerStep2Text = resultText.getAttribute('data-banner-step-2-text'),\r\n\t\tselectCountryText = resultText.getAttribute('data-dropdown-select-country'),\r\n\t\tselectCityText = resultText.getAttribute('data-dropdown-select-city'),\r\n\t\ttouristTaxTitle = resultText.getAttribute('data-result-tourist-tax-cost-title'),\r\n\t\ttouristTaxNotesTitle = resultText.getAttribute('data-result-tourist-tax-notes');\r\n\r\n\tasync function init() {\r\n\t\tconst data = await fetch(document.getElementById('ctt-json').getAttribute('data-json-path'));\r\n\t\tconst jsonData = await data.json();\r\n\r\n\t\tjsonData.sort((a, b) => sortByString(a.country, b.country));\r\n\r\n\t\tconst calc = document.getElementById('cnfsd-ctt-widget'),\r\n\t\t\tform = document.getElementById('cnfsd_ctt-form'),\r\n\t\t\tclaimResult = document.getElementById('cnfsd_ctt-result'),\r\n\t\t\tbannerStep = calc.querySelector('.banner-current-progress'),\r\n\t\t\tbannerText = calc.querySelector('.banner-current-text'),\r\n\t\t\tcountryDropdown = document.getElementById('cnfsd_ctt-country'),\r\n\t\t\tcityDropdown = document.getElementById('cnfsd_ctt-city'),\r\n\t\t\tcityDropdownField = document.getElementById('cnfsd_ctt-city-field'),\r\n\t\t\tcontinueButton = document.getElementById('cnfsd_ctt-continue'),\r\n\t\t\trestartButton = calc.querySelector('a.arrow-link--back'),\r\n\t\t\ttotalBannerSteps = 2;\r\n\r\n\t\tfunction calculateBannerProgress() {\r\n\t\t\tconst progress = document.querySelector('.banner__progress-bar__bar'),\r\n\t\t\t\t//CALC WIDTH OF EACH STEP IN THE PROCESS\r\n\t\t\t\tstepWidth = `${(100 / totalBannerSteps) * parseInt(bannerStep.innerHTML)}%`;\r\n\t\t\t/* eslint-disable-next-line no-restricted-properties */\r\n\t\t\tprogress.style.width = stepWidth;\r\n\t\t}\r\n\r\n\t\tcalculateBannerProgress();\r\n\r\n\t\tfunction restartCalc() {\r\n\t\t\tcountryDropdown.innerHTML = ``;\r\n\t\t\tcityDropdown.innerHTML = ``;\r\n\t\t\tcityDropdownField.classList.add('display-none');\r\n\t\t\tcontinueButton.classList.add('display-none');\r\n\t\t\tswapUi();\r\n\t\t\tbannerStep.innerHTML = 1;\r\n\t\t\tbannerText.innerHTML = bannerStep1Text;\r\n\t\t\tcalculateBannerProgress();\r\n\t\t\tpopulateCountryDropdown();\r\n\t\t}\r\n\r\n\t\tfunction populateCountryDropdown() {\r\n\t\t\tjsonData.forEach(item => {\r\n\t\t\t\tconst option = document.createElement('option');\r\n\t\t\t\toption.value = item.country;\r\n\t\t\t\toption.text = item.country;\r\n\t\t\t\tcountryDropdown.appendChild(option);\r\n\t\t\t});\r\n\r\n\t\t\t// Add event listener to populate the class when a airline is selected\r\n\t\t\tcountryDropdown.addEventListener('change', function () {\r\n\t\t\t\tpopulateCityDropdown(this.value);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction populateCityDropdown(selectedCountry) {\r\n\t\t\t// Clear the current options\r\n\t\t\tcityDropdown.innerHTML = ``;\r\n\r\n\t\t\t// Find the selected airline's class and populate the dropdown\r\n\t\t\tconst selectedCountryData = jsonData.find(item => item.country === selectedCountry);\r\n\t\t\tif (selectedCountryData && selectedCountryData.cities[0].city !== null) {\r\n\t\t\t\tselectedCountryData.cities.sort((a, b) => sortByString(a.city, b.city));\r\n\r\n\t\t\t\tselectedCountryData.cities.forEach(cityItem => {\r\n\t\t\t\t\tconst option = document.createElement('option');\r\n\t\t\t\t\toption.value = cityItem.city;\r\n\t\t\t\t\toption.text = cityItem.city;\r\n\t\t\t\t\tcityDropdown.appendChild(option);\r\n\t\t\t\t});\r\n\t\t\t\tcityDropdownField.classList.remove('display-none');\r\n\t\t\t\tcityDropdown.addEventListener('change', function () {\r\n\t\t\t\t\tcontinueButton.classList.remove('display-none');\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcontinueButton.classList.remove('display-none');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction showResult() {\r\n\t\t\tconst touristTaxResult = document.getElementById('touristTax-result');\r\n\t\t\tconst selectedCountry = countryDropdown.value;\r\n\t\t\tconst selectedCity = cityDropdown.value;\r\n\r\n\t\t\t// Find the selected country and city\r\n\t\t\tconst selectedCountryData = jsonData.find(item => item.country === selectedCountry);\r\n\t\t\tconst selectedCityData = selectedCountryData.cities.find((item, index) =>\r\n\t\t\t\t!selectedCity ? index === 0 : item.city === selectedCity\r\n\t\t\t);\r\n\r\n\t\t\tconst countryCityTitle = `${selectedCountry} - ${selectedCity}`;\r\n\t\t\tlet touristTaxCostHTML = '';\r\n\t\t\tlet additionalNotesHTML = '';\r\n\r\n\t\t\tif (selectedCityData.value !== '') {\r\n\t\t\t\ttouristTaxCostHTML = `\r\n\t\t\t\t\t