{"id":34151,"date":"2026-06-30T10:10:06","date_gmt":"2026-06-30T08:10:06","guid":{"rendered":"https:\/\/strate9y.com\/strategicke-nastroje\/swot-analyza-online\/"},"modified":"2026-09-27T20:31:47","modified_gmt":"2026-09-27T18:31:47","slug":"swot-analyza-online","status":"publish","type":"page","link":"https:\/\/strate9y.com\/sk\/strategicke-nastroje\/swot-analyza-online\/","title":{"rendered":"SWOT anal\u00fdza online: interakt\u00edvny n\u00e1stroj"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n\/* MOBIL \u2013 posun cel\u00e9 landing page n\u00ed\u017e pod hlavi\u010dku *\/\n\n@media (max-width: 767px) {\n\n  #primary .entry-content {\n\n    padding-top: 45px !important;\n\n    background-color: #050505 !important;\n\n  }\n\n}\n<\/style>\n\n<!-- STRATE9Y(R) N\u00c1STROJ: SWOT ANAL\u00ddZA + IFE\/EFE \/ WordPress safe build s diakritikou -->\n<style>\n\n.str9-swot,.str9-swot *{box-sizing:border-box;font-family:\"Manrope\",system-ui,sans-serif!important}\n.str9-swot{--black:#080808;--red:#E8080F;--red-dim:rgba(232,8,15,.08);--red-border:rgba(232,8,15,.25);--bg:#F7F7F7;--surface:#fff;--border:#E8E8E8;--text:#111;--muted:#777;--light:#bbb;--green:#15803d;--orange:#d97706;--blue:#2563eb;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;width:100%;overflow-x:hidden}\n.str9-swot a{text-decoration:none}\n.str9-swot-wrap{max-width:1180px;margin:0 auto}\n.str9-swot-hero{background:radial-gradient(circle at 78% 38%,rgba(232,8,15,.30),transparent 30%),linear-gradient(135deg,#050505 0%,#101014 52%,#050505 100%);color:#fff;padding:clamp(76px,8vw,120px) 24px}\n.str9-swot-kicker{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:16px}\n.str9-swot-hero h1{max-width:930px;font-size:clamp(40px,5.5vw,72px);line-height:.98;margin:0 0 22px;letter-spacing:-.06em;font-weight:900;color:#fff!important}\n.str9-swot-hero h1 span{color:var(--red)!important}\n.str9-swot-hero p{max-width:780px;font-size:clamp(18px,2vw,22px);line-height:1.55;color:rgba(255,255,255,.82)!important;margin:0 0 32px}\n.str9-swot-actions{display:flex;gap:14px;flex-wrap:wrap}\n.str9-swot-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff!important;padding:15px 24px;border-radius:12px;font-weight:900;box-shadow:0 16px 38px rgba(232,8,15,.28);border:0;cursor:pointer}\n.str9-swot-btn.secondary{background:rgba(255,255,255,.10);box-shadow:none;border:1px solid rgba(255,255,255,.18)}\n.str9-swot-section{padding:clamp(58px,7vw,88px) 24px;background:#fff}\n.str9-swot-section.soft{background:#f6f6f4}\n.str9-swot-title{max-width:820px;margin:0 auto 34px;text-align:center}\n.str9-swot-title h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.05em;margin-bottom:14px;font-weight:900}\n.str9-swot-title p{color:var(--muted);font-size:17px;line-height:1.65}\n.str9-swot-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}\n.str9-swot-card{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:24px;padding:30px;box-shadow:0 16px 42px rgba(0,0,0,.045)}\n.str9-swot-card h3{font-size:24px;line-height:1.15;letter-spacing:-.04em;margin-bottom:14px;font-weight:900}\n.str9-swot-card p,.str9-swot-card li{color:var(--muted);font-size:15px;line-height:1.65}\n.str9-swot-card ul{padding-left:20px;margin-top:12px}\n.str9-swot-link{color:var(--red);font-weight:900}\n.str9-swot-how{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}\n.str9-swot-how-card{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.04)}\n.str9-swot-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;margin-bottom:14px}\n.str9-swot-how-card strong{display:block;font-size:17px;margin-bottom:8px}\n.str9-swot-how-card p{color:var(--muted);font-size:14px;line-height:1.55}\n.str9-swot-app-intro{background:#080808;color:#fff;padding:34px 24px;text-align:center}\n.str9-swot-app-intro h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.05em;font-weight:900;margin-bottom:10px;color:#fff!important}\n.str9-swot-app-intro p{color:rgba(255,255,255,.72)!important;font-size:16px}\n.str9-swot-topbar{background:var(--black);padding:14px 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}\n.str9-swot-top-left{display:flex;align-items:center;gap:20px}\n.str9-swot-back{color:#777;font-size:13px;font-weight:600}\n.str9-swot-top-title{color:#fff;font-size:14px;font-weight:800}\n.str9-swot-top-title span{color:var(--red)}\n.str9-swot-top-right{display:flex;align-items:center;gap:12px}\n.str9-swot-progress-wrap{width:140px;height:4px;background:#2A2A2A;border-radius:2px;overflow:hidden}\n.str9-swot-progress{height:100%;background:var(--red);width:0%;transition:.3s}\n.str9-swot-progress-text{color:#777;font-size:12px;font-weight:700;min-width:52px;text-align:right}\n.str9-swot-export{background:var(--red);color:#fff;border:0;padding:9px 18px;border-radius:6px;font-size:13px;font-weight:800;cursor:pointer}\n.str9-swot-export:disabled{opacity:.4;cursor:not-allowed}\n.str9-swot-app{display:grid;grid-template-columns:430px 1fr;min-height:820px}\n.str9-swot-sidebar{background:#fff;border-right:1px solid var(--border);min-height:820px}\n.str9-swot-side-head{padding:28px 28px 20px;border-bottom:1px solid var(--border)}\n.str9-swot-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(232,8,15,.1);border:1px solid var(--red-border);border-radius:100px;padding:3px 10px;font-size:11px;font-weight:800;color:var(--red);margin-bottom:10px}\n.str9-swot-side-head h2{font-size:20px;font-weight:900;letter-spacing:-.5px;margin-bottom:6px}\n.str9-swot-side-head p{color:var(--muted);font-size:13px;line-height:1.5}\n.str9-swot-tabs{padding:16px 20px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);gap:7px}\n.str9-swot-tab{border:2px solid var(--border);background:#fff;border-radius:12px;padding:10px 6px;cursor:pointer;text-align:center}\n.str9-swot-tab.active{border-color:var(--red);background:var(--red-dim)}\n.str9-swot-tab-id{font-size:20px;font-weight:900;line-height:1}\n.str9-swot-tab-label{font-size:10px;font-weight:900;color:var(--muted);line-height:1.15;margin-top:3px}\n.str9-swot-tab-count{font-size:10px;color:var(--light);margin-top:2px}\n.str9-swot-panel{padding:28px}\n.str9-swot-q-eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:8px}\n.str9-swot-q-title{font-size:18px;font-weight:900;letter-spacing:-.5px;margin-bottom:8px;line-height:1.35}\n.str9-swot-q-desc{color:var(--muted);font-size:13px;margin-bottom:18px;line-height:1.6}\n.str9-swot-add{background:#f7f7f7;border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:16px}\n.str9-swot-add-row{display:flex;gap:8px}\n.str9-swot-input{flex:1;min-width:0;padding:12px 14px;border:2px solid var(--border);border-radius:9px;font-size:13px;outline:none;background:#fff}\n.str9-swot-input:focus{border-color:var(--red)}\n.str9-swot-add-btn{padding:12px 14px;background:#080808;color:#fff;border:0;border-radius:9px;font-weight:900;cursor:pointer}\n.str9-swot-chip-label{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--light);text-transform:uppercase;margin:14px 0 8px}\n.str9-swot-chips{display:flex;gap:7px;flex-wrap:wrap}\n.str9-swot-chip{border:1.5px solid var(--border);background:#fff;color:var(--muted);border-radius:100px;padding:6px 11px;font-size:11px;font-weight:800;cursor:pointer}\n.str9-swot-chip:hover{border-color:var(--red);color:var(--red);background:var(--red-dim)}\n.str9-swot-items{display:flex;flex-direction:column;gap:12px}\n.str9-swot-item{background:#fff;border:1px solid var(--border);border-left:5px solid var(--red);border-radius:14px;padding:16px;box-shadow:0 8px 22px rgba(0,0,0,.035)}\n.str9-swot-item-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}\n.str9-swot-rank{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:11px;font-weight:900;flex-shrink:0}\n.str9-swot-name{font-size:14px;font-weight:900;line-height:1.35;flex:1}\n.str9-swot-del{border:0;background:transparent;color:var(--light);font-size:20px;line-height:1;cursor:pointer}\n.str9-swot-del:hover{color:var(--red)}\n.str9-swot-score-grid{display:grid;grid-template-columns:1fr;gap:12px}\n.str9-swot-score{background:#f7f7f7;border:1px solid var(--border);border-radius:12px;padding:14px}\n.str9-swot-score-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}\n.str9-swot-score-head strong{font-size:13px;color:#111;font-weight:900}\n.str9-swot-score-head span{font-size:20px;line-height:1;font-weight:900;color:var(--red)}\n.str9-swot-help{font-size:11px;color:var(--muted);margin-bottom:9px}\n.str9-swot-rating{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}\n.str9-swot-rate{height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}\n.str9-swot-rate.selected{background:var(--red);border-color:var(--red);color:#fff}\n.str9-swot-empty{color:var(--light);font-size:12px;font-style:italic;text-align:center;padding:18px;border:1px dashed var(--border);border-radius:12px}\n.str9-swot-results{padding:28px;overflow-y:auto}\n.str9-swot-results-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}\n.str9-swot-results-title h3{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}\n.str9-swot-fill-hint{font-size:12px;color:var(--light)}\n.str9-swot-summary{background:#080808;color:#fff;border-radius:18px;padding:26px;margin-bottom:20px}\n.str9-swot-summary-title{color:rgba(255,255,255,.45);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}\n.str9-swot-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}\n.str9-swot-kpi{background:rgba(255,255,255,.06);border-radius:12px;padding:16px 12px;text-align:center}\n.str9-swot-kpi-num{font-size:34px;font-weight:900;line-height:1;color:var(--red);margin-bottom:6px}\n.str9-swot-kpi-label{font-size:10px;font-weight:900;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.05em}\n.str9-swot-diagnosis{background:rgba(255,255,255,.045);border-left:3px solid var(--red);border-radius:10px;padding:16px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}\n.str9-swot-matrix,.str9-swot-table-card,.str9-swot-strategy{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 14px 36px rgba(0,0,0,.035);margin-bottom:20px}\n.str9-swot-matrix h4,.str9-swot-table-card h4,.str9-swot-strategy h4{font-size:18px;font-weight:900;margin-bottom:6px;letter-spacing:-.03em}\n.str9-swot-matrix p,.str9-swot-table-card p,.str9-swot-strategy p{color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:16px}\n.str9-swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n.str9-swot-box{border:1px solid var(--border);border-radius:14px;background:#f7f7f7;padding:16px}\n.str9-swot-box-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}\n.str9-swot-box-id{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:14px;font-weight:900}\n.str9-swot-box-title{font-size:14px;font-weight:900}\n.str9-swot-mini{padding:7px 0;border-top:1px solid var(--border);display:flex;gap:8px}\n.str9-swot-mini:first-of-type{border-top:0}\n.str9-swot-mini span:first-child{font-size:11px;font-weight:900;color:var(--red);width:18px}\n.str9-swot-mini strong{font-size:12px;line-height:1.35;flex:1}\n.str9-swot-mini small{font-size:11px;color:var(--muted);font-weight:800}\n.str9-swot-row{display:grid;grid-template-columns:42px 1fr 74px 74px 84px;gap:10px;align-items:center;background:#f7f7f7;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:12px;color:var(--muted);font-weight:700}\n.str9-swot-row.head{background:#080808;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}\n.str9-swot-row .name{color:#111;font-weight:900}\n.str9-swot-rec-list{display:grid;gap:10px}\n.str9-swot-rec{background:#f7f7f7;border-left:4px solid var(--red);border-radius:0 12px 12px 0;padding:14px}\n.str9-swot-rec strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin-bottom:5px}\n.str9-swot-rec p{margin:0;color:#555;font-size:13px;line-height:1.55}\n.str9-swot-export-big{width:100%;padding:16px;background:var(--red);color:#fff;border:0;border-radius:10px;font-size:16px;font-weight:800;cursor:pointer;margin-bottom:12px}\n.str9-swot-rec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}\n.str9-swot-next-card{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:22px;padding:24px}\n.str9-swot-next-card h3{font-size:20px;margin-bottom:10px;letter-spacing:-.03em;font-weight:900}\n.str9-swot-next-card p{color:var(--muted);line-height:1.6;margin-bottom:18px}\n.str9-swot-next-card a{color:var(--red);font-weight:900}\n.str9-swot-dark,.str9-swot-dark h2,.str9-swot-dark .str9-swot-kicker{color:#fff!important}\n.str9-swot-dark p{color:rgba(255,255,255,.78)!important}\n.str9-swot-faq{max-width:900px;margin:0 auto}\n.str9-swot-faq details{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:16px;padding:20px 22px;margin-bottom:12px}\n.str9-swot-faq summary{cursor:pointer;font-weight:900;font-size:17px}\n.str9-swot-faq p{color:var(--muted);line-height:1.6;margin:14px 0 0}\n.str9-swot button,.str9-swot input{pointer-events:auto!important}\n.str9-swot button{appearance:none;-webkit-appearance:none}\n.str9-swot-input{color:#111!important;background:#fff!important}\n@media(max-width:1180px){.str9-swot-app{grid-template-columns:1fr}.str9-swot-sidebar{min-height:auto}.str9-swot-two,.str9-swot-how,.str9-swot-rec-grid{grid-template-columns:1fr 1fr}}\n@media(max-width:760px){.str9-swot-actions{flex-direction:column}.str9-swot-btn{width:100%}.str9-swot-topbar{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:10px}.str9-swot-top-left,.str9-swot-top-right{width:100%;justify-content:space-between}.str9-swot-progress-wrap{display:none}.str9-swot-results{padding:16px}.str9-swot-kpi-grid,.str9-swot-grid{grid-template-columns:1fr}.str9-swot-row,.str9-swot-row.head{grid-template-columns:34px 1fr 70px}.str9-swot-row span:nth-child(4),.str9-swot-row span:nth-child(5){display:none}.str9-swot-two,.str9-swot-how,.str9-swot-rec-grid{grid-template-columns:1fr}}\n\n\/* STRATE9Y desktop typography refinement *\/\n.str9-swot{font-size:clamp(16px,1vw,18px)}.str9-swot .str9-swot-input{font-size:clamp(16px,1vw,18px)!important;line-height:1.45}.str9-swot .str9-swot-chip,.str9-swot .str9-swot-export{font-size:clamp(14px,.85vw,16px)!important}\n<\/style>\n\n<div class=\"str9-swot\" id=\"str9-swot-tool\">\n\n  <section class=\"str9-swot-hero\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-kicker\">STRATE9Y\u00ae n\u00e1stroje \u00b7 SWOT anal\u00fdza online + IFE\/EFE<\/div>\n      <h1><span>SWOT anal\u00fdza <\/span>: Interakt\u00edvny online n\u00e1stroj.<\/h1>\n      <p>Zadajte siln\u00e9 a slab\u00e9 str\u00e1nky, pr\u00edle\u017eitosti a hrozby. N\u00e1stroj v\u00e1m pom\u00f4\u017ee ur\u010di\u0165 ich v\u00fdznam, odhali\u0165 priority a premeni\u0165 SWOT anal\u00fdzu na konkr\u00e9tne strategick\u00e9 odpor\u00fa\u010dania.<\/p>\n      <div class=\"str9-swot-actions\">\n        <a class=\"str9-swot-btn\" href=\"#nastroj-swot\">Spusti\u0165 n\u00e1stroj \u2193<\/a>\n        <a class=\"str9-swot-btn secondary\" href=\"https:\/\/strate9y.com\/sk\/ako-krok-za-krokom-vypracovat-swot-analyzu-firmy\/\">Pre\u010d\u00edta\u0165 n\u00e1vod<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-two\">\n        <div class=\"str9-swot-card\">\n          <h3>\u010co tento n\u00e1stroj rie\u0161i?<\/h3>\n          <p>Klasick\u00e1 SWOT \u010dasto skon\u010d\u00ed ako zoznam n\u00e1zorov. T\u00e1to verzia prid\u00e1va v\u00e1hu, rating, IFE\/EFE matice a Paretovo pravidlo, tak\u017ee okam\u017eite vid\u00edte, ktor\u00e9 faktory maj\u00fa najv\u00e4\u010d\u0161\u00ed strategick\u00fd vplyv.<\/p>\n          <p style=\"margin-top:14px;\">Potrebujete najsk\u00f4r te\u00f3riu a pr\u00edklady? <a class=\"str9-swot-link\" href=\"https:\/\/strate9y.com\/sk\/ako-krok-za-krokom-vypracovat-swot-analyzu-firmy\/\">Pre\u010d\u00edtajte si \u010dl\u00e1nok o SWOT anal\u00fdze.<\/a><\/p>\n        <\/div>\n        <div class=\"str9-swot-card\">\n          <h3>Kedy ju pou\u017ei\u0165?<\/h3>\n          <ul>\n            <li>ke\u010f chcete prepoji\u0165 intern\u00fa a extern\u00fa anal\u00fdzu,<\/li>\n            <li>ke\u010f potrebujete ur\u010di\u0165 priority, nielen vytvori\u0165 zoznam faktorov,<\/li>\n            <li>ke\u010f chcete nadviaza\u0165 na PESTLE, VRIO alebo Porterov model,<\/li>\n            <li>ke\u010f pripravujete strategick\u00fd pl\u00e1n,<\/li>\n            <li>ke\u010f chcete vytvori\u0165 TOWS n\u00e1vrhy SO\/WO\/ST\/WT z konkr\u00e9tnych faktorov.<\/li>\n          <\/ul>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section soft\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\">\n        <h2>Ako pracova\u0165 s n\u00e1strojom<\/h2>\n        <p>Najsk\u00f4r odde\u013ete intern\u00e9 faktory od extern\u00fdch. Siln\u00e9 a slab\u00e9 str\u00e1nky s\u00fa vo vn\u00fatri firmy. Pr\u00edle\u017eitosti a hrozby prich\u00e1dzaj\u00fa zvonka.<\/p>\n      <\/div>\n      <div class=\"str9-swot-how\">\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">1<\/div><strong>Zadajte faktory<\/strong><p>Vypl\u0148te S, W, O a T. Ka\u017ed\u00fd faktor by mal by\u0165 konkr\u00e9tny.<\/p><\/div>\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">2<\/div><strong>Nastavte v\u00e1hu<\/strong><p>V\u00e1ha vyjadruje relat\u00edvnu d\u00f4le\u017eitos\u0165 faktora.<\/p><\/div>\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">3<\/div><strong>Nastavte rating<\/strong><p>Rating vyjadruje silu faktora alebo schopnos\u0165 firmy reagova\u0165.<\/p><\/div>\n        <div class=\"str9-swot-how-card\"><div class=\"str9-swot-num\">4<\/div><strong>Prepojte faktory<\/strong><p>TOWS vytvor\u00ed orienta\u010dn\u00e9 smery SO, WO, ST a WT z konkr\u00e9tnych kombin\u00e1ci\u00ed intern\u00fdch a extern\u00fdch faktorov.<\/p><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-app-intro\" id=\"nastroj-swot\">\n    <div class=\"str9-swot-wrap\">\n      <h2>Spustite SWOT anal\u00fdzu<\/h2>\n      <p>Pridajte faktory v\u013eavo. Vpravo sa automaticky vytvor\u00ed matica, IFE\/EFE sk\u00f3re a odpor\u00fa\u010dania.<\/p>\n    <\/div>\n  <\/section>\n\n  <div class=\"str9-swot-topbar\">\n    <div class=\"str9-swot-top-left\">\n      <a href=\"https:\/\/strate9y.com\/sk\/strategicke-nastroje\/\" class=\"str9-swot-back\">\u2190 N\u00e1stroje<\/a>\n      <span class=\"str9-swot-top-title\">STRATE<span>9<\/span>Y\u00ae \u00b7 SWOT online + IFE\/EFE<\/span>\n    <\/div>\n    <div class=\"str9-swot-top-right\">\n      <div class=\"str9-swot-progress-wrap\"><div class=\"str9-swot-progress\" data-progress=\"\"><\/div><\/div>\n      <span class=\"str9-swot-progress-text\" data-progress-text=\"\">0 faktorov<\/span>\n      <button class=\"str9-swot-export\" data-export=\"\" disabled=\"\">\u2193 PDF<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"str9-swot-app\">\n    <div class=\"str9-swot-sidebar\">\n      <div class=\"str9-swot-side-head\">\n        <div class=\"str9-swot-badge\">\ud83e\udded Intern\u00e9 + extern\u00e9 faktory<\/div>\n        <h2>SWOT anal\u00fdza<\/h2>\n        <p>Pri ka\u017edom faktore nastavte strategick\u00fa v\u00e1hu a rating. Pre IFE\/EFE sa v\u00e1hy automaticky normalizuj\u00fa a pr\u00edspevok sa po\u010d\u00edta ako normalizovan\u00e1 v\u00e1ha \u00d7 rating.<\/p>\n      <\/div>\n      <div class=\"str9-swot-tabs\" data-tabs=\"\"><\/div>\n      <div class=\"str9-swot-panel\" data-panel=\"\">\n        <div class=\"str9-swot-empty\">N\u00e1stroj sa na\u010d\u00edtava\u2026<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"str9-swot-results\">\n      <div class=\"str9-swot-results-title\">\n        <h3>V\u00fdsledky SWOT anal\u00fdzy<\/h3>\n        <span class=\"str9-swot-fill-hint\" data-fill-hint=\"\">Pridajte prv\u00fd faktor v\u013eavo \u2192<\/span>\n      <\/div>\n\n      <div class=\"str9-swot-summary\">\n        <div class=\"str9-swot-summary-title\">Mana\u017e\u00e9rske zhrnutie<\/div>\n        <div class=\"str9-swot-kpi-grid\">\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-count=\"\">0<\/div><div class=\"str9-swot-kpi-label\">Faktorov<\/div><\/div>\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-ife=\"\">0.00<\/div><div class=\"str9-swot-kpi-label\">IFE sk\u00f3re<\/div><\/div>\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-efe=\"\">0.00<\/div><div class=\"str9-swot-kpi-label\">EFE sk\u00f3re<\/div><\/div>\n          <div class=\"str9-swot-kpi\"><div class=\"str9-swot-kpi-num\" data-kpi-pareto=\"\">0<\/div><div class=\"str9-swot-kpi-label\">Pareto TOP<\/div><\/div>\n        <\/div>\n        <div class=\"str9-swot-diagnosis\" data-diagnosis=\"\">Pridajte aspo\u0148 dva faktory na vyhodnotenie.<\/div>\n      <\/div>\n\n      <div class=\"str9-swot-matrix\">\n        <h4>SWOT matice<\/h4>\n        <p>Faktory s\u00fa v ka\u017edom kvadrante zoraden\u00e9 pod\u013ea zadanej strategickej d\u00f4le\u017eitosti.<\/p>\n        <div class=\"str9-swot-grid\" data-matrix=\"\"><\/div>\n      <\/div>\n\n      <div class=\"str9-swot-table-card\">\n        <h4>Priority pod\u013ea vplyvu<\/h4>\n        <p>Zoraden\u00e9 naprie\u010d celou SWOT pod\u013ea strategickej d\u00f4le\u017eitosti. Paretova hranica vych\u00e1dza z v\u00e1h faktorov, nie z IFE\/EFE ratingu.<\/p>\n        <div class=\"str9-swot-table\" data-table=\"\"><\/div>\n      <\/div>\n\n      <div class=\"str9-swot-strategy\">\n        <h4>Orienta\u010dn\u00e9 strategick\u00e9 odpor\u00fa\u010dania<\/h4>\n        <p>IFE\/EFE hodnot\u00ed intern\u00fa poz\u00edciu a schopnos\u0165 reakcie. TOWS smery ni\u017e\u0161ie vznikaj\u00fa p\u00e1rovan\u00edm prioritn\u00fdch faktorov S\u2013O, W\u2013O, S\u2013T a W\u2013T. IFE\/EFE sk\u00f3re samo neur\u010duje, \u010di je vhodn\u00e1 SO, WO, ST alebo WT strat\u00e9gia.<\/p>\n        <div class=\"str9-swot-rec-list\" data-recs=\"\"><\/div>\n      <\/div>\n\n      <button class=\"str9-swot-export-big\" data-export-big=\"\" style=\"display:none;\">\u2193 Stiahnu\u0165 SWOT anal\u00fdzu ako PDF<\/button>\n    <\/div>\n  <\/div>\n\n  <section class=\"str9-swot-section soft\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\"><h2>Odpor\u00fa\u010dan\u00fd \u010fal\u0161\u00ed krok<\/h2><p>SWOT je prep\u00e1jac\u00ed n\u00e1stroj. Nadv\u00e4zuje na intern\u00e9 aj extern\u00e9 anal\u00fdzy.<\/p><\/div>\n      <div class=\"str9-swot-rec-grid\">\n        <div class=\"str9-swot-next-card\"><h3>Ch\u00fdbaj\u00fa extern\u00e9 faktory?<\/h3><p>Dopl\u0148te pr\u00edle\u017eitosti a hrozby pomocou PESTLE anal\u00fdzy.<\/p><a href=\"https:\/\/strate9y.com\/sk\/strategicke-nastroje\/analyza-pestle\/\">Pokra\u010dova\u0165 na PESTLE \u2192<\/a><\/div>\n        <div class=\"str9-swot-next-card\"><h3>Ch\u00fdbaj\u00fa intern\u00e9 faktory?<\/h3><p>Overte siln\u00e9 str\u00e1nky pomocou VRIO alebo hodnotov\u00e9ho re\u0165azca.<\/p><a href=\"https:\/\/strate9y.com\/sk\/strategicke-nastroje\/analyza-vrio-online\/\">Pokra\u010dova\u0165 na VRIO \u2192<\/a><\/div>\n        <div class=\"str9-swot-next-card\"><h3>Rie\u0161ite priority?<\/h3><p>Ak je faktorov ve\u013ea, pou\u017eite Paretovu anal\u00fdzu.<\/p><a href=\"https:\/\/strate9y.com\/sk\/paretovo-pravidlo-sk\/\">Pokra\u010dova\u0165 na Paretovu anal\u00fdzu \u2192<\/a><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section str9-swot-dark\" style=\"background:#080808;\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\">\n        <div class=\"str9-swot-kicker\">\u010co \u010falej?<\/div>\n        <h2>SWOT uk\u00e1\u017ee smer. Diagnostika uk\u00e1\u017ee, kde za\u010da\u0165.<\/h2>\n        <p>STRATE9Y\u00ae Biznis diagnostika pom\u00f4\u017ee premeni\u0165 siln\u00e9 a slab\u00e9 str\u00e1nky, pr\u00edle\u017eitosti a hrozby na konkr\u00e9tny ak\u010dn\u00fd pl\u00e1n.<\/p>\n        <div style=\"margin-top:28px;\"><a class=\"str9-swot-btn\" href=\"https:\/\/strate9y.com\/sk\/strate9y-biznis-diagnostika\/\">Chcem STRATE9Y\u00ae diagnostiku \u2192<\/a><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"str9-swot-section soft\">\n    <div class=\"str9-swot-wrap\">\n      <div class=\"str9-swot-title\"><h2>FAQ<\/h2><\/div>\n      <div class=\"str9-swot-faq\">\n        <details><summary>\u010co patr\u00ed do internej \u010dasti SWOT?<\/summary><p>Siln\u00e9 a slab\u00e9 str\u00e1nky. Ide o faktory, ktor\u00e9 firma m\u00f4\u017ee priamo ovplyvni\u0165: zdroje, procesy, \u013eudia, zna\u010dka, know-how, financie.<\/p><\/details>\n        <details><summary>\u010co patr\u00ed do externej \u010dasti SWOT?<\/summary><p>Pr\u00edle\u017eitosti a hrozby. Ide o faktory mimo firmy: trh, konkurencia, legislat\u00edva, technol\u00f3gie, spr\u00e1vanie z\u00e1kazn\u00edkov, ekonomika.<\/p><\/details>\n        <details><summary>\u010co znamen\u00e1 rating pri siln\u00fdch a slab\u00fdch str\u00e1nkach?<\/summary><p>Pri intern\u00fdch faktoroch rating vyjadruje silu konkr\u00e9tneho faktora. Siln\u00e9 str\u00e1nky pou\u017e\u00edvaj\u00fa rating 3\u20134, slab\u00e9 str\u00e1nky 1\u20132 pod\u013ea metodiky IFE.<\/p><\/details>\n        <details><summary>\u010co znamen\u00e1 rating pri pr\u00edle\u017eitostiach a hrozb\u00e1ch?<\/summary><p>Pri extern\u00fdch faktoroch rating nehodnot\u00ed ve\u013ekos\u0165 pr\u00edle\u017eitosti ani z\u00e1va\u017enos\u0165 hrozby. Vyjadruje, ako dobre je firma schopn\u00e1 na dan\u00fd extern\u00fd faktor reagova\u0165. Vy\u0161\u0161\u00ed rating znamen\u00e1 lep\u0161iu schopnos\u0165 pr\u00edle\u017eitos\u0165 vyu\u017ei\u0165 alebo hrozbu zvl\u00e1dnu\u0165.<\/p><\/details>\n        <details><summary>\u010co znamen\u00e1 IFE\/EFE?<\/summary><p>IFE hodnot\u00ed intern\u00e9 faktory a EFE extern\u00e9 faktory. Pri EFE rating vyjadruje kvalitu reakcie firmy na extern\u00e9 prostredie, nie z\u00e1va\u017enos\u0165 samotnej pr\u00edle\u017eitosti alebo hrozby.<\/p><\/details>\n        <details><summary>Ur\u010duje IFE\/EFE, \u010di m\u00e1m zvoli\u0165 SO, WO, ST alebo WT?<\/summary><p>Nie. IFE a EFE s\u00fa diagnostick\u00e9 matice. TOWS vznik\u00e1 p\u00e1rovan\u00edm konkr\u00e9tnych faktorov S\u2013O, W\u2013O, S\u2013T a W\u2013T. Tento n\u00e1stroj preto vytv\u00e1ra orienta\u010dn\u00e9 TOWS n\u00e1vrhy oddelene od IFE\/EFE sk\u00f3re.<\/p><\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<script>\n(function(){\n  function AND(a,b){ return a ? b : false; }\n\n  function startSwot(){\n    const root=document.getElementById('str9-swot-tool');\n    if(!root || root.dataset.initialized==='true') return;\n    root.dataset.initialized='true';\n\n    const CATS=[\n      {\n        id:'S',\n        label:'Siln\u00e9 str\u00e1nky',\n        subtitle:'\u010co rob\u00edte lep\u0161ie ako ostatn\u00ed?',\n        color:'#15803d',\n        hint:'Intern\u00fd pozit\u00edvny faktor. M\u00e1te ho pod kontrolou.',\n        ratingHelp:'IFE rating vyjadruje silu internej prednosti.',\n        ratingHint:'3 = men\u0161ia siln\u00e1 str\u00e1nka \u00b7 4 = hlavn\u00e1 siln\u00e1 str\u00e1nka',\n        examples:['Siln\u00e1 zna\u010dka','Know-how t\u00edmu','Vern\u00ed z\u00e1kazn\u00edci','N\u00edzke n\u00e1klady','R\u00fdchle dodanie']\n      },\n      {\n        id:'W',\n        label:'Slab\u00e9 str\u00e1nky',\n        subtitle:'\u010co v\u00e1s brzd\u00ed alebo stoj\u00ed viac?',\n        color:'#d97706',\n        hint:'Intern\u00fd negat\u00edvny faktor. Ide o slabinu vo vn\u00fatri firmy.',\n        ratingHelp:'IFE rating vyjadruje z\u00e1va\u017enos\u0165 internej slabiny.',\n        ratingHint:'1 = hlavn\u00e1 slabina \u00b7 2 = men\u0161ia slabina',\n        examples:['N\u00edzka mar\u017ea','Z\u00e1vislos\u0165 od majite\u013ea','Slab\u00fd web','Ch\u00fdbaj\u00face CRM','\u00dazky mix']\n      },\n      {\n        id:'O',\n        label:'Pr\u00edle\u017eitosti',\n        subtitle:'\u010co pon\u00faka trh alebo prostredie?',\n        color:'#2563eb',\n        hint:'Extern\u00fd pozit\u00edvny faktor. Prich\u00e1dza z okolia firmy.',\n        ratingHelp:'EFE rating vyjadruje schopnos\u0165 firmy t\u00fato pr\u00edle\u017eitos\u0165 vyu\u017ei\u0165.',\n        ratingHint:'1 = slab\u00e1 reakcia firmy \u00b7 4 = ve\u013emi siln\u00e1 schopnos\u0165 vyu\u017eitia',\n        examples:['Rast\u00faci dopyt','Nov\u00fd segment','Oslaben\u00e1 konkurencia','Technologick\u00fd trend','Grant']\n      },\n      {\n        id:'T',\n        label:'Hrozby',\n        subtitle:'\u010co v\u00e1s m\u00f4\u017ee ohrozi\u0165 zvonka?',\n        color:'#dc2626',\n        hint:'Extern\u00fd negat\u00edvny faktor. Prich\u00e1dza z okolia firmy.',\n        ratingHelp:'EFE rating vyjadruje schopnos\u0165 firmy na t\u00fato hrozbu reagova\u0165.',\n        ratingHint:'1 = slab\u00e1 reakcia firmy \u00b7 4 = ve\u013emi siln\u00e1 schopnos\u0165 hrozbu zvl\u00e1dnu\u0165',\n        examples:['Nov\u00e1 konkurencia','Zdra\u017eovanie vstupov','Regula\u010dn\u00e1 zmena','Substit\u00faty','Pokles k\u00fapnej sily']\n      }\n    ];\n\n    let active='S';\n    let nextId=1;\n    let factors={S:[],W:[],O:[],T:[]};\n\n    const tabs=root.querySelector('[data-tabs]');\n    const panel=root.querySelector('[data-panel]');\n    const progress=root.querySelector('[data-progress]');\n    const progressText=root.querySelector('[data-progress-text]');\n    const exportBtn=root.querySelector('[data-export]');\n    const exportBig=root.querySelector('[data-export-big]');\n    const fillHint=root.querySelector('[data-fill-hint]');\n\n    function esc(t){\n      const d=document.createElement('div');\n      d.textContent=t==null?'':String(t);\n      return d.innerHTML;\n    }\n\n    function cat(id){\n      return CATS.find(c=>c.id===id) || CATS[0];\n    }\n\n    function priority(f){\n      return Number(f.weight) || 0;\n    }\n\n    function matrixGroupTotal(catId){\n      const ids=(catId==='S'||catId==='W')?['S','W']:['O','T'];\n      return ids.reduce((total,id)=>total+factors[id].reduce((s,f)=>s+priority(f),0),0);\n    }\n\n    function score(f){\n      const total=matrixGroupTotal(f.catId);\n      if(total<=0) return 0;\n      return Math.round((priority(f)\/total)*Number(f.rating)*100)\/100;\n    }\n\n    function sorted(id){\n      return factors[id].slice().sort((a,b)=>priority(b)-priority(a));\n    }\n\n    function allItems(){\n      return CATS.flatMap(c=>sorted(c.id).map(f=>({\n        ...f,\n        cat:c\n      }))).sort((a,b)=>priority(b)-priority(a));\n    }\n\n    function sum(list){\n      return Math.round(list.reduce((s,f)=>s+score(f),0)*100)\/100;\n    }\n\n    function totalCount(){\n      return Object.values(factors).reduce((s,list)=>s+list.length,0);\n    }\n\n    function ife(){\n      return sum(factors.S)+sum(factors.W);\n    }\n\n    function efe(){\n      return sum(factors.O)+sum(factors.T);\n    }\n\n    function paretoCount(items){\n      if(!items.length) return 0;\n      const total=items.reduce((s,f)=>s+priority(f),0);\n      if(total<=0) return 0;\n      let cumulative=0;\n      for(let i=0;i<items.length;i++){\n        cumulative+=priority(items[i]);\n        if(cumulative\/total>=0.8) return i+1;\n      }\n      return items.length;\n    }\n\n    function buildTabs(){\n      tabs.innerHTML='';\n      CATS.forEach(c=>{\n        const btn=document.createElement('button');\n        btn.type='button';\n        btn.className='str9-swot-tab'+(active===c.id?' active':'');\n        btn.innerHTML=\n          '<div class=\"str9-swot-tab-id\" style=\"color:'+c.color+'\">'+c.id+'<\/div>'+\n          '<div class=\"str9-swot-tab-label\">'+c.label+'<\/div>'+\n          '<div class=\"str9-swot-tab-count\">'+factors[c.id].length+' polo\u017eiek<\/div>';\n        btn.addEventListener('click',()=>{\n          active=c.id;\n          renderAll();\n        });\n        tabs.appendChild(btn);\n      });\n    }\n\n    function ratingButtons(f,key,values){\n      const wrap=document.createElement('div');\n      wrap.className='str9-swot-rating';\n\n      values.forEach(value=>{\n        const b=document.createElement('button');\n        b.type='button';\n        b.className='str9-swot-rate'+(Number(f[key])===Number(value)?' selected':'');\n        b.textContent=value;\n        b.addEventListener('click',()=>{\n          updateFactor(f.id,key,Number(value));\n        });\n        wrap.appendChild(b);\n      });\n\n      return wrap;\n    }\n\n    function renderPanel(){\n      const c=cat(active);\n      const list=sorted(active);\n      panel.innerHTML='';\n\n      const eyebrow=document.createElement('div');\n      eyebrow.className='str9-swot-q-eyebrow';\n      eyebrow.textContent=c.id+' \u00b7 '+c.label;\n\n      const title=document.createElement('div');\n      title.className='str9-swot-q-title';\n      title.textContent=c.subtitle;\n\n      const desc=document.createElement('div');\n      desc.className='str9-swot-q-desc';\n      desc.innerHTML='<strong style=\"color:'+c.color+'\">'+c.hint+'<\/strong> Naj\u010dastej\u0161ou chybou vo SWOT je mie\u0161anie intern\u00fdch a extern\u00fdch faktorov.';\n\n      const addBox=document.createElement('div');\n      addBox.className='str9-swot-add';\n\n      const addRow=document.createElement('div');\n      addRow.className='str9-swot-add-row';\n\n      const input=document.createElement('input');\n      input.className='str9-swot-input';\n      input.placeholder='Prida\u0165 faktor...';\n      input.addEventListener('keydown',e=>{\n        if(e.key==='Enter'){\n          e.preventDefault();\n          addFactor(input.value);\n        }\n      });\n\n      const addBtn=document.createElement('button');\n      addBtn.type='button';\n      addBtn.className='str9-swot-add-btn';\n      addBtn.textContent='+ Prida\u0165';\n      addBtn.addEventListener('click',()=>addFactor(input.value));\n\n      addRow.appendChild(input);\n      addRow.appendChild(addBtn);\n      addBox.appendChild(addRow);\n\n      const chipLabel=document.createElement('div');\n      chipLabel.className='str9-swot-chip-label';\n      chipLabel.textContent='R\u00fdchle pr\u00edklady';\n      addBox.appendChild(chipLabel);\n\n      const chips=document.createElement('div');\n      chips.className='str9-swot-chips';\n\n      c.examples.forEach(example=>{\n        const chip=document.createElement('button');\n        chip.type='button';\n        chip.className='str9-swot-chip';\n        chip.textContent=example;\n        chip.addEventListener('click',()=>addFactor(example));\n        chips.appendChild(chip);\n      });\n\n      addBox.appendChild(chips);\n\n      const items=document.createElement('div');\n      items.className='str9-swot-items';\n\n      if(!list.length){\n        const empty=document.createElement('div');\n        empty.className='str9-swot-empty';\n        empty.textContent='Zatia\u013e pr\u00e1zdne. Pridajte faktor alebo kliknite na pr\u00edklad.';\n        items.appendChild(empty);\n      }else{\n        list.forEach((f,i)=>{\n          const item=document.createElement('div');\n          item.className='str9-swot-item';\n          item.style.borderLeftColor=c.color;\n\n          const head=document.createElement('div');\n          head.className='str9-swot-item-head';\n\n          const rank=document.createElement('div');\n          rank.className='str9-swot-rank';\n          rank.style.background=c.color;\n          rank.textContent=i+1;\n\n          const name=document.createElement('div');\n          name.className='str9-swot-name';\n          name.textContent=f.name;\n\n          const del=document.createElement('button');\n          del.type='button';\n          del.className='str9-swot-del';\n          del.textContent='\u00d7';\n          del.addEventListener('click',()=>deleteFactor(f.id));\n\n          head.appendChild(rank);\n          head.appendChild(name);\n          head.appendChild(del);\n\n          const grid=document.createElement('div');\n          grid.className='str9-swot-score-grid';\n\n          const weight=document.createElement('div');\n          weight.className='str9-swot-score';\n          weight.innerHTML=\n            '<div class=\"str9-swot-score-head\"><strong>1) V\u00e1ha faktora<\/strong><span>'+f.weight+'<\/span><\/div>'+\n            '<div class=\"str9-swot-help\">Relat\u00edvna strategick\u00e1 d\u00f4le\u017eitos\u0165 faktora. 0.05 = ni\u017e\u0161ia, 0.20 = ve\u013emi vysok\u00e1. Pre IFE\/EFE sa v\u00e1hy automaticky normalizuj\u00fa na s\u00fa\u010det 1,00.<\/div>';\n          weight.appendChild(ratingButtons(f,'weight',[0.05,0.10,0.15,0.20]));\n\n          const rating=document.createElement('div');\n          rating.className='str9-swot-score';\n          rating.innerHTML=\n            '<div class=\"str9-swot-score-head\"><strong>2) Rating<\/strong><span>'+f.rating+'<\/span><\/div>'+\n            '<div class=\"str9-swot-help\"><strong style=\"color:#111;\">'+c.ratingHelp+'<\/strong><br>'+c.ratingHint+'<\/div>';\n          const ratingValues=active==='S'?[3,4]:active==='W'?[1,2]:[1,2,3,4];\n          rating.appendChild(ratingButtons(f,'rating',ratingValues));\n\n          grid.appendChild(weight);\n          grid.appendChild(rating);\n\n          item.appendChild(head);\n          item.appendChild(grid);\n          items.appendChild(item);\n        });\n      }\n\n      panel.appendChild(eyebrow);\n      panel.appendChild(title);\n      panel.appendChild(desc);\n      panel.appendChild(addBox);\n      panel.appendChild(items);\n    }\n\n    function addFactor(raw){\n      const name=(raw||'').trim();\n      if(!name) return;\n\n      const exists=factors[active].some(f=>f.name.toLowerCase()===name.toLowerCase());\n      if(exists) return;\n\n      let defaultRating=1;\n      if(active==='S') defaultRating=4;\n      if(active==='W') defaultRating=1;\n      if(active==='O') defaultRating=3;\n      if(active==='T') defaultRating=3;\n\n      factors[active].push({\n        id:nextId++,\n        name:name,\n        weight:0.10,\n        rating:defaultRating,\n        catId:active\n      });\n\n      renderAll();\n    }\n\n    function updateFactor(id,key,value){\n      factors[active]=factors[active].map(f=>f.id===id?{...f,[key]:value}:f);\n      renderAll();\n    }\n\n    function deleteFactor(id){\n      factors[active]=factors[active].filter(f=>f.id!==id);\n      renderAll();\n    }\n\n    function recommendations(){\n      const s=sorted('S')[0];\n      const w=sorted('W')[0];\n      const o=sorted('O')[0];\n      const t=sorted('T')[0];\n      const rec=[];\n\n      if(AND(s,o)){\n        rec.push(['SO \u00b7 Vyu\u017ei\u0165 silu pre pr\u00edle\u017eitos\u0165','Preverte, ako mo\u017eno siln\u00fa str\u00e1nku \u201e'+s.name+'\u201c vyu\u017ei\u0165 pri pr\u00edle\u017eitosti \u201e'+o.name+'\u201c.']);\n      }\n\n      if(AND(w,o)){\n        rec.push(['WO \u00b7 Odstr\u00e1ni\u0165 slabinu pre vyu\u017eitie pr\u00edle\u017eitosti','Preverte, \u010do treba zmeni\u0165 pri slabine \u201e'+w.name+'\u201c, aby firma mohla lep\u0161ie vyu\u017ei\u0165 pr\u00edle\u017eitos\u0165 \u201e'+o.name+'\u201c.']);\n      }\n\n      if(AND(s,t)){\n        rec.push(['ST \u00b7 Vyu\u017ei\u0165 silu proti hrozbe','Preverte, ako mo\u017eno siln\u00fa str\u00e1nku \u201e'+s.name+'\u201c pou\u017ei\u0165 na zn\u00ed\u017eenie dopadu hrozby \u201e'+t.name+'\u201c.']);\n      }\n\n      if(AND(w,t)){\n        rec.push(['WT \u00b7 Zn\u00ed\u017ei\u0165 zranite\u013enos\u0165','Kombin\u00e1cia slabiny \u201e'+w.name+'\u201c a hrozby \u201e'+t.name+'\u201c m\u00f4\u017ee zvy\u0161ova\u0165 zranite\u013enos\u0165. Zv\u00e1\u017ete opatrenie, ktor\u00e9 t\u00fato v\u00e4zbu oslab\u00ed.']);\n      }\n\n      if(!rec.length){\n        rec.push(['TOWS \u00b7 Dopl\u0148te faktory','Pre zmyslupln\u00e9 TOWS kombin\u00e1cie dopl\u0148te aspo\u0148 jeden intern\u00fd a jeden extern\u00fd faktor.']);\n      }\n\n      const items=allItems();\n      const p=paretoCount(items);\n      if(items.length>=3){\n        rec.push(['Pareto 80\/20',p+' z '+items.length+' faktorov tvor\u00ed hlavn\u00fa \u010das\u0165 zadanej strategickej d\u00f4le\u017eitosti. Prioritizujte: '+items.slice(0,p).map(f=>f.name).join(', ')+'.']);\n      }\n\n      return rec;\n    }\n\n    function renderResults(){\n      const items=allItems();\n      const count=totalCount();\n      const I=ife();\n      const E=efe();\n      const p=paretoCount(items);\n\n      root.querySelector('[data-kpi-count]').textContent=count;\n      root.querySelector('[data-kpi-ife]').textContent=I.toFixed(2);\n      root.querySelector('[data-kpi-efe]').textContent=E.toFixed(2);\n      root.querySelector('[data-kpi-pareto]').textContent=p;\n\n      const internalCount=factors.S.length+factors.W.length;\n      const externalCount=factors.O.length+factors.T.length;\n\n      let diagnosis='Pridajte faktory na vyhodnotenie IFE\/EFE a TOWS kombin\u00e1ci\u00ed.';\n\n      if(internalCount&&externalCount){\n        const internalText=I>=2.5?'silnej\u0161iu intern\u00fa poz\u00edciu':'slab\u0161iu intern\u00fa poz\u00edciu';\n        const externalText=E>=2.5?'nadpriemern\u00fa schopnos\u0165 reagova\u0165 na extern\u00e9 prostredie':'slab\u0161iu schopnos\u0165 reagova\u0165 na extern\u00e9 prostredie';\n        diagnosis='IFE '+I.toFixed(2)+' ukazuje '+internalText+'; EFE '+E.toFixed(2)+' ukazuje '+externalText+'. TOWS smery ni\u017e\u0161ie vznikaj\u00fa z konkr\u00e9tnych kombin\u00e1ci\u00ed faktorov, nie z kvadrantu IFE \u00d7 EFE.';\n      }else if(internalCount){\n        diagnosis='IFE '+I.toFixed(2)+' je mo\u017en\u00e9 vyhodnoti\u0165. Pre EFE a TOWS dopl\u0148te pr\u00edle\u017eitosti alebo hrozby.';\n      }else if(externalCount){\n        diagnosis='EFE '+E.toFixed(2)+' je mo\u017en\u00e9 vyhodnoti\u0165. Pre IFE a TOWS dopl\u0148te siln\u00e9 alebo slab\u00e9 str\u00e1nky.';\n      }\n\n      root.querySelector('[data-diagnosis]').textContent=diagnosis;\n\n      const matrix=root.querySelector('[data-matrix]');\n      matrix.innerHTML='';\n\n      CATS.forEach(c=>{\n        const box=document.createElement('div');\n        box.className='str9-swot-box';\n        box.innerHTML=\n          '<div class=\"str9-swot-box-head\">'+\n            '<div class=\"str9-swot-box-id\" style=\"background:'+c.color+'\">'+c.id+'<\/div>'+\n            '<div><div class=\"str9-swot-box-title\">'+c.label+'<\/div><div style=\"font-size:11px;color:var(--muted)\">\u03a3 '+sum(factors[c.id]).toFixed(2)+'<\/div><\/div>'+\n          '<\/div>';\n\n        const list=sorted(c.id);\n        if(!list.length){\n          const empty=document.createElement('div');\n          empty.className='str9-swot-empty';\n          empty.textContent='\u017diadne faktory.';\n          box.appendChild(empty);\n        }else{\n          list.forEach((f,i)=>{\n            const row=document.createElement('div');\n            row.className='str9-swot-mini';\n            row.innerHTML=\n              '<span style=\"color:'+c.color+'\">'+(i+1)+'.<\/span>'+\n              '<strong>'+esc(f.name)+'<\/strong>'+\n              '<small>'+score(f).toFixed(2)+'<\/small>';\n            box.appendChild(row);\n          });\n        }\n\n        matrix.appendChild(box);\n      });\n\n      const table=root.querySelector('[data-table]');\n      if(!items.length){\n        table.innerHTML='<div class=\"str9-swot-empty\">Pridajte faktory na zobrazenie prior\u00edt.<\/div>';\n      }else{\n        table.innerHTML=\n          '<div class=\"str9-swot-row head\"><span>#<\/span><span>Faktor<\/span><span>Typ<\/span><span>V\u00e1ha<\/span><span>Pr\u00edspevok<\/span><\/div>'+\n          items.map((f,i)=>\n            '<div class=\"str9-swot-row\">'+\n              '<span>'+(i+1)+'<\/span>'+\n              '<span class=\"name\">'+esc(f.name)+'<\/span>'+\n              '<span style=\"color:'+f.cat.color+';font-weight:900\">'+f.cat.id+'<\/span>'+\n              '<span>'+f.weight+'<\/span>'+\n              '<span>'+score(f).toFixed(2)+'<\/span>'+\n            '<\/div>'\n          ).join('');\n      }\n\n      const recBox=root.querySelector('[data-recs]');\n      recBox.innerHTML=recommendations().map(r=>\n        '<div class=\"str9-swot-rec\"><strong>'+r[0]+'<\/strong><p>'+esc(r[1])+'<\/p><\/div>'\n      ).join('');\n\n      progress.style.width=Math.min(100,Math.round(count\/12*100))+'%';\n      progressText.textContent=count+' faktorov';\n      exportBtn.disabled=count===0;\n      exportBig.style.display=count?'block':'none';\n      fillHint.textContent=count?count+' faktorov \u00b7 IFE '+I.toFixed(2)+' \u00b7 EFE '+E.toFixed(2):'Pridajte prv\u00fd faktor v\u013eavo \u2192';\n    }\n\n    function renderAll(){\n      buildTabs();\n      renderPanel();\n      renderResults();\n    }\n\n    function exportPDF(){\n      if(!window.jspdf||!window.jspdf.jsPDF){\n        if(!root.dataset.jspdfLoading){\n          root.dataset.jspdfLoading='true';\n          const s=document.createElement('script');\n          s.src='https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js';\n          s.onload=function(){\n            root.dataset.jspdfLoading='false';\n            exportPDF();\n          };\n          s.onerror=function(){\n            root.dataset.jspdfLoading='false';\n            alert('Kni\u017enica PDF sa nena\u010d\u00edtala. Skontrolujte, \u010di ju WordPress alebo bezpe\u010dnostn\u00fd plugin neblokuje.');\n          };\n          document.head.appendChild(s);\n        }\n        return;\n      }\n\n      const jsPDF=window.jspdf.jsPDF;\n      const doc=new jsPDF({orientation:'portrait',unit:'mm',format:'a4'});\n      const items=allItems();\n\n      function clean(text){\n        return (text||'')\n          .replace(\/[\u00e1\u00e0\u00e2\u00e4]\/g,'a').replace(\/[\u00c1\u00c0\u00c2\u00c4]\/g,'A')\n          .replace(\/[\u010d]\/g,'c').replace(\/[\u010c]\/g,'C')\n          .replace(\/[\u010f]\/g,'d').replace(\/[\u010e]\/g,'D')\n          .replace(\/[\u00e9\u011b\u00e8\u00ea\u00eb]\/g,'e').replace(\/[\u00c9\u011a\u00c8\u00ca\u00cb]\/g,'E')\n          .replace(\/[\u00ed\u00ec\u00ee\u00ef]\/g,'i').replace(\/[\u00cd\u00cc\u00ce\u00cf]\/g,'I')\n          .replace(\/[\u0148]\/g,'n').replace(\/[\u0147]\/g,'N')\n          .replace(\/[\u00f3\u00f2\u00f4\u00f6]\/g,'o').replace(\/[\u00d3\u00d2\u00d4\u00d6]\/g,'O')\n          .replace(\/[\u0159]\/g,'r').replace(\/[\u0158]\/g,'R')\n          .replace(\/[\u0161]\/g,'s').replace(\/[\u0160]\/g,'S')\n          .replace(\/[\u0165]\/g,'t').replace(\/[\u0164]\/g,'T')\n          .replace(\/[\u00fa\u016f\u00f9\u00fb\u00fc]\/g,'u').replace(\/[\u00da\u016e\u00d9\u00db\u00dc]\/g,'U')\n          .replace(\/[\u00fd\u00ff]\/g,'y').replace(\/[\u00dd\u0178]\/g,'Y')\n          .replace(\/[\u017e]\/g,'z').replace(\/[\u017d]\/g,'Z')\n          .replace(\/[\u2013\u2014]\/g,'-')\n          .replace(\/[\u201e\u201c]\/g,'\"')\n          .replace(\/[\u2019]\/g,\"'\");\n      }\n\n      doc.setFillColor(255,255,255);\n      doc.rect(0,0,210,297,'F');\n\n      doc.setFillColor(232,8,15);\n      doc.rect(0,0,210,18,'F');\n\n      doc.setTextColor(255,255,255);\n      doc.setFont('helvetica','bold');\n      doc.setFontSize(12);\n      doc.text('STRATE9Y | SWOT + IFE\/EFE',14,11.5);\n\n      doc.setTextColor(17,17,17);\n      doc.setFontSize(18);\n      doc.text('SWOT analyza',14,32);\n\n      doc.setFontSize(10);\n      doc.setFont('helvetica','normal');\n      doc.text('IFE: '+ife().toFixed(2)+'   EFE: '+efe().toFixed(2)+'   Pareto: '+paretoCount(items),14,42);\n\n      let y=56;\n      items.forEach((f,i)=>{\n        if(y>270){\n          doc.addPage();\n          y=20;\n        }\n        doc.setFont('helvetica','bold');\n        doc.setFontSize(9);\n        doc.text((i+1)+'. '+clean(f.name),14,y);\n        doc.setFont('helvetica','normal');\n        doc.setFontSize(8);\n        doc.text(clean(f.cat.label)+' | vaha '+f.weight+' | rating '+f.rating+' | prispevok IFE\/EFE '+score(f).toFixed(2),14,y+5);\n        y+=13;\n      });\n\n      doc.setFontSize(7);\n      doc.setTextColor(90,90,90);\n      doc.text('Vytvorene pomocou nastrojov STRATE9Y - strate9y.com\/sk\/strategicke-nastroje\/swot-analyza-online\/',105,290,{align:'center'});\n\n      doc.save('STRATE9Y-SWOT-analyza.pdf');\n    }\n\n    exportBtn.addEventListener('click',exportPDF);\n    exportBig.addEventListener('click',exportPDF);\n\n    renderAll();\n  }\n\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded',startSwot);\n  }else{\n    startSwot();\n  }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>STRATE9Y\u00ae n\u00e1stroje \u00b7 SWOT anal\u00fdza online + IFE\/EFE SWOT anal\u00fdza : Interakt\u00edvny online n\u00e1stroj. Zadajte siln\u00e9 a slab\u00e9 str\u00e1nky, pr\u00edle\u017eitosti [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9271,"parent":33986,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_eb_attr":"","_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-34151","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"thumbnail":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y-150x150.jpg",150,150,true],"medium":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y-300x300.jpg",300,300,true],"medium_large":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"large":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"1536x1536":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false],"2048x2048":["https:\/\/strate9y.com\/wp-content\/uploads\/swot-cz-diagram-strate9y.jpg",500,500,false]},"uagb_author_info":{"display_name":"Hana Krchov\u00e1","author_link":"https:\/\/strate9y.com\/sk\/autor\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"STRATE9Y\u00ae n\u00e1stroje \u00b7 SWOT anal\u00fdza online + IFE\/EFE SWOT anal\u00fdza : Interakt\u00edvny online n\u00e1stroj. Zadajte siln\u00e9 a slab\u00e9 str\u00e1nky, pr\u00edle\u017eitosti [&hellip;]","_links":{"self":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/34151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/comments?post=34151"}],"version-history":[{"count":21,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/34151\/revisions"}],"predecessor-version":[{"id":39158,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/34151\/revisions\/39158"}],"up":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/pages\/33986"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/media\/9271"}],"wp:attachment":[{"href":"https:\/\/strate9y.com\/sk\/wp-json\/wp\/v2\/media?parent=34151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}