/* 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 = '
' + esc(head) + '
' + price + '
' + line + '
'; if (el.__cu !== cu) { q('.cu', el).innerHTML = cu; el.__cu = cu; } var rs = HIDE ? '' : '
' + esc(voL) + '' + voV + '
' + esc(T.zar) + '' + zV + '
'; if (el.__rs !== rs) { q('.rs', el).innerHTML = rs; el.__rs = rs; } if (d.mz && (d.mz.n <= 0 || d.mz.n > 100) && code && !seenMz[code]) { seenMz[code] = 1; track('ags_cena_marza_mimo', { kod: code, marza: Math.round(d.mz.n), miesto: kind || (detail ? 'detail' : 'zoznam') }); } } function shell() { var el = document.createElement('div'); el.className = 'agscb'; el.innerHTML = '
'; return el; } /* ---------- 1. katalóg a detail: pôvodný blok BUXUSu ---------- */ function readCard(box, detail) { var rows = qa(':scope > .row', box); function val(r) { return r ? (q('.text-right', r) || r.lastElementChild || r).textContent : ''; } var rp = q('.retail-price:not(.retail-action-price)', box), ra = q('.retail-action-price', box); var moc = rp ? parse((q('s', rp) || q('.text-right', rp) || rp).textContent) : null; var amoc = ra ? parse(val(ra)) : null; var voR = q('.your-price', box); var iz = -1; rows.forEach(function (r, i) { if (iz < 0 && !/retail|vat-rate/.test(r.className) && /\d\s*%\s*$/.test(val(r).trim())) iz = i; }); var mzR = iz >= 0 ? rows[iz] : null, hmR = iz >= 0 ? rows[iz + 1] : null; var loading = qa('.your-price img, [data-lazy-property]', box).length > 0; var stock = detail ? q('.row.stock', box) : rows.filter(function (r) { return r !== voR && r !== mzR && r !== hmR && !/retail|your-price|vat-rate|js-b2b/.test(r.className); }).pop(); return { moc: moc, amoc: amoc, vo: loading ? null : parse(val(voR)), mz: loading ? null : parse(val(mzR)), hm: loading ? null : parse(val(hmR)), stock: stock }; } function build(container, priceBox, detail, code) { if (priceBox.__agscb) return; if (!budget()) return; /* blok obnovený z uloženého HTML (napr. filter Skladom vráti mriežku cez innerHTML) – znovu použiť, nestavať druhý */ var el = q('.agscb', priceBox.parentNode); if (!el) { el = shell(); priceBox.parentNode.insertBefore(el, priceBox.nextSibling); } var atc = q('.add-to-cart', container); if (atc && atc.parentNode !== q('.ct', el)) { q('.ct', el).innerHTML = ''; q('.ct', el).appendChild(atc); } priceBox.__agscb = el; el.__src = priceBox; el.__cu = el.__rs = null; var n = 0, t0 = Date.now(), ob = null; var upd = function () { if (Date.now() - t0 > 1000) { t0 = Date.now(); n = 0; } if (++n > 40) { if (ob) ob.disconnect(); track('ags_cena_stop', { miesto: 'blok', kod: code }); return; } /* poistka proti slučke s iným skriptom */ var d = readCard(priceBox, detail); render(el, d, detail, code); if (d.stock && d.stock.parentNode !== q('.sk', el) && !q('.sk .row', el)) q('.sk', el).appendChild(d.stock); }; el.__upd = upd; upd(); try { ob = new MutationObserver(function () { upd(); }); ob.observe(priceBox, { childList: true, subtree: true, characterData: true }); } catch (e) {} } /* poistka: viac ako 400 nových blokov za 5 s = niečo v stránke prestavuje karty dookola → skript sa zastaví */ var BUD = { n: 0, t: Date.now(), stop: false }; function budget() { if (BUD.stop) return false; if (Date.now() - BUD.t > 5000) { BUD.t = Date.now(); BUD.n = 0; } if (++BUD.n > 400) { BUD.stop = true; try { BODY && BODY.disconnect(); } catch (e) {} track('ags_cena_stop', { miesto: 'stranka' }); return false; } return true; } function codeOf(scope) { var m = (scope.textContent || '').replace(/\s+/g, ' ').match(/(?:Kód|Code|Kód produktu|Termékkód|Cikkszám)\s*:?\s*([A-Za-z0-9._\-\/]+)/i); return m ? m[1] : ''; } /* hodnota marže z MOC bez DPH − VO; použije sa len vtedy, keď sedí so serverovou maržou (inak len %) */ function margin(vo, mocs, mzServer) { for (var i = 0; i < mocs.length; i++) { var mo = mocs[i]; if (!mo || !vo) continue; var hm = Math.round((mo / VAT - vo) * 100) / 100, p = Math.round(hm / vo * 100); if (mzServer == null || p === Math.round(mzServer)) return { hm: hm, mz: mzServer == null ? p : mzServer }; } return { hm: null, mz: mzServer }; } /* košík pre Novinky – rovnaký príkaz ako BF Hub */ function addCart(btn, pid, n, where) { var url = CART + '/shopping-cart-commands?product_id=' + pid + '&render-minicart=1&command=product-add'; btn.disabled = true; btn.textContent = '…'; var ok = function () { btn.disabled = false; btn.textContent = T.added; track('ags_cena_add', { miesto: where, pid: pid, ks: n }); setTimeout(function () { btn.textContent = T.btn; }, 2500); }; var bad = function () { btn.disabled = false; btn.textContent = T.fail; }; if (window.require) { try { window.require(['eshop'], function (e) { e.command(btn, url, { amount: n }, ok, bad); }); return; } catch (e) {} } fetch(url + '&amount=' + n, { credentials: 'same-origin', headers: { 'X-Requested-With': 'XMLHttpRequest' } }).then(function (x) { return x.json(); }).then(function (j) { if (j && j.result === 'OK') ok(); else bad(); }).catch(bad); } /* ---------- 2. Novinky (agn-card) ---------- */ function novCard(card) { var pr = q('.agn-price', card); if (!pr) return; var b = q('b', pr); if (!b && !card.__agscb) return; /* cena ešte nie je načítaná */ var el = card.__agscb; if (!el) { if (!budget()) return; el = shell(); card.__agscb = el; card.classList.add('agscb-on'); var body = q('.agn-body', card) || card, foot = q('.agn-foot', card); body.insertBefore(el, foot || null); if (foot) q('.sk', el).appendChild(foot); var pid = card.getAttribute('data-pid'); if (pid && !q('.agn-na', card)) { q('.ct', el).innerHTML = '
'; var btn = q('.agscb-ad button', el), inp = q('.agscb-ad input', el); btn.onclick = function (ev) { ev.preventDefault(); ev.stopPropagation(); addCart(btn, pid, Math.max(1, parseInt(inp.value, 10) || 1), 'novinky'); }; inp.onclick = function (ev) { ev.stopPropagation(); }; } try { new MutationObserver(function () { novCard(card); }).observe(pr, { childList: true, subtree: true, characterData: true }); } catch (e) {} } var mocEl = q('.agn-moc', card), sEl = mocEl && q('s', mocEl); var moc = null, amoc = null; if (mocEl) { if (sEl) { moc = parse(sEl.textContent); amoc = parse(mocEl.textContent.replace(sEl.textContent, '')); } else moc = parse(mocEl.textContent); } var bb = q('b', pr), vo = bb ? parse(bb.textContent) : null; var mzE = q('.agn-margin', pr), mzS = mzE ? parse(mzE.textContent) : null; var r = vo ? margin(vo.n, [amoc && moc && amoc.n < moc.n ? amoc.n : null, moc && moc.n].filter(Boolean), mzS ? mzS.n : null) : { hm: null, mz: null }; render(el, { moc: moc, amoc: amoc, vo: vo, hm: r.hm != null ? mk(r.hm, vo ? vo.dec : 2) : null, mz: r.mz != null ? { n: r.mz } : null }, false, (q('.agn-code', card) || {}).textContent || '', 'novinky'); } /* ---------- 3. Black Friday Hub (agsbf-card) ---------- */ function bfCard(card) { var pr = q('.pr', card); if (!pr) return; var b = q('b', pr); if (!b) return; var el = card.__agscb; if (!el) { if (!budget()) return; el = shell(); card.__agscb = el; card.classList.add('agscb-on'); var sk = q('.sk', card), ad = q('.ad', card); if (sk) sk.parentNode.insertBefore(el, sk.nextSibling); else pr.parentNode.insertBefore(el, pr.nextSibling); if (ad) q('.ct', el).appendChild(ad); try { new MutationObserver(function () { bfCard(card); }).observe(pr, { childList: true, subtree: true, characterData: true }); } catch (e) {} } var vo = parse((b.firstChild && b.firstChild.nodeType === 3 ? b.firstChild.textContent : b.textContent)); var iEl = q('.r i', pr), moc = null, amoc = null; if (iEl) { var sE = q('s', iEl); if (sE) { moc = parse(sE.textContent); amoc = parse(iEl.textContent.replace(sE.textContent, '')); } else moc = parse(iEl.textContent); } if (!moc) { var it = (window.__agsAkcie && window.__agsAkcie.S && window.__agsAkcie.S.byCode || {})[card.getAttribute('data-code')]; if (it && it.moc) moc = mk(it.moc, M === 'sk' ? 2 : 0); } var mo = amoc && moc && amoc.n < moc.n ? amoc.n : (moc ? moc.n : null); var r = vo && mo ? margin(vo.n, [mo], null) : { hm: null, mz: null }; render(el, { moc: moc, amoc: amoc, vo: vo, hm: r.hm != null ? mk(r.hm, vo.dec) : null, mz: r.mz != null ? { n: r.mz } : null }, false, card.getAttribute('data-code') || '', 'bf'); } function run() { var ps = q('.product-price-summary'); if (ps) { var inner = ps.parentNode; var bd = q('.product-basic-data', inner); build(inner, ps, true, bd ? codeOf(bd) : ''); } qa('.product-card').forEach(function (card) { var pb = q('div.price', card); if (!pb || pb.__agscb) return; var cd = q('.product-basic-data', card); build(card, pb, false, cd ? codeOf(cd) : ''); }); qa('.agn-card').forEach(function (c) { if (!c.__agscb) novCard(c); }); qa('.agsbf-card').forEach(function (c) { if (!c.__agscb) bfCard(c); }); } document.documentElement.classList.add('ags-cena'); try { run(); } catch (e) { document.documentElement.classList.remove('ags-cena'); qa('.agscb').forEach(function (x) { var a = q('.ct .add-to-cart', x), k = q('.sk .row', x); if (a && x.__src) x.parentNode.insertBefore(a, x.__src); if (k && x.__src) x.__src.appendChild(k); x.remove(); }); qa('.agscb-on').forEach(function (c) { c.classList.remove('agscb-on'); }); return; } /* engine akcií načítava dáta asynchrónne → po jeho pripravení prekresliť akciové bloky (štítok Black Friday), max 15 s */ (function w(k) { var A = window.__agsAkcie, S = A && A.S; if (S && S.ready) { qa('.agscb.ak').forEach(function (x) { if (x.__upd) x.__upd(); }); qa('.agn-card.agscb-on').forEach(novCard); qa('.agsbf-card.agscb-on').forEach(bfCard); return; } if (k < 50) setTimeout(function () { w(k + 1); }, 300); })(0); try { var mo = 0; BODY = new MutationObserver(function (ms) { if (mo || BUD.stop) return; var own = true; for (var i = 0; i < ms.length; i++) { var t = ms[i].target; if (!(t.closest && t.closest('.agscb'))) { own = false; break; } } if (own) return; mo = 1; setTimeout(function () { mo = 0; try { run(); } catch (e) {} }, 150); }); BODY.observe(document.body, { childList: true, subtree: true }); } catch (e) {} track('ags_cena_view', { stranka: q('.product-price-summary') ? 'detail' : 'zoznam', test: C.isTest ? 1 : 0, skryte_vo: HIDE ? 1 : 0, pet: document.documentElement.classList.contains('ags-pet') ? 1 : 0 }); window.agsCenaInfo = { ver: 'cena8-20261031d', market: M }; })();