{"id":7211,"date":"2026-08-26T12:34:44","date_gmt":"2026-08-26T11:34:44","guid":{"rendered":"https:\/\/smartgifty.com\/kalkulator-rasta-prihoda\/"},"modified":"2026-09-15T05:28:32","modified_gmt":"2026-09-15T04:28:32","slug":"kalkulator-rasta-prihoda","status":"publish","type":"page","link":"https:\/\/smartgifty.com\/hr\/kalkulator-rasta-prihoda\/","title":{"rendered":"Kalkulator rasta prihoda"},"content":{"rendered":"\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4\"><\/script>\n\n<style>\n.calc-section {\n  background:\n    radial-gradient(1200px 800px at 20% 10%, rgba(120,60,255,0.2), transparent 55%),\n    radial-gradient(900px 700px at 90% 25%, rgba(180,100,255,0.15), transparent 60%),\n    linear-gradient(180deg, #08001a, #120033);\n  padding: 80px 20px;\n  color: #e8ecff;\n  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n  border-radius: 14px;\n  margin-top: 30px;\n}\n\n.calc-container {\n  max-width: 860px;\n  margin: 0 auto;\n}\n\n.calc-header {\n  text-align: center;\n  margin-bottom: 40px;\n}\n\n.calc-header h2 {\n  font-size: clamp(1.6rem, 3.5vw, 2.2rem);\n  font-weight: 800;\n  color: #ffffff;\n  letter-spacing: -0.02em;\n  margin-bottom: 10px;\n}\n\n.calc-header p {\n  font-size: 1rem;\n  color: rgba(232,236,255,0.72);\n  max-width: 520px;\n  margin: 0 auto;\n  line-height: 1.6;\n}\n\n.calc-card {\n  background: #1e004d;\n  border: 1px solid rgba(232,236,255,0.12);\n  border-radius: 16px;\n  box-shadow: 0 10px 30px rgba(0,0,0,0.35);\n  padding: 28px 24px;\n  margin-bottom: 20px;\n}\n\n.calc-fields {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 18px;\n}\n\n.calc-field { display: grid; gap: 6px; }\n.calc-field.full { grid-column: 1 \/ -1; }\n\n.calc-label {\n  font-size: 0.82rem;\n  color: rgba(232,236,255,0.72);\n  font-weight: 500;\n}\n\n.calc-select,\n.calc-input {\n  width: 100%;\n  background: rgba(255,255,255,0.06);\n  border: 1px solid rgba(255,255,255,0.14);\n  border-radius: 10px;\n  padding: 13px 14px;\n  font-size: 1rem;\n  color: #e8ecff;\n  font-family: inherit;\n  outline: none;\n  transition: border-color 0.2s, box-shadow 0.2s;\n  -webkit-appearance: none;\n}\n\n.calc-select {\n  background-image: url(\"data:image\/svg+xml,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' fill='none'><path d='M1 1.5l5 5 5-5' stroke='#f39704' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'\/><\/svg>\");\n  background-repeat: no-repeat;\n  background-position: right 14px center;\n  padding-right: 36px;\n  cursor: pointer;\n}\n\n.calc-select option { background: #1e004d; color: #e8ecff; }\n\n.calc-input:focus,\n.calc-select:focus {\n  border-color: rgba(243,151,4,0.5);\n  box-shadow: 0 0 0 4px rgba(243,151,4,0.12);\n}\n\n.calc-input::placeholder { color: rgba(232,236,255,0.35); }\n\n.calc-checkbox-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-top: 4px;\n}\n\n.calc-checkbox {\n  width: 20px;\n  height: 20px;\n  accent-color: #f39704;\n  cursor: pointer;\n}\n\n.calc-checkbox-label {\n  font-size: 0.92rem;\n  color: rgba(232,236,255,0.72);\n  cursor: pointer;\n}\n\n.calc-btn {\n  width: 100%;\n  background: linear-gradient(135deg, #f39704, #c2740a);\n  color: #ffffff;\n  border: none;\n  border-radius: 12px;\n  padding: 16px;\n  font-size: 1.05rem;\n  font-weight: 700;\n  cursor: pointer;\n  transition: transform 0.15s, box-shadow 0.2s;\n  font-family: inherit;\n  margin-top: 8px;\n}\n\n.calc-btn:hover {\n  transform: translateY(-1px);\n  box-shadow: 0 8px 24px rgba(243,151,4,0.35);\n}\n\n.results-summary {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 14px;\n  margin-bottom: 20px;\n}\n\n.result-stat {\n  padding: 18px 16px;\n  border: 1px solid rgba(255,255,255,0.08);\n  border-radius: 14px;\n  background: rgba(255,255,255,0.04);\n}\n\n.result-stat--accent {\n  background: linear-gradient(180deg, rgba(243,151,4,0.15), rgba(243,151,4,0.05));\n  border-color: rgba(243,151,4,0.25);\n}\n\n.result-stat-label {\n  font-size: 0.78rem;\n  color: rgba(232,236,255,0.72);\n  margin-bottom: 4px;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n  font-weight: 600;\n}\n\n.result-stat-value {\n  font-size: 1.5rem;\n  font-weight: 800;\n  letter-spacing: -0.02em;\n  color: #ffffff;\n}\n\n.result-stat-value.accent { color: #f39704; }\n\n.calc-table-wrap {\n  overflow: auto;\n  border: 1px solid rgba(232,236,255,0.12);\n  border-radius: 14px;\n  margin-bottom: 20px;\n}\n\n.calc-chart-wrap {\n  margin-top: 18px;\n  padding: 14px 12px;\n  border: 1px solid rgba(232,236,255,0.12);\n  border-radius: 14px;\n  background: rgba(255,255,255,0.02);\n  position: relative;\n  height: 340px;\n}\n\n.calc-table {\n  width: 100%;\n  border-collapse: collapse;\n}\n\n.calc-table th,\n.calc-table td {\n  padding: 12px 16px;\n  border-bottom: 1px solid rgba(255,255,255,0.08);\n  color: #ffffff;\n  font-size: 0.92rem;\n}\n\n.calc-table th {\n  background: rgba(20,0,56,0.8);\n  text-align: left;\n  font-size: 0.78rem;\n  color: rgba(232,236,255,0.72);\n  font-weight: 600;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n}\n\n.calc-table td.num,\n.calc-table th.num {\n  text-align: right;\n  font-variant-numeric: tabular-nums;\n}\n\n.calc-table tfoot td {\n  border-bottom: none;\n  border-top: 2px solid rgba(243,151,4,0.25);\n  background: rgba(243,151,4,0.06);\n  font-weight: 700;\n}\n\n.benefits-card {\n  background: linear-gradient(135deg, rgba(243,151,4,0.08), rgba(243,151,4,0.03));\n  border: 1px solid rgba(243,151,4,0.15);\n  border-radius: 16px;\n  padding: 28px 24px;\n}\n\n.benefits-title {\n  font-size: 1rem;\n  font-weight: 700;\n  color: #ffffff;\n  margin-bottom: 16px;\n}\n\n.benefits-list {\n  list-style: none;\n  display: grid;\n  gap: 14px;\n  padding: 0;\n  margin: 0;\n}\n\n.benefits-list li {\n  display: flex;\n  align-items: flex-start;\n  gap: 12px;\n  font-size: 0.92rem;\n  color: rgba(232,236,255,0.72);\n  line-height: 1.5;\n}\n\n.benefit-icon {\n  flex-shrink: 0;\n  width: 28px;\n  height: 28px;\n  background: rgba(243,151,4,0.15);\n  border-radius: 8px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-top: 1px;\n}\n\n.benefit-icon svg { width: 15px; height: 15px; fill: #f39704; }\n\n.calc-cta {\n  margin-top: 20px;\n  padding: 26px 24px;\n  border-radius: 16px;\n  background: linear-gradient(135deg, #f39704, #c2740a);\n  color: #ffffff;\n  text-align: center;\n  box-shadow: 0 10px 30px rgba(243,151,4,0.35);\n}\n.calc-cta-title { font-size: 1.15rem; font-weight: 800; margin-bottom: 6px; }\n.calc-cta-text { font-size: 0.95rem; opacity: 0.92; margin-bottom: 14px; }\n.calc-cta-contacts { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; font-weight: 700; font-size: 1.05rem; }\n.calc-cta-contacts a { color: #ffffff; text-decoration: none; }\n.calc-cta-contacts a:hover { text-decoration: underline; }\n\n@media (max-width: 640px) {\n  .calc-section { padding: 60px 16px; }\n  .calc-fields { grid-template-columns: 1fr; }\n  .results-summary { grid-template-columns: 1fr; }\n  .calc-card { padding: 20px 16px; }\n\n  .calc-table-wrap { border: none; overflow: visible; }\n  .calc-table, .calc-table thead, .calc-table tbody,\n  .calc-table tfoot, .calc-table tr, .calc-table th, .calc-table td {\n    display: block; width: 100%;\n  }\n  .calc-table thead { display: none; }\n  .calc-table tbody { display: grid; gap: 10px; }\n  .calc-table tbody tr {\n    border: 1px solid rgba(232,236,255,0.12);\n    border-radius: 12px;\n    background: rgba(255,255,255,0.04);\n    overflow: hidden;\n  }\n  .calc-table td {\n    display: flex; justify-content: space-between;\n    align-items: baseline; gap: 12px; text-align: right;\n  }\n  .calc-table td::before {\n    content: attr(data-label);\n    color: rgba(232,236,255,0.72);\n    font-size: 0.75rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n    text-align: left;\n  }\n  .calc-table td.num { text-align: right; }\n  .calc-table tfoot { margin-top: 10px; }\n  .calc-table tfoot tr {\n    border: 1px solid rgba(243,151,4,0.2);\n    border-radius: 12px;\n    background: rgba(243,151,4,0.06);\n    overflow: hidden;\n  }\n  .calc-table tfoot td { border-top: none; border-bottom: 1px solid rgba(255,255,255,0.08); }\n  .calc-table tfoot td:last-child { border-bottom: none; }\n  .calc-table tfoot td::before {\n    color: rgba(232,236,255,0.72);\n    font-size: 0.75rem;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.04em;\n  }\n}\n<\/style>\n\n<section class=\"calc-section\">\n  <div class=\"calc-container\">\n    <div class=\"calc-header\">\n      <h2>SmartGifty kalkulator rasta prihoda<\/h2>\n      <p>Procijenite dodatnu dobit koju sustav digitalnih poklon kartica mo\u017ee donijeti va\u0161em poslovanju u sljede\u0107ih 5 godina.<\/p>\n    <\/div>\n\n    <div class=\"calc-card\">\n      <div class=\"calc-fields\">\n        <div class=\"calc-field full\">\n          <label class=\"calc-label\" for=\"calcType\">Vrsta djelatnosti<\/label>\n          <select id=\"calcType\" class=\"calc-select\" onchange=\"window.sgUpdateUI()\">\n            <option value=\"\">&#8212; Odaberite vrstu djelatnosti &#8212;<\/option>\n            <option value=\"shopping_center\">Trgova\u010dki centar<\/option>\n            <option value=\"multi_location\">Tvrtka s vi\u0161e lokacija<\/option>\n          <\/select>\n        <\/div>\n\n        <div id=\"giftCardStatusSection\" class=\"calc-field full\" style=\"display:none\">\n          <label class=\"calc-label\">Status poklon kartica<\/label>\n          <div style=\"display:grid;gap:10px;margin-top:8px\">\n            <label style=\"display:flex;align-items:center;gap:10px;cursor:pointer\">\n              <input type=\"radio\" name=\"giftCardStatus\" value=\"none\" onchange=\"window.sgUpdateUI()\" style=\"width:18px;height:18px;accent-color:#f39704;cursor:pointer\">\n              <span style=\"color:#e8ecff;font-size:0.92rem\">Jo\u0161 nemamo poklon kartice<\/span>\n            <\/label>\n            <label style=\"display:flex;align-items:center;gap:10px;cursor:pointer\">\n              <input type=\"radio\" name=\"giftCardStatus\" value=\"vouchers\" onchange=\"window.sgUpdateUI()\" style=\"width:18px;height:18px;accent-color:#f39704;cursor:pointer\">\n              <span style=\"color:#e8ecff;font-size:0.92rem\">Imamo poklon bonove<\/span>\n            <\/label>\n            <label style=\"display:flex;align-items:center;gap:10px;cursor:pointer\">\n              <input type=\"radio\" name=\"giftCardStatus\" value=\"cards\" onchange=\"window.sgUpdateUI()\" style=\"width:18px;height:18px;accent-color:#f39704;cursor:pointer\">\n              <span style=\"color:#e8ecff;font-size:0.92rem\">Ve\u0107 imamo poklon kartice<\/span>\n            <\/label>\n          <\/div>\n        <\/div>\n\n        <div id=\"scNumLocations\" class=\"calc-field\" style=\"display:none\">\n          <label class=\"calc-label\" for=\"calcSCLocations\">Broj lokacija trgova\u010dkih centara<\/label>\n          <input id=\"calcSCLocations\" class=\"calc-input\" type=\"number\" min=\"1\" max=\"10\" step=\"1\" value=\"1\" placeholder=\"npr. 1\" onchange=\"window.sgUpdateUI()\">\n        <\/div>\n\n        <div id=\"scNumStoresSection\" style=\"display:none\"><\/div>\n\n        <div id=\"mlNumLocations\" class=\"calc-field\" style=\"display:none\">\n          <label class=\"calc-label\" for=\"calcMLLocations\">Broj lokacija<\/label>\n          <input id=\"calcMLLocations\" class=\"calc-input\" type=\"number\" min=\"1\" max=\"100\" step=\"1\" value=\"1\" placeholder=\"npr. 5\">\n        <\/div>\n\n        <div id=\"yearlyRevenueSection\" class=\"calc-field full\" style=\"display:none\">\n          <label class=\"calc-label\" for=\"calcYearlyRevenue\">Godi\u0161nji prihod (\u20ac)<\/label>\n          <input id=\"calcYearlyRevenue\" class=\"calc-input\" type=\"text\" inputmode=\"numeric\" placeholder=\"npr. 500000\">\n        <\/div>\n\n        <div class=\"calc-field full\">\n          <button class=\"calc-btn\" type=\"button\" onclick=\"window.sgCalcRun()\">Izra\u010dunaj moju 5-godi\u0161nju projekciju<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"calc-results\" id=\"calcResults\" style=\"display:none\">\n      <div class=\"results-summary\">\n        <div class=\"result-stat\">\n          <div class=\"result-stat-label\">Prihod 1. godine<\/div>\n          <div class=\"result-stat-value\" id=\"resYear1\">\u2014<\/div>\n        <\/div>\n        <div class=\"result-stat\">\n          <div class=\"result-stat-label\">Prihod 5. godine<\/div>\n          <div class=\"result-stat-value\" id=\"resYear5\">\u2014<\/div>\n        <\/div>\n        <div class=\"result-stat result-stat--accent\">\n          <div class=\"result-stat-label\">Ukupno 5 godina<\/div>\n          <div class=\"result-stat-value accent\" id=\"resTotal\">\u2014<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-card\">\n        <div class=\"calc-table-wrap\">\n          <table class=\"calc-table\">\n            <thead>\n              <tr>\n                <th>Godina<\/th>\n                <th class=\"num\">Stopa rasta<\/th>\n                <th class=\"num\">Prihod od poklon kartica<\/th>\n                <th class=\"num\">Kumulativ<\/th>\n              <\/tr>\n            <\/thead>\n            <tbody id=\"calcTableBody\"><\/tbody>\n            <tfoot>\n              <tr>\n                <td data-label=\"\"><strong>Ukupno (5 godina)<\/strong><\/td>\n                <td class=\"num\" data-label=\"Stopa rasta\">\u2014<\/td>\n                <td class=\"num\" id=\"calcFootRevenue\" data-label=\"Prihod od poklon kartica\">\u2014<\/td>\n                <td class=\"num\" id=\"calcFootCum\" data-label=\"Kumulativ\">\u2014<\/td>\n              <\/tr>\n            <\/tfoot>\n          <\/table>\n        <\/div>\n\n        <div class=\"calc-chart-wrap\">\n          <canvas id=\"calc-revenue-chart\" aria-label=\"Godi\u0161nji prihod i kumulativ\"><\/canvas>\n        <\/div>\n      <\/div>\n\n      <div class=\"benefits-card\">\n        <div class=\"benefits-title\">Iza brojki \u2014 za\u0161to SmartGifty?<\/div>\n        <ul class=\"benefits-list\">\n          <li>\n            <span class=\"benefit-icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"><\/path><\/svg><\/span>\n            <span><strong>Sna\u017ean marketin\u0161ki alat<\/strong> \u2014 pobolj\u0161ajte iskustvo postoje\u0107ih kupaca personaliziranim digitalnim poklon karticama.<\/span>\n          <\/li>\n          <li>\n            <span class=\"benefit-icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"><\/path><\/svg><\/span>\n            <span><strong>Privucite nove kupce<\/strong> \u2014 poklon kartice jedan su od naju\u010dinkovitijih na\u010dina da vam dovedu prve kupce.<\/span>\n          <\/li>\n          <li>\n            <span class=\"benefit-icon\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"><\/path><\/svg><\/span>\n            <span><strong>U\u0161tedite vrijeme i novac digitalizacijom<\/strong> \u2014 uklonite papirnate bonove, smanjite administraciju i dobijte analitiku u stvarnom vremenu.<\/span>\n          <\/li>\n        <\/ul>\n      <\/div>\n\n      <div class=\"calc-cta\">\n        <div class=\"calc-cta-title\">\u017delite li preciznu projekciju za svoje lokacije?<\/div>\n        <div class=\"calc-cta-text\">Razgovarajmo o va\u0161im brojkama ve\u0107 danas.<\/div>\n        <div class=\"calc-cta-contacts\">\n          <a href=\"tel:+38630710934\">Nazovite: +386 30 710 934<\/a>\n          <a href=\"mailto:sales@smartgifty.com\">Email: sales@smartgifty.com<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function() {\n  function sgRevenueInit() {\n    var revenueChart = null;\n\n    \/* Vsi uporabniku vidni nizi na enem mestu (prevod = zamenjava tega bloka). *\/\n    var T = {\n      storesPerLocation: 'Broj trgovina po lokaciji',\n      storesInCenter: 'Broj trgovina u centru',\n      noteLabel: 'Napomena:',\n      bracketNote: ' Prihod se izra\u010dunava po razredima: 1\u201350 trgovina = 115.000 \\u20AC, 51\u2013100 trgovina = 255.000 \\u20AC, 101\u2013150 trgovina = 360.000 \\u20AC, 150+ trgovina = 450.000 \\u20AC.',\n      locationStores: 'Lokacija %n% \u2013 broj trgovina',\n      storesPlaceholder: 'npr. 50',\n      errType: 'Odaberite vrstu djelatnosti.',\n      errStatus: 'Odaberite status va\u0161ih poklon kartica.',\n      errStores: 'Unesite valjan broj trgovina za lokaciju %n%',\n      errRevenue: 'Unesite valjan godi\u0161nji prihod.',\n      baseline: 'Polazi\u0161te',\n      yearN: 'Godina %n%',\n      colYear: 'Godina',\n      colGrowth: 'Stopa rasta',\n      colRevenue: 'Prihod od poklon kartica',\n      colCum: 'Kumulativ',\n      axisYearly: 'Godi\u0161nji prihod',\n      locale: 'hr-HR'\n    };\n\n    function renderRevenueChart(rows, growthRates) {\n      var canvas = document.getElementById('calc-revenue-chart');\n      if (!canvas || typeof Chart === 'undefined' || !rows || !rows.length) {\n        if (revenueChart) { revenueChart.destroy(); revenueChart = null; }\n        return;\n      }\n      var labels = rows.map(function (r) { return T.yearN.replace('%n%', r.year); });\n      var revenues = rows.map(function (r) { return r.revenue; });\n      var cums = rows.map(function (r) { return r.cum; });\n\n      if (revenueChart) { revenueChart.destroy(); revenueChart = null; }\n\n      revenueChart = new Chart(canvas, {\n        type: 'bar',\n        data: {\n          labels: labels,\n          datasets: [\n            {\n              type: 'bar',\n              label: T.colRevenue,\n              data: revenues,\n              backgroundColor: 'rgba(243, 151, 4, 0.85)',\n              borderColor: '#f39704',\n              borderWidth: 1,\n              borderRadius: 6,\n              yAxisID: 'y',\n              order: 2,\n            },\n            {\n              type: 'line',\n              label: T.colCum,\n              data: cums,\n              borderColor: '#ffb84d',\n              backgroundColor: 'rgba(255, 184, 77, 0.2)',\n              borderWidth: 2,\n              tension: 0.3,\n              pointRadius: 4,\n              pointBackgroundColor: '#ffb84d',\n              yAxisID: 'yCum',\n              order: 1,\n            },\n          ],\n        },\n        options: {\n          responsive: true,\n          maintainAspectRatio: false,\n          interaction: { mode: 'index', intersect: false },\n          plugins: {\n            legend: {\n              labels: { color: '#e8ecff' },\n            },\n            tooltip: {\n              callbacks: {\n                label: function (ctx) {\n                  return ctx.dataset.label + ': ' + sgFmtEur(ctx.parsed.y);\n                },\n              },\n            },\n          },\n          scales: {\n            x: {\n              ticks: { color: '#e8ecff' },\n              grid: { color: 'rgba(232,236,255,0.08)' },\n            },\n            y: {\n              position: 'left',\n              ticks: { color: '#e8ecff', callback: function (v) { return sgFmtEur(v); } },\n              grid: { color: 'rgba(232,236,255,0.08)' },\n              title: { display: true, text: T.axisYearly, color: '#e8ecff' },\n            },\n            yCum: {\n              position: 'right',\n              ticks: { color: '#ffb84d', callback: function (v) { return sgFmtEur(v); } },\n              grid: { drawOnChartArea: false },\n              title: { display: true, text: T.colCum, color: '#ffb84d' },\n            },\n          },\n        },\n      });\n    }\n\n    function sgParseNum(val) {\n      if (typeof val !== 'string') val = String(val);\n      var raw = val.trim().replace(\/\\s\/g, '');\n      if (!raw) return null;\n      var lastComma = raw.lastIndexOf(',');\n      var lastDot = raw.lastIndexOf('.');\n      if (lastComma !== -1 && lastDot !== -1) {\n        raw = lastComma > lastDot\n          ? raw.replace(\/\\.\/g, '').replace(',', '.')\n          : raw.replace(\/,\/g, '');\n      } else if (lastComma !== -1) {\n        raw = \/^\\d{1,3}(,\\d{3})+$\/.test(raw) ? raw.replace(\/,\/g, '') : raw.replace(',', '.');\n      } else if (lastDot !== -1 && \/^\\d{1,3}(\\.\\d{3})+$\/.test(raw)) {\n        raw = raw.replace(\/\\.\/g, '');\n      }\n      var n = Number(raw);\n      return Number.isFinite(n) && n >= 0 ? n : null;\n    }\n\n    function sgFmtEur(n) {\n      if (!Number.isFinite(n)) return '\\u2014';\n      return new Intl.NumberFormat(T.locale, { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(n);\n    }\n\n    window.sgUpdateUI = function () {\n      var type = document.getElementById('calcType').value;\n      var giftCardStatus = document.querySelector('input[name=\"giftCardStatus\"]:checked');\n      var status = giftCardStatus ? giftCardStatus.value : '';\n\n      document.getElementById('giftCardStatusSection').style.display = 'none';\n      document.getElementById('scNumLocations').style.display = 'none';\n      document.getElementById('scNumStoresSection').style.display = 'none';\n      document.getElementById('mlNumLocations').style.display = 'none';\n      document.getElementById('yearlyRevenueSection').style.display = 'none';\n\n      if (!type) return;\n\n      document.getElementById('giftCardStatusSection').style.display = 'block';\n\n      if (!status) return;\n\n      if (type === 'shopping_center') {\n        if (status === 'none') {\n          document.getElementById('scNumLocations').style.display = 'block';\n\n          var numLocations = parseInt(document.getElementById('calcSCLocations').value) || 1;\n          var storesSection = document.getElementById('scNumStoresSection');\n\n          if (numLocations > 1) {\n            var html = '<div class=\"calc-field full\">';\n            html += '<label class=\"calc-label\">' + T.storesPerLocation + '<\/label>';\n            html += '<p style=\"font-size:0.75rem;color:rgba(232,236,255,0.72);margin-top:4px;line-height:1.4\">';\n            html += '<strong>' + T.noteLabel + '<\/strong>' + T.bracketNote;\n            html += '<\/p>';\n            html += '<\/div>';\n            for (var i = 1; i <= Math.min(numLocations, 10); i++) {\n              html += '<div class=\"calc-field\">';\n              html += '<label class=\"calc-label\" for=\"scStores' + i + '\">' + T.locationStores.replace('%n%', i) + '<\/label>';\n              html += '<input id=\"scStores' + i + '\" class=\"calc-input\" type=\"number\" min=\"1\" step=\"1\" value=\"50\" placeholder=\"' + T.storesPlaceholder + '\">';\n              html += '<\/div>';\n            }\n            storesSection.innerHTML = html;\n            storesSection.style.display = 'block';\n          } else {\n            var html = '<div class=\"calc-field full\">';\n            html += '<label class=\"calc-label\" for=\"scStores1\">' + T.storesInCenter + '<\/label>';\n            html += '<p style=\"font-size:0.75rem;color:rgba(232,236,255,0.72);margin-top:4px;margin-bottom:8px;line-height:1.4\">';\n            html += '<strong>' + T.noteLabel + '<\/strong>' + T.bracketNote;\n            html += '<\/p>';\n            html += '<input id=\"scStores1\" class=\"calc-input\" type=\"number\" min=\"1\" step=\"1\" value=\"50\" placeholder=\"' + T.storesPlaceholder + '\">';\n            html += '<\/div>';\n            storesSection.innerHTML = html;\n            storesSection.style.display = 'block';\n          }\n        } else {\n          document.getElementById('yearlyRevenueSection').style.display = 'block';\n        }\n      }\n\n      if (type === 'multi_location') {\n        document.getElementById('mlNumLocations').style.display = 'block';\n\n        if (status === 'vouchers' || status === 'cards') {\n          document.getElementById('yearlyRevenueSection').style.display = 'block';\n        }\n      }\n    };\n\n    function getSCBaselineRevenue(numStores) {\n      if (numStores <= 50) return 115000;\n      if (numStores <= 100) return 255000;\n      if (numStores <= 150) return 360000;\n      return 450000;\n    }\n\n    window.sgCalcRun = function () {\n      var type = document.getElementById('calcType').value;\n      var giftCardStatus = document.querySelector('input[name=\"giftCardStatus\"]:checked');\n      var status = giftCardStatus ? giftCardStatus.value : '';\n\n      if (!type) { alert(T.errType); return; }\n      if (!status) { alert(T.errStatus); return; }\n\n      var yearlyRevenue = 0;\n      var growthRates = [];\n\n      if (type === 'shopping_center') {\n        if (status === 'none') {\n          var numLocations = parseInt(document.getElementById('calcSCLocations').value) || 1;\n          var totalStores = 0;\n          for (var i = 1; i <= Math.min(numLocations, 10); i++) {\n            var storesInput = document.getElementById('scStores' + i);\n            if (storesInput) {\n              var stores = parseInt(storesInput.value) || 0;\n              if (stores <= 0) { alert(T.errStores.replace('%n%', i)); return; }\n              totalStores += stores;\n            }\n          }\n          yearlyRevenue = getSCBaselineRevenue(totalStores);\n          growthRates = [0, 0.50, 0.45, 0.40, 0.35];\n        } else if (status === 'vouchers') {\n          yearlyRevenue = sgParseNum(document.getElementById('calcYearlyRevenue').value);\n          if (!yearlyRevenue || yearlyRevenue <= 0) { alert(T.errRevenue); return; }\n          growthRates = [0.30, 0.24, 0.18, 0.12, 0.06];\n        } else if (status === 'cards') {\n          yearlyRevenue = sgParseNum(document.getElementById('calcYearlyRevenue').value);\n          if (!yearlyRevenue || yearlyRevenue <= 0) { alert(T.errRevenue); return; }\n          growthRates = [0.18, 0.15, 0.12, 0.09, 0.06];\n        }\n      }\n\n      if (type === 'multi_location') {\n        var numLocations = parseInt(document.getElementById('calcMLLocations').value) || 1;\n        if (status === 'none') {\n          yearlyRevenue = 2500 * numLocations;\n          growthRates = [0.20, 0.20, 0.20, 0.20, 0.20];\n        } else {\n          yearlyRevenue = sgParseNum(document.getElementById('calcYearlyRevenue').value);\n          if (!yearlyRevenue || yearlyRevenue <= 0) { alert(T.errRevenue); return; }\n          growthRates = [0.20, 0.20, 0.20, 0.20, 0.20];\n        }\n      }\n\n      var rows = [], cum = 0, totRevenue = 0;\n      var currentRevenue = yearlyRevenue;\n\n      for (var y = 1; y <= 5; y++) {\n        var yearRevenue = currentRevenue * (1 + growthRates[y - 1]);\n        cum += yearRevenue;\n        totRevenue += yearRevenue;\n        rows.push({ year: y, revenue: yearRevenue, cum: cum });\n        currentRevenue = yearRevenue;\n      }\n\n      document.getElementById('resYear1').textContent = sgFmtEur(rows[0].revenue);\n      document.getElementById('resYear5').textContent = sgFmtEur(rows[4].revenue);\n      document.getElementById('resTotal').textContent = sgFmtEur(totRevenue);\n\n      var html = '';\n      for (var i = 0; i < rows.length; i++) {\n        var r = rows[i];\n        var growthPct = growthRates[i] === 0 ? T.baseline : ('+' + (growthRates[i] * 100).toFixed(0) + '%');\n        html += '<tr>'\n          + '<td data-label=\"' + T.colYear + '\">' + T.yearN.replace('%n%', r.year) + '<\/td>'\n          + '<td class=\"num\" data-label=\"' + T.colGrowth + '\">' + growthPct + '<\/td>'\n          + '<td class=\"num\" data-label=\"' + T.colRevenue + '\">' + sgFmtEur(r.revenue) + '<\/td>'\n          + '<td class=\"num\" data-label=\"' + T.colCum + '\">' + sgFmtEur(r.cum) + '<\/td>'\n          + '<\/tr>';\n      }\n      document.getElementById('calcTableBody').innerHTML = html;\n      document.getElementById('calcFootRevenue').textContent = sgFmtEur(totRevenue);\n      document.getElementById('calcFootCum').textContent = sgFmtEur(cum);\n\n      document.getElementById('calcResults').style.display = 'block';\n      renderRevenueChart(rows, growthRates);\n      document.getElementById('calcResults').scrollIntoView({ behavior: 'smooth', block: 'start' });\n    };\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', sgRevenueInit);\n  } else {\n    sgRevenueInit();\n  }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>SmartGifty kalkulator rasta prihoda Procijenite dodatnu dobit koju sustav digitalnih poklon kartica mo\u017ee donijeti va\u0161em poslovanju u sljede\u0107ih 5 godina. Vrsta djelatnosti &#8212; Odaberite vrstu djelatnosti &#8212;Trgova\u010dki centarTvrtka s vi\u0161e lokacija Status poklon kartica Jo\u0161 nemamo poklon kartice Imamo poklon bonove Ve\u0107 imamo poklon kartice Broj lokacija trgova\u010dkih centara Broj lokacija Godi\u0161nji prihod (\u20ac) Izra\u010dunaj &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/smartgifty.com\/hr\/kalkulator-rasta-prihoda\/\"> <span class=\"screen-reader-text\">Kalkulator rasta prihoda<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-privacy.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-7211","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/pages\/7211\/"}],"collection":[{"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/pages\/"}],"about":[{"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/types\/page\/"}],"author":[{"embeddable":true,"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/users\/3\/"}],"replies":[{"embeddable":true,"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/comments\/?post=7211"}],"version-history":[{"count":2,"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/pages\/7211\/revisions\/"}],"predecessor-version":[{"id":7240,"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/pages\/7211\/revisions\/7240\/"}],"wp:attachment":[{"href":"https:\/\/smartgifty.com\/hr\/wp-json\/wp\/v2\/media\/?parent=7211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}