1/* BM-UPPOP: okno s odporucaniami hned po vlozeni do kosika + skupiny v kosiku. Claude 1.10.2026 */ 2(function () { 3var css = '.bmup{position:fixed;inset:0;z-index:10050;background:rgba(10,11,12,.55);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .2s}' 4+ '.bmup.is-on{opacity:1}' 5+ '.bmup *{box-sizing:border-box}' 6+ '.bmup__box{position:relative;background:#fff;color:var(--bm-ink,#141516);width:100%;max-width:700px;max-height:calc(100vh - 32px);overflow:auto;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.35);padding:22px 24px 18px;transform:translateY(12px);transition:transform .25s}' 7+ '.bmup.is-on .bmup__box{transform:none}' 8+ '.bmup__x{position:absolute;top:8px;right:8px;width:40px;height:40px;border:0;background:none;font:400 30px/1 Arial,sans-serif;color:#666;cursor:pointer;border-radius:4px}' 9+ '.bmup__x:hover{background:#f1f1f1;color:#111}' 10+ '.bmup__ok{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding-right:40px}' 11+ '.bmup__ok img{width:64px;height:64px;object-fit:contain;display:block}' 12+ '.bmup__k{margin:0 0 4px;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#1f8a3b}' 13+ '.bmup__k::before{content:"â "}' 14+ '.bmup__nm{margin:0;font-weight:700;font-size:1rem;line-height:1.3}' 15+ '.bmup__h{margin:18px 0 10px;padding-top:14px;border-top:1px solid var(--bm-line,#e3e3e3);font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}' 16+ '.bmup__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}' 17+ '.bmup__i{display:flex;flex-direction:column;gap:6px;border:1px solid var(--bm-line,#e3e3e3);border-radius:4px;padding:10px;min-width:0}' 18+ '.bmup__im img{display:block;width:100%;height:96px;object-fit:contain}' 19+ '.bmup__b{display:flex;flex-direction:column;gap:4px;flex:1 1 auto}' 20+ '.bmup__n{font-size:.82rem;font-weight:600;line-height:1.3;color:var(--bm-ink,#141516)!important;text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}' 21+ '.bmup__p{font-weight:800;font-size:.95rem;margin-top:auto}' 22+ '.bmup__add{border:1px solid var(--bm-ink,#141516);background:#fff;color:var(--bm-ink,#141516);font-weight:700;font-size:.78rem;padding:9px 8px;cursor:pointer;white-space:nowrap}' 23+ '.bmup__add:hover{background:var(--bm-ink,#141516);color:#fff}' 24+ '.bmup__add[disabled]{cursor:default;opacity:.7}' 25+ '.bmup__add.is-done{border-color:#1f8a3b;background:#1f8a3b;color:#fff;opacity:1}' 26+ '.bmup__f{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}' 27+ '.bmup__q{display:flex;align-items:center;gap:8px;margin:0 auto 0 0;font-size:.82rem;color:#666;font-weight:500;cursor:pointer}' 28+ '.bmup__q input{margin:0;width:16px;height:16px}' 29+ '.bmup__c{border:1px solid #cfcfcf;background:#fff;color:var(--bm-ink,#141516);font-weight:700;padding:12px 16px;cursor:pointer;font-size:.86rem}' 30+ '.bmup__c:hover{border-color:var(--bm-ink,#141516)}' 31+ 'a.bmup__go,a.bmup__go:visited{background:#c8102e;color:#fff!important;font-weight:800;padding:13px 18px;text-decoration:none;font-size:.84rem;text-transform:uppercase;letter-spacing:.05em}' 32+ 'a.bmup__go:hover{background:#a50d26}' 33+ '.bmup :focus-visible{outline:2px solid #c8102e;outline-offset:2px}' 34+ 'html.bmup-on{overflow:hidden}' 35+ '.bmco-up__g{margin:10px 0 0;font-size:.78rem;font-weight:600;color:#666}' 36+ '@media (max-width:640px){.bmup{align-items:flex-end;padding:0}.bmup__box{max-width:none;border-radius:12px 12px 0 0;max-height:90vh;padding:16px 14px 14px}.bmup__l{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bmup__im img{height:72px}.bmup__q{flex:1 1 100%;margin:0}.bmup__c,a.bmup__go{flex:1 1 0;text-align:center;padding:12px 8px}}' 37+ '@media (prefers-reduced-motion:reduce){.bmup,.bmup__box{transition:none}}'; 38var st = document.createElement('style'); st.id = 'bmup-css'; st.textContent = css; document.head.appendChild(st); 39if (!window.jQuery || !window.fetch) { return; } 40var open = null, back = null; 41var H = { 'X-Requested-With': 'XMLHttpRequest' }; 42function onKey(e) { if (e.key === 'Escape') { close(); } } 43function close() { 44if (!open) { return; } 45open.parentNode && open.parentNode.removeChild(open); open = null; 46document.documentElement.classList.remove('bmup-on'); 47document.removeEventListener('keydown', onKey); 48if (back && back.focus) { try { back.focus(); } catch (e) {} } 49} 50function show(html) { 51close(); 52var w = document.createElement('div'); w.innerHTML = html; open = w.firstElementChild; 53if (!open) { return; } 54back = document.activeElement; 55document.body.appendChild(open); 56document.documentElement.classList.add('bmup-on'); 57document.addEventListener('keydown', onKey); 58var g = open.querySelector('.bmup__go');
58 if (g) { try { g.focus({ preventScroll: true }); } catch (e) {} } 59setTimeout(function () { if (open) { open.classList.add("is-on"); } }, 30); 60} 61function pidOf(d) { 62var s = typeof d === 'string' ? d : (d ? jQuery.param(d) : ''); 63var m = /(?:^|&)product_id=(\d+)/.exec(s); 64return m ? m[1] : ''; 65} 66jQuery(document).ajaxSuccess(function (e, xhr, s, json) { 67if (!s || !s.url || s.url.indexOf('checkout/cart/add') === -1) { return; } 68if (!json || typeof json !== 'object' || !json.success) { return; } 69var pid = pidOf(s.data); if (!pid) { return; } 70fetch('index.php?route=extension/module/bm_upsell/popup&product_id=' + pid, { credentials: 'same-origin', headers: H }) 71.then(function (r) { return r.json(); }) 72.then(function (j) { if (j && j.html) { show(j.html); } }) 73.catch(function () {}); 74}); 75document.addEventListener('click', function (e) { 76if (!open) { return; } 77var t = e.target; 78if (t === open || (t.closest && t.closest('[data-bmup-close]'))) { e.preventDefault(); close(); return; } 79var b = t.closest && t.closest('[data-bmup-add]'); if (!b || b.disabled) { return; } 80e.preventDefault(); b.disabled = true; 81var fd = new URLSearchParams(); fd.set('product_id', b.getAttribute('data-bmup-add')); fd.set('quantity', b.getAttribute('data-min') || '1'); 82fetch('index.php?route=checkout/cart/add', { method: 'POST', body: fd, credentials: 'same-origin', headers: H }) 83.then(function (r) { return r.json(); }) 84.then(function (j) { 85if (j && j.error) { 86if (j.error.option || j.error.recurring) { location = b.getAttribute('data-href'); return; } 87b.textContent = BM_L.cant_add; return; 88} 89if (j && j.redirect && !j.success) { location = j.redirect; return; } 90b.textContent = BM_L.added; b.classList.add('is-done'); 91var c = document.getElementById('cart-total'); if (c && j && j.total) { c.textContent = j.total; } 92jQuery('#cart > ul').load('index.php?route=common/cart/info ul li'); 93}) 94.catch(function () { b.disabled = false; }); 95}); 96document.addEventListener('change', function (e) { 97var c = e.target; if (!open || !c.hasAttribute || !c.hasAttribute('data-bmup-quiet')) { return; } 98var fd = new URLSearchParams(); fd.set('on', c.checked ? '1' : ''); 99fetch('index.php?route=extension/module/bm_upsell/quiet', { method: 'POST', body: fd, credentials: 'same-origin', headers: H }).catch(function () {}); 100}); 101})(); 102 103/* BM-G6TRIG: ponuka spuste Timney na pistoli Glock Gen 6 â raz na prehliadac, vlavo dole (mobil spodny pruh). Claude 1.10.2026 */ 104(function g6() { 105var tpl = document.getElementById('bm-g6'); if (!tpl) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', g6); } return; } if (!window.fetch) { return; } 106var KEY = tpl.getAttribute('data-key') || 'bm_g6_shown'; 107try { if (localStorage.getItem(KEY)) { return; } } catch (e) {} 108var css = '.g6p{position:fixed;z-index:9990;left:22px;bottom:22px;width:370px;max-width:calc(100vw - 24px);background:#141516;color:#f2f2f2;border:1px solid rgba(226,60,40,.55);border-radius:6px;box-shadow:0 22px 60px rgba(0,0,0,.45);overflow:hidden;transform:translateY(24px);opacity:0;transition:transform .35s ease,opacity .35s ease}' 109+ '.g6p.is-on{transform:none;opacity:1}.g6p *{box-sizing:border-box}' 110+ '.g6p__top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 0 16px}' 111+ '.g6p__eb{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.68rem;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.66)}' 112+ '.g6p__eb::before{content:"";width:18px;height:3px;background:#E23C28}' 113+ '.g6p__x{appearance:none;border:0;background:none;color:rgba(255,255,255,.6);font:400 26px/1 Arial,sans-serif;width:34px;height:34px;cursor:pointer;border-radius:3px}' 114+ '.g6p__x:hover{color:#fff;background:rgba(255,255,255,.08)}' 115+ '.g6p__b{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center;padding:6px 16px 4px}' 116+ '.g6p .g6p__b img{display:block;width:118px;height:96px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.6))}' 117+ '.g6p__h{margin:0 0 5px;font-weight:900;font-size:1.05rem;line-height:1.05;text-transform:uppercase;color:#fff}' 118+ '.g6p__p{margin:0;font-weight:500;font-size:.86rem;line-height:1.4;color:rgba(255,255,255,.72)}' 119+ '.g6p__f{display:flex;align-items:center;gap:10px;padding:12px 16px 16px}' 120+ '.g6p__pr{font-weight:800;font-size:1.25rem;line-height:1;color:#ff6b55;margin-right:auto}' 121+ '.g6p__add{appearance:none;border:0;cursor:pointer;background:#E23C28;color:#fff;font-weight:800;font-size:.76rem;line-height:1;letter-spacing:.1em;text-transform:uppercase;padding:12px 14px;border-radius:3px}' 122+ '.g6p__add:hover{background:#ff6b55}.g6p__add[disabled]{cursor:default}.g6p__add.is-done{background:#1f8a3b}' 123+ 'a.g6p__more,a.g6p__more:visited{color:rgba(255,255,255,.82)!important;font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}' 124+ '.g6p :focus-visible{outline:2px solid #ff6b55;outline-offset:2px}' 125+ '.g6p--m{width:410px}' 126+ '.g6p__lead{margin:4px 16px 8px;font-size:.84rem;line-height:1.4;color:rgba(255,255,255,.72)}' 127+ '.g6p__l{list-style:none;margin:0;padding:2px 16px 14px;display:grid;gap:8px}' 128+ '.g6p__l li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:6px 8px}' 129+ '.g6p .g6p__im img{display:block;width:56px;height:44px;object-fit:contain;background:#fff;border-radius:3px}' 130+ '.g6p__t{display:grid;gap:3px;min-width:0}' 131+ '.g6p__t a,.g6p__t a:visited{color:#fff!important;font-weight:800;font-size:.84rem;line-height:1.2;text-decoration:none}' 132+ '.g6p__t small{font-size:.74rem;line-height:1.3;color:rgba(255,255,255,.62)}' 133+ '.g6p__e{display:grid;gap:5px;justify-items:end}' 134+ '.g6p__e b{font-weight:800;font-size:.95rem;line-height:1;color:#ff6b55;white-space:nowrap}' 135+ '.g6p__l .g6p__add{padding:8px 10px;font-size:.68rem;letter-spacing:.06em;white-space:nowrap}' 136+ '@media (max-width:600px){.g6p{left:8px;right:8px;bottom:8px;width:auto;max-width:none}.g6p__b{grid-template-columns:92px 1fr;gap:10px;padding:4px 12px 2px}.g6p .g6p__b img{width:92px;height:74px}.g6p__p{font-size:.8rem}.g6p__f{padding:10px 12px 12px}}' 137+ '@media (prefers-reduced-motion:reduce){.g6p{transition:none}}'; 138function blocked() { 139var b = document.querySelectorAll('.bmc, .bm-notice, .bmup'); 140for (var i = 0; i < b.length; i++) { if (b[i].offsetParent !== null || getComputedStyle(b[i]).position === 'fixed' && getComputedStyle(b[i]).display !== 'none' && b[i].getClientRects().length) { return true; } } 141return false;
142} 143var tries = 0; 144function tryShow() { 145if (document.hidden || blocked()) { if (++tries < 90) { setTimeout(tryShow, 2000); } return; } 146var st = document.createElement('style'); st.textContent = css; document.head.appendChild(st); 147var w = document.createElement('div'); w.innerHTML = tpl.innerHTML; var el = w.firstElementChild; if (!el) { return; } 148document.body.appendChild(el); 149try { localStorage.setItem(KEY, String(Date.now())); } catch (e) {} 150setTimeout(function () { el.classList.add('is-on'); }, 30); 151function close() { el.classList.remove('is-on'); setTimeout(function () { if (el.parentNode) { el.parentNode.removeChild(el); } }, 350); } 152el.addEventListener('click', function (e) { 153if (e.target.closest('[data-g6-close]')) { close(); return; } 154var b = e.target.closest('[data-g6-add]'); if (!b || b.disabled) { return; } 155b.disabled = true; 156var fd = new URLSearchParams(); fd.set('product_id', b.getAttribute('data-g6-add')); fd.set('quantity', '1'); 157fetch('index.php?route=checkout/cart/add', { method: 'POST', body: fd, credentials: 'same-origin', headers: { 'X-Requested-With': 'XMLHttpRequest' } }) 158.then(function (r) { return r.json(); }) 159.then(function (j) { 160if (j && (j.error || (j.redirect && !j.success))) { location = b.getAttribute('data-href'); return; } 161b.textContent = BM_L.in_cart; b.classList.add('is-done'); 162var c = document.getElementById('cart-total'); if (c && j && j.total) { c.textContent = j.total; } 163if (window.jQuery) { jQuery('#cart > ul').load('index.php?route=common/cart/info ul li'); } 164}) 165.catch(function () { b.disabled = false; }); 166}); 167document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && el.parentNode) { close(); } }); 168} 169setTimeout(tryShow, 4000); 170})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.