{"id":1138,"date":"2026-07-11T22:14:56","date_gmt":"2026-07-11T20:14:56","guid":{"rendered":"https:\/\/doktorpeptid.sk\/?page_id=1138"},"modified":"2026-09-16T19:50:42","modified_gmt":"2026-09-16T17:50:42","slug":"kalkulacka","status":"publish","type":"page","link":"https:\/\/doktorpeptid.sk\/en\/kalkulacka\/","title":{"rendered":"Calculator"},"content":{"rendered":"\n<!-- ===================== DoktorPeptid \u2014 Kalkula\u010dka d\u00e1vkovania peptidov (v2, modr\u00e1, preh\u013eadnej\u0161ia) ===================== -->\n<style>\nbody{background:#080b18 !important}\n#primary.content-area{background:transparent}\n.wp-page-wrap{background:transparent}\n<\/style>\n<div class=\"pc-wrap\" id=\"pc-wrap\">\n  <div class=\"pc-card\">\n\n    <div class=\"pc-head\">\n      <div class=\"pc-head-badge\">N\u00e1stroj pre v\u00fdskumn\u00edkov<\/div>\n      <h2 class=\"pc-title\">Kalkula\u010dka d\u00e1vkovania peptidu<\/h2>\n      <p class=\"pc-sub\">Vypo\u010d\u00edtaj rekon\u0161tit\u00faciu, koncentr\u00e1ciu a presn\u00fd objem na natiahnutie do strieka\u010dky. V\u00fdhradne pre laborat\u00f3rne a v\u00fdskumn\u00e9 \u00fa\u010dely.<\/p>\n    <\/div>\n\n    <div class=\"pc-section-label\">1 \u00b7 Vstupn\u00e9 \u00fadaje<\/div>\n    <div class=\"pc-inputs-card\">\n      <div class=\"pc-inputs-grid\">\n\n        <div class=\"pc-field\">\n          <label class=\"pc-label\">\n            <span>Mno\u017estvo peptidu vo f\u013ea\u0161ti\u010dke<\/span>\n            <span class=\"pc-value\"><span id=\"pc-vial-out\">5<\/span> mg<\/span>\n          <\/label>\n          <input type=\"range\" id=\"pc-vial\" min=\"1\" max=\"100\" step=\"0.5\" value=\"5\" class=\"pc-range\">\n          <input type=\"number\" id=\"pc-vial-num\" min=\"0\" step=\"0.1\" value=\"5\" class=\"pc-num\">\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label class=\"pc-label\">\n            <span>Objem pridanej bakteriostatickej vody<\/span>\n            <span class=\"pc-value\"><span id=\"pc-water-out\">2<\/span> ml<\/span>\n          <\/label>\n          <input type=\"range\" id=\"pc-water\" min=\"0.5\" max=\"10\" step=\"0.1\" value=\"2\" class=\"pc-range\">\n          <input type=\"number\" id=\"pc-water-num\" min=\"0\" step=\"0.1\" value=\"2\" class=\"pc-num\">\n        <\/div>\n\n        <div class=\"pc-field pc-field-full\">\n          <label class=\"pc-label\"><span>\u017delan\u00e1 d\u00e1vka<\/span><\/label>\n          <div class=\"pc-dose-row\">\n            <input type=\"number\" id=\"pc-dose\" min=\"0\" step=\"1\" value=\"250\" class=\"pc-num pc-num-wide\">\n            <div class=\"pc-unit-toggle\" id=\"pc-unit-toggle\">\n              <button type=\"button\" class=\"pc-unit-btn is-active\" data-unit=\"mcg\">mcg<\/button>\n              <button type=\"button\" class=\"pc-unit-btn\" data-unit=\"mg\">mg<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label class=\"pc-label\"><span>Ve\u013ekos\u0165 strieka\u010dky (U-100)<\/span><\/label>\n          <div class=\"pc-chip-row\" id=\"pc-syringe-size\">\n            <button type=\"button\" class=\"pc-chip\" data-size=\"30\">0,3 ml <em>30 U<\/em><\/button>\n            <button type=\"button\" class=\"pc-chip\" data-size=\"50\">0,5 ml <em>50 U<\/em><\/button>\n            <button type=\"button\" class=\"pc-chip is-active\" data-size=\"100\">1,0 ml <em>100 U<\/em><\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"pc-field\">\n          <label class=\"pc-label\"><span>Typ ihly<\/span><\/label>\n          <div class=\"pc-chip-row\" id=\"pc-needle\">\n            <button type=\"button\" class=\"pc-chip\" data-needle=\"31x6\">31G \u00b7 6 mm<\/button>\n            <button type=\"button\" class=\"pc-chip is-active\" data-needle=\"30x8\">30G \u00b7 8 mm<\/button>\n            <button type=\"button\" class=\"pc-chip\" data-needle=\"29x13\">29G \u00b7 12,7 mm<\/button>\n          <\/div>\n        <\/div>\n\n        <p class=\"pc-hint pc-field-full\" id=\"pc-needle-hint\">\u0160tandardn\u00e1 d\u013a\u017eka pre be\u017en\u00e9 subkut\u00e1nne laborat\u00f3rne podanie.<\/p>\n\n      <\/div>\n    <\/div>\n\n    <div class=\"pc-section-label\">2 \u00b7 V\u00fdsledok v\u00fdpo\u010dtu<\/div>\n    <div class=\"pc-syringe-box\">\n      <div class=\"pc-syringe-readout\">\n        <span class=\"pc-syringe-units\" id=\"pc-units-big\">0<\/span>\n        <span class=\"pc-syringe-units-label\">jednotiek (IU) na strieka\u010dke<\/span>\n      <\/div>\n\n      <svg id=\"pc-syringe-svg\" viewBox=\"0 0 600 130\" class=\"pc-syringe-svg\" preserveAspectRatio=\"xMidYMid meet\">\n        <rect x=\"0\" y=\"60\" width=\"34\" height=\"10\" rx=\"2\" fill=\"var(--pc-metal)\"><\/rect>\n        <polygon points=\"0,60 -18,64 0,70\" fill=\"var(--pc-metal)\"><\/polygon>\n        <rect x=\"34\" y=\"40\" width=\"500\" height=\"50\" rx=\"8\" fill=\"var(--pc-glass)\" stroke=\"var(--pc-line)\" stroke-width=\"2\"><\/rect>\n        <rect id=\"pc-fill\" x=\"36\" y=\"42\" width=\"0\" height=\"46\" rx=\"6\" fill=\"url(#pc-fillGrad)\"><\/rect>\n        <g id=\"pc-ticks\" stroke=\"var(--pc-line)\" stroke-width=\"1\"><\/g>\n        <rect id=\"pc-plunger\" x=\"534\" y=\"34\" width=\"14\" height=\"62\" fill=\"var(--pc-metal)\"><\/rect>\n        <rect id=\"pc-plunger-head\" x=\"540\" y=\"26\" width=\"46\" height=\"78\" rx=\"4\" fill=\"var(--pc-metal-light)\"><\/rect>\n        <defs>\n          <linearGradient id=\"pc-fillGrad\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n            <stop offset=\"0\" stop-color=\"#2f7bff\"><\/stop>\n            <stop offset=\"1\" stop-color=\"#5fa8ff\"><\/stop>\n          <\/linearGradient>\n        <\/defs>\n      <\/svg>\n      <div class=\"pc-syringe-scale\">\n        <span>0<\/span><span id=\"pc-scale-mid\"><\/span><span id=\"pc-scale-max\">100<\/span>\n      <\/div>\n      <p class=\"pc-warning\" id=\"pc-warning\" hidden>\u26a0 Objem presahuje kapacitu zvolenej strieka\u010dky. Zvo\u013e v\u00e4\u010d\u0161iu strieka\u010dku alebo priprav viac d\u00e1vok.<\/p>\n    <\/div>\n\n    <div class=\"pc-stats\">\n      <div class=\"pc-stat\">\n        <span class=\"pc-stat-label\">Koncentr\u00e1cia<\/span>\n        <span class=\"pc-stat-value\" id=\"pc-conc\">\u2014<\/span>\n      <\/div>\n      <div class=\"pc-stat\">\n        <span class=\"pc-stat-label\">Objem na natiahnutie<\/span>\n        <span class=\"pc-stat-value\" id=\"pc-vol\">\u2014<\/span>\n      <\/div>\n      <div class=\"pc-stat\">\n        <span class=\"pc-stat-label\">D\u00e1vok z f\u013ea\u0161ti\u010dky<\/span>\n        <span class=\"pc-stat-value\" id=\"pc-doses\">\u2014<\/span>\n      <\/div>\n    <\/div>\n\n    <div class=\"pc-section-label\">3 \u00b7 Postup pr\u00edpravy<\/div>\n    <div class=\"pc-steps\">\n      <div class=\"pc-step\">\n        <span class=\"pc-step-num\">1<\/span>\n        <p><b>Rekon\u0161tituuj<\/b> \u2014 pomaly vpichni <span id=\"pc-step-water\">2 ml<\/span> bakteriostatickej vody po stene f\u013ea\u0161ti\u010dky (nepretrep\u00e1vaj).<\/p>\n      <\/div>\n      <div class=\"pc-step\">\n        <span class=\"pc-step-num\">2<\/span>\n        <p><b>Natiahni<\/b> <span id=\"pc-step-vol\">\u2014 ml<\/span> (<span id=\"pc-step-units\">0 U<\/span>) na <span id=\"pc-step-syringe\">1 ml (100 U)<\/span> strieka\u010dku s ihlou <span id=\"pc-step-needle\">30G \u00b7 8 mm<\/span>.<\/p>\n      <\/div>\n      <div class=\"pc-step\">\n        <span class=\"pc-step-num\">3<\/span>\n        <p><b>Skladuj<\/b> zvy\u0161ok pri 2\u20138 \u00b0C, spotrebuj do 28 dn\u00ed od rekon\u0161tit\u00facie.<\/p>\n      <\/div>\n    <\/div>\n\n    <p class=\"pc-disclaimer\">T\u00e1to kalkula\u010dka sl\u00fa\u017ei v\u00fdhradne na v\u00fdpo\u010dtov\u00e9 a vzdel\u00e1vacie \u00fa\u010dely pre vedeck\u00fd v\u00fdskum. Nejde o lek\u00e1rske odpor\u00fa\u010danie ani n\u00e1vod na pou\u017eitie na \u013eu\u010foch \u010di zvierat\u00e1ch. Produkty DoktorPeptid nie s\u00fa ur\u010den\u00e9 na \u013eudsk\u00fa ani \u017eivo\u010d\u00ed\u0161nu spotrebu.<\/p>\n  <\/div>\n<\/div>\n\n<style>\n#pc-wrap{\n  --pc-card:#10161d;\n  --pc-card-2:#0d1319;\n  --pc-line:#22303c;\n  --pc-line-soft:#1a242d;\n  --pc-text:#eaf2f5;\n  --pc-text-dim:#8ea3ac;\n  --pc-accent:#3b82f6;\n  --pc-accent-2:#5fa8ff;\n  --pc-accent-soft:rgba(59,130,246,0.12);\n  --pc-glass:#0c1216;\n  --pc-metal:#4b5b66;\n  --pc-metal-light:#7c8f99;\n  --pc-warn:#ff6b6b;\n  font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n  color: var(--pc-text);\n  max-width: 820px;\n  margin: 2.5rem auto;\n  padding: 0 1rem;\n  box-sizing: border-box;\n}\n#pc-wrap *{ box-sizing: border-box; }\n#pc-wrap .pc-card{\n  background: linear-gradient(180deg, var(--pc-card) 0%, var(--pc-card-2) 100%);\n  border: 1px solid var(--pc-line);\n  border-radius: 20px;\n  padding: 2.25rem clamp(1.25rem, 4vw, 2.75rem) 2.5rem;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.03);\n  position: relative;\n  overflow: hidden;\n}\n#pc-wrap .pc-card::before{\n  content:\"\";\n  position:absolute; top:-40%; right:-15%;\n  width: 480px; height: 480px;\n  background: radial-gradient(circle, var(--pc-accent-soft) 0%, rgba(59,130,246,0) 70%);\n  pointer-events:none;\n}\n#pc-wrap .pc-head{ margin-bottom: 2.2rem; }\n#pc-wrap .pc-head-badge{\n  display:inline-block;\n  font-size: 0.72rem;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  color: var(--pc-accent-2);\n  background: var(--pc-accent-soft);\n  border: 1px solid rgba(59,130,246,0.35);\n  padding: 0.3rem 0.7rem;\n  border-radius: 999px;\n  margin-bottom: 0.9rem;\n  font-weight: 600;\n}\n#pc-wrap .pc-title{\n  font-size: clamp(1.5rem, 2.6vw, 2rem);\n  margin: 0 0 0.5rem;\n  font-weight: 700;\n  letter-spacing: -0.01em;\n}\n#pc-wrap .pc-sub{\n  color: var(--pc-text-dim);\n  margin: 0;\n  max-width: 640px;\n  line-height: 1.55;\n  font-size: 0.95rem;\n}\n\n#pc-wrap .pc-section-label{\n  font-size: 0.74rem;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  color: var(--pc-accent-2);\n  margin: 2.4rem 0 0.9rem;\n  padding-bottom: 0.6rem;\n  border-bottom: 1px solid var(--pc-line-soft);\n}\n#pc-wrap > .pc-card > .pc-section-label:first-of-type{ margin-top: 0; }\n\n#pc-wrap .pc-inputs-card{\n  background: var(--pc-glass);\n  border: 1px solid var(--pc-line);\n  border-radius: 16px;\n  padding: 1.6rem 1.6rem 0.4rem;\n}\n#pc-wrap .pc-inputs-grid{\n  display:grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 1.6rem 1.8rem;\n}\n#pc-wrap .pc-field-full{ grid-column: 1 \/ -1; }\n@media (max-width: 640px){\n  #pc-wrap .pc-inputs-grid{ grid-template-columns: 1fr; }\n}\n#pc-wrap .pc-field{ margin-bottom: 1.4rem; }\n#pc-wrap .pc-label{\n  display:flex;\n  justify-content: space-between;\n  align-items: baseline;\n  font-size: 0.86rem;\n  font-weight: 600;\n  color: var(--pc-text);\n  margin-bottom: 0.6rem;\n}\n#pc-wrap .pc-value{ color: var(--pc-accent-2); font-variant-numeric: tabular-nums; }\n#pc-wrap .pc-range{\n  -webkit-appearance:none; appearance:none;\n  width:100%; height:6px; border-radius:999px;\n  background: var(--pc-line);\n  outline:none; margin-bottom:0.6rem; cursor:pointer;\n}\n#pc-wrap .pc-range::-webkit-slider-thumb{\n  -webkit-appearance:none; appearance:none;\n  width:18px; height:18px; border-radius:50%;\n  background: #fff; border: 3px solid var(--pc-accent);\n  cursor:pointer; box-shadow: 0 2px 6px rgba(0,0,0,0.4);\n}\n#pc-wrap .pc-range::-moz-range-thumb{\n  width:16px; height:16px; border-radius:50%;\n  background:#fff; border:3px solid var(--pc-accent); cursor:pointer;\n}\n#pc-wrap .pc-num{\n  width:100%;\n  background: #0a0f14;\n  border: 1px solid var(--pc-line);\n  color: var(--pc-text);\n  padding: 0.6rem 0.75rem;\n  border-radius: 10px;\n  font-size: 0.9rem;\n  font-variant-numeric: tabular-nums;\n}\n#pc-wrap .pc-num:focus{ outline:none; border-color: var(--pc-accent); }\n#pc-wrap .pc-dose-row{ display:flex; gap:0.6rem; align-items:stretch; }\n#pc-wrap .pc-num-wide{ flex:1; }\n#pc-wrap .pc-unit-toggle{\n  display:flex; border:1px solid var(--pc-line); border-radius:10px; overflow:hidden; flex-shrink:0;\n}\n#pc-wrap .pc-unit-btn{\n  background: #0a0f14; color: var(--pc-text-dim);\n  border:none; padding: 0 0.9rem; font-size:0.85rem; font-weight:600;\n  cursor:pointer; transition: all .15s ease;\n}\n#pc-wrap .pc-unit-btn.is-active{ background: var(--pc-accent); color:#fff; }\n#pc-wrap .pc-chip-row{ display:flex; gap:0.5rem; flex-wrap:wrap; }\n#pc-wrap .pc-chip{\n  background: #0a0f14;\n  border: 1px solid var(--pc-line);\n  color: var(--pc-text-dim);\n  padding: 0.5rem 0.85rem;\n  border-radius: 10px;\n  font-size: 0.8rem;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all .15s ease;\n  line-height: 1.3;\n}\n#pc-wrap .pc-chip em{ display:block; font-style:normal; font-weight:500; font-size:0.7rem; opacity:0.75; }\n#pc-wrap .pc-chip.is-active{\n  border-color: var(--pc-accent);\n  color: #fff;\n  background: var(--pc-accent-soft);\n  box-shadow: 0 0 0 1px rgba(59,130,246,0.35) inset;\n}\n#pc-wrap .pc-hint{ color: var(--pc-text-dim); font-size:0.78rem; margin: 0 0 1.2rem; }\n\n#pc-wrap .pc-syringe-box{\n  background: var(--pc-glass);\n  border: 1px solid var(--pc-line);\n  border-radius: 16px;\n  padding: 1.5rem 1.5rem 1.2rem;\n}\n#pc-wrap .pc-syringe-readout{\n  display:flex; align-items:baseline; gap:0.5rem; margin-bottom: 0.8rem;\n}\n#pc-wrap .pc-syringe-units{\n  font-size: 2.6rem; font-weight: 800; line-height:1;\n  background: linear-gradient(90deg, var(--pc-accent), var(--pc-accent-2));\n  -webkit-background-clip: text; background-clip:text; color: transparent;\n  font-variant-numeric: tabular-nums;\n}\n#pc-wrap .pc-syringe-units-label{ color: var(--pc-text-dim); font-size:0.85rem; }\n#pc-wrap .pc-syringe-svg{ width:100%; height:auto; display:block; }\n#pc-wrap .pc-syringe-scale{\n  display:flex; justify-content: space-between;\n  color: var(--pc-text-dim); font-size: 0.72rem; margin-top: 0.2rem;\n  font-variant-numeric: tabular-nums;\n}\n#pc-wrap .pc-warning{\n  color: var(--pc-warn); font-size: 0.82rem; margin: 0.9rem 0 0; font-weight:600;\n}\n\n#pc-wrap .pc-stats{\n  display:grid; grid-template-columns: repeat(3,1fr); gap:0.8rem; margin-top: 1rem;\n}\n#pc-wrap .pc-stat{\n  background: var(--pc-glass);\n  border: 1px solid var(--pc-line);\n  border-radius: 12px;\n  padding: 0.9rem 0.9rem;\n  display:flex; flex-direction:column; gap:0.35rem;\n}\n#pc-wrap .pc-stat-label{ font-size:0.66rem; color: var(--pc-text-dim); text-transform:uppercase; letter-spacing:0.03em; }\n#pc-wrap .pc-stat-value{ font-size:1.1rem; font-weight:700; font-variant-numeric: tabular-nums; color: var(--pc-accent-2); }\n\n#pc-wrap .pc-steps{ display:flex; flex-direction:column; gap:0.9rem; }\n#pc-wrap .pc-step{\n  display:flex; align-items:flex-start; gap:0.9rem;\n  background: var(--pc-glass);\n  border: 1px solid var(--pc-line);\n  border-radius: 12px;\n  padding: 0.9rem 1rem;\n}\n#pc-wrap .pc-step-num{\n  flex-shrink:0;\n  width: 24px; height: 24px;\n  border-radius: 50%;\n  background: var(--pc-accent-soft);\n  color: var(--pc-accent-2);\n  border: 1px solid rgba(59,130,246,0.35);\n  display:flex; align-items:center; justify-content:center;\n  font-size: 0.78rem; font-weight: 700;\n  margin-top: 0.1rem;\n}\n#pc-wrap .pc-step p{ margin:0; color: var(--pc-text-dim); font-size: 0.87rem; line-height:1.6; }\n#pc-wrap .pc-step b{ color: var(--pc-text); }\n#pc-wrap .pc-step span{ color: var(--pc-accent-2); font-weight:600; }\n\n#pc-wrap .pc-disclaimer{\n  margin: 2.2rem 0 0;\n  padding-top: 1.2rem;\n  border-top: 1px solid var(--pc-line-soft);\n  font-size: 0.74rem;\n  color: var(--pc-text-dim);\n  line-height: 1.6;\n}\n<\/style>\n\n<script>\n(function(){\n  var root = document.getElementById('pc-wrap');\n  if(!root) return;\n\n  var state = { vial:5, water:2, dose:250, unit:'mcg', syringe:100, needle:'30x8' };\n\n  var vialRange = root.querySelector('#pc-vial');\n  var vialNum = root.querySelector('#pc-vial-num');\n  var vialOut = root.querySelector('#pc-vial-out');\n  var waterRange = root.querySelector('#pc-water');\n  var waterNum = root.querySelector('#pc-water-num');\n  var waterOut = root.querySelector('#pc-water-out');\n  var doseInput = root.querySelector('#pc-dose');\n  var unitToggle = root.querySelector('#pc-unit-toggle');\n  var syringeRow = root.querySelector('#pc-syringe-size');\n  var needleRow = root.querySelector('#pc-needle');\n  var needleHint = root.querySelector('#pc-needle-hint');\n\n  var unitsBig = root.querySelector('#pc-units-big');\n  var concOut = root.querySelector('#pc-conc');\n  var volOut = root.querySelector('#pc-vol');\n  var dosesOut = root.querySelector('#pc-doses');\n  var warningEl = root.querySelector('#pc-warning');\n  var fillRect = root.querySelector('#pc-fill');\n  var ticksG = root.querySelector('#pc-ticks');\n  var scaleMax = root.querySelector('#pc-scale-max');\n  var scaleMid = root.querySelector('#pc-scale-mid');\n\n  var stepWater = root.querySelector('#pc-step-water');\n  var stepVol = root.querySelector('#pc-step-vol');\n  var stepUnits = root.querySelector('#pc-step-units');\n  var stepSyringe = root.querySelector('#pc-step-syringe');\n  var stepNeedle = root.querySelector('#pc-step-needle');\n\n  var needleLabels = { '31x6':'31G \u00b7 6 mm', '30x8':'30G \u00b7 8 mm', '29x13':'29G \u00b7 12,7 mm' };\n  var needleHints = {\n    '31x6':'Najkrat\u0161ia a najten\u0161ia ihla \u2014 najmenej cite\u013en\u00e1, vhodn\u00e1 pre plytk\u00e9 subkut\u00e1nne podanie.',\n    '30x8':'\u0160tandardn\u00e1 d\u013a\u017eka pre be\u017en\u00e9 subkut\u00e1nne laborat\u00f3rne podanie.',\n    '29x13':'Dlh\u0161ia ihla pre hlb\u0161ie subkut\u00e1nne alebo v\u00e4\u010d\u0161ie objemy roztoku.'\n  };\n\n  var barrelX = 36, barrelW = 496;\n\n  function drawTicks(maxU){\n    ticksG.innerHTML = '';\n    for(var i=0;i<=10;i++){\n      var x = barrelX + (barrelW * (i\/10));\n      var h = (i % 5 === 0) ? 22 : 14;\n      var y1 = 40, y2 = 40 + h;\n      var line = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','line');\n      line.setAttribute('x1', x); line.setAttribute('x2', x);\n      line.setAttribute('y1', y1); line.setAttribute('y2', y2);\n      ticksG.appendChild(line);\n    }\n  }\n\n  function fmt(n, d){\n    if(!isFinite(n)) return '0';\n    return n.toLocaleString('sk-SK', { minimumFractionDigits:0, maximumFractionDigits: d });\n  }\n\n  function recalc(){\n    var vial = parseFloat(vialNum.value) || 0;\n    var water = parseFloat(waterNum.value) || 0;\n    var dose = parseFloat(doseInput.value) || 0;\n    var syringeMax = state.syringe;\n\n    vialOut.textContent = fmt(vial, 1);\n    waterOut.textContent = fmt(water, 1);\n\n    if(water <= 0 || vial <= 0){\n      unitsBig.textContent = '0';\n      concOut.textContent = '\u2014';\n      volOut.textContent = '\u2014';\n      dosesOut.textContent = '\u2014';\n      fillRect.setAttribute('width', 0);\n      warningEl.hidden = true;\n      return;\n    }\n\n    var vialMcg = vial * 1000;\n    var concMcgMl = vialMcg \/ water;\n    var doseMcg = state.unit === 'mg' ? dose * 1000 : dose;\n\n    var volMl = doseMcg \/ concMcgMl;\n    var units = volMl * 100;\n    var dosesPerVial = doseMcg > 0 ? (vialMcg \/ doseMcg) : 0;\n\n    var concLabel = concMcgMl >= 1000 ? (fmt(concMcgMl\/1000, 2) + ' mg\/ml') : (fmt(concMcgMl,1) + ' mcg\/ml');\n\n    concOut.textContent = concLabel;\n    volOut.textContent = fmt(volMl, 3) + ' ml';\n    unitsBig.textContent = fmt(units, 1);\n    dosesOut.textContent = (dosesPerVial>0 ? fmt(Math.floor(dosesPerVial),0) : '0') + 'x';\n\n    drawTicks(syringeMax);\n    scaleMax.textContent = syringeMax;\n    scaleMid.textContent = syringeMax\/2;\n    var pct = Math.max(0, Math.min(1, units \/ syringeMax));\n    fillRect.setAttribute('width', (barrelW * pct));\n\n    warningEl.hidden = units <= syringeMax;\n\n    stepWater.textContent = fmt(water,1) + ' ml';\n    stepVol.textContent = fmt(volMl,3) + ' ml';\n    stepUnits.textContent = fmt(units,1) + ' U';\n    stepSyringe.textContent = (syringeMax\/100) + ' ml (' + syringeMax + ' U)';\n    stepNeedle.textContent = needleLabels[state.needle];\n  }\n\n  function linkPair(range, num, out, cb){\n    range.addEventListener('input', function(){ num.value = range.value; if(out) out.textContent = range.value; cb(); });\n    num.addEventListener('input', function(){ range.value = num.value; if(out) out.textContent = num.value; cb(); });\n  }\n  linkPair(vialRange, vialNum, null, recalc);\n  linkPair(waterRange, waterNum, null, recalc);\n\n  doseInput.addEventListener('input', recalc);\n\n  unitToggle.addEventListener('click', function(e){\n    var btn = e.target.closest('.pc-unit-btn');\n    if(!btn) return;\n    unitToggle.querySelectorAll('.pc-unit-btn').forEach(function(b){ b.classList.remove('is-active'); });\n    btn.classList.add('is-active');\n    state.unit = btn.getAttribute('data-unit');\n    recalc();\n  });\n\n  syringeRow.addEventListener('click', function(e){\n    var chip = e.target.closest('.pc-chip');\n    if(!chip) return;\n    syringeRow.querySelectorAll('.pc-chip').forEach(function(c){ c.classList.remove('is-active'); });\n    chip.classList.add('is-active');\n    state.syringe = parseInt(chip.getAttribute('data-size'), 10);\n    recalc();\n  });\n\n  needleRow.addEventListener('click', function(e){\n    var chip = e.target.closest('.pc-chip');\n    if(!chip) return;\n    needleRow.querySelectorAll('.pc-chip').forEach(function(c){ c.classList.remove('is-active'); });\n    chip.classList.add('is-active');\n    state.needle = chip.getAttribute('data-needle');\n    needleHint.textContent = needleHints[state.needle];\n    recalc();\n  });\n\n  recalc();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Kalkula\u010dka na prepo\u010det koncentr\u00e1cie peptidu a objemu bakteriostatickej vody. Bezplatn\u00fd n\u00e1stroj pre v\u00fdskumn\u00edkov \u2013 iba na vedeck\u00e9 a v\u00fdskumn\u00e9 \u00fa\u010dely.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1138","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/pages\/1138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/comments?post=1138"}],"version-history":[{"count":7,"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/pages\/1138\/revisions"}],"predecessor-version":[{"id":1697,"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/pages\/1138\/revisions\/1697"}],"wp:attachment":[{"href":"https:\/\/doktorpeptid.sk\/en\/wp-json\/wp\/v2\/media?parent=1138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}