(function() { // 1. VYTVORENIE STRUKTURY (Ak neexistuje) if (!document.getElementById('ik-modal-overlay')) { const overlay = document.createElement('div'); overlay.id = 'ik-modal-overlay'; overlay.setAttribute("data-nosnippet", ""); overlay.style.cssText = "display:none; position:fixed; z-index:999999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.7); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); overflow-y:auto; padding: 20px 10px;"; overlay.innerHTML = `
×

GULÁŠOVÁ KALKULAČKA

PROFESIONÁLNY POMOCNÍK OD iKotliky.sk
👥 POČET OSÔB
🍲 POČET PORCIÍ
Počet hostí: 15
Veľkosť jednej porcie: 500ml
POTREBNÝ KOTLÍK
-- L
MÄSO
-- kg
🛒 Suroviny
🌶️ Korenie
`; document.body.appendChild(overlay); } // 2. FUNKCIE OTVORENIA/ZATVORENIA window.otvorGulasKalkulacku = function() { const m = document.getElementById('ik-modal-overlay'); if (m) { m.style.display = 'block'; document.body.style.overflow = 'hidden'; } }; window.zatvorGulasKalkulacku = function() { const m = document.getElementById('ik-modal-overlay'); if (m) { m.style.display = 'none'; document.body.style.overflow = 'auto'; } }; // 3. LOGIKA VÝPOČTOV const kZoznam = [4, 6, 8, 10, 13, 16, 20, 25, 30, 40, 50, 60, 70, 80, 100, 120, 150]; const data = { hovadzi: { label: "Hovädzia glejka", ing: [["🧅 Cibuľa žltá", 0.9], ["🥔 Zemiaky", 0.65], ["🧴 Voda/Vývar", 0.85, "L"], ["🏺 Bravčová masť", 80, "g"]], kor: [["🌶️ Paprika sladká", 30, "g"], ["🧂 Soľ", 15, "g"], ["🧄 Cesnak", 0.6, "ks"], ["🌿 Majorán", 3, "g"]] }, bravcovy: { label: "Bravčové pliecko", ing: [["🧅 Cibuľa žltá", 0.8], ["🥔 Zemiaky", 0.95], ["🧴 Voda/Vývar", 0.8, "L"], ["🏺 Bravčová masť", 70, "g"]], kor: [["🌶️ Paprika sladká", 25, "g"], ["🧂 Soľ", 15, "g"], ["🍂 Rasca mletá", 3, "g"], ["🧄 Cesnak", 0.5, "ks"]] }, divinovy: { label: "Divina", ing: [["🧅 Cibuľa žltá", 0.85], ["🍷 Červené víno", 0.25, "L"], ["🥔 Zemiaky", 0.4], ["🏺 Bravčová masť", 85, "g"]], kor: [["🫐 Borievky", 5, "ks"], ["🍃 Bobkový list", 1, "ks"], ["🌿 Tymián", 2, "g"], ["🧂 Soľ", 15, "g"]] }, fazulovy: { label: "Údené rebrá", ing: [["🫘 Suchá fazuľa", 0.45], ["🧅 Cibuľa", 0.6], ["🥔 Zemiaky", 0.55], ["🥕 Koreňová zel.", 0.4]], kor: [["🌶️ Paprika", 20, "g"], ["🧄 Cesnak", 0.8, "ks"], ["🍃 Bobkový list", 2, "ks"], ["🧂 Soľ", 5, "g"]] }, kapustnica: { label: "Klobása a údené", ing: [["🥬 Kyslá kapusta", 1.25], ["🧅 Cibuľa", 0.3], ["🧴 Voda", 0.75, "L"], ["🍄 Hríby sušené", 15, "g"]], kor: [["🌶️ Paprika", 20, "g"], ["🧄 Cesnak", 0.5, "ks"], ["🫐 Slivky", 5, "ks"], ["🧂 Soľ", 8, "g"]] }, vegansky: { label: "Hliva a sója", ing: [["🧅 Cibuľa", 0.8], ["🥔 Zemiaky", 1.0], ["🍄 Hliva ústricová", 0.8], ["🌻 Kvalitný olej", 80, "ml"]], kor: [["🔥 Údená paprika", 25, "g"], ["🧂 Soľ", 15, "g"], ["🍂 Rasca", 4, "g"], ["🌿 Majorán", 4, "g"]] } }; function prepocti() { const n = parseInt(document.getElementById('s-pocet').value); const ml = parseInt(document.getElementById('s-ml').value); document.getElementById('v-pocet').innerText = n; document.getElementById('v-ml').innerHTML = ml + 'ml'; // Vizualny update prepinacov receptov document.querySelectorAll('.ik-item label').forEach(lbl => { lbl.style.background = "#fdfdfd"; lbl.style.borderColor = "#eee"; lbl.style.color = "#333"; }); const active = document.querySelector('input[name="g-typ"]:checked'); if (active) { const l = document.querySelector('label[for="' + active.id + '"]'); l.style.background = "#1a1a1a"; l.style.borderColor = "#C5A059"; l.style.color = "#C5A059"; } const typ = active.value; const r = data[typ]; const celkovyObjemLitre = (n * ml) / 1000; const masoKg = celkovyObjemLitre * (typ === 'vegansky' ? 0.35 : 0.45); const rezerva = (typ === 'fazulovy' || typ === 'kapustnica') ? 1.35 : 1.25; const potreba = celkovyObjemLitre * rezerva; let finalK = kZoznam.find(k => k >= potreba) || "150+"; document.getElementById('res-kotlik').innerText = finalK + " L"; document.getElementById('res-maso-label').innerText = r.label.toUpperCase(); document.getElementById('res-maso-val').innerText = masoKg.toFixed(1) + " kg"; const styleR = "display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid #eee; font-size:14px;"; let hI = ""; r.ing.forEach(i => { let u = i[2] || "kg"; let v = (masoKg * i[1]).toFixed(1); if(u === "g" || u === "ml") v = Math.round(masoKg * i[1]); hI += '
' + i[0] + '' + v + ' ' + u + '
'; }); document.getElementById('list-suroviny').innerHTML = hI; let hK = ""; r.kor.forEach(k => { let v = (masoKg * k[1]).toFixed(1); if(k[2] === "g" || k[2] === "ks") v = Math.round(masoKg * k[1]); if(k[0].includes("Cesnak")) v = Math.max(1, Math.round(n * (ml/550) * k[1])); hK += '
' + k[0] + '' + v + ' ' + k[2] + '
'; }); document.getElementById('list-korenie').innerHTML = hK; } // 4. INICIALIZÁCIA UDALOSTÍ setTimeout(function() { prepocti(); // Aktivácia krížika a overlay-u const btnClose = document.getElementById('close-ik-calc'); if (btnClose) btnClose.onclick = window.zatvorGulasKalkulacku; const overlay = document.getElementById('ik-modal-overlay'); overlay.onclick = function(e) { if(e.target == overlay) window.zatvorGulasKalkulacku(); }; // Aktivácia prepínačov (Osoby / Porcie) document.getElementById('btn-osoby').onclick = function() { this.style.background = "#1a1a1a"; this.style.color = "#C5A059"; document.getElementById('btn-porcie').style.background = "#fff"; document.getElementById('btn-porcie').style.color = "#1a1a1a"; document.getElementById('label-hlavny').innerText = "Počet hostí:"; prepocti(); }; document.getElementById('btn-porcie').onclick = function() { this.style.background = "#1a1a1a"; this.style.color = "#C5A059"; document.getElementById('btn-osoby').style.background = "#fff"; document.getElementById('btn-osoby').style.color = "#1a1a1a"; document.getElementById('label-hlavny').innerText = "Počet porcií:"; prepocti(); }; // Aktivácia sliderov a radio buttonov document.getElementById('s-pocet').oninput = prepocti; document.getElementById('s-ml').oninput = prepocti; document.querySelectorAll('input[name="g-typ"]').forEach(b => b.onchange = prepocti); // Prepojenie na spúšťacie tlačidlo v popise produktu (podľa ID) const btnTrigger = document.getElementById('open-ik-calc'); if (btnTrigger) { btnTrigger.style.display = 'inline-block'; // Zobrazíme tlačidlo, až keď je skript pripravený btnTrigger.onclick = window.otvorGulasKalkulacku; } }, 500); })();