{
  "version": 3,
  "sources": ["/cdn/shop/t/30/assets/hp-reels.js?cb=15477"],
  "sourcesContent": ["/* HP v12 \u2014 p\u00E1s reel\u016F od rodi\u010D\u016F (#hpReels).\n\n   \u0160ipky obsluhuje hp-page.js, tady je v\u0161echno kolem vide\u00ED. Nahr\u00E1v\u00E1 se ve\n   t\u0159ech stupn\u00EDch, a\u0165 str\u00E1nka nestahuje \u010Dtrn\u00E1ct vide\u00ED a z\u00E1rove\u0148 se ne\u010Dekalo\n   po kliknut\u00ED na P\u0159ehr\u00E1t:\n\n     0. na\u010Dten\u00ED str\u00E1nky      nic. Karta je <img loading=\"lazy\">, video nem\u00E1 src.\n     1. sekce se bl\u00ED\u017E\u00ED oknu  KARET_TEPLE nejbli\u017E\u0161\u00EDch karet dostane src a\n        (300 px p\u0159ed)        preload=\"metadata\" \u2014 st\u00E1hne se hlavi\u010Dka souboru\n                             a kus za\u010D\u00E1tku, \u0159\u00E1dov\u011B des\u00EDtky kB. Kliknut\u00ED na\n                             P\u0159ehr\u00E1t pak startuje hned, ne za p\u011Bt vte\u0159in.\n     2. karta je u st\u0159edu    KARET_HRAJE nejbli\u017E\u0161\u00EDch hraje potichu dokola\n                             (preload=\"auto\"). Ostatn\u00ED dr\u017E\u00ED n\u00E1hled.\n\n   Kdy\u017E \u010Dlov\u011Bk klikne, ambientn\u00ED videa se na chv\u00EDli pauznou, a\u0165 mu jeho\n   video nikdo nebere z linky (stejn\u00FD trik jako ze\u010F referenc\u00ED), a karta\n   uk\u00E1\u017Ee p\u0159es\u00FDp\u00E1\u010Dek + pruh nahr\u00E1v\u00E1n\u00ED, dokud nejede.\n\n   Fail-open: bez JS z\u016Fstanou n\u00E1hledy a karty stejn\u011B velk\u00E9. Popisky tla\u010D\u00EDtek\n   chod\u00ED z Liquidu p\u0159es data-l-*, ne natvrdo \u010Desky. */\n(function () {\n  var track = document.getElementById('hpReels');\n  if (!track) return;\n\n  var reels = [].slice.call(track.querySelectorAll('[data-reel]'));\n  if (!reels.length) return;\n\n  var sec = track.closest('.hp-reels') || track.parentElement;\n  var d = track.dataset;\n  var LBL = {\n    soundOn: d.lSoundOn || 'Zapnout zvuk',\n    soundOff: d.lSoundOff || 'Vypnout zvuk',\n    play: d.lPlay || 'P\u0159ehr\u00E1t',\n    pause: d.lPause || 'Pozastavit'\n  };\n\n  var reduce = window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var conn = navigator.connection || navigator.mozConnection || navigator.webkitConnection;\n  var pomalu = !!(conn && (conn.saveData || /(^|-)2g$/.test(conn.effectiveType || '')));\n  /* V \u00FAsporn\u00E9m re\u017Eimu, na pomal\u00E9 lince a p\u0159i \u201Eomezit pohyb\" se nic nerozj\u00ED\u017Ed\u00ED\n     samo \u2014 karta z\u016Fstane na n\u00E1hledu a \u010Dek\u00E1 na tla\u010D\u00EDtko. P\u0159edeh\u0159\u00E1t se ale sm\u00ED,\n     jinak by pr\u00E1v\u011B tady bylo \u010Dek\u00E1n\u00ED po kliknut\u00ED nejdel\u0161\u00ED. */\n  var autoOK = !reduce && !pomalu;\n\n  function HRAJE() { return innerWidth > 880 ? 3 : 1; }\n  function TEPLE() { return innerWidth > 880 ? 9 : 5; }\n\n  var blizko = false;          /* sekce je u okna */\n  var vidno = new WeakSet();   /* karty pr\u00E1v\u011B viditeln\u00E9 v p\u00E1su */\n  var rucne = null;            /* kartu spustil \u010Dlov\u011Bk */\n  var stredni = null;\n  var pos = [];                /* st\u0159edy karet, a\u0165 se za scrollu ne\u010Dte layout */\n  var ustup = 0;               /* do kdy ustoupit ambientn\u00EDm p\u0159ehr\u00E1v\u00E1n\u00EDm */\n  var zpet = 0;                /* \u010Dasova\u010D n\u00E1vratu po ustoupen\u00ED */\n\n  function v(r) { return r.querySelector('video'); }\n\n  function zmer() {\n    pos = reels.map(function (r) { return r.offsetLeft - track.offsetLeft + r.offsetWidth / 2; });\n  }\n\n  /* --- leh\u010D\u00ED varianta videa -------------------------------------------\n     Shopify p\u0159es Liquid vyd\u00E1 jen jedno mp4, a to nejt\u011B\u017E\u0161\u00ED: osm ze \u010Dtrn\u00E1cti\n     vide\u00ED je 1080p p\u0159i 7,2 Mb/s. V HLS manifestu (642 B) je p\u0159itom i 480p,\n     a jm\u00E9no odpov\u00EDdaj\u00EDc\u00EDho mp4 se z n\u011Bj d\u00E1 odvodit:\n\n       <id>.SD-480p.1.5Mbps.hls.<n>_.m3u8  ->  <id>.SD-480p-1.5Mbps-<n>.mp4\n\n     Karta m\u00E1 190 px, tak\u017Ee 480p je na ni akor\u00E1t. Zm\u011B\u0159eno na v\u0161ech \u010Dtrn\u00E1cti\n     vide\u00EDch: 360 MB proti 100 MB, tedy 3,6\u00D7 m\u00E9n\u011B.\n\n     Je to tvar adresy, kter\u00FD Shopify nikde neslibuje, proto DV\u011A pojistky:\n     kdy\u017E se manifest nest\u00E1hne nebo odvozen\u00E1 adresa spadne, s\u00E1hne se pro\n     p\u016Fvodn\u00ED mp4 z Liquidu. Nejhor\u0161\u00ED p\u0159\u00EDpad je tedy dne\u0161n\u00ED stav. */\n  var VARIANTA = /^(.+?)\\.(SD|HD|UHD)-(\\d+p)\\.([\\d.]+Mbps)\\.hls\\.(\\d+)_\\.m3u8$/;\n\n  function lehke(el) {\n    if (el._lo !== undefined) return Promise.resolve(el._lo || '');\n    var man = el.dataset.hls;\n    if (!man || !window.fetch) { el._lo = ''; return Promise.resolve(''); }\n    el._lo = null;                                  /* b\u011B\u017E\u00ED */\n    return fetch(man, { cache: 'force-cache' })\n      .then(function (r) { return r.ok ? r.text() : ''; })\n      .then(function (t) {\n        var radky = t.split('\\n'), nej = null;\n        for (var i = 0; i < radky.length; i++) {\n          if (radky[i].indexOf('#EXT-X-STREAM-INF') !== 0) continue;\n          var res = /RESOLUTION=(\\d+)x(\\d+)/.exec(radky[i]);\n          var f = (radky[i + 1] || '').trim();\n          if (res && f && (!nej || +res[1] < nej.w)) nej = { w: +res[1], f: f };\n        }\n        var m = nej && VARIANTA.exec(nej.f);\n        el._lo = m\n          ? man.replace(/[^/]+$/, '') + m[1] + '.' + m[2] + '-' + m[3] + '-' + m[4] + '-' + m[5] + '.mp4'\n          : '';\n        return el._lo;\n      })\n      .catch(function () { el._lo = ''; return ''; });\n  }\n\n  function nacti(el, plne) {\n    if (!el.dataset.src) return;\n    if (!el.getAttribute('src')) {\n      el.preload = plne ? 'auto' : 'metadata';\n      /* _lo je \u0159et\u011Bzec, jen kdy\u017E je odvozen\u00E1 adresa hotov\u00E1; jinak se ne\u010Dek\u00E1. */\n      el.setAttribute('src', el._lo || el.dataset.src);\n    } else if (plne && el.preload !== 'auto') {\n      el.preload = 'auto';\n    }\n  }\n\n  function pust(el) {\n    nacti(el, true);\n    if (!el.paused) return;\n    var p = el.play();\n    if (p && p.catch) p.catch(function () { /* autoplay sm\u00ED prohl\u00ED\u017Ee\u010D odm\u00EDtnout */ });\n  }\n\n  function stav(r) {\n    var el = v(r);\n    if (!el) return;\n    var zvuk = r.querySelector('[data-reel-sound]');\n    var hraj = r.querySelector('[data-reel-play]');\n    if (zvuk) {\n      var zap = !el.muted;\n      if (zvuk.classList.contains('is-on') !== zap) {\n        zvuk.classList.toggle('is-on', zap);\n        zvuk.setAttribute('aria-pressed', zap ? 'true' : 'false');\n        zvuk.setAttribute('aria-label', zap ? LBL.soundOff : LBL.soundOn);\n      }\n    }\n    if (hraj) {\n      var bezi = !el.paused && !el.ended;\n      if (hraj.classList.contains('is-on') !== bezi) {\n        hraj.classList.toggle('is-on', bezi);\n        hraj.setAttribute('aria-pressed', bezi ? 'true' : 'false');\n        hraj.setAttribute('aria-label', bezi ? LBL.pause : LBL.play);\n      }\n    }\n  }\n\n  /* Pruh dole v kart\u011B: \u0161ed\u011B sta\u017Een\u00E9, magentou p\u0159ehran\u00E9. */\n  function pruh(r) {\n    var el = v(r);\n    if (!el || !el.duration || !isFinite(el.duration)) return;\n    var buf = r.querySelector('.hp-reel__buf');\n    var poz = r.querySelector('.hp-reel__pos');\n    if (buf && el.buffered.length) {\n      var konec = 0;\n      for (var i = 0; i < el.buffered.length; i++) {\n        if (el.buffered.start(i) <= el.currentTime + 0.1) konec = Math.max(konec, el.buffered.end(i));\n      }\n      buf.style.width = Math.min(100, (konec / el.duration) * 100).toFixed(1) + '%';\n    }\n    if (poz) poz.style.width = Math.min(100, (el.currentTime / el.duration) * 100).toFixed(1) + '%';\n  }\n\n  function prepocti() {\n    var mid = track.scrollLeft + track.clientWidth / 2;\n    var poradi = reels\n      .map(function (r, i) { return { r: r, d: Math.abs(pos[i] - mid), vidi: vidno.has(r) }; })\n      .sort(function (a, b) { return a.d - b.d; });\n\n    var hraje = [], teple = [];\n    if (blizko) {\n      poradi.forEach(function (x, i) {\n        if (i < TEPLE()) teple.push(x.r);\n        if (x.vidi && hraje.length < HRAJE()) hraje.push(x.r);\n      });\n    }\n    /* Co si \u010Dlov\u011Bk pustil s\u00E1m, tomu m\u00EDsto pat\u0159\u00ED v\u017Edy. */\n    if (rucne && hraje.indexOf(rucne) < 0 && vidno.has(rucne)) hraje.push(rucne);\n\n    var ustupuj = ustup > Date.now();\n\n    reels.forEach(function (r) {\n      var el = v(r);\n      if (!el) return;\n      var jeho = rucne === r;\n\n      if (teple.indexOf(r) > -1) {\n        var plne = hraje.indexOf(r) > -1;\n        /* Ne\u017E se poprv\u00E9 s\u00E1hne na s\u00ED\u0165, zkusit odvodit leh\u010D\u00ED adresu.\n           _lo: undefined = je\u0161t\u011B se nezkou\u0161elo, null = fetch b\u011B\u017E\u00ED,\n                \u0159et\u011Bzec (i pr\u00E1zdn\u00FD) = hotovo.\n           Dokud fetch b\u011B\u017E\u00ED, src se NENASAD\u00CD \u2014 jinak by ho stihlo p\u0159eb\u00EDt\n           p\u016Fvodn\u00ED t\u011B\u017Ek\u00E9 mp4 a cel\u00E1 \u00FAspora by byla k ni\u010Demu (nam\u011B\u0159eno).\n           Klik na P\u0159ehr\u00E1t na to nikdy ne\u010Dek\u00E1, ten jde p\u0159es pust(). */\n        if (!el.getAttribute('src')) {\n          if (el._lo === undefined) {\n            lehke(el).then(function () {\n              nacti(el, plne);\n              if (plne && autoOK && ustup < Date.now()) pust(el);\n            });\n          } else if (el._lo !== null) {\n            nacti(el, plne);\n          }\n        } else {\n          nacti(el, plne);\n        }\n      }\n\n      if (hraje.indexOf(r) > -1 && (jeho || (autoOK && !ustupuj))) {\n        /* Jen kdy\u017E zdroj U\u017D je. Kdyby se pustilo d\u0159\u00EDv, nacti() by nasadilo\n           p\u016Fvodn\u00ED t\u011B\u017Ek\u00E9 mp4 a odvozen\u00E1 leh\u010D\u00ED adresa by p\u0159i\u0161la pozd\u011B.\n           Rozjede se samo, jakmile ji v\u011Btev naho\u0159e dopln\u00ED. */\n        if (el.getAttribute('src')) pust(el);\n      } else if (!el.paused) {\n        el.pause();\n        /* Ztlumit, a\u0165 zvuk nez\u016Fstane b\u011B\u017Eet mimo obraz. */\n        if (!el.muted && !jeho) el.muted = true;\n        if (!vidno.has(r) && jeho) { rucne = null; el.muted = true; }\n      }\n      stav(r);\n    });\n  }\n\n  /* Karta nejbl\u00ED\u017E st\u0159edu se zv\u011Bt\u0161\u00ED. Pozice jsou z cache \u2014 za scrollu se\n     nesah\u00E1 na layout. */\n  function stred() {\n    var mid = track.scrollLeft + track.clientWidth / 2;\n    var nej = null, nd = Infinity;\n    reels.forEach(function (r, i) {\n      var dd = Math.abs(pos[i] - mid);\n      if (dd < nd) { nd = dd; nej = r; }\n    });\n    if (nej === stredni) return false;\n    if (stredni) stredni.classList.remove('is-mid');\n    if (nej) nej.classList.add('is-mid');\n    stredni = nej;\n    return true;\n  }\n\n  var tik = 0;\n  function naplanuj() {\n    if (tik) return;\n    tik = requestAnimationFrame(function () {\n      tik = 0;\n      if (stred()) prepocti();\n    });\n  }\n\n  /* 1) Sekce u okna \u2192 teprve tehdy se sm\u00ED sahat na s\u00ED\u0165. */\n  if ('IntersectionObserver' in window) {\n    new IntersectionObserver(function (es) {\n      blizko = es[0].isIntersecting;\n      prepocti();\n    }, { rootMargin: '300px 0px' }).observe(sec);\n\n    var io = new IntersectionObserver(function (es) {\n      es.forEach(function (e) {\n        if (e.isIntersecting) vidno.add(e.target); else vidno.delete(e.target);\n      });\n      prepocti();\n    }, { root: track, threshold: 0.55 });\n    reels.forEach(function (r) { io.observe(r); });\n  } else {\n    blizko = true;\n    autoOK = false;\n  }\n\n  /* 2) Kliknut\u00ED: tla\u010D\u00EDtka, jinak cel\u00E1 karta (m\u00E1 cursor:pointer). */\n  function zapni(r, el) {\n    rucne = r;\n    /* Ambientn\u00ED videa na 6 s ustoup\u00ED, a\u0165 se to jeho rozjede rychle. */\n    ustup = Date.now() + 6000;\n    r.classList.add('is-busy');\n    pust(el);\n    prepocti();\n    clearTimeout(zpet);\n    zpet = setTimeout(prepocti, 6100);   /* a\u017E ustup vypr\u0161\u00ED, ambientn\u00ED se vr\u00E1t\u00ED */\n  }\n\n  track.addEventListener('click', function (e) {\n    var b = e.target.closest('[data-reel-sound],[data-reel-play]');\n    var r = e.target.closest('[data-reel]');\n    var el = r && v(r);\n    if (!el) return;\n    if (b) e.preventDefault();\n\n    if (b && b.hasAttribute('data-reel-sound')) {\n      if (el.muted) {\n        reels.forEach(function (o) {          /* zvuk v\u017Edy jen na jedn\u00E9 kart\u011B */\n          var oe = v(o);\n          if (oe && o !== r && !oe.muted) { oe.muted = true; stav(o); }\n        });\n        el.muted = false;\n        zapni(r, el);\n      } else {\n        el.muted = true;\n        if (rucne === r) rucne = null;\n      }\n    } else if (el.paused) {\n      zapni(r, el);\n    } else {\n      el.pause();\n      if (rucne === r) rucne = null;\n    }\n    stav(r);\n  });\n\n  /* 3) Stavy p\u0159ehr\u00E1va\u010De \u2192 p\u0159es\u00FDp\u00E1\u010Dek, pruh, odkryt\u00ED videa nad n\u00E1hledem. */\n  reels.forEach(function (r) {\n    var el = v(r);\n    if (!el) return;\n    var busy = function (on) { r.classList.toggle('is-busy', on); };\n    el.addEventListener('waiting', function () { busy(true); });\n    el.addEventListener('stalled', function () { busy(true); });\n    el.addEventListener('playing', function () { busy(false); r.classList.add('is-live'); pruh(r); });\n    el.addEventListener('canplay', function () { busy(false); });\n    el.addEventListener('pause', function () { busy(false); });   /* .is-live z\u016Fst\u00E1v\u00E1 \u2014 zastaven\u00E9 video dr\u017E\u00ED posledn\u00ED sn\u00EDmek */\n    el.addEventListener('progress', function () { pruh(r); });\n    el.addEventListener('timeupdate', function () { pruh(r); });\n    el.addEventListener('error', function () {\n      busy(false);\n      if (el._lo && el.getAttribute('src') === el._lo && el.dataset.src) {\n        el._lo = '';                       /* odvozen\u00E1 adresa nefunguje */\n        el.setAttribute('src', el.dataset.src);\n        el.load();\n        return;\n      }\n      r.classList.remove('is-live');\n      el.removeAttribute('src');           /* z\u016Fstane n\u00E1hled */\n    });\n  });\n\n  /* P\u0159epnut\u00ED na jinou z\u00E1lo\u017Eku hran\u00ED zastav\u00ED. */\n  document.addEventListener('visibilitychange', function () {\n    if (document.hidden) reels.forEach(function (r) { var el = v(r); if (el && !el.paused) el.pause(); });\n    else prepocti();\n  });\n\n  /* Na desktopu je po\u0159ad\u00ED karet rozvinut\u00E9 do stran (CSS `order` v sekci):\n     uprost\u0159ed je prvn\u00ED video z administrace, sud\u00E1 jdou doprava, lich\u00E1 doleva.\n     Kdy\u017E se p\u00E1s do okna nevejde, samo to nesta\u010D\u00ED \u2014 u lev\u00E9ho okraje by pak\n     za\u010D\u00EDnala ta nejm\u00E9n\u011B d\u016Fle\u017Eit\u00E1 videa a rozvinut\u00ED by bylo k ni\u010Demu. Proto se\n     p\u0159i startu jednou odscrolluje tak, aby prvn\u00ED video sed\u011Blo na st\u0159edu.\n     Karty maj\u00ED scroll-snap-align:center, tak\u017Ee to sedne p\u0159esn\u011B na kartu.\n\n     Jen jednou a jen p\u0159i startu: pozd\u011Bj\u0161\u00ED p\u0159epo\u010Det (t\u0159eba na resize) by bral\n     \u010Dlov\u011Bku pozici, ve kter\u00E9 si p\u00E1s zrovna prohl\u00ED\u017E\u00ED. Kdy\u017E se v\u0161echno do okna\n     vejde, p\u00E1s je vycentrovan\u00FD s\u00E1m (justify-content:safe center) a ned\u011Bl\u00E1 se\n     nic. */\n  function naStred() {\n    if (!(window.matchMedia && matchMedia('(min-width: 1024px)').matches)) return;\n    if (track.scrollWidth <= track.clientWidth + 2) return;\n    var prvni = reels[0];               /* v DOM je prvn\u00ED karta ta s prioritou 1 */\n    if (!prvni) return;\n    var tr = track.getBoundingClientRect(), kr = prvni.getBoundingClientRect();\n    var cil = track.scrollLeft + (kr.left - tr.left) - (tr.width - kr.width) / 2;\n    track.scrollLeft = Math.max(0, cil);\n  }\n\n  track.addEventListener('scroll', naplanuj, { passive: true });\n  addEventListener('resize', function () { zmer(); stred(); prepocti(); });\n  zmer();\n  naStred();\n  stred();\n})();\n"],
  "mappings": "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",
  "names": []
}
