/* ags 92 – B2B: cenový blok „Pohľad zákazníka“ (cena8, 31. 10. 2026) – variant C, jedna logika všade.
* Miesta: detail produktu, karta v zozname (katalóg, hľadanie), Novinky (karty agn-card), Black Friday Hub (karty agsbf-card).
* Poradie všade rovnaké: cena pre zákazníka (MOC; pri akcii akčná MOC s −% a „namiesto“) → vaša VO (bez DPH)
* → Zarobíte X · marža Y % → počet + Do košíka → sklad. Bežná a akciová verzia majú rovnakú výšku. Základná VO sa nezobrazuje.
* Čísla = realita: záporná marža je záporná, vysoká je vysoká (pokyn Petra 31. 10.). Mimo 0–100 % ide len meranie ags_cena_marza_mimo.
* Katalóg/detail: čísla z pôvodného bloku BUXUSu (VO, marža, hodnota marže dopĺňa BUXUS sám). Novinky: VO a marža % z ich karty
* (BUXUS API, ktoré Novinky už volajú), hodnota = MOC bez DPH − VO (DPH ako server: SK 23, CZ 21, HU 27 %; zobrazí sa len ak sedí so serverovou maržou).
* BF Hub: VO z karty (portál/plán podľa enginu akcií), akčná MOC a MOC z karty, hodnota = akčná MOC bez DPH − VO.
* Skript NEROBÍ žiadnu požiadavku na ceny. Novinky dostali tlačidlo Do košíka (rovnaký príkaz košíka ako BF Hub).
* Farby: Baby = farby portálu (modrá), PET režim (html.ags-pet) = farby PET (oranžová).
* Zapínanie: window.agsCena = { mode:'off'|'preview'|'live', test:[odtlačky] } (inline v Containeri 22).
* Režim „Skryť VO ceny“ (cookie hide_b2b_prices=1): VO cena a Zarobíte sa nezobrazia.
* Vypnutie: mode:'off' alebo zmazať blok cena8 v Containeri 22. Meranie: ags_cena_view, ags_cena_add, ags_cena_marza_mimo.
*/
(function () {
'use strict';
var C = window.agsCena;
if (!C || C.mode === 'off' || !C.on || window.__agsCena1) return;
window.__agsCena1 = 1;
var M = (location.pathname.match(/^\/(sk|cz|hu)(\/|$)/) || [])[1];
var T = {
sk: { cust: 'Cena pre zákazníka', akc: 'Akcia pre zákazníka', bf: 'Black Friday pre zákazníka', mocD: 's DPH · odporúčaná cena na regáli', mocK: 's DPH · MOC', inst: 'namiesto', sdph: 's DPH', vo: 'Vaša VO cena', voK: 'Vaša VO', bez: 'bez DPH', zar: 'Zarobíte', ks: '/ ks', marza: 'marža', btn: 'Do košíka', added: 'Pridané ✓', fail: 'Otvorte produkt' },
cz: { cust: 'Cena pro zákazníka', akc: 'Akce pro zákazníka', bf: 'Black Friday pro zákazníka', mocD: 's DPH · doporučená cena na regálu', mocK: 's DPH · MOC', inst: 'místo', sdph: 's DPH', vo: 'Vaše VO cena', voK: 'Vaše VO', bez: 'bez DPH', zar: 'Vyděláte', ks: '/ ks', marza: 'marže', btn: 'Do košíku', added: 'Přidáno ✓', fail: 'Otevřete produkt' },
hu: { cust: 'Fogyasztói ár', akc: 'Akciós fogyasztói ár', bf: 'Black Friday fogyasztói ár', mocD: 'bruttó · ajánlott fogyasztói ár', mocK: 'bruttó · AFA', inst: 'helyett', sdph: 'bruttó', vo: 'Az Ön nagyker. ára', voK: 'Nagyker. ár', bez: 'nettó', zar: 'Az Ön haszna', ks: '/ db', marza: 'árrés', btn: 'Kosárba', added: 'Kosárba téve ✓', fail: 'Nyissa meg a terméket' }
}[M];
if (!T) return;
var VAT = { sk: 1.23, cz: 1.21, hu: 1.27 }[M];
var CUR = { sk: '€', cz: 'Kč', hu: 'Ft' }[M];
var NB = String.fromCharCode(160);
var HIDE = /(?:^|;\s*)hide_b2b_prices=1/.test(document.cookie);
var CART = '/' + M + '/' + (M === 'hu' ? 'kosar-tartalma' : 'obsah-kosika');
function q(s, r) { return (r || document).querySelector(s); }
function qa(s, r) { return Array.prototype.slice.call((r || document).querySelectorAll(s)); }
function esc(s) { return String(s == null ? '' : s).replace(/[&<>"']/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]; }); }
function track(ev, o) { try { o = o || {}; o.event = ev; o.trh = M; (window.dataLayer = window.dataLayer || []).push(o); } catch (e) {} }
/* čísla: „114.50 €“ / „2 141,18 Kč“ → {n, dec, cur}; výstup s čiarkou a pevnou medzerou tisícov */
function parse(t) {
t = String(t || '').split(NB).join(' ').trim();
var m = t.match(/-?\d[\d ]*(?:[.,]\d+)?/); if (!m) return null;
var raw = m[0].replace(/ /g, ''), dec = 0, dm = raw.match(/[.,](\d+)$/); if (dm) dec = dm[1].length;
var n = parseFloat(raw.replace(',', '.')); if (isNaN(n)) return null;
var cur = (t.match(/€|Kč|Ft/) || [''])[0];
return { n: n, dec: dec, cur: cur };
}
function money(n, like) {
var dec = like ? like.dec : 2, cur = like && like.cur ? like.cur : CUR;
var s = Math.abs(n).toFixed(dec).split('.'), i = s[0].replace(/\B(?=(\d{3})+(?!\d))/g, NB);
return (n < 0 ? '−' : '') + i + (s[1] ? ',' + s[1] : '') + NB + cur;
}
function mk(n, dec) { return n == null || isNaN(n) ? null : { n: n, dec: dec == null ? 2 : dec, cur: CUR }; }
var CSS = '' +
'.agscb{--cust:#eef8fd;--lab:#2364b8;--btn:#2364b8;--btnh:#1b4f93;--ak:#d12027;--akbg:#fdecec;--ok:#3c763d;font-family:inherit;color:#1d2633;margin:10px 0 6px;text-align:left}' +
'html.ags-pet .agscb{--cust:#f6f4ef;--lab:#6b7684;--btn:#DF6437;--btnh:#b8461f;--ak:#b8461f;--akbg:#fbeae3;--ok:#1f7a46}' +
'.agscb .cu{border-radius:14px;padding:10px 14px;height:86px;box-sizing:border-box;background:var(--cust);overflow:hidden}' +
'.agscb.ak .cu{background:var(--akbg)}' +
'.agscb .cu .k{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--lab);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}' +
'.agscb.ak .cu .k{color:var(--ak)}' +
'.agscb .cu .p{font-size:26px;font-weight:800;color:#13284d;line-height:1.15;margin-top:2px;white-space:nowrap}' +
'.agscb .cu .b{display:inline-block;background:var(--ak);color:#fff;font-weight:800;border-radius:7px;padding:1px 7px;font-size:13px;margin-left:8px;vertical-align:middle;line-height:1.5}' +
'.agscb .cu .l{font-size:12.5px;color:#6b7684;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}' +
'.agscb .cu .l s{color:#9aa3ad}' +
'.agscb .rw{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;font-size:13.5px;line-height:1.4;border-top:1px solid #efe9df}' +
'.agscb .rw:first-of-type{border-top:0}' +
'.agscb .rw b{color:#13284d;white-space:nowrap}.agscb .rw b.neg{color:#c0392b}.agscb .rw .m{color:#6b7684;font-weight:500;white-space:nowrap}' +
'.agscb .rs{margin-top:6px}' +
/* tlačidlá košíka – BUXUS (katalóg/detail), BF Hub (.ad) aj Novinky (.agscb-ad) v jednom štýle */
'.agscb .ct{margin:8px 0 4px;min-height:40px}.agscb .ct .add-to-cart{margin:0!important;float:none!important;display:flex!important;align-items:center;gap:6px;width:100%}' +
'.agscb .ct .add-to-cart-amount{float:none!important;display:flex!important;align-items:center;gap:4px;margin:0!important}' +
'.agscb .ct .add-to-cart-amount input{width:52px!important;height:40px!important;border:1px solid #d5dbe2!important;border-radius:10px!important;text-align:center!important;font-size:15px!important;padding:0 4px!important}' +
'.agscb .ct .add-to-cart-add-button{float:none!important;flex:1;height:40px;border-radius:10px;background:var(--btn)!important;display:flex!important;align-items:center;justify-content:center;text-decoration:none!important;margin:0!important}' +
'.agscb .ct .add-to-cart-add-button img{display:none!important}.agscb .ct .add-to-cart-add-button:after{content:"' + T.btn + '";color:#fff;font-weight:800;font-size:15px}' +
'.agscb .ct .add-to-cart-add-button:hover{background:var(--btnh)!important}' +
'.agscb .ct .ad,.agscb .ct .agscb-ad{display:flex!important;gap:8px;margin:0!important;padding:0!important;width:100%}' +
'.agscb .ct .ad input,.agscb .ct .agscb-ad input{width:58px!important;height:40px!important;border:1px solid #d5dbe2!important;border-radius:10px!important;text-align:center!important;font-size:15px!important;padding:0 4px!important;background:#fff!important;color:#1d2633!important;margin:0!important}' +
'.agscb .ct .ad button,.agscb .ct .agscb-ad button{flex:1;height:40px!important;border:0!important;border-radius:10px!important;background:var(--btn)!important;color:#fff!important;font-weight:800!important;font-size:15px!important;cursor:pointer;margin:0!important;padding:0 8px!important}' +
'.agscb .ct .ad button:hover,.agscb .ct .agscb-ad button:hover{background:var(--btnh)!important}' +
'.agscb .sk{font-size:12.5px;font-weight:700;color:var(--ok);min-height:18px}' +
'.agscb .sk .row{margin:0!important;display:flex!important;gap:6px;border:0!important;padding:0!important}' +
'.agscb .sk .row > span{width:auto!important;padding:0!important;float:none!important;text-align:left!important}' +
'.agscb .sk .agn-foot{margin:0!important;padding:0!important}' +
'.agscb.dt .cu{height:98px;padding:12px 16px}.agscb.dt .cu .p{font-size:30px}.agscb.dt .rw{font-size:15px;padding:8px 0}' +
'.agscb.dt .ct .add-to-cart-add-button,.agscb.dt .ct .add-to-cart-amount input{height:46px!important}' +
'html.ags-cena #fs_results_box.eq-height>.item{display:flex}html.ags-cena #fs_results_box.eq-height>.item>.product-card{display:flex;flex-direction:column;width:100%;flex:1 1 auto!important;height:auto!important}' +
'html.ags-cena .product-card>.caption{display:flex;flex-direction:column;flex:1 1 auto}html.ags-cena .product-card>.caption>.agscb{margin-top:auto!important}' +
'html.ags-cena .product-price-summary,html.ags-cena .product-card div.price,html.ags-cena .product-card .agsbf-pr{display:none!important}' +
'html.ags-cena .agn-card.agscb-on .agn-price,html.ags-cena .agn-card.agscb-on .agn-moc{display:none!important}' +
'html.ags-cena .agsbf-card.agscb-on .pr{display:none!important}' +
'.agn-card.agscb-on .agscb{margin:8px 0 0}.agn-card.agscb-on .agscb .cu .p{font-size:22px}.agn-card.agscb-on .agscb .rw{font-size:12.5px}' +
'.agsbf-card.agscb-on .agscb{margin:8px 0 0}.agsbf-card.agscb-on .agscb .cu{padding:9px 10px}.agsbf-card.agscb-on .agscb .cu .k{font-size:10.5px}.agsbf-card.agscb-on .agscb .cu .p{font-size:20px}.agsbf-card.agscb-on .agscb .cu .b{font-size:12px;padding:1px 5px;margin-left:5px}.agsbf-card.agscb-on .agscb .cu .l{font-size:11.5px}.agsbf-card.agscb-on .agscb .rw{font-size:12px;gap:4px}';
if (!q('#agscb-css')) { var st = document.createElement('style'); st.id = 'agscb-css'; st.textContent = CSS; document.head.appendChild(st); }
/* Black Friday z enginu akcií: kód v engine a akčná MOC sedí s plánom/enginom (inak ide o inú akciu) */
function bfInfo(code, amoc) {
try {
var A = window.__agsAkcie, S = A && A.S, X = A && A.TX;
var e = S && S.byCode && code ? S.byCode[code] : null;
if (!e || !X) return null;
if (!(amoc && ((e.plan && Math.abs(e.plan.pmoc - amoc) < 0.05) || Math.abs((e.pmoc || 0) - amoc) < 0.05))) return null;
var d = M === 'hu' ? X.DOhu : X.DO;
return { end: d ? (M === 'hu' ? String(d).replace(/\.?$/, '') + '-ig' : 'do ' + d) : '' };
} catch (e) { return null; }
}
var seenMz = {}, BODY = null;
function render(el, d, detail, code, kind) {
var ak = d.amoc && d.moc && d.amoc.n < d.moc.n;
var pct = ak ? Math.round((1 - d.amoc.n / d.moc.n) * 100) : 0;
var bf = ak ? bfInfo(code, d.amoc.n) : null;
var head = ak ? (bf ? (detail ? T.bf : 'Black Friday') : T.akc) + (bf && bf.end && kind !== 'bf' ? ' · ' + bf.end : '') : T.cust;
var price = ak ? money(d.amoc.n, d.amoc) + '−' + pct + NB + '%' : (d.moc ? money(d.moc.n, d.moc) : '–');
var line = ak ? esc(T.inst) + ' ' + money(d.moc.n, d.moc) + ' ' + esc(T.sdph) : esc(detail ? T.mocD : T.mocK);
var voL = detail ? T.vo : T.voK;
var voV = d.vo ? '' + money(d.vo.n, d.vo) + ' ' + esc(T.bez) + '' : '…';
var mzT = d.mz ? (d.mz.n < 0 ? '−' : '') + Math.abs(Math.round(d.mz.n)) + NB + '%' : '';
var zV = d.hm ? '' + money(d.hm.n, d.hm) + (detail ? ' ' + esc(T.ks) : '') + ' · ' + (detail ? esc(T.marza) + ' ' : '') + mzT + ''
: (d.mz ? '' + (detail ? esc(T.marza) + ' ' : '') + mzT + '' : '…');
var cn = 'agscb' + (ak ? ' ak' : '') + (detail ? ' dt' : '');
if (el.className !== cn) el.className = cn;
var cu = '