{"id":97,"date":"2025-09-29T11:42:16","date_gmt":"2025-09-29T11:42:16","guid":{"rendered":"https:\/\/zentrix.co.il\/?page_id=97"},"modified":"2025-11-03T10:52:06","modified_gmt":"2025-11-03T10:52:06","slug":"%d7%9c%d7%a4%d7%a0%d7%99-%d7%94%d7%a6%d7%a2%d7%aa-%d7%9e%d7%97%d7%99%d7%a8","status":"publish","type":"page","link":"https:\/\/zentrix.co.il\/?page_id=97","title":{"rendered":"\u05d9\u05e6\u05d9\u05e8\u05ea \u05d4\u05e6\u05e2\u05ea \u05de\u05d7\u05d9\u05e8"},"content":{"rendered":"<div id=\"pl-97\"  class=\"panel-layout panel-is-rtl\" ><div id=\"pg-97-0\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-97-0\" data-stretch-type=\"full-width-stretch\" ><div id=\"pgc-97-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-97-0-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"0\" ><div class=\"textwidget custom-html-widget\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n\n<style>\n\t\n\t\/* \u05d8\u05e7\u05e1\u05d8\u05d9\u05dd \u05d7\u05d5\u05e4\u05e9\u05d9\u05d9\u05dd: \u05d9\u05de\u05d9\u05df+RTL *\/\n.login-body textarea,\n.login-body input[type=\"text\"] {\n  direction: rtl;\n  text-align: right;\n  unicode-bidi: plaintext; \/* \u05de\u05d5\u05e0\u05e2 \"\u05d1\u05dc\u05d2\u05df\" \u05e2\u05dd \u05ea\u05d5\u05d5\u05d9\u05dd \u05dc\u05d5\u05e2\u05d6\u05d9\u05d9\u05dd\/\u05e1\u05d9\u05de\u05e0\u05d9\u05dd *\/\n}\n\n\/* \u05ea\u05d9\u05e7\u05d5\u05df \u05e0\u05e7\u05d5\u05d3\u05ea\u05d9 \u05dc\u05e9\u05d3\u05d4 \u05ea\u05d0\u05d5\u05e8 \u05d4\u05e7\u05de\u05e4\u05d9\u05d9\u05df *\/\n\/* \u05ea\u05d9\u05e7\u05d5\u05df \u05ea\u05e6\u05d5\u05d2\u05d4: \u05e9\u05d5\u05de\u05e8 \u05e8\u05e7 \u05de\u05e2\u05d1\u05e8\u05d9 \u05e9\u05d5\u05e8\u05d4 \u05e9\u05d4\u05d5\u05d6\u05e0\u05d5 \u05d9\u05d3\u05e0\u05d9\u05ea *\/\n#description_field{\n  direction: rtl;\n  text-align: right;\n  unicode-bidi: plaintext;\n\n  \/* \u05d7\u05e9\u05d5\u05d1: \u05dc\u05d0 \u05dc\u05e9\u05d1\u05d5\u05e8 \u05db\u05dc \u05de\u05d9\u05dc\u05d4! *\/\n  white-space: pre-line;   \/* \u05e9\u05d5\u05de\u05e8 \\n \u05d1\u05dc\u05d1\u05d3 *\/\n  overflow-wrap: normal;   \/* \u05de\u05d1\u05d8\u05dc wrap \u05d0\u05d2\u05e8\u05e1\u05d9\u05d1\u05d9 *\/\n  word-break: normal;      \/* \u05de\u05d1\u05d8\u05dc break-word *\/\n\n  line-height: 1.5;\n}\n\t\n\t\n.login-body input,\n.login-body textarea,\n.login-body select {\n  font-size: 16px !important;\n  touch-action: manipulation; \/* \u05de\u05d5\u05e0\u05e2 \u05e4\u05d5\u05e7\u05d5\u05e1 \u05db\u05e4\u05d5\u05dc \u05d1\u05e1\u05e4\u05d0\u05e8\u05d9 *\/\n}\n\t\n.login-card {\n  background: #fff;\n  width: 350px;\n  border-radius: 15px;\n  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);\n  overflow: hidden;\n  text-align: center;\n  z-index: 10;\n  margin-top: 20px;\n}\n\t\n\/* \u05d1\u05d9\u05d8\u05d5\u05dc \u05d6\u05d5\u05dd \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9 \u05d1\u05de\u05d5\u05d1\u05d9\u05d9\u05dc \u05e2\u05dc \u05e9\u05d3\u05d5\u05ea *\/\ninput, select, textarea {\n  font-size: 16px !important;  \/* \u05d3\u05e4\u05d3\u05e4\u05e0\u05d9\u05dd \u05e0\u05d5\u05e2\u05dc\u05d9\u05dd \u05d6\u05d5\u05dd \u05d0\u05dd \u05d4\u05e4\u05d5\u05e0\u05d8 \u05e7\u05d8\u05df \u05de\u05be16px *\/\n  touch-action: manipulation;\n}\n\n\/* \u05dc\u05de\u05e0\u05d5\u05e2 pinch zoom *\/\nhtml, body { touch-action: pan-x pan-y; }\n\t\n.loader-overlay {\n  display: none !important;\n  position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n  background: rgba(0,0,0,0.6); z-index: 9999;\n  align-items: center; justify-content: center;\n}\n.loader {\n  border: 5px solid #f3f3f3; border-top: 5px solid #6c5ce7;\n  border-radius: 50%; width: 60px; height: 60px; animation: spin 1s linear infinite;\n}\n@keyframes spin { to { transform: rotate(360deg); } }\n\t\n\t\n\t\n\t.category-item textarea {\n  width: 250px;\n  height: 70px;\n  text-align: center;\n  font-size: 20px;\n  font-weight: 600;\n  direction: rtl;\n  resize: none;\n  overflow-wrap: break-word;\n  white-space: pre-wrap;\n  background: #000;\n  color: #fff;\n  border: none;\n  border-radius: 5px;\n  padding: 4px;\n  box-sizing: border-box;\n}\n\n\t\n\t\t\n\n\t\n<\/style>\n\n<div class=\"contain\">\n  <div class=\"wave\"><\/div><div class=\"wave\"><\/div><div class=\"wave\"><\/div>\n\n  <div class=\"login-card\">\n    <div class=\"login-header\"><h2>\u05d8\u05d5\u05e4\u05e1 \u05d9\u05e6\u05d9\u05e8\u05ea \u05e7\u05de\u05e4\u05d9\u05d9\u05df<\/h2><\/div>\n    <div class=\"login-body\">\n      <form id=\"campaignForm\">\n        <!-- \u05e4\u05e8\u05d8\u05d9 \u05d1\u05e1\u05d9\u05e1 -->\n        <label>\u05dc\u05db\u05d1\u05d5\u05d3<\/label><input type=\"text\" id=\"to_field\">\n        <label>\u05ea\u05d0\u05e8\u05d9\u05da<\/label><input type=\"date\" id=\"date_field\">\n        <label>\u05de\u05d0\u05ea<\/label><input type=\"text\" id=\"from_field\">\n        <label>\u05d8\u05dc\u05e4\u05d5\u05df<\/label><input type=\"tel\" id=\"phone_field\" inputmode=\"numeric\">\n        <label>\u05d3\u05d5\u05d0\"\u05dc<\/label><input type=\"email\" id=\"email_field\">\n        <label>\u05e0\u05d5\u05e9\u05d0<\/label><input type=\"text\" id=\"subject_field\">\n\n        <label>\u05ea\u05d9\u05d0\u05d5\u05e8 \u05e7\u05de\u05e4\u05d9\u05d9\u05df<\/label><textarea id=\"description_field\" rows=\"4\"><\/textarea>\n\n        <!-- \u05e7\u05d8\u05d2\u05d5\u05e8\u05d9\u05d5\u05ea \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd -->\n        <h3>\u05ea\u05de\u05d4\u05d9\u05dc \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd:<\/h3>\n        <div class=\"category-group\">\n            <div class=\"category-item\">\n    <label for=\"cat4\">\u05ea\u05d5\u05e6\u05e8\u05d9\u05dd \u05e4\u05e8 \u05de\u05e9\u05e4\u05d9\u05e2\u05df<\/label>\n    <input type=\"text\" id=\"cat4\" placeholder=\"\u05ea\u05d5\u05e6\u05e8\u05d9\u05dd \u05e4\u05e8 \u05de\u05e9\u05e4\u05d9\u05e2\u05df\">\n  <\/div>\n\n  <div class=\"category-item\">\n  <label for=\"cat3\">\u05ea\u05d7\u05d5\u05de\u05d9 \u05e2\u05e0\u05d9\u05d9\u05df<\/label>\n  <input id=\"cat3\" placeholder=\"\u05ea\u05d7\u05d5\u05de\u05d9 \u05e2\u05e0\u05d9\u05d9\u05df\" rows=\"2\" maxlength=\"60\">\n<\/div>\n\n  <div class=\"category-item\">\n    <label for=\"cat2\">\u05d0\u05d6\u05d5\u05e8\u05d9 \u05de\u05d2\u05d5\u05e8\u05d9\u05dd<\/label>\n    <input type=\"text\" id=\"cat2\" placeholder=\"\u05d0\u05d6\u05d5\u05e8\u05d9 \u05de\u05d2\u05d5\u05e8\u05d9\u05dd\">\n  <\/div>\n\n  <div class=\"category-item\">\n    <label for=\"cat1\">\u05d2\u05d9\u05dc\u05d0\u05d9\u05dd<\/label>\n    <input type=\"text\" id=\"cat1\" placeholder=\"\u05d2\u05d9\u05dc\u05d0\u05d9\u05dd\">\n  <\/div>\n\n        <\/div>\n\n        <!-- \u05e7\u05d1\u05d5\u05e6\u05d4 2 -->\n        <h3>\u05db\u05de\u05d5\u05ea \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd \u05d5\u05ea\u05d5\u05e6\u05e8\u05d9\u05dd:<\/h3>\n        <div class=\"category-group\">\n\t\t  <div class=\"category-item\">\n\t\t\t<label for=\"cat8\">\u05de\u05e1\u05f3 \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd<\/label>\n\t\t\t<input type=\"number\" inputmode=\"numeric\" pattern=\"[0-9]*\" id=\"cat8\" placeholder=\"\u05de\u05e1\u05f3 \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd\">\n\t\t  <\/div>\n\n\t\t  <div class=\"category-item\">\n\t\t\t<label for=\"cat7\">\u05de\u05e1\u05f3 \u05e1\u05d8\u05d5\u05e8\u05d9\u05d6<\/label>\n\t\t\t<input type=\"number\" inputmode=\"numeric\" pattern=\"[0-9]*\" id=\"cat7\" placeholder=\"\u05de\u05e1\u05f3 \u05e1\u05d8\u05d5\u05e8\u05d9\u05d6\">\n\t\t  <\/div>\n\n\t\t  <div class=\"category-item\">\n\t\t\t<label for=\"cat6\">\u05de\u05e1\u05f3 \u05e1\u05e8\u05d8\u05d5\u05e0\u05d9\u05dd \u05d1\u05e4\u05d9\u05d3<\/label>\n\t\t\t<input type=\"number\" inputmode=\"numeric\" pattern=\"[0-9]*\" id=\"cat6\" placeholder=\"\u05de\u05e1\u05f3 \u05e1\u05e8\u05d8\u05d5\u05e0\u05d9\u05dd \u05d1\u05e4\u05d9\u05d3\">\n\t\t  <\/div>\n\n\t\t  <div class=\"category-item\">\n\t\t\t<label for=\"cat5\">\u05e1\u05d4\u05f4\u05db \u05ea\u05d5\u05e6\u05e8\u05d9\u05dd<\/label>\n\t\t\t<input type=\"number\" inputmode=\"numeric\" pattern=\"[0-9]*\" id=\"cat5\" placeholder=\"\u05e1\u05d4\u05f4\u05db \u05ea\u05d5\u05e6\u05e8\u05d9\u05dd\">\n\t\t  <\/div>\n\t\t<\/div>\n\n\n        <h3>\u05d9\u05e2\u05d3\u05d9 \u05d7\u05e9\u05d9\u05e4\u05d4 \u05d5\u05d0\u05d9\u05e0\u05d8\u05e8\u05d0\u05e7\u05e6\u05d9\u05d5\u05ea:<\/h3>\n     <div class=\"category-group\">\n\t\t  <label for=\"num1\">\u05de\u05e1\u05f3 \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd<\/label>\n\t\t  <input type=\"text\" id=\"num3\" placeholder=\"\u05de\u05e1\u05f3 \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd\">\n\n\t\t  <label for=\"num2\">\u05de\u05de\u05d5\u05e6\u05e2 \u05e2\u05d5\u05e7\u05d1\u05d9\u05dd<\/label>\n\t\t  <input type=\"text\" id=\"num2\" placeholder=\"\u05de\u05de\u05d5\u05e6\u05e2 \u05e2\u05d5\u05e7\u05d1\u05d9\u05dd\">\n\n\t\t  <label for=\"num3\">\u05e1\u05d4\u05f4\u05db \u05e2\u05d5\u05e7\u05d1\u05d9\u05dd<\/label>\n\t\t  <input type=\"text\" id=\"num1\" placeholder=\"\u05e1\u05d4\u05f4\u05db \u05e2\u05d5\u05e7\u05d1\u05d9\u05dd\">\n\n\t\t  <label for=\"num4\">\u05db\u05de\u05d5\u05ea \u05e8\u05d9\u05dc\u05e1\u05d9\u05dd<\/label>\n\t\t  <input type=\"text\" id=\"num6\" placeholder=\"\u05db\u05de\u05d5\u05ea \u05e8\u05d9\u05dc\u05e1\u05d9\u05dd\">\n\n\t\t  <label for=\"num5\">\u05de\u05de\u05d5\u05e6\u05e2 \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e8\u05d9\u05dc<\/label>\n\t\t  <input type=\"text\" id=\"num5\" placeholder=\"\u05de\u05de\u05d5\u05e6\u05e2 \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e8\u05d9\u05dc\">\n\n\t\t  <label for=\"num6\">\u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e8\u05d9\u05dc\u05e1\u05d9\u05dd<\/label>\n\t\t  <input type=\"text\" id=\"num4\" placeholder=\"\u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e8\u05d9\u05dc\u05e1\u05d9\u05dd\">\n\n\t\t  <label for=\"num7\">\u05db\u05de\u05d5\u05ea \u05e1\u05d8\u05d5\u05e8\u05d9\u05d6<\/label>\n\t\t  <input type=\"text\" id=\"num9\" placeholder=\"\u05db\u05de\u05d5\u05ea \u05e1\u05d8\u05d5\u05e8\u05d9\u05d6\">\n\n\t\t  <label for=\"num8\">\u05de\u05de\u05d5\u05e6\u05e2 \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e1\u05d8\u05d5\u05e8\u05d9<\/label>\n\t\t  <input type=\"text\" id=\"num8\" placeholder=\"\u05de\u05de\u05d5\u05e6\u05e2 \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e1\u05d8\u05d5\u05e8\u05d9\">\n\n\t\t  <label for=\"num9\">\u05e1\u05d4\u05f4\u05db \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e1\u05d8\u05d5\u05e8\u05d9<\/label>\n\t\t  <input type=\"text\" id=\"num7\" placeholder=\"\u05e1\u05d4\u05f4\u05db \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e1\u05d8\u05d5\u05e8\u05d9\">\n\t\t<\/div>\n\n        <h3>\u05e1\u05d4\u05f4\u05db \u05d7\u05e9\u05d9\u05e4\u05d4 \u05d1\u05e7\u05de\u05e4\u05d9\u05d9\u05df<\/h3>\n        <input type=\"number\" id=\"total_exposure\">\n\t\t  \n\t\t  <label>\u05e2\u05dc\u05d5\u05ea \u05d4\u05e7\u05de\u05e4\u05d9\u05d9\u05df<\/label>\n\t\t<textarea id=\"campaign_cost_field\" rows=\"2\" placeholder=\"\u05dc\u05d3\u05d5\u05d2\u05de\u05d4: 12,000 \u20aa + \u05de\u05e2\u05f4\u05de \/ \u05e4\u05d9\u05e8\u05d5\u05d8 \u05d7\u05d1\u05d9\u05dc\u05ea \u05e4\u05e8\u05e1\u05d5\u05dd\"><\/textarea>\n\n\n        <label>\u05d4\u05e2\u05e8\u05d5\u05ea<\/label><textarea id=\"notes_field\" rows=\"3\"><\/textarea>\n        <br><br>\n        <button type=\"button\" class=\"btn btn-pdf\">\u05e6\u05e8\u05d5 PDF \u05dc\u05e9\u05dc\u05d9\u05d7\u05d4 \u05dc\u05dc\u05e7\u05d5\u05d7 <\/button>\n        <button type=\"button\" class=\"btn btn-reset\">\ud83c\udf00 \u05e0\u05e7\u05d4 \u05d8\u05d5\u05e4\u05e1<\/button>\n      <\/form>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div id=\"loader-overlay\"><div class=\"loader\"><\/div><\/div>\n\n<script src=\"https:\/\/unpkg.com\/pdf-lib\/dist\/pdf-lib.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@pdf-lib\/fontkit@0.0.4\/dist\/fontkit.umd.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@11\"><\/script>\n\n<script>\nfunction showLoader(){ document.getElementById(\"loader-overlay\").style.display=\"flex\"; }\nfunction hideLoader(){ document.getElementById(\"loader-overlay\").style.display=\"none\"; }\n\nfunction splitText(text, max = 60){\n  const out = [];\n  const paras = String(text || \"\").split(\/\\r?\\n\/); \/\/ \u05e9\u05d5\u05de\u05e8 \u05de\u05e2\u05d1\u05e8\u05d9 \u05e9\u05d5\u05e8\u05d4 \u05d9\u05d3\u05e0\u05d9\u05d9\u05dd \u05d1\u05dc\u05d1\u05d3\n\n  for (const para of paras){\n    const words = para.trim().split(\/\\s+\/);\n    let line = \"\";\n    for (const w of words){\n      if (w.length > max){\n        if (line) { out.push(line); line = \"\"; }\n        for (let i = 0; i < w.length; i += max) out.push(w.slice(i, i + max));\n        continue;\n      }\n      const candidate = line ? (line + \" \" + w) : w;\n      if (candidate.length > max){\n        out.push(line);\n        line = w;\n      } else {\n        line = candidate;\n      }\n    }\n    if (line) out.push(line);\n  }\n\n\n  \/\/ \u05d4\u05e1\u05e8 \u05e8\u05d5\u05d5\u05d7 \u05de\u05d9\u05d5\u05ea\u05e8 \u05d1\u05e1\u05d5\u05e3\n  while (out.length && out[out.length - 1] === \" \") out.pop();\n  return out;\n}\n\n\n\n\/\/ ===== SweetAlert \u05ea\u05e6\u05d5\u05d2\u05ea \u05e4\u05e2\u05d5\u05dc\u05d5\u05ea =====\n\nfunction showPdfActions(url) {\n  const clientPage = \"https:\/\/zentrix.co.il\/?page_id=75\"; \/\/ \u05e2\u05de\u05d5\u05d3 \u05d4\u05dc\u05e7\u05d5\u05d7\n  const formId = Date.now(); \/\/ \u05de\u05d6\u05d4\u05d4 \u05d9\u05d9\u05d7\u05d5\u05d3\u05d9\n  const linkToSend = clientPage + \"&form_id=\" + formId + \"&pdf=\" + url; \/\/ \u05dc\u05d0 \u05dc\u05e7\u05d5\u05d3\u05d3 \u05db\u05d0\u05df!\n\n  Swal.fire({\n    title: '\u05d1\u05d7\u05e8 \u05e4\u05e2\u05d5\u05dc\u05d4',\n    html: `\n      <a href=\"#\" id=\"btn-open-pdf\" class=\"swal-btn swal-pdf\">\ud83d\udcc4 \u05e4\u05ea\u05d7 PDF<\/a>\n      <a href=\"https:\/\/api.whatsapp.com\/send?text=${encodeURIComponent(\"\ud83d\udcc4 \u05dc\u05e6\u05e4\u05d9\u05d9\u05d4 \u05d1\u05e7\u05de\u05e4\u05d9\u05d9\u05df \u05d5\u05de\u05d9\u05dc\u05d5\u05d9 \u05e4\u05e8\u05d8\u05d9\u05dd:\\n\" + linkToSend)}\"\n         target=\"_blank\" class=\"swal-btn swal-wa\">\u05e9\u05dc\u05d7 \u05d1\u05d5\u05d5\u05d0\u05d8\u05e1\u05d0\u05e4<\/a>\n      <a href=\"mailto:?subject=${encodeURIComponent(\"PDF \u05e7\u05de\u05e4\u05d9\u05d9\u05df\")}&body=${encodeURIComponent(\"\ud83d\udcc4 \u05dc\u05e6\u05e4\u05d9\u05d9\u05d4 \u05d1\u05e7\u05de\u05e4\u05d9\u05d9\u05df \u05d5\u05de\u05d9\u05dc\u05d5\u05d9 \u05e4\u05e8\u05d8\u05d9\u05dd:\\n\\n\" + linkToSend)}\"\n         class=\"swal-btn swal-mail\">\u05e9\u05dc\u05d7 \u05d1\u05de\u05d9\u05d9\u05dc<\/a>\n      <a href=\"#\" id=\"btn-copy-link\" class=\"swal-btn swal-copy\">\ud83d\udccb \u05d4\u05e2\u05ea\u05e7 \u05e7\u05d9\u05e9\u05d5\u05e8<\/a>\n    `,\n    showConfirmButton: false,\n    showCloseButton: true,\n    didRender: () => {\n      \/\/ \u05db\u05e4\u05ea\u05d5\u05e8 \u05e4\u05ea\u05d9\u05d7\u05ea PDF\n      document.getElementById(\"btn-open-pdf\").addEventListener(\"click\", e => {\n        e.preventDefault();\n        openPdfPreview(url);\n      });\n\n      \/\/ \u05db\u05e4\u05ea\u05d5\u05e8 \u05d4\u05e2\u05ea\u05e7 \u05e7\u05d9\u05e9\u05d5\u05e8\n      document.getElementById(\"btn-copy-link\").addEventListener(\"click\", async e => {\n        e.preventDefault();\n        try {\n          await navigator.clipboard.writeText(linkToSend);\n          Swal.fire({\n            icon: 'success',\n            title: '\u2714\ufe0f \u05d4\u05d5\u05e2\u05ea\u05e7',\n            text: '\u05d4\u05e7\u05d9\u05e9\u05d5\u05e8 \u05d4\u05d5\u05e2\u05ea\u05e7 \u05dc\u05dc\u05d5\u05d7',\n            timer: 1500,\n            showConfirmButton: false\n          });\n        } catch {\n          Swal.fire({\n            icon: 'error',\n            title: '\u05e9\u05d2\u05d9\u05d0\u05d4',\n            text: '\u05dc\u05d0 \u05d4\u05e6\u05dc\u05d7\u05ea\u05d9 \u05dc\u05d4\u05e2\u05ea\u05d9\u05e7, \u05e0\u05e1\u05d4 \u05d9\u05d3\u05e0\u05d9\u05ea',\n            timer: 2000,\n            showConfirmButton: false\n          });\n        }\n      });\n    }\n  });\n}\n\n\/\/ \u05e2\u05d9\u05e6\u05d5\u05d1 \u05d4\u05db\u05e4\u05ea\u05d5\u05e8\u05d9\u05dd (\u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05d5\u05e1\u05d9\u05e3 \u05e8\u05e7 \u05e4\u05e2\u05dd \u05d0\u05d7\u05ea \u05d1\u05d0\u05ea\u05e8)\nconst style = document.createElement('style');\nstyle.textContent = `\n.swal-btn {\n  display:block;\n  margin:8px 0;\n  padding:12px;\n  text-align:center;\n  border-radius:8px;\n  color:#fff;\n  font-size:16px;\n  text-decoration:none;\n  font-weight:600;\n}\n.swal-pdf { background:#6c5ce7; }    \/* \u05e1\u05d2\u05d5\u05dc *\/\n.swal-wa { background:#00b894; }     \/* \u05d9\u05e8\u05d5\u05e7 *\/\n.swal-mail { background:#0984e3; }   \/* \u05db\u05d7\u05d5\u05dc *\/\n.swal-copy { background:#d63031; }   \/* \u05d0\u05d3\u05d5\u05dd *\/\n`;\ndocument.head.appendChild(style);\n\n\n\t\n\t\n\t\n\t\n\nfunction openPdfPreview(url){ showFullPdf(url); }\n\nfunction showFullPdf(url) {\n  const overlay = document.createElement(\"div\");\n  overlay.id = \"pdf-fullscreen\";\n  Object.assign(overlay.style,{\n    position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",background:\"rgba(0,0,0,0.9)\",\n    zIndex:9999,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",padding:\"10px\"\n  });\n\n  const closeBtn = document.createElement(\"button\");\n  closeBtn.textContent = \"\u2b05 \u05d7\u05d6\u05d5\u05e8 \u05dc\u05d8\u05d5\u05e4\u05e1\";\n  Object.assign(closeBtn.style,{background:\"#6c5ce7\",color:\"#fff\",border:\"none\",borderRadius:\"8px\",\n    padding:\"10px 20px\",fontSize:\"16px\",cursor:\"pointer\",marginBottom:\"15px\"});\n  closeBtn.addEventListener(\"click\", () => {\n    overlay.remove();\n    if (typeof Swal !== \"undefined\" && Swal.isVisible()) Swal.close();\n    document.querySelector(\".login-card\")?.scrollIntoView({ behavior: \"smooth\" });\n  });\n\n  const isIOS = \/iPad|iPhone|iPod\/.test(navigator.userAgent) && !window.MSStream;\n  const viewer = isIOS ? Object.assign(document.createElement(\"object\"),{type:\"application\/pdf\",data:url})\n                       : Object.assign(document.createElement(\"iframe\"),{src:url});\n  Object.assign(viewer.style,{width:\"100%\",height:\"calc(100% - 60px)\",border:\"none\"});\n\n  overlay.append(closeBtn, viewer);\n  document.body.appendChild(overlay);\n}\n\nfunction resetCampaignForm(){\n  localStorage.removeItem(\"campaignPdfUrl\");\n  document.getElementById(\"campaignForm\").reset();\n  Swal.fire(\"\u2714\ufe0f \u05e0\u05d5\u05e7\u05d4\",\"\u05d4\u05d8\u05d5\u05e4\u05e1 \u05d0\u05d5\u05e4\u05e1 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4\",\"success\");\n}\n\nfunction validateForm(){\n  const required={\n    \"to_field\":\"\u05dc\u05db\u05d1\u05d5\u05d3\",\"date_field\":\"\u05ea\u05d0\u05e8\u05d9\u05da\",\"from_field\":\"\u05de\u05d0\u05ea\",\n    \"phone_field\":\"\u05d8\u05dc\u05e4\u05d5\u05df\",\"email_field\":\"\u05d3\u05d5\u05d0\\\"\u05dc\",\"subject_field\":\"\u05e0\u05d5\u05e9\u05d0\",\n    \"description_field\":\"\u05ea\u05d9\u05d0\u05d5\u05e8 \u05e7\u05de\u05e4\u05d9\u05d9\u05df\",\"total_exposure\":\"\u05e1\u05d4\\\"\u05db \u05d7\u05e9\u05d9\u05e4\u05d4\"\n  };\n  let missing=[];\n  for(const id in required){\n    const el=document.getElementById(id);\n    if(!el||!el.value.trim()) missing.push(required[id]);\n  }\n  if(missing.length>0){\n    Swal.fire(\"\u05e9\u05d2\u05d9\u05d0\u05d4\",\"\u05e0\u05d0 \u05dc\u05de\u05dc\u05d0 \u05d0\u05ea \u05d4\u05e9\u05d3\u05d5\u05ea: \"+missing.join(\", \"),\"warning\");\n    return false;\n  }\n  return true;\n}\n\n\t\nfunction showLoader(){ document.getElementById(\"loader-overlay\").style.display = \"flex\"; }\nfunction hideLoader(){ document.getElementById(\"loader-overlay\").style.display = \"none\"; }\n\n\/\/ \u05d2\u05dc\u05d5\u05d1\u05dc\u05d9 \u2014 \u05d6\u05de\u05d9\u05df \u05dc\u05db\u05dc \u05d4\u05e4\u05d5\u05e0\u05e7\u05e6\u05d9\u05d5\u05ea\nwindow.waitForNextFrame = async function(){\n  return new Promise(r => requestAnimationFrame(() => requestAnimationFrame(r)));\n};\n\t\n\t\/\/ === \u05e4\u05d5\u05e0\u05e7\u05e6\u05d9\u05d5\u05ea \u05e2\u05d6\u05e8 \u05db\u05dc\u05dc\u05d9\u05d5\u05ea ===\nconst LRM = '\\u200E'; \/\/ \u05e1\u05d9\u05de\u05df \u05db\u05d9\u05d5\u05d5\u05e0\u05d9\u05d5\u05ea \u05e9\u05de\u05d0\u05dc-\u05dc\u05d9\u05de\u05d9\u05df \u05dc\u05de\u05e1\u05e4\u05e8\u05d9\u05dd \u05d1\u05ea\u05d5\u05da \u05d8\u05e7\u05e1\u05d8 \u05e2\u05d1\u05e8\u05d9\n\nfunction formatNumber(num){\n  if (num == null) return '';\n  const n = Number(String(num).replace(\/,\/g,'').trim());\n  return isNaN(n) ? String(num) : n.toLocaleString('en-US'); \/\/ 10,000\n}\n\t\nasync function createFirstPdf(){\n  if(!validateForm()) return;\n  showLoader();\n  await new Promise(r => requestAnimationFrame(() => requestAnimationFrame(r)));\n \/\/ \u05e0\u05d5\u05ea\u05df \u05dc\u05e8\u05e0\u05d3\u05e8 \u05dc\u05e7\u05e8\u05d5\u05ea\n\n\t\n\t\n\t\n\t\/\/ \u05ea\u05d9\u05e7\u05d5\u05df \u05e0\u05e7\u05d5\u05d3\u05ea\u05d9 \u05dc\u05e9\u05d3\u05d4 \u05ea\u05d9\u05d0\u05d5\u05e8 \u05d4\u05e7\u05de\u05e4\u05d9\u05d9\u05df (\u05d9\u05d9\u05e9\u05d5\u05e8 RTL \u05d5\u05ea\u05de\u05d9\u05db\u05d4 \u05d1\u05db\u05dc \u05d4\u05ea\u05d5\u05d5\u05d9\u05dd)\ndocument.addEventListener('DOMContentLoaded', function(){\n  const df = document.getElementById('description_field');\n  if(!df) return;\n  df.setAttribute('dir','rtl');\n  df.style.textAlign   = 'right';\n  df.style.unicodeBidi = 'plaintext';\n  df.style.whiteSpace  = 'pre-wrap';\n  df.removeAttribute('maxlength');\n  df.setAttribute('inputmode','text');\n  const observer = new MutationObserver(()=> {\n    df.setAttribute('dir','rtl');\n    df.style.textAlign   = 'right';\n    df.style.unicodeBidi = 'plaintext';\n    df.style.whiteSpace  = 'pre-wrap';\n  });\n  observer.observe(df, { attributes:true, attributeFilter:['style','class','dir'] });\n});\n\t\n\tfunction formatNumber(num){\n  if (num === null || num === undefined) return '';\n  const n = Number(String(num).replace(\/,\/g, ''));\n  return isNaN(n) ? num : n.toLocaleString('en-US');\n}\n\t\n\t\/\/ --- \u05de\u05e4\u05e8\u05d9\u05d3 \u05d0\u05dc\u05e4\u05d9\u05dd \u05d1\u05d6\u05de\u05df \u05d4\u05e7\u05dc\u05d3\u05d4 ---\ndocument.addEventListener('DOMContentLoaded', function(){\n  const fieldsToFormat = ['campaign_cost_field']; \/\/ \u05d4-ID \u05e9\u05dc \u05d4\u05e9\u05d3\u05d4 \u05e2\u05dd \u05d4\u05de\u05e1\u05e4\u05e8\n  fieldsToFormat.forEach(id => {\n    const input = document.getElementById(id);\n    if (!input) return;\n\n    input.addEventListener('input', () => {\n      \/\/ \u05de\u05e1\u05d9\u05e8 \u05db\u05dc \u05ea\u05d5 \u05e9\u05d0\u05d9\u05e0\u05d5 \u05e1\u05e4\u05e8\u05d4 \u05d0\u05d5 \u05e0\u05e7\u05d5\u05d3\u05d4\n      const raw = input.value.replace(\/[^0-9.]\/g, '');\n      if (!raw) return input.value = '';\n\n      \/\/ \u05de\u05d5\u05e1\u05d9\u05e3 \u05e4\u05e1\u05d9\u05e7 \u05db\u05dc 3 \u05e1\u05e4\u05e8\u05d5\u05ea\n      const parts = raw.split('.');\n      parts[0] = parts[0].replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\n      input.value = parts.join('.');\n    });\n  });\n});\n\t\n  \/\/ \u05d1\u05e2\u05d9\u05d8\u05d5\u05ea \u05dc\u05de\u05e7\u05e8\u05d4 \u05e9\u05beCSS \u05d0\u05d9\u05e4\u05e1 \u05d0\u05e0\u05d9\u05de\u05e6\u05d9\u05d5\u05ea (\u05db\u05d5\u05dc\u05dc \u05ea\u05d1\u05e0\u05d9\u05d5\u05ea\/\u05ea\u05d5\u05e1\u05e4\u05d9\u05dd)\n  const spinner = document.querySelector('#loader-overlay .loader');\n  if (spinner) {\n    spinner.style.webkitAnimationPlayState = 'running';\n    spinner.style.animationPlayState = 'running';\n    \/\/ \u201c\u05e8\u05d9\u05e1\u05d8\u201d \u05dc\u05d0\u05e0\u05d9\u05de\u05e6\u05d9\u05d4 \u05d0\u05dd \u05d3\u05e4\u05d3\u05e4\u05df \u05d4\u05e7\u05e4\u05d9\u05d0 \u05d0\u05d5\u05ea\u05d4:\n    spinner.style.webkitAnimation = 'none';\n    spinner.style.animation = 'none';\n    \/\/ \u05d8\u05e8\u05d9\u05e7 \u05e8\u05d9\u05be\u05e4\u05dc\u05d5:\n    \/\/ eslint-disable-next-line no-unused-expressions\n    spinner.offsetHeight;\n    spinner.style.webkitAnimation = 'spin .8s linear infinite';\n    spinner.style.animation = 'spin .8s linear infinite';\n  }\n\n  try {\n\n    const getVal=id=>document.getElementById(id).value||\"\";\n    const toField=getVal(\"to_field\"),dateField=getVal(\"date_field\"),fromField=getVal(\"from_field\"),\n          phoneField=getVal(\"phone_field\"),emailField=getVal(\"email_field\"),subjectField=getVal(\"subject_field\"),\n          descField=getVal(\"description_field\"),notesField=getVal(\"notes_field\"),totalExposure=getVal(\"total_exposure\"), campaignCost = getVal(\"campaign_cost_field\");\n\n    const cats=[];for(let i=1;i<=8;i++)cats.push(getVal(\"cat\"+i));\n    const nums=[];for(let i=1;i<=9;i++)nums.push(getVal(\"num\"+i));\n\n    \/\/ === PDF TEMPLATE ===\n    const templateUrl=\"https:\/\/zentrix.co.il\/wp-content\/uploads\/2025\/10\/PDF_liB2.pdf\"; \n    const existingPdfBytes=await fetch(templateUrl).then(res=>res.arrayBuffer());\n    const pdfDoc=await PDFLib.PDFDocument.load(existingPdfBytes);pdfDoc.registerFontkit(fontkit);\n\n    const fontUrl=\"https:\/\/zentrix.co.il\/wp-content\/uploads\/fonts\/Heebo-Regular.ttf\";\n    const fontBytes=await fetch(fontUrl).then(res=>res.arrayBuffer());\n    const customFont=await pdfDoc.embedFont(fontBytes);\n\n    const pages=pdfDoc.getPages();\n    if(pages.length<4) throw new Error(\"\u05ea\u05d1\u05e0\u05d9\u05ea PDF \u05d7\u05d9\u05d9\u05d1\u05ea \u05dc\u05db\u05dc\u05d5\u05dc 4 \u05e2\u05de\u05d5\u05d3\u05d9\u05dd.\");\n\n    \/\/ Helpers: \u05d9\u05de\u05d9\u05df \u05de\u05d9\u05d5\u05e9\u05e8 + \u05de\u05e8\u05db\u05d6 \u05dc\u05d1\u05df\n    const drawRight = (page, text, xRight, y, size=12)=>{\n      const w = customFont.widthOfTextAtSize(String(text||\"\"), size);\n      page.drawText(String(text||\"\"), { x: xRight - w, y, size, font: customFont, color: PDFLib.rgb(0,0,0) });\n    };\n    const drawCenterWhite = (page, text, cx, cy, size=28)=>{\n      const s = String(text||\"\");\n      const w = customFont.widthOfTextAtSize(s, size);\n      const h = customFont.heightAtSize(size);\n      page.drawText(s, { x: cx - w\/2, y: cy - h\/2, size, font: customFont, color: PDFLib.rgb(1,1,1) });\n    };\n\n    \/\/ ===== \u05e2\u05de\u05d5\u05d3 1 \u2013 \u05e4\u05e8\u05d8\u05d9\u05dd \u05dc\u05d9\u05d3 \u05d4\u05ea\u05d5\u05d5\u05d9\u05d5\u05ea \u05de\u05d9\u05de\u05d9\u05df \u05dc\u05de\u05e2\u05dc\u05d4 =====\n    const p1=pages[0]; const {height:h1, width:w1}=p1.getSize();\n    \/\/ \u05e0\u05e7\u05d5\u05d3\u05d5\u05ea \u05e2\u05d5\u05d2\u05df \u05dc\u05d9\u05de\u05e0\u05d9\u05d5\u05ea (xRight,y) \u2014 \u05d4\u05d5\u05ea\u05d0\u05dd \u05dc\u05e4\u05d9 \u05d4\u05e1\u05e7\u05d9\u05e6\u05d4\n    drawRight(p1, \"\" + toField,      w1 - 60, h1 - 174, 12);\n    const formattedDate = dateField.split(\"-\").reverse().join(\".\");\n\tdrawRight(p1, \"\" + formattedDate, w1 - 60, h1 - 190, 12);\n    drawRight(p1, \"\"+fromField,   w1-60, h1-206, 12);\n    drawRight(p1, \"\"+phoneField, w1-60, h1-223, 12);\n    drawRight(p1, \"\"+emailField, w1-60, h1-239, 12);\n    \/\/ \u05e0\u05d5\u05e9\u05d0 + \u05ea\u05d9\u05d0\u05d5\u05e8 (\u05e0\u05e9\u05d0\u05e8\u05d9\u05dd \u05d1\u05d3\u05e3 1, \u05de\u05ea\u05d7\u05ea)\n    drawRight(p1, \"\" + (subjectField || \"\"), w1 - 60, h1 - 287, 12);\n    \/\/ \u05ea\u05d9\u05d0\u05d5\u05e8 \u05e7\u05de\u05e4\u05d9\u05d9\u05df - \u05de\u05d9\u05d5\u05e9\u05e8 \u05dc\u05d9\u05de\u05d9\u05df\n\tsplitText(\"\" + (descField || \"\"), 70).forEach((line, i) => {\n\t  drawRight(p1, line, w1 - 20, h1 - 500 - (i * 15), 12);\n\t});\n\n\n\n    \/\/ ===== \u05e2\u05de\u05d5\u05d3 2 \u2013 \u05ea\u05de\u05d4\u05d9\u05dc \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd \u05d1\u05ea\u05d5\u05da \u05d4\u05de\u05e8\u05d5\u05d1\u05e2\u05d9\u05dd \u05d4\u05e9\u05d7\u05d5\u05e8\u05d9\u05dd =====\n    const p2=pages[1]; const {width:w2,height:h2}=p2.getSize();\n    \/\/ \u05de\u05e8\u05db\u05d6\u05d9 \u05de\u05e8\u05d5\u05d1\u05e2\u05d9\u05dd: 4 \u05e2\u05de\u05d5\u05d3\u05d5\u05ea x 2 \u05e9\u05d5\u05e8\u05d5\u05ea (\u05db\u05d5\u05d9\u05dc \u05dc\u05e4\u05d9 \u05d4\u05e1\u05e7\u05d9\u05e6\u05d4 \u05e9\u05e9\u05dc\u05d7\u05ea)\n    const catCenters = [\n     [105, 560], [240, 560], [375, 560], [510, 560],\n  \t[105, 320], [240, 320], [375, 320], [510, 320],\n    ];\n    \/\/ 4 \u05d4\u05e7\u05d5\u05d1\u05d9\u05d5\u05ea \u05d4\u05e8\u05d0\u05e9\u05d5\u05e0\u05d5\u05ea \u05d1\u05dc\u05d1\u05d3 \u05e2\u05dd \u05e9\u05d1\u05d9\u05e8\u05ea \u05e9\u05d5\u05e8\u05d4 \u05d7\u05db\u05de\u05d4\ncats.forEach((val, i) => {\n  const text = String(val || \"\").trim();\n  const centerX = catCenters[i][0];\n  const centerY = catCenters[i][1];\n\n  if (i < 4) {\n    \/\/ --- \u05e9\u05d1\u05d9\u05e8\u05ea \u05e9\u05d5\u05e8\u05d4 \u05dc\u05e4\u05d9 \u05d0\u05d5\u05e8\u05da \u05d4\u05d8\u05e7\u05e1\u05d8 ---\n   \/\/ --- \u05e9\u05d1\u05d9\u05e8\u05ea \u05e9\u05d5\u05e8\u05d4 \u05dc\u05e4\u05d9 \u05db\u05de\u05d5\u05ea \u05ea\u05d5\u05d5\u05d9\u05dd \u05e7\u05d1\u05d5\u05e2\u05d4 (\u05e0\u05e0\u05d9\u05d7 18) ---\nconst maxCharsPerLine = 12;\nconst lines = [];\n\nfor (let i = 0; i < text.length; i += maxCharsPerLine) {\n  lines.push(text.substring(i, i + maxCharsPerLine));\n}\n\n\n    let fontSize = 18;\n    if (text.length > 30) fontSize = 10;\n\n    const lineHeight = fontSize + 2;\n    const totalHeight = lines.length * lineHeight;\n    const startY = centerY + totalHeight \/ 2 - lineHeight;\n\n    lines.forEach((line, j) => {\n      drawCenterWhite(p2, line, centerX, startY - j * lineHeight, fontSize);\n    });\n  } else {\n    \/\/ --- \u05e9\u05d0\u05e8 \u05d4\u05e7\u05d5\u05d1\u05d9\u05d5\u05ea \u05db\u05e8\u05d2\u05d9\u05dc ---\n    drawCenterWhite(p2, text, centerX, centerY, 20);\n  }\n});\n\n\n    \/\/ ===== \u05e2\u05de\u05d5\u05d3 3 \u2013 \u05d9\u05e2\u05d3\u05d9 \u05d7\u05e9\u05d9\u05e4\u05d4 \u05d5\u05d0\u05d9\u05e0\u05d8\u05e8\u05d0\u05e7\u05e6\u05d9\u05d5\u05ea (9 \u05de\u05e9\u05d1\u05e6\u05d5\u05ea \u05e9\u05d7\u05d5\u05e8\u05d5\u05ea) + \u05e1\u05d4\u05f4\u05db \u05d1\u05de\u05dc\u05d1\u05e0\u05d9\u05ea \u05d4\u05d5\u05e8\u05d5\u05d3\u05d4 =====\n    const p3=pages[2]; const {width:w3,height:h3}=p3.getSize();\n    \/\/ \u05de\u05e8\u05db\u05d6\u05d9 \u05de\u05e8\u05d5\u05d1\u05e2\u05d9\u05dd: 3 \u05e2\u05de\u05d5\u05d3\u05d5\u05ea x 3 \u05e9\u05d5\u05e8\u05d5\u05ea\n    const numCenters = [\n     \t [175, 560], [310, 560], [445, 560],\n\t\t [175, 380], [310, 380], [445, 380],\n\t\t [175, 210], [310, 210], [445, 210],\n     \n    ];\n    const numsFmt = nums.map(v => v ? formatNumber(v) : \"\");\n\tnumsFmt.forEach((val,i)=> drawCenterWhite(p3, val, numCenters[i][0], numCenters[i][1], 28));\n\n    \/\/ \u05e1\u05d4\u05f4\u05db \u05d7\u05e9\u05d9\u05e4\u05d4 \u05d1\u05e7\u05de\u05e4\u05d9\u05d9\u05df \u2013 \u05dc\u05d9\u05d3 \u05d4\u05de\u05dc\u05d1\u05e0\u05d9\u05ea \u05d4\u05d5\u05e8\u05d5\u05d3\u05d4 (\u05db\u05d5\u05d9\u05dc \u05dc\u05e0\u05e7\u05d5\u05d3\u05d4 \u05d9\u05de\u05e0\u05d9\u05ea-\u05ea\u05d7\u05ea\u05d5\u05e0\u05d4 \u05d1\u05d0\u05d6\u05d5\u05e8)\n   const totalExposureFmt = formatNumber(totalExposure);\np3.drawText(String(totalExposureFmt), {\n  x:180, y:90, size:16, font:customFont, color:PDFLib.rgb(1,1,1)\n});\n\n \n\n   \/\/ ===== \u05e2\u05de\u05d5\u05d3 4 =====\nconst p4 = pages[3];\nconst {width:w4, height:h4} = p4.getSize();\n\n\/\/ ===== \u05e2\u05de\u05d5\u05d3 4 \u2013 \u05e2\u05dc\u05d5\u05ea \u05d4\u05e7\u05de\u05e4\u05d9\u05d9\u05df =====\n\n\/\/ \u05e4\u05d5\u05e0\u05e7\u05e6\u05d9\u05d4 \u05dc\u05ea\u05d9\u05e7\u05d5\u05df \u05db\u05d9\u05d5\u05d5\u05df \u05d4\u05de\u05e1\u05e4\u05e8\u05d9\u05dd \u05d1\u05d8\u05e7\u05e1\u05d8\u05d9\u05dd \u05d1\u05e2\u05d1\u05e8\u05d9\u05ea\nfunction fixNumbersForRTL(text) {\n  return text.replace(\/\\d[\\d,\\.]*\/g, m => m.split(\"\").reverse().join(\"\"));\n}\n\n\n\n\/\/ \u05e6\u05d9\u05d5\u05e8 \u05d4\u05ea\u05d5\u05db\u05df (\u05e2\u05dd \u05ea\u05d9\u05e7\u05d5\u05df \u05d4\u05de\u05e1\u05e4\u05e8\u05d9\u05dd)\n\/\/ ===== \u05e2\u05de\u05d5\u05d3 4 \u2013 \u05e2\u05dc\u05d5\u05ea \u05d4\u05e7\u05de\u05e4\u05d9\u05d9\u05df =====\n\/\/ ===== \u05e2\u05de\u05d5\u05d3 4 \u2013 \u05e2\u05dc\u05d5\u05ea \u05d4\u05e7\u05de\u05e4\u05d9\u05d9\u05df =====\nconst costRaw = getVal(\"campaign_cost_field\") || \"\";\n\n\/\/ \u05e4\u05d5\u05e0\u05e7\u05e6\u05d9\u05d4 \u05e9\u05d4\u05d5\u05e4\u05db\u05ea \u05e8\u05e7 \u05de\u05e1\u05e4\u05e8\u05d9\u05dd \u05d1\u05db\u05d9\u05d5\u05d5\u05df \u05ea\u05e7\u05d9\u05df \u05d1\u05ea\u05d5\u05da \u05d8\u05e7\u05e1\u05d8 \u05e2\u05d1\u05e8\u05d9\nfunction fixNumbersForRTL(text) {\n  return text.replace(\/\\d[\\d,\\.]*\/g, m => m.split(\"\").reverse().join(\"\"));\n}\n\nconst costLine = fixNumbersForRTL(costRaw);\n\n\/\/ \u05e6\u05d9\u05d5\u05e8 \u05d4\u05e9\u05d5\u05e8\u05d4\nsplitText(costLine, 70).forEach((line, i) => {\n  drawRight(p4, line, w1 - 120, h1 - 167 - (i * 15), 12);\n});\n\n\n\n\n\t  \n\n\/\/ ===== \u05e2\u05de\u05d5\u05d3 4 \u2013 \u05d4\u05e2\u05e8\u05d5\u05ea =====\nconst notesLines = splitText(notesField || \"\", 80);\nconst startY = h4 * 0.55;\nnotesLines.forEach((line, i) => {\n  if (i === 0) {\n    drawRight(p4, \"\u05d4\u05e2\u05e8\u05d5\u05ea:\", w1 - 35, h1 - 495, 12);\n  }\n  drawRight(p4, line, w1 - 35, h1 - 510 - (i * 15), 12);\n});\n\n\t  \n\n\n\n    \/\/ \u05e9\u05de\u05d9\u05e8\u05d4 \u05d5\u05beAJAX\n    const outBytes=await pdfDoc.save();\n    const formData=new FormData();\n    formData.append(\"action\",\"save_pdf\");\n    formData.append(\"pdfFile\",new Blob([outBytes],{type:\"application\/pdf\"}),\"campaign.pdf\");\n    const res=await fetch(\"https:\/\/zentrix.co.il\/wp-admin\/admin-ajax.php\",{method:\"POST\",body:formData});\n    const data=await res.json();\n\n    hideLoader();\n    if(data.url){\n      localStorage.setItem(\"campaignPdfUrl\",data.url);\n      showPdfActions(data.url);\n    } else {\n      Swal.fire(\"\u05e9\u05d2\u05d9\u05d0\u05d4\",\"\u05d1\u05e2\u05d9\u05d4 \u05d1\u05e9\u05de\u05d9\u05e8\u05ea \u05d4\u05e7\u05d5\u05d1\u05e5\",\"error\");\n    }\n  }catch(err){\n    hideLoader();\n    Swal.fire(\"\u05e9\u05d2\u05d9\u05d0\u05d4\",err.message,\"error\");\n  }\n}\n\t\n\t\n\ndocument.addEventListener(\"DOMContentLoaded\",()=>{\n  document.querySelector(\".btn-pdf\").addEventListener(\"click\",e=>{\n    e.preventDefault();\n    createFirstPdf();\n  });\n  document.querySelector(\".btn-reset\").addEventListener(\"click\",e=>{\n    e.preventDefault();\n    resetCampaignForm();\n  });\n  const savedUrl=localStorage.getItem(\"campaignPdfUrl\");\n  if(savedUrl) showPdfActions(savedUrl);\n});\n<\/script>\n\n\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@11\"><\/script>\n\n<style>\n\t\n\/* \u05d0\u05d5\u05d1\u05e8\u05dc\u05d9\u05d9 *\/\n#loader-overlay{\n  position:fixed; inset:0;\n  background:rgba(0,0,0,0.6);\n  z-index:9999;\n  display:none;                 \/* JS \u05d9\u05d3\u05dc\u05d9\u05e7 flex *\/\n  align-items:center; justify-content:center;\n}\n\n\/* \u05e1\u05e4\u05d9\u05e0\u05e8 \u2013 \u05e4\u05ea\u05e8\u05d5\u05df \u05d0\u05d5\u05e0\u05d9\u05d1\u05e8\u05e1\u05dc\u05d9 *\/\n#loader-overlay .loader{\n  width:60px; height:60px; border-radius:50%;\n  background: conic-gradient(#6c5ce7 10%, #f3f3f3 0 100%);\n  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 0);\n          mask: radial-gradient(farthest-side,#0000 calc(100% - 5px),#000 0);\n  -webkit-animation: spin .8s linear infinite;\n          animation: spin .8s linear infinite;\n  will-change: transform;\n  -webkit-transform: translateZ(0);\n          transform: translateZ(0);\n}\n\n@-webkit-keyframes spin { from { -webkit-transform: rotate(0) } to { -webkit-transform: rotate(360deg) } }\n@keyframes spin { from { transform: rotate(0) } to { transform: rotate(360deg) } }\n\n\n\n\t.swal-reset {\n  background: #e53935; \/* \u05d0\u05d3\u05d5\u05dd *\/\n}\n\n\t\n\t\n\t\n\t.swal-btn {\n  display: block;\n  width: 100%;\n  padding: 12px;\n  margin: 10px 0;\n  border-radius: 8px;\n  font-size: 16px;\n  font-weight: bold;\n  text-align: center;\n  text-decoration: none;\n  color: #fff !important;\n}\n\n.swal-pdf {\n  background: linear-gradient(135deg, #5b2ca4, #9a60c6);\n}\n\n.swal-wa {\n  background: linear-gradient(135deg, #25d366, #128c7e);\n}\n\n.swal-mail {\n  background: linear-gradient(135deg, #4285f4, #0b57d0);\n}\n\n\t\n\t\n    \/* \u05e8\u05e7\u05e2 \u05db\u05dc\u05dc\u05d9 *\/\n    .contain {\n      margin: 0;\n      padding: 0;\n      font-family: \"Heebo\", Arial, sans-serif;\n      background: linear-gradient(180deg, #3a006e, #1f003d);\n    \n      display: flex;\n      justify-content: center;\n      align-items: center;\n      overflow: hidden;\n    }\n\n    \/* \u05d2\u05dc\u05d9\u05dd \u05d1\u05ea\u05d7\u05ea\u05d9\u05ea *\/\n    .wave {\n      position: fixed;\n      bottom: 0;\n      width: 200%;\n      height: 200px;\n      background: rgba(255, 255, 255, 0.05);\n      border-radius: 1000% 1000% 0 0;\n      animation: wave 12s linear infinite;\n    }\n    .wave:nth-child(2) {\n      bottom: -20px;\n      animation-duration: 18s;\n      opacity: 0.5;\n    }\n    .wave:nth-child(3) {\n      bottom: -40px;\n      animation-duration: 25s;\n      opacity: 0.3;\n    }\n    @keyframes wave {\n      0% { transform: translateX(0); }\n      100% { transform: translateX(-50%); }\n    }\n\n    \/* \u05db\u05e8\u05d8\u05d9\u05e1 \u05db\u05e0\u05d9\u05e1\u05d4 *\/\n    .login-card {\n      background: #fff;\n      width: 350px;\n      border-radius: 15px;\n      box-shadow: 0 8px 20px rgba(0,0,0,0.3);\n      overflow: hidden;\n      text-align: center;\n      z-index: 10;\n    }\n\n    .login-header {\n      background: linear-gradient(135deg, #5b2ca4, #9a60c6);\n      padding: 40px 20px;\n      color: #fff;\n    }\n\n    .login-header h2 {\n      margin: 0;\n      font-size: 20px;\n    }\n\n    .login-body {\n      padding: 30px 20px;\n    }\n\n    .login-body label {\n      display: block;\n      text-align: right;\n      font-size: 14px;\n      margin: 10px 0 5px;\n      color: #333;\n    }\n\n    .login-body input {\n      width: 100%;\n      padding: 12px;\n      border-radius: 8px;\n      border: 1px solid #ccc;\n      outline: none;\n      margin-bottom: 15px;\n      font-size: 14px;\n    }\n\n    .login-body input:focus {\n      border-color: #7b3fe4;\n      box-shadow: 0 0 5px rgba(123,63,228,0.5);\n    }\n\n    .login-body button {\n      width: 100%;\n      padding: 12px;\n      border: none;\n      border-radius: 8px;\n      background: linear-gradient(135deg, #5b2ca4, #9a60c6);\n      color: #fff;\n      font-size: 16px;\n      cursor: pointer;\n      transition: 0.3s;\n    }\n\n    .login-body button:hover {\n      opacity: 0.9;\n    }\n\n    .extra-links {\n      display: flex;\n      justify-content: space-between;\n      font-size: 12px;\n      margin-top: 10px;\n    }\n\n    .extra-links a {\n      text-decoration: none;\n      color: #7b3fe4;\n    }\n\t\n\t\n\tbutton.btn {\n    margin-bottom: 5%;\n}\n\n\n\t\n\t\n  <\/style>\n\n\n\t\n\t<\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>\u05d8\u05d5\u05e4\u05e1 \u05d9\u05e6\u05d9\u05e8\u05ea \u05e7\u05de\u05e4\u05d9\u05d9\u05df \u05dc\u05db\u05d1\u05d5\u05d3 \u05ea\u05d0\u05e8\u05d9\u05da \u05de\u05d0\u05ea \u05d8\u05dc\u05e4\u05d5\u05df \u05d3\u05d5\u05d0&quot;\u05dc \u05e0\u05d5\u05e9\u05d0 \u05ea\u05d9\u05d0\u05d5\u05e8 \u05e7\u05de\u05e4\u05d9\u05d9\u05df \u05ea\u05de\u05d4\u05d9\u05dc \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd: \u05ea\u05d5\u05e6\u05e8\u05d9\u05dd \u05e4\u05e8 \u05de\u05e9\u05e4\u05d9\u05e2\u05df \u05ea\u05d7\u05d5\u05de\u05d9 \u05e2\u05e0\u05d9\u05d9\u05df \u05d0\u05d6\u05d5\u05e8\u05d9 \u05de\u05d2\u05d5\u05e8\u05d9\u05dd \u05d2\u05d9\u05dc\u05d0\u05d9\u05dd \u05db\u05de\u05d5\u05ea \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd \u05d5\u05ea\u05d5\u05e6\u05e8\u05d9\u05dd: \u05de\u05e1\u05f3 \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd \u05de\u05e1\u05f3 \u05e1\u05d8\u05d5\u05e8\u05d9\u05d6 \u05de\u05e1\u05f3 \u05e1\u05e8\u05d8\u05d5\u05e0\u05d9\u05dd \u05d1\u05e4\u05d9\u05d3 \u05e1\u05d4\u05f4\u05db \u05ea\u05d5\u05e6\u05e8\u05d9\u05dd \u05d9\u05e2\u05d3\u05d9 \u05d7\u05e9\u05d9\u05e4\u05d4 \u05d5\u05d0\u05d9\u05e0\u05d8\u05e8\u05d0\u05e7\u05e6\u05d9\u05d5\u05ea: \u05de\u05e1\u05f3 \u05de\u05e9\u05e4\u05d9\u05e2\u05e0\u05d9\u05dd \u05de\u05de\u05d5\u05e6\u05e2 \u05e2\u05d5\u05e7\u05d1\u05d9\u05dd \u05e1\u05d4\u05f4\u05db \u05e2\u05d5\u05e7\u05d1\u05d9\u05dd \u05db\u05de\u05d5\u05ea \u05e8\u05d9\u05dc\u05e1\u05d9\u05dd \u05de\u05de\u05d5\u05e6\u05e2 \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e8\u05d9\u05dc \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e8\u05d9\u05dc\u05e1\u05d9\u05dd \u05db\u05de\u05d5\u05ea \u05e1\u05d8\u05d5\u05e8\u05d9\u05d6 \u05de\u05de\u05d5\u05e6\u05e2 \u05e6\u05e4\u05d9\u05d5\u05ea \u05d1\u05e1\u05d8\u05d5\u05e8\u05d9 \u05e1\u05d4\u05f4\u05db [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-97","page","type-page","status-publish","czr-hentry"],"_links":{"self":[{"href":"https:\/\/zentrix.co.il\/index.php?rest_route=\/wp\/v2\/pages\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zentrix.co.il\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zentrix.co.il\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zentrix.co.il\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zentrix.co.il\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=97"}],"version-history":[{"count":24,"href":"https:\/\/zentrix.co.il\/index.php?rest_route=\/wp\/v2\/pages\/97\/revisions"}],"predecessor-version":[{"id":212,"href":"https:\/\/zentrix.co.il\/index.php?rest_route=\/wp\/v2\/pages\/97\/revisions\/212"}],"wp:attachment":[{"href":"https:\/\/zentrix.co.il\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}