(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Í
`;
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);
})();