(function () { const CACHE_DAYS = 30; const cacheKey = 'langRedirected'; const manualKey = 'langManual'; if (localStorage.getItem(manualKey)) return; const cached = localStorage.getItem(cacheKey); if (cached) { const ageInDays = (Date.now() - parseInt(cached, 10)) / (1000 * 60 * 60 * 24); if (ageInDays < CACHE_DAYS) return; } const path = window.location.pathname; const countryMap = { 'CZ': '/cs/', 'DE': '/de/', 'AT': '/de/', 'CH': '/de/', 'SK': '/sk/' }; function redirect(targetPrefix) { if (targetPrefix && !path.startsWith(targetPrefix)) { localStorage.setItem(cacheKey, Date.now().toString()); window.location.href = targetPrefix; } else if (!targetPrefix && (path.startsWith('/cs/') || path.startsWith('/de/') || path.startsWith('/sk/'))) { localStorage.setItem(cacheKey, Date.now().toString()); window.location.href = '/'; } else { localStorage.setItem(cacheKey, Date.now().toString()); } } function fallbackByBrowser() { const lang = (navigator.language || navigator.userLanguage || '').toLowerCase(); if (lang.startsWith('cs')) return redirect('/cs/'); if (lang.startsWith('de')) return redirect('/de/'); if (lang.startsWith('sk')) return redirect('/sk/'); return redirect(null); } fetch('https://ipapi.co/json/', { cache: 'force-cache' }) .then(function (response) { if (!response.ok) throw new Error('API error'); return response.json(); }) .then(function (data) { const country = (data.country_code || '').toUpperCase(); const target = countryMap.hasOwnProperty(country) ? countryMap[country] : null; redirect(target); }) .catch(function () { fallbackByBrowser(); }); })(); document.addEventListener('DOMContentLoaded', function () { // Jazyk - položky v dropdown listu var langItems = document.querySelectorAll('.languagesMenu__list--language a'); langItems.forEach(function (el) { el.addEventListener('click', function () { localStorage.setItem('langManual', '1'); }); }); // Měna - celý box s data-target="currency" var currencyBox = document.querySelector('[data-target="currency"]'); if (currencyBox) { currencyBox.addEventListener('click', function () { localStorage.setItem('langManual', '1'); }); } });