{"id":12919,"date":"2026-08-09T14:19:58","date_gmt":"2026-08-09T11:19:58","guid":{"rendered":"https:\/\/altal.md\/?page_id=12919"},"modified":"2026-08-27T22:59:59","modified_gmt":"2026-08-27T19:59:59","slug":"generator-de-scheme","status":"publish","type":"page","link":"https:\/\/altal.md\/ro\/instrumente-hvac\/generator-de-scheme\/","title":{"rendered":"Generator de scheme"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12919\" class=\"elementor elementor-12919\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4619207e e-flex e-con-boxed e-con e-parent\" data-id=\"4619207e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c8d1e17 elementor-widget elementor-widget-text-editor\" data-id=\"1c8d1e17\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><strong><span class=\"\">Generator de scheme<\/span><\/strong><\/h3>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1801d26 elementor-widget elementor-widget-html\" data-id=\"1801d26\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================ -->\r\n<!--  ALTAL - \u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0445\u0435\u043c \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 (Elementor) v3.0      -->\r\n<!-- ============================================================ -->\r\n\r\n<style>\r\n    .altal-scheme-generator {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n        padding: 20px 0;\r\n        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\r\n        color: #1a2332;\r\n    }\r\n    .altal-scheme-generator .header { margin-bottom: 24px; }\r\n    .altal-scheme-generator .header h1 {\r\n        font-size: 28px;\r\n        font-weight: 700;\r\n        color: #0b2b4a;\r\n        margin: 0 0 4px 0;\r\n    }\r\n    .altal-scheme-generator .header p {\r\n        color: #64748b;\r\n        font-size: 16px;\r\n        margin: 0;\r\n    }\r\n    .altal-scheme-generator .breadcrumb {\r\n        font-size: 13px;\r\n        color: #888;\r\n        margin-bottom: 16px;\r\n    }\r\n    .altal-scheme-generator .breadcrumb a {\r\n        color: #0057a8;\r\n        text-decoration: none;\r\n    }\r\n    .altal-scheme-generator .grid {\r\n        display: grid;\r\n        grid-template-columns: 360px 1fr;\r\n        gap: 24px;\r\n    }\r\n    .altal-scheme-generator .panel {\r\n        background: #ffffff;\r\n        border-radius: 12px;\r\n        border: 1px solid #e9edf2;\r\n        padding: 24px;\r\n    }\r\n    .altal-scheme-generator .panel h3 {\r\n        font-size: 16px;\r\n        color: #0b2b4a;\r\n        margin: 0 0 16px 0;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n    }\r\n    .altal-scheme-generator .panel .field {\r\n        margin-bottom: 14px;\r\n    }\r\n    .altal-scheme-generator .panel .field label {\r\n        display: block;\r\n        font-weight: 600;\r\n        font-size: 13px;\r\n        margin-bottom: 4px;\r\n    }\r\n    .altal-scheme-generator .panel .field select,\r\n    .altal-scheme-generator .panel .field input {\r\n        width: 100%;\r\n        padding: 10px 12px;\r\n        border: 1px solid #ddd;\r\n        border-radius: 8px;\r\n        font-size: 14px;\r\n        background: #fff;\r\n    }\r\n    .altal-scheme-generator .panel .field select:disabled,\r\n    .altal-scheme-generator .panel .field input:disabled {\r\n        background: #f0f0f0;\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n    }\r\n    .altal-scheme-generator .panel .field .hint {\r\n        font-size: 12px;\r\n        color: #888;\r\n        margin-top: 2px;\r\n    }\r\n    .altal-scheme-generator .panel .btn-generate {\r\n        width: 100%;\r\n        padding: 14px;\r\n        background: #0057a8;\r\n        color: #fff;\r\n        border: none;\r\n        border-radius: 8px;\r\n        font-weight: 600;\r\n        font-size: 16px;\r\n        cursor: pointer;\r\n        transition: 0.2s;\r\n        margin-top: 4px;\r\n    }\r\n    .altal-scheme-generator .panel .btn-generate:hover {\r\n        background: #004a8f;\r\n    }\r\n    .altal-scheme-generator .panel .gas-display {\r\n        padding: 8px 12px;\r\n        background: #f8fafc;\r\n        border-radius: 6px;\r\n        border: 1px solid #e9edf2;\r\n        font-size: 13px;\r\n        min-height: 36px;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n    }\r\n    .altal-scheme-generator .panel .gas-display .label {\r\n        color: #888;\r\n    }\r\n    .altal-scheme-generator .panel .gas-display .value {\r\n        font-weight: 600;\r\n    }\r\n    .altal-scheme-generator .panel .gas-display .value.active {\r\n        color: #c62828;\r\n    }\r\n    .altal-scheme-generator .panel .gas-display .value.inactive {\r\n        color: #888;\r\n    }\r\n    .altal-scheme-generator .panel .pv-info {\r\n        display: none;\r\n        margin-top: 8px;\r\n        padding: 8px 12px;\r\n        background: #e8f5e9;\r\n        border-radius: 6px;\r\n        font-size: 13px;\r\n        color: #2e7d32;\r\n    }\r\n    .altal-scheme-generator .panel .pv-info.active {\r\n        display: block;\r\n    }\r\n    .altal-scheme-generator .preview {\r\n        background: #ffffff;\r\n        border-radius: 12px;\r\n        border: 1px solid #e9edf2;\r\n        padding: 24px;\r\n        min-height: 500px;\r\n    }\r\n    .altal-scheme-generator .preview .tabs {\r\n        display: flex;\r\n        gap: 16px;\r\n        border-bottom: 2px solid #e9edf2;\r\n        margin-bottom: 16px;\r\n        padding-bottom: 8px;\r\n        flex-wrap: wrap;\r\n    }\r\n    .altal-scheme-generator .preview .tabs button {\r\n        background: none;\r\n        border: none;\r\n        padding: 6px 0;\r\n        font-size: 14px;\r\n        font-weight: 500;\r\n        color: #888;\r\n        cursor: pointer;\r\n        border-bottom: 2px solid transparent;\r\n        transition: 0.2s;\r\n    }\r\n    .altal-scheme-generator .preview .tabs button.active {\r\n        color: #0057a8;\r\n        border-bottom-color: #0057a8;\r\n    }\r\n    .altal-scheme-generator .preview .tab-content {\r\n        display: none;\r\n    }\r\n    .altal-scheme-generator .preview .tab-content.active {\r\n        display: block;\r\n    }\r\n    .altal-scheme-generator .scheme-container {\r\n        background: #fafcff;\r\n        border: 1px solid #e9edf2;\r\n        border-radius: 8px;\r\n        padding: 16px;\r\n        overflow: auto;\r\n        min-height: 350px;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        flex-direction: column;\r\n    }\r\n    .altal-scheme-generator .scheme-container svg {\r\n        max-width: 100%;\r\n        height: auto;\r\n    }\r\n    .altal-scheme-generator .scheme-container .file-info {\r\n        width: 100%;\r\n        padding: 12px;\r\n        background: #f0f7ff;\r\n        border-radius: 6px;\r\n        margin-bottom: 12px;\r\n        text-align: center;\r\n        font-size: 13px;\r\n        color: #0057a8;\r\n    }\r\n    .altal-scheme-generator .scheme-container .file-info strong {\r\n        font-weight: 700;\r\n    }\r\n    .altal-scheme-generator .bom-table {\r\n        width: 100%;\r\n        border-collapse: collapse;\r\n        font-size: 14px;\r\n    }\r\n    .altal-scheme-generator .bom-table th {\r\n        background: #f8fafc;\r\n        text-align: left;\r\n        padding: 10px 12px;\r\n        border-bottom: 2px solid #e9edf2;\r\n        font-weight: 600;\r\n    }\r\n    .altal-scheme-generator .bom-table td {\r\n        padding: 10px 12px;\r\n        border-bottom: 1px solid #e9edf2;\r\n    }\r\n    .altal-scheme-generator .bom-table .total {\r\n        font-weight: 700;\r\n        background: #f0f7ff;\r\n    }\r\n    .altal-scheme-generator .export-actions {\r\n        margin-top: 20px;\r\n        display: flex;\r\n        gap: 12px;\r\n        flex-wrap: wrap;\r\n        padding-top: 16px;\r\n        border-top: 1px solid #e9edf2;\r\n    }\r\n    .altal-scheme-generator .export-actions .btn {\r\n        padding: 10px 24px;\r\n        border: none;\r\n        border-radius: 8px;\r\n        font-weight: 600;\r\n        font-size: 14px;\r\n        cursor: pointer;\r\n        transition: 0.2s;\r\n        text-decoration: none;\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n    }\r\n    .altal-scheme-generator .export-actions .btn-pdf {\r\n        background: #0057a8;\r\n        color: #fff;\r\n    }\r\n    .altal-scheme-generator .export-actions .btn-pdf:hover {\r\n        background: #004a8f;\r\n    }\r\n    .altal-scheme-generator .export-actions .btn-save {\r\n        background: #34a853;\r\n        color: #fff;\r\n    }\r\n    .altal-scheme-generator .export-actions .btn-save:hover {\r\n        background: #2d9348;\r\n    }\r\n    .altal-scheme-generator .placeholder {\r\n        text-align: center;\r\n        padding: 40px 20px;\r\n        color: #888;\r\n    }\r\n    .altal-scheme-generator .placeholder i {\r\n        font-size: 40px;\r\n        color: #ddd;\r\n        margin-bottom: 12px;\r\n    }\r\n    .altal-scheme-generator .placeholder h4 {\r\n        color: #0b2b4a;\r\n        margin: 0 0 4px 0;\r\n    }\r\n    .altal-scheme-generator .project-info {\r\n        background: #f8fafc;\r\n        border-radius: 12px;\r\n        padding: 12px 20px;\r\n        margin-bottom: 20px;\r\n        border: 1px solid #e9edf2;\r\n    }\r\n    .altal-scheme-generator .project-info .info-grid {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        gap: 16px;\r\n        font-size: 14px;\r\n    }\r\n    .altal-scheme-generator .project-info .info-grid span {\r\n        background: #fff;\r\n        padding: 4px 12px;\r\n        border-radius: 4px;\r\n        border: 1px solid #e9edf2;\r\n    }\r\n    .altal-scheme-generator .project-info .info-grid strong {\r\n        color: #0b2b4a;\r\n    }\r\n    .altal-scheme-generator .legend-table {\r\n        width: 100%;\r\n        border-collapse: collapse;\r\n        font-size: 12px;\r\n    }\r\n    .altal-scheme-generator .legend-table td {\r\n        padding: 4px 8px;\r\n        border-bottom: 1px solid #f0f4f8;\r\n    }\r\n    .altal-scheme-generator .legend-table .code {\r\n        font-weight: 700;\r\n        color: #0057a8;\r\n        width: 80px;\r\n    }\r\n    .altal-scheme-generator .legend-table .desc {\r\n        color: #1a2332;\r\n    }\r\n    .altal-scheme-generator .report-grid {\r\n        display: grid;\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 12px;\r\n        margin-bottom: 16px;\r\n    }\r\n    .altal-scheme-generator .report-grid .item {\r\n        background: #fff;\r\n        padding: 12px;\r\n        border-radius: 6px;\r\n        border: 1px solid #e9edf2;\r\n    }\r\n    .altal-scheme-generator .report-grid .item.full {\r\n        grid-column: span 2;\r\n    }\r\n    .altal-scheme-generator .report-grid .item strong {\r\n        color: #0b2b4a;\r\n        font-size: 13px;\r\n        display: block;\r\n    }\r\n    .altal-scheme-generator .report-grid .item p {\r\n        margin: 4px 0 0 0;\r\n        font-size: 14px;\r\n    }\r\n    .hidden-field {\r\n        display: none !important;\r\n    }\r\n    @media (max-width: 1024px) {\r\n        .altal-scheme-generator .grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n        .altal-scheme-generator .report-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n        .altal-scheme-generator .report-grid .item.full {\r\n            grid-column: span 1;\r\n        }\r\n    }\r\n    @media (max-width: 700px) {\r\n        .altal-scheme-generator .export-actions {\r\n            flex-direction: column;\r\n        }\r\n        .altal-scheme-generator .export-actions .btn {\r\n            width: 100%;\r\n            justify-content: center;\r\n        }\r\n        .altal-scheme-generator .project-info .info-grid {\r\n            flex-direction: column;\r\n            gap: 8px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"altal-scheme-generator\">\r\n\r\n    <!-- \u0425\u041b\u0415\u0411\u041d\u042b\u0415 \u041a\u0420\u041e\u0428\u041a\u0418 -->\r\n    <div class=\"breadcrumb\">\r\n        <a href=\"\/\">\ud83c\udfe0 \u0413\u043b\u0430\u0432\u043d\u0430\u044f<\/a>\r\n        <span>\u203a<\/span>\r\n        <span>Instrumente HVAC<\/span>\r\n        <span>\u203a<\/span>\r\n        <span>Generator de scheme<\/span>\r\n    <\/div>\r\n\r\n    <!-- \u0417\u0410\u0413\u041e\u041b\u041e\u0412\u041e\u041a -->\r\n    <div class=\"header\">\r\n        <h1>\ud83d\udcd0 Generator de scheme \u0219i specifica\u021bii<\/h1>\r\n        <p>Crea\u021bi schema de leg\u0103tur\u0103 a pompei de c\u0103ldur\u0103 \u0219i specifica\u021bia echipamentului (BOM) pe baza datelor proiectului dvs.<\/p>\r\n    <\/div>\r\n\r\n    <!-- \u0418\u041d\u0424\u041e\u0420\u041c\u0410\u0426\u0418\u042f \u041e \u041f\u0420\u041e\u0415\u041a\u0422\u0415 -->\r\n    <div class=\"project-info\">\r\n        <div class=\"info-grid\">\r\n            <span><strong>\ud83d\udcd0 Proiect:<\/strong> <span id=\"projectName\">\u2014<\/span><\/span>\r\n            <span><strong>\ud83c\udfe0 Tip:<\/strong> <span id=\"projectBuilding\">\u2014<\/span><\/span>\r\n            <span><strong>\ud83d\udd25 Pierderi:<\/strong> <span id=\"projectHeatLoss\">\u2014<\/span> kW<\/span>\r\n            <span><strong>\u26a1 Putere:<\/strong> <span id=\"projectPower\">\u2014<\/span> kW<\/span>\r\n            <span><strong>\ud83d\udcc5 Regiune:<\/strong> <span id=\"projectRegion\">\u2014<\/span><\/span>\r\n            <span><strong>\ud83d\udcc4 Fi\u0219ier:<\/strong> <span id=\"schemeFileName\">\u2014<\/span><\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u041e\u0421\u041d\u041e\u0412\u041d\u0410\u042f \u0421\u0415\u0422\u041a\u0410 -->\r\n    <div class=\"grid\">\r\n\r\n        <!-- \u041b\u0415\u0412\u0410\u042f \u041f\u0410\u041d\u0415\u041b\u042c: \u041d\u0410\u0421\u0422\u0420\u041e\u0419\u041a\u0418 -->\r\n        <div class=\"panel\">\r\n            <h3><i class=\"fas fa-sliders-h\" style=\"color:#0057a8;\"><\/i> Parametrii schemei<\/h3>\r\n\r\n            <!-- \u041c\u043e\u0434\u0435\u043b\u044c \u0422\u041d -->\r\n            <div class=\"field\">\r\n                <label>Modelul pompei de c\u0103ldur\u0103<\/label>\r\n                <input type=\"text\" id=\"hpModel\" style=\"width:100%; padding:8px 12px; border:1px solid #ddd; border-radius:8px; font-size:14px; background:#f8fafc;\" readonly>\r\n                <div class=\"hint\">Se \u00eencarc\u0103 automat din Configurator<\/div>\r\n            <\/div>\r\n\r\n            <div class=\"field\" id=\"hpSubtypeContainer\">\r\n                <label>Tipul pompei sol-apa<\/label>\r\n                <select id=\"hpSubtype\">\r\n                    <option value=\"geothermal\">Geotermal\u0103 (sol - ap\u0103)<\/option>\r\n                    <option value=\"water_to_water\">Ap\u0103 - ap\u0103 (rezervor \/ r\u00e2u)<\/option>\r\n                <\/select>\r\n                <div class=\"hint\">Selecta\u021bi tipul sursei de c\u0103ldur\u0103<\/div>\r\n            <\/div>\r\n\r\n\r\n            <div class=\"field\" id=\"bheToggleContainer\" style=\"display:none;\">\r\n                <label>Schimb\u0103tor de c\u0103ldur\u0103 intermediar (BHE)<\/label>\r\n                <select id=\"bheToggle\">\r\n                    <option value=\"no\">Nu<\/option>\r\n                    <option value=\"yes\">Da (protec\u021bie la \u00eenghe\u021b)<\/option>\r\n                <\/select>\r\n                <div class=\"hint\">Protejeaz\u0103 evaporatorul la temperaturi sc\u0103zute ale apei<\/div>\r\n            <\/div>\r\n\r\n            <div class=\"field\">\r\n                <label>Puterea pompei de c\u0103ldur\u0103 (kW)<\/label>\r\n                <input type=\"number\" id=\"powerInput\" value=\"15\" min=\"1\" max=\"1000\">\r\n                <div class=\"hint\">Putere recomandat\u0103: <span id=\"recommendedPower\">12.5<\/span> kW<\/div>\r\n            <\/div>\r\n\r\n            <div class=\"field\">\r\n                <label>Regim de temperatur\u0103<\/label>\r\n                <select id=\"tempMode\">\r\n                    <option value=\"35\">Temperatur\u0103 joas\u0103 (35\u00b0C) \u2014 pardoseal\u0103 cald\u0103<\/option>\r\n                    <option value=\"55\">Temperatur\u0103 \u00eenalt\u0103 (55\u00b0C) \u2014 radiatoare<\/option>\r\n                    <option value=\"65\">Temperatur\u0103 \u00eenalt\u0103 (65\u00b0C) \u2014 registre<\/option>\r\n                <\/select>\r\n            <\/div>\r\n\r\n            <div class=\"field\">\r\n                <label>Moduri de func\u021bionare<\/label>\r\n                <select id=\"operationModes\">\r\n                    <option value=\"mode2\">Doar \u00eenc\u0103lzire<\/option>\r\n                    <option value=\"mode3\">\u00cenc\u0103lzire + ACM<\/option>\r\n                    <option value=\"mode2_cooling\">\u00cenc\u0103lzire + R\u0103cire<\/option>\r\n                    <option value=\"mode3_cooling\">\u00cenc\u0103lzire + R\u0103cire + ACM<\/option>\r\n                <\/select>\r\n            <\/div>\r\n\r\n            <!-- \u041f\u0410\u0420\u0410\u041c\u0415\u0422\u0420\u042b \u0421\u0418\u0421\u0422\u0415\u041c\u042b -->\r\n            <div style=\"background: #f8fafc; border-radius:8px; padding:12px 14px; margin:12px 0; border:1px solid #e9edf2;\">\r\n                <h4 style=\"margin:0 0 10px 0; font-size:14px; color:#0b2b4a;\">\u2699\ufe0f Parametrii sistemului<\/h4>\r\n\r\n                <div class=\"field\">\r\n                    <label style=\"font-size:12px;\">Rezervor tampon (litri)<\/label>\r\n                    <input type=\"number\" id=\"bufferTank\" value=\"200\" step=\"10\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                <\/div>\r\n\r\n                <!-- DHW Container (\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0413\u0412\u0421) -->\r\n                <div id=\"dhwContainer\">\r\n                    <div class=\"field\">\r\n                        <label style=\"font-size:12px;\">Rezervor ACM (litri)<\/label>\r\n                        <input type=\"number\" id=\"dhwTank\" value=\"300\" step=\"10\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- R\u0103cire pasiv\u0103 Container (\u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f sol-apa) -->\r\n                <div id=\"passiveCoolingContainer\">\r\n                    <div class=\"field\">\r\n                        <label style=\"font-size:12px;\">R\u0103cire pasiv\u0103<\/label>\r\n                        <select id=\"passiveCooling\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                            <option value=\"no\">Nu<\/option>\r\n                            <option value=\"yes\">Da<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- PV Container -->\r\n                <div id=\"pvContainer\">\r\n                    <div class=\"field\">\r\n                        <label style=\"font-size:12px;\">Sistem fotovoltaic (PV)<\/label>\r\n                        <select id=\"pvSystem\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                            <option value=\"no\">Nu<\/option>\r\n                            <option value=\"yes\">Da<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n\r\n                    <div class=\"field\">\r\n                        <label style=\"font-size:12px;\">Putere PV (kWp)<\/label>\r\n                        <input type=\"number\" id=\"pvPower\" value=\"0\" step=\"0.5\" min=\"0\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                    <\/div>\r\n\r\n                    <div class=\"field\">\r\n                        <label style=\"font-size:12px;\">Acumulator termic (litri)<\/label>\r\n                        <input type=\"number\" id=\"thermalAccumulator\" value=\"0\" step=\"100\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                    <\/div>\r\n\r\n                    <div id=\"pvInfo\" class=\"pv-info\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- \u041a\u041e\u041d\u0424\u0418\u0413\u0423\u0420\u0410\u0426\u0418\u042f \u0421\u0425\u0415\u041c\u042b -->\r\n            <div id=\"schemaConfig\" style=\"background: #f8fafc; border-radius:8px; padding:12px 14px; margin:12px 0; border:1px solid #e9edf2;\">\r\n                <h4 style=\"margin:0 0 10px 0; font-size:14px; color:#0b2b4a;\">\ud83d\udd27 Configura\u021bia schemei<\/h4>\r\n\r\n                <!-- DHW Type (\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0413\u0412\u0421) -->\r\n                <div class=\"field\" id=\"dhwTypeContainer\">\r\n                    <label style=\"font-size:12px;\">Tipul \u0413\u0412\u0421 (DHW)<\/label>\r\n                    <select id=\"dhwType\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                        <option value=\"DHWHE\">DHWHE (prin schimb\u0103tor de c\u0103ldur\u0103)<\/option>\r\n                        <option value=\"DHW3WAY\">DHW3WAY (prin van\u0103 cu 3 c\u0103i)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <div class=\"field\">\r\n                    <label style=\"font-size:12px;\">Prezen\u021ba gazului<\/label>\r\n                    <select id=\"gasType\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                        <option value=\"\">F\u0103r\u0103 gaz<\/option>\r\n                        <option value=\"GAZ\">GAZ (prin buffer)<\/option>\r\n                        <option value=\"GAZ-V2\">GAZ-V2 (direct \u00een sistem)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <!-- \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0433\u0430\u0437\u0430 -->\r\n                <div class=\"gas-display\">\r\n                    <span class=\"label\">\ud83d\udd25 Gaz selectat:<\/span>\r\n                    <span id=\"gasDisplay\" class=\"value inactive\">F\u0103r\u0103 gaz<\/span>\r\n                <\/div>\r\n\r\n                <!-- BHE (\u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f apa-apa) -->\r\n                <div class=\"field\" id=\"bheField\">\r\n                    <label style=\"font-size:12px;\">BHE (schimb\u0103tor ap\u0103-anticongelant)<\/label>\r\n                    <select id=\"bheType\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                        <option value=\"\">F\u0103r\u0103 BHE<\/option>\r\n                        <option value=\"BHE\">Cu BHE<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n\r\n                <!-- EXT (\u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d \u0433\u0430\u0437) -->\r\n                <div class=\"field\" id=\"extField\">\r\n                    <label style=\"font-size:12px;\">Tipul leg\u0103turii externe (EXT)<\/label>\r\n                    <select id=\"extType\" style=\"width:100%; padding:6px 10px; border:1px solid #ddd; border-radius:6px; font-size:13px;\">\r\n                        <option value=\"\">F\u0103r\u0103 EXT<\/option>\r\n                        <option value=\"V1\">EXT-V1 (prin buffer)<\/option>\r\n                        <option value=\"V2\">EXT-V2 (direct \u00een sistem)<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <button class=\"btn-generate\" onclick=\"generateScheme()\">\r\n                <i class=\"fas fa-play\"><\/i> Genera\u021bi schema \u0219i BOM\r\n            <\/button>\r\n        <\/div>\r\n\r\n        <!-- \u041f\u0420\u0410\u0412\u0410\u042f \u041f\u0410\u041d\u0415\u041b\u042c: \u041f\u0420\u0415\u0414\u041f\u0420\u041e\u0421\u041c\u041e\u0422\u0420 -->\r\n        <div class=\"preview\">\r\n\r\n            <!-- \u0412\u041a\u041b\u0410\u0414\u041a\u0418 -->\r\n            <div class=\"tabs\">\r\n                <button class=\"active\" data-tab=\"scheme\">\ud83d\udcd0 Schem\u0103<\/button>\r\n                <button data-tab=\"bom\">\ud83d\udccb Specifica\u021bie (BOM)<\/button>\r\n                <button data-tab=\"legend\">\ud83d\udcd6 Legend\u0103<\/button>\r\n                <button data-tab=\"preview\">\ud83d\udcc4 Raport complet<\/button>\r\n            <\/div>\r\n\r\n            <!-- \u0421\u0425\u0415\u041c\u0410 -->\r\n            <div class=\"tab-content active\" id=\"tab-scheme\">\r\n                <div class=\"scheme-container\" id=\"schemeContainer\">\r\n                    <div class=\"placeholder\">\r\n                        <i class=\"fas fa-project-diagram\"><\/i>\r\n                        <h4>Ap\u0103sa\u021bi \u00abGenera\u021bi schema\u00bb<\/h4>\r\n                        <p style=\"font-size:14px; margin:0;\">Se va crea schema de leg\u0103tur\u0103 \u00een func\u021bie de parametrii selecta\u021bi<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- BOM -->\r\n            <div class=\"tab-content\" id=\"tab-bom\">\r\n                <div id=\"bomContainer\">\r\n                    <div class=\"placeholder\">\r\n                        <i class=\"fas fa-list\"><\/i>\r\n                        <h4>Specifica\u021bia nu a fost generat\u0103<\/h4>\r\n                        <p style=\"font-size:14px; margin:0;\">Dup\u0103 generarea schemei, aici va ap\u0103rea lista componentelor<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- LEGEND\u0102 -->\r\n            <div class=\"tab-content\" id=\"tab-legend\">\r\n                <div id=\"legendContainer\">\r\n                    <div class=\"placeholder\">\r\n                        <i class=\"fas fa-book\"><\/i>\r\n                        <h4>Legend\u0103<\/h4>\r\n                        <p style=\"font-size:14px; margin:0;\">Aici va fi afi\u0219at\u0103 legenda componentelor<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- \u041f\u041e\u041b\u041d\u042b\u0419 \u041e\u0422\u0427\u0415\u0422 -->\r\n            <div class=\"tab-content\" id=\"tab-preview\">\r\n                <div id=\"previewContainer\">\r\n                    <div class=\"placeholder\">\r\n                        <i class=\"fas fa-file-alt\"><\/i>\r\n                        <h4>Raport complet<\/h4>\r\n                        <p style=\"font-size:14px; margin:0;\">Aici va fi documentul combinat cu schema \u0219i specifica\u021bia<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- \u041a\u041d\u041e\u041f\u041a\u0418 \u042d\u041a\u0421\u041f\u041e\u0420\u0422\u0410 -->\r\n            <div class=\"export-actions\">\r\n                <a id=\"downloadPdfLink\" href=\"#\" class=\"btn btn-pdf\" target=\"_blank\">\r\n                    <i class=\"fas fa-file-pdf\"><\/i> <span id=\"downloadPdfText\">Export\u0103 PDF<\/span>\r\n                <\/a>\r\n                <button class=\"btn btn-save\" onclick=\"saveToDB()\">\r\n                    <i class=\"fas fa-save\"><\/i> Salva\u021bi \u00een BD\r\n                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n\/\/ ============================================================\r\n\/\/  \u0411\u0418\u0411\u041b\u0418\u041e\u0422\u0415\u041a\u0410 \u0424\u0410\u0419\u041b\u041e\u0412 \u0421\u0425\u0415\u041c\r\n\/\/ ============================================================\r\nvar SCHEMA_FILES = [\r\n    'AWDC_FULL_mode2_BUF.pdf',\r\n    'AWDC_FULL_mode2_BUF_EVI.pdf',\r\n    'AWDC_FULL_mode2_BUF_GAZ.pdf',\r\n    'AWDC_FULL_mode2_BUF_GAZ_EVI.pdf',\r\n    'AWDC_FULL_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'AWDC_FULL_mode3_BUF_DHW3WAY_GAZ_EVI.pdf',\r\n    'AWDC_FULL_mode3_BUF_DHWHE.pdf',\r\n    'AWDC_FULL_mode3_BUF_DHWHE_EVI.pdf',\r\n    'AWDC_MONO_mode2_BUF.pdf',\r\n    'AWDC_MONO_mode2_BUF_EVI.pdf',\r\n    'AWDC_MONO_mode3_BUF_DHW.pdf',\r\n    'AWDC_MONO_mode3_BUF_DHW_EVI.pdf',\r\n    'AWDC_SPLIT_mode2_BUF.pdf',\r\n    'AWDC_SPLIT_mode2_BUF_EVI.pdf',\r\n    'AWDC_SPLIT_mode2_BUF_GAZ.pdf',\r\n    'AWDC_SPLIT_mode2_BUF_GAZ_EVI.pdf',\r\n    'AWDC_SPLIT_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'AWDC_SPLIT_mode3_BUF_DHWHE.pdf',\r\n    'AWDC_SPLIT_mode3_BUF_DHWHE_EVI.pdf',\r\n    'BWAC_DUAL_mode2_BUF_GAZ.pdf',\r\n    'BWAC_DUAL_mode2_BUF_GAZ_PASSIVE.pdf',\r\n    'BWAC_DUAL_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'BWAC_DUAL_mode3_BUF_DHW3WAY_GAZ_PASSIVE.pdf',\r\n    'BWAC_DUAL_mode3_BUF_DHWHE_GAZ_PASSIVE.pdf',\r\n    'BWAC_ONE_mode2_BUF_GAZ.pdf',\r\n    'BWAC_ONE_mode2_BUF_GAZ_PASSIVE.pdf',\r\n    'BWAC_ONE_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'BWAC_ONE_mode3_BUF_DHW3WAY_GAZ_PASSIVE.pdf',\r\n    'BWAC_ONE_mode3_BUF_DHWHE_GAZ_PASSIVE.pdf',\r\n    'WWAC_DUAL_BHE_mode2_BUF_GAZ.pdf',\r\n    'WWAC_DUAL_BHE_mode2_BUF_GAZ_PASSIVE.pdf',\r\n    'WWAC_DUAL_BHE_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'WWAC_DUAL_BHE_mode3_BUF_DHW3WAY_GAZ_PASSIVE.pdf',\r\n    'WWAC_DUAL_BHE_mode3_BUF_DHWHE_GAZ_PASSIVE.pdf',\r\n    'WWAC_DUAL_BHE_mode3_BUF_DHWHE_GAZV2_PASSIVE.pdf',\r\n    'WWAC_DUAL_mode2_BUF_GAZ.pdf',\r\n    'WWAC_DUAL_mode2_BUF_GAZ_PASSIVE.pdf',\r\n    'WWAC_DUAL_mode2_BUF_GAZ-V2.pdf',\r\n    'WWAC_DUAL_mode2_BUF_GAZ-V2_PASSIVE.pdf',\r\n    'WWAC_DUAL_mode3_BUF_DHW3WAY_GAZ_PASSIVE.pdf',\r\n    'WWAC_DUAL_mode3_BUF_DHW3WAY_GAZ-V2_PASSIVE.pdf',\r\n    'WWAC_ONE_BHE_mode2_BUF_GAZ.pdf',\r\n    'WWAC_ONE_BHE_mode2_BUF_GAZ_PASSIVE.pdf',\r\n    'WWAC_ONE_BHE_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'WWAC_ONE_BHE_mode3_BUF_DHW3WAY_GAZ_PASSIVE.pdf',\r\n    'WWAC_ONE_BHE_mode3_BUF_DHW3WAY_GAZ-V2_PASSIVE.pdf',\r\n    'WWAC_ONE_BHE_mode3_BUF_DHWHE_GAZ_PASSIVE.pdf',\r\n    'WWAC_ONE_mode2_BUF_GAZ.pdf',\r\n    'WWAC_ONE_mode2_BUF_GAZ_PASSIVE.pdf',\r\n    'WWAC_ONE_mode3_BUF_DHW3WAY_GAZ.pdf',\r\n    'WWAC_ONE_mode3_BUF_DHW3WAY_GAZ_PASSIVE.pdf',\r\n    'WWAC_ONE_mode3_BUF_DHWHE_GAZ_PASSIVE.pdf',\r\n    'WWAC_ONE_mode3_BUF_DHWHE_GAZ-V2_PASSIVE.pdf',\r\n    'HTHP_DUAL_45-95.pdf',\r\n    'HTHP_DUAL_CASCADE_10-95.pdf'\r\n];\r\n\r\n\/\/ ============================================================\r\n\/\/  \u041b\u0415\u0413\u0415\u041d\u0414\u0410\r\n\/\/ ============================================================\r\nvar LEGEND = {\r\n    'HPM': 'Modulul pompei de c\u0103ldur\u0103',\r\n    'HCP': 'Pompa de circula\u021bie a pompei de c\u0103ldur\u0103',\r\n    'PV': 'Van\u0103 cu 3 c\u0103i',\r\n    'EXP': 'Vas de expansiune',\r\n    'VL': 'Van\u0103 de \u00eenchidere',\r\n    'FL': 'Filtru cu sit\u0103',\r\n    'VD': 'Van\u0103 de re\u021binere',\r\n    'BUF': 'Rezervor tampon',\r\n    'DHW': 'Rezervor ACM',\r\n    'HWCP': 'Pompa de circula\u021bie ACM',\r\n    '4WAY': 'Van\u0103 cu 4 c\u0103i',\r\n    'PAS': 'Circuit de r\u0103cire pasiv\u0103',\r\n    'PCP': 'Pompa de r\u0103cire pasiv\u0103',\r\n    'RP': 'Contactore electric',\r\n    'GAS': 'Cazan pe gaz',\r\n    'BHE': 'Schimb\u0103tor de c\u0103ldur\u0103 ap\u0103-anticongelant',\r\n    'SCP': 'Pompa circuitului intermediar'\r\n};\r\n\r\n\/\/ ============================================================\r\n\/\/  \u041e\u0421\u041d\u041e\u0412\u041d\u042b\u0415 \u0424\u0423\u041d\u041a\u0426\u0418\u0418\r\n\/\/ ============================================================\r\n\r\n\/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0422\u041d \u0438\u0437 localStorage \u0441 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439\r\nfunction getHpType() {\r\n    var hpType = localStorage.getItem('altal_hp_type') || 'air_water';\r\n    var hpModel = localStorage.getItem('altal_hp_model') || '';\r\n\r\n    \/\/ \u0415\u0441\u043b\u0438 \u0442\u0438\u043f = 'water' \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u043e \u043c\u043e\u0434\u0435\u043b\u0438\r\n    if (hpType === 'water') {\r\n        var modelLower = hpModel.toLowerCase();\r\n        if (modelLower.includes('sol') || modelLower.includes('ground') || modelLower.includes('geo') || modelLower.includes('gw')) {\r\n            hpType = 'ground_water';\r\n        } else if (modelLower.includes('ap\u0103') || modelLower.includes('water') || modelLower.includes('apa')) {\r\n            hpType = 'water_water';\r\n        } else {\r\n            hpType = 'ground_water';\r\n        }\r\n        localStorage.setItem('altal_hp_type', hpType);\r\n    }\r\n\r\n    return hpType;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u041f\u041e\u041b\u0423\u0427\u0415\u041d\u0418\u0415 \u041f\u041e\u0414\u0422\u0418\u041f\u0410 SOL-APA\r\n\/\/ ============================================================\r\n\r\nfunction getHpSubtype() {\r\n    var el = document.getElementById('hpSubtype');\r\n    return el ? el.value : 'geothermal';\r\n}\r\n\r\nfunction getBheToggle() {\r\n    var el = document.getElementById('bheToggle');\r\n    return el ? el.value : 'no';\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0423\u041f\u0420\u0410\u0412\u041b\u0415\u041d\u0418\u0415 \u0412\u0418\u0414\u0418\u041c\u041e\u0421\u0422\u042c\u042e \u041f\u041e\u041b\u0415\u0419 (\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 updateAllDependencies)\r\n\/\/ ============================================================\r\n\r\nfunction updateSubtypeVisibility() {\r\n    var hpType = getHpType();\r\n    var subtypeContainer = document.getElementById('hpSubtypeContainer');\r\n    var bheToggleContainer = document.getElementById('bheToggleContainer');\r\n\r\n    \/\/ \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432\u044b\u0431\u043e\u0440 \u043f\u043e\u0434\u0442\u0438\u043f\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f sol-apa (ground_water)\r\n    if (hpType === 'ground_water' || hpType === 'sol_apa') {\r\n        if (subtypeContainer) subtypeContainer.style.display = 'block';\r\n    } else {\r\n        if (subtypeContainer) subtypeContainer.style.display = 'none';\r\n    }\r\n\r\n    \/\/ BHE \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d \u043f\u043e\u0434\u0442\u0438\u043f 'water_to_water'\r\n    var subtype = getHpSubtype();\r\n    if (bheToggleContainer) {\r\n        if (hpType === 'ground_water' && subtype === 'water_to_water') {\r\n            bheToggleContainer.style.display = 'block';\r\n        } else {\r\n            bheToggleContainer.style.display = 'none';\r\n        }\r\n    }\r\n}\r\n\r\n\r\n\r\n\r\n\/\/ \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 localStorage\r\nfunction loadProjectData() {\r\n    var hpType = getHpType();\r\n    var hpModel = localStorage.getItem('altal_hp_model') || '\u0422\u0435\u043f\u043b\u043e\u0432\u043e\u0439 \u043d\u0430\u0441\u043e\u0441';\r\n    var projectName = localStorage.getItem('altal_project_name') || 'Proiect nou';\r\n    var buildingType = localStorage.getItem('altal_building_type') || '\u2014';\r\n    var heatLoss = localStorage.getItem('altal_heat_loss') || '\u2014';\r\n    var hpPower = localStorage.getItem('altal_hp_power') || '\u2014';\r\n    var region = localStorage.getItem('altal_region') || '\u2014';\r\n    var bufferTank = localStorage.getItem('altal_buffer_tank') || 200;\r\n    var dhwTank = localStorage.getItem('altal_dhw_tank') || 300;\r\n    var passiveCooling = localStorage.getItem('altal_passive_cooling') || 'no';\r\n    var pvSystem = localStorage.getItem('altal_pv_system') || 'no';\r\n    var pvPower = localStorage.getItem('altal_pv_power') || 0;\r\n    var thermalAccumulator = localStorage.getItem('altal_thermal_accumulator') || 0;\r\n    var bheType = localStorage.getItem('altal_bhe_type') || '';\r\n    var dhwType = localStorage.getItem('altal_dhw_type') || 'DHWHE';\r\n    var gasType = localStorage.getItem('altal_gas_type') || '';\r\n    var extType = localStorage.getItem('altal_ext_type') || '';\r\n    var recommendedPower = localStorage.getItem('altal_recommended_power') || 12.5;\r\n    \r\n    \/\/ \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0438\u043f\u0430 \u0438 BHE\r\n    var savedSubtype = localStorage.getItem('altal_hp_subtype') || 'geothermal';\r\n    var savedBheToggle = localStorage.getItem('altal_bhe_toggle') || 'no';\r\n    setValue('hpSubtype', savedSubtype);\r\n    setValue('bheToggle', savedBheToggle);\r\n\r\n    \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c\r\n    setText('projectName', projectName);\r\n    setText('projectBuilding', buildingType);\r\n    setText('projectHeatLoss', heatLoss);\r\n    setText('projectPower', hpPower);\r\n    setText('projectRegion', region);\r\n\r\n    \/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439\r\n    setValue('hpModel', hpModel);\r\n    setValue('powerInput', Math.round(Number(hpPower)) || 15);\r\n    setValue('bufferTank', bufferTank);\r\n    setValue('dhwTank', dhwTank);\r\n    setValue('passiveCooling', passiveCooling);\r\n    setValue('pvSystem', pvSystem);\r\n    setValue('pvPower', pvPower);\r\n    setValue('thermalAccumulator', thermalAccumulator);\r\n    setValue('bheType', bheType);\r\n    setValue('dhwType', dhwType);\r\n    setValue('gasType', gasType);\r\n    setValue('extType', extType);\r\n    setText('recommendedPower', recommendedPower);\r\n\r\n    \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\r\n    updateAllDependencies();\r\n\r\n    console.log('\u2705 \u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b:', { hpType, hpModel, projectName });\r\n}\r\n\r\n\/\/ \u0412\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\r\nfunction setText(id, value) {\r\n    var el = document.getElementById(id);\r\n    if (el) el.textContent = value;\r\n}\r\n\r\nfunction setValue(id, value) {\r\n    var el = document.getElementById(id);\r\n    if (!el) return;\r\n    if (el.tagName === 'SELECT') {\r\n        var options = el.querySelectorAll('option');\r\n        var found = false;\r\n        options.forEach(function(opt) {\r\n            if (opt.value === String(value)) {\r\n                el.value = opt.value;\r\n                found = true;\r\n            }\r\n        });\r\n        if (!found && options.length > 0) el.value = options[0].value;\r\n    } else {\r\n        el.value = value;\r\n    }\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0423\u041f\u0420\u0410\u0412\u041b\u0415\u041d\u0418\u0415 \u0417\u0410\u0412\u0418\u0421\u0418\u041c\u041e\u0421\u0422\u042f\u041c\u0418 \u041f\u041e\u041b\u0415\u0419\r\n\/\/ ============================================================\r\n\r\nfunction updateAllDependencies() {\r\n    updateDHWVisibility();\r\n    updatePassiveCoolingVisibility();\r\n    updatePVFields();\r\n    updateGasDisplay();\r\n    updateBHEVisibility();\r\n    updateEXTVisibility();\r\n    updateSubtypeVisibility();\r\n}\r\n\r\n\/\/ 1. DHW \u2014 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u0441 \u0413\u0412\u0421\r\nfunction updateDHWVisibility() {\r\n    var mode = document.getElementById('operationModes').value;\r\n    var hasDHW = (mode === 'mode3' || mode === 'mode3_cooling');\r\n\r\n    var dhwContainer = document.getElementById('dhwContainer');\r\n    var dhwTypeContainer = document.getElementById('dhwTypeContainer');\r\n\r\n    if (dhwContainer) dhwContainer.style.display = hasDHW ? 'block' : 'none';\r\n    if (dhwTypeContainer) dhwTypeContainer.style.display = hasDHW ? 'block' : 'none';\r\n\r\n    var dhwTank = document.getElementById('dhwTank');\r\n    var dhwType = document.getElementById('dhwType');\r\n    if (!hasDHW) {\r\n        if (dhwTank) dhwTank.value = 0;\r\n        if (dhwType) dhwType.value = 'DHWHE';\r\n    }\r\n}\r\n\r\n\/\/ 2. R\u0103cire pasiv\u0103 \u2014 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f sol-apa (ground_water)\r\nfunction updatePassiveCoolingVisibility() {\r\n    var hpType = getHpType();\r\n    var container = document.getElementById('passiveCoolingContainer');\r\n    var select = document.getElementById('passiveCooling');\r\n\r\n    if (!container) return;\r\n\r\n    var isGroundWater = (hpType === 'ground_water' || hpType === 'sol_apa');\r\n\r\n    container.style.display = isGroundWater ? 'block' : 'none';\r\n    if (select) {\r\n        select.disabled = !isGroundWater;\r\n        select.style.opacity = isGroundWater ? '1' : '0.5';\r\n        select.style.background = isGroundWater ? '#ffffff' : '#f0f0f0';\r\n        if (!isGroundWater) select.value = 'no';\r\n    }\r\n}\r\n\r\n\/\/ 3. PV \u2014 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \"\u0414\u0430\"\r\nfunction updatePVFields() {\r\n    var pvSystem = document.getElementById('pvSystem');\r\n    var pvPower = document.getElementById('pvPower');\r\n    var thermalAccumulator = document.getElementById('thermalAccumulator');\r\n    var pvInfo = document.getElementById('pvInfo');\r\n\r\n    if (!pvSystem) return;\r\n\r\n    var isEnabled = (pvSystem.value === 'yes');\r\n\r\n    if (pvPower) {\r\n        pvPower.disabled = !isEnabled;\r\n        pvPower.style.background = isEnabled ? '#ffffff' : '#f0f0f0';\r\n        pvPower.style.opacity = isEnabled ? '1' : '0.5';\r\n        if (!isEnabled) pvPower.value = 0;\r\n    }\r\n\r\n    if (thermalAccumulator) {\r\n        thermalAccumulator.disabled = !isEnabled;\r\n        thermalAccumulator.style.background = isEnabled ? '#ffffff' : '#f0f0f0';\r\n        thermalAccumulator.style.opacity = isEnabled ? '1' : '0.5';\r\n        if (!isEnabled) thermalAccumulator.value = 0;\r\n    }\r\n\r\n    if (pvInfo) {\r\n        if (isEnabled) {\r\n            var pvPowerVal = document.getElementById('pvPower').value || 0;\r\n            var thermalAccVal = document.getElementById('thermalAccumulator').value || 0;\r\n            pvInfo.textContent = '\u2600\ufe0f PV: ' + pvPowerVal + ' kWp | Acumulator: ' + thermalAccVal + ' l';\r\n            pvInfo.className = 'pv-info active';\r\n        } else {\r\n            pvInfo.className = 'pv-info';\r\n            pvInfo.textContent = '';\r\n        }\r\n    }\r\n}\r\n\r\n\/\/ 4. \u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0433\u0430\u0437\u0430\r\nfunction updateGasDisplay() {\r\n    var gasType = document.getElementById('gasType');\r\n    var gasDisplay = document.getElementById('gasDisplay');\r\n    if (!gasType || !gasDisplay) return;\r\n\r\n    var selected = gasType.options[gasType.selectedIndex];\r\n    if (gasType.value !== '') {\r\n        gasDisplay.textContent = selected ? selected.text : '';\r\n        gasDisplay.className = 'value active';\r\n    } else {\r\n        gasDisplay.textContent = 'F\u0103r\u0103 gaz';\r\n        gasDisplay.className = 'value inactive';\r\n    }\r\n}\r\n\r\n\/\/ 5. BHE \u2014 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0432\u043e\u0434\u0430-\u0432\u043e\u0434\u0430 (water_water)\r\nfunction updateBHEVisibility() {\r\n    var hpType = getHpType();\r\n    var bheField = document.getElementById('bheField');\r\n    var bheType = document.getElementById('bheType');\r\n\r\n    if (!bheField) return;\r\n\r\n    var isWaterWater = (hpType === 'water_water' || hpType === 'apa_apa');\r\n\r\n    bheField.style.display = isWaterWater ? 'block' : 'none';\r\n    if (bheType && !isWaterWater) bheType.value = '';\r\n}\r\n\r\n\/\/ 6. EXT \u2014 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d \u0433\u0430\u0437\r\nfunction updateEXTVisibility() {\r\n    var gasType = document.getElementById('gasType');\r\n    var extField = document.getElementById('extField');\r\n    var extType = document.getElementById('extType');\r\n\r\n    if (!gasType || !extField) return;\r\n\r\n    var hasGas = (gasType.value !== '');\r\n\r\n    extField.style.display = hasGas ? 'block' : 'none';\r\n    if (extType && !hasGas) extType.value = '';\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0413\u0415\u041d\u0415\u0420\u0410\u0426\u0418\u042f \u0418\u041c\u0415\u041d\u0418 \u0424\u0410\u0419\u041b\u0410\r\n\/\/ ============================================================\r\n\r\nfunction getSchemaFileName() {\r\n    var hpType = getHpType();\r\n    var hpModel = localStorage.getItem('altal_hp_model') || '\u0422\u0435\u043f\u043b\u043e\u0432\u043e\u0439 \u043d\u0430\u0441\u043e\u0441';\r\n    var operationModes = document.getElementById('operationModes').value;\r\n    var dhwType = document.getElementById('dhwType').value;\r\n    var gasType = document.getElementById('gasType').value;\r\n    var passiveCooling = document.getElementById('passiveCooling').value;\r\n    var pvSystem = document.getElementById('pvSystem').value;\r\n    var pvPower = parseFloat(document.getElementById('pvPower').value) || 0;\r\n    var thermalAccumulator = parseFloat(document.getElementById('thermalAccumulator').value) || 0;\r\n    var dhwTank = parseFloat(document.getElementById('dhwTank').value) || 0;\r\n\r\n    \/\/ ============================================\r\n    \/\/ \u041f\u041e\u041b\u0423\u0427\u0410\u0415\u041c SUBTYPE \u0418 BHE TOGGLE (\u041d\u041e\u0412\u042b\u0415 \u041f\u041e\u041b\u042f)\r\n    \/\/ ============================================\r\n    var subtype = getHpSubtype();\r\n    var bheToggle = getBheToggle();\r\n\r\n    console.log('\ud83d\udd0d getSchemaFileName() -> subtype:', subtype, 'bheToggle:', bheToggle, 'hpType:', hpType);\r\n\r\n    var prefix = '';\r\n\r\n    \/\/ ============================================\r\n    \/\/ 1. \u0412\u041e\u0417\u0414\u0423\u0425-\u0412\u041e\u0414\u0410\r\n    \/\/ ============================================\r\n    if (hpType === 'air_water' || hpType === 'monoblock') {\r\n        prefix = 'AWDC';\r\n        var modelLower = hpModel.toLowerCase();\r\n        if (modelLower.includes('mono') || modelLower.includes('\u043c\u043e\u043d\u043e\u0431\u043b\u043e\u043a')) {\r\n            prefix += '_MONO';\r\n        } else if (modelLower.includes('split')) {\r\n            prefix += '_SPLIT';\r\n        } else {\r\n            prefix += '_FULL';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 2. SOL-APA (ground_water) - \u041e\u0421\u041d\u041e\u0412\u041d\u0410\u042f \u041b\u041e\u0413\u0418\u041a\u0410\r\n    \/\/ ============================================\r\n    else if (hpType === 'ground_water' || hpType === 'sol_apa') {\r\n\r\n        \/\/ ============================================\r\n        \/\/ \u0412\u0410\u0416\u041d\u041e: \u041e\u041f\u0420\u0415\u0414\u0415\u041b\u042f\u0415\u041c \u041f\u0420\u0415\u0424\u0418\u041a\u0421 \u041f\u041e SUBTYPE\r\n        \/\/ ============================================\r\n        if (subtype === 'geothermal') {\r\n            \/\/ \u0413\u0435\u043e\u0442\u0435\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u2192 BWAC\r\n            prefix = 'BWAC';\r\n            if (hpModel.toLowerCase().includes('dual')) {\r\n                prefix += '_DUAL';\r\n            } else {\r\n                prefix += '_ONE';\r\n            }\r\n        } else {\r\n            \/\/ Ap\u0103 - ap\u0103 \u2192 WWAC\r\n            prefix = 'WWAC';\r\n            if (hpModel.toLowerCase().includes('dual')) {\r\n                prefix += '_DUAL';\r\n            } else {\r\n                prefix += '_ONE';\r\n            }\r\n            \/\/ BHE \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f apa-apa (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c bheToggle)\r\n            if (bheToggle === 'yes') {\r\n                prefix += '_BHE';\r\n            }\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 3. \u0412\u041e\u0414\u0410-\u0412\u041e\u0414\u0410 (water_water) \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043f\r\n    \/\/ ============================================\r\n    else if (hpType === 'water_water' || hpType === 'apa_apa') {\r\n        prefix = 'WWAC';\r\n        if (hpModel.toLowerCase().includes('dual')) {\r\n            prefix += '_DUAL';\r\n        } else {\r\n            prefix += '_ONE';\r\n        }\r\n        \/\/ BHE \u0434\u043b\u044f \u0432\u043e\u0434\u0430-\u0432\u043e\u0434\u0430 (\u0441\u0442\u0430\u0440\u043e\u0435 \u043f\u043e\u043b\u0435)\r\n        var bheType = document.getElementById('bheType');\r\n        if (bheType && bheType.value === 'BHE') {\r\n            prefix += '_BHE';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 4. \u0412\u042b\u0421\u041e\u041a\u041e\u0422\u0415\u041c\u041f\u0415\u0420\u0410\u0422\u0423\u0420\u041d\u042b\u0419\r\n    \/\/ ============================================\r\n    else if (hpType === 'high_temp') {\r\n        prefix = 'HTHP';\r\n        if (hpModel.toLowerCase().includes('cascade')) {\r\n            prefix += '_DUAL_CASCADE';\r\n        } else {\r\n            prefix += '_DUAL';\r\n        }\r\n        if (hpModel.includes('45-95')) {\r\n            prefix += '_45-95';\r\n        } else if (hpModel.includes('10-95')) {\r\n            prefix += '_10-95';\r\n        }\r\n        return prefix + '.pdf';\r\n    }\r\n\r\n    \/\/ \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\r\n    if (!prefix) {\r\n        console.warn('\u26a0\ufe0f \u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c AWDC_FULL');\r\n        prefix = 'AWDC_FULL';\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 5. \u0420\u0415\u0416\u0418\u041c \u0420\u0410\u0411\u041e\u0422\u042b\r\n    \/\/ ============================================\r\n    var hasDHW = (operationModes === 'mode3' || operationModes === 'mode3_cooling');\r\n    var mode = 'mode2';\r\n    if (hasDHW && dhwTank > 0) mode = 'mode3';\r\n    prefix += '_' + mode;\r\n\r\n    \/\/ ============================================\r\n    \/\/ 6. \u0411\u0423\u0424\u0415\u0420 (\u0432\u0441\u0435\u0433\u0434\u0430)\r\n    \/\/ ============================================\r\n    prefix += '_BUF';\r\n\r\n    \/\/ ============================================\r\n    \/\/ 7. DHW (\u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0413\u0412\u0421)\r\n    \/\/ ============================================\r\n    if (mode === 'mode3') {\r\n        if (dhwType === 'DHW3WAY') {\r\n            prefix += '_DHW3WAY';\r\n        } else {\r\n            prefix += '_DHWHE';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 8. \u0413\u0410\u0417\r\n    \/\/ ============================================\r\n    if (gasType && gasType !== '') {\r\n        prefix += '_' + gasType;\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 9. \u041f\u0410\u0421\u0421\u0418\u0412\u041d\u041e\u0415 \u041e\u0425\u041b\u0410\u0416\u0414\u0415\u041d\u0418\u0415 (\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f sol-apa)\r\n    \/\/ ============================================\r\n    if (passiveCooling === 'yes' && (hpType === 'ground_water' || hpType === 'sol_apa')) {\r\n        prefix += '_PASSIVE';\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 10. PV\r\n    \/\/ ============================================\r\n    if (pvSystem === 'yes' && pvPower > 0) {\r\n        prefix += '_PV';\r\n        if (thermalAccumulator > 0) {\r\n            prefix += '_ACCM';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================\r\n    \/\/ 11. EVI\r\n    \/\/ ============================================\r\n    if (hpModel.toLowerCase().includes('evi')) {\r\n        prefix += '_EVI';\r\n    }\r\n\r\n    var fullName = prefix + '.pdf';\r\n    console.log('\ud83d\udcc4 \u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430:', fullName);\r\n    return fullName;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0413\u0415\u041d\u0415\u0420\u0410\u0426\u0418\u042f \u0421\u0425\u0415\u041c\u042b\r\n\/\/ ============================================================\r\n\r\nfunction generateScheme() {\r\n    var fileName = getSchemaFileName();\r\n    var filePath = '\/wp-content\/uploads\/schemas\/' + fileName;\r\n\r\n    document.getElementById('schemeFileName').textContent = fileName;\r\n\r\n    var container = document.getElementById('schemeContainer');\r\n    if (!container) return;\r\n\r\n    \/\/ SVG-\u0441\u0445\u0435\u043c\u0430\r\n    var svg = generateMiniSchema();\r\n\r\n    container.innerHTML = `\r\n        <div class=\"file-info\">\r\n            <strong>\ud83d\udcc4 Fi\u0219ier:<\/strong> ${fileName}\r\n            <br><small>Schema este disponibil\u0103 pentru desc\u0103rcare prin butonul de mai jos<\/small>\r\n        <\/div>\r\n        ${svg}\r\n        <div style=\"margin-top:16px; padding:12px; background:#e8f5e9; border-radius:6px; width:100%; text-align:center;\">\r\n            <p style=\"margin:0; font-size:13px; color:#2e7d32;\">\r\n                \u2705 Schema a fost generat\u0103 pe baza parametrilor selecta\u021bi.\r\n                <br>Ap\u0103sa\u021bi butonul <strong>\u00abExport\u0103 PDF\u00bb<\/strong> pentru a desc\u0103rca documentul complet.\r\n            <\/p>\r\n        <\/div>\r\n    `;\r\n\r\n    \/\/ \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435\r\n    var downloadLink = document.getElementById('downloadPdfLink');\r\n    if (downloadLink) {\r\n        downloadLink.href = filePath;\r\n        document.getElementById('downloadPdfText').textContent = 'Export\u0103 PDF (' + fileName + ')';\r\n    }\r\n\r\n    generateBOM();\r\n    generateLegend();\r\n    generateReport();\r\n    localStorage.setItem('altal_scheme_file', fileName);\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0413\u0415\u041d\u0415\u0420\u0410\u0426\u0418\u042f \u041c\u0418\u041d\u0418-\u0421\u0425\u0415\u041c\u042b (SVG)\r\n\/\/ ============================================================\r\n\r\nfunction generateMiniSchema() {\r\n    var hpType = getHpType();\r\n    var hpModel = document.getElementById('hpModel').value || '\u0422\u0435\u043f\u043b\u043e\u0432\u043e\u0439 \u043d\u0430\u0441\u043e\u0441';\r\n    var power = document.getElementById('powerInput').value || 15;\r\n    var tempMode = document.getElementById('tempMode').value || '35';\r\n    var operationModes = document.getElementById('operationModes').value || 'mode2';\r\n    var bufferTank = document.getElementById('bufferTank').value || 0;\r\n    var dhwTank = document.getElementById('dhwTank').value || 0;\r\n    var pvSystem = document.getElementById('pvSystem').value || 'no';\r\n    var pvPower = document.getElementById('pvPower').value || 0;\r\n    var passiveCooling = document.getElementById('passiveCooling').value || 'no';\r\n    var gasType = document.getElementById('gasType').value || '';\r\n    var bheType = document.getElementById('bheType').value || '';\r\n    var projectName = localStorage.getItem('altal_project_name') || 'Proiect nou';\r\n\r\n    var typeMap = {\r\n        'air_water': 'Aer-Ap\u0103',\r\n        'water_water': 'Ap\u0103-Ap\u0103',\r\n        'monoblock': 'Monobloc',\r\n        'ground_water': 'Sol-Ap\u0103'\r\n    };\r\n    var tempMap = {\r\n        '35': '35\u00b0C (pardoseal\u0103)',\r\n        '55': '55\u00b0C (radiatoare)',\r\n        '65': '65\u00b0C (registre)'\r\n    };\r\n    var modeMap = {\r\n        'mode2': '\u00cenc\u0103lzire',\r\n        'mode3': '\u00cenc\u0103lzire + ACM',\r\n        'mode2_cooling': '\u00cenc\u0103lzire + R\u0103cire',\r\n        'mode3_cooling': '\u00cenc\u0103lzire + R\u0103cire + ACM'\r\n    };\r\n    var hasDHW = (operationModes === 'mode3' || operationModes === 'mode3_cooling');\r\n\r\n    return `\r\n        <svg viewBox=\"0 0 800 450\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"max-width:100%; height:auto;\">\r\n            <rect width=\"800\" height=\"450\" fill=\"#fafcff\" rx=\"8\"\/>\r\n            <text x=\"400\" y=\"30\" text-anchor=\"middle\" font-size=\"14\" font-weight=\"bold\" fill=\"#0b2b4a\">Schema de leg\u0103tur\u0103 - ${projectName}<\/text>\r\n            <text x=\"400\" y=\"52\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">${typeMap[hpType] || hpType} | ${power} kW | ${tempMap[tempMode] || tempMode + '\u00b0C'} | ${modeMap[operationModes] || operationModes}<\/text>\r\n\r\n            <rect x=\"280\" y=\"80\" width=\"240\" height=\"80\" rx=\"8\" fill=\"#e8f0fe\" stroke=\"#0057a8\" stroke-width=\"2\"\/>\r\n            <text x=\"400\" y=\"108\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"bold\" fill=\"#0b2b4a\">Pomp\u0103 de c\u0103ldur\u0103<\/text>\r\n            <text x=\"400\" y=\"126\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">${hpModel}<\/text>\r\n            <text x=\"400\" y=\"144\" text-anchor=\"middle\" font-size=\"11\" fill=\"#64748b\">${power} kW<\/text>\r\n\r\n            <text x=\"180\" y=\"105\" text-anchor=\"middle\" font-size=\"10\" fill=\"#0057a8\">Surs\u0103<\/text>\r\n            <text x=\"620\" y=\"105\" text-anchor=\"middle\" font-size=\"10\" fill=\"#e65100\">Consumator<\/text>\r\n\r\n            <line x1=\"280\" y1=\"120\" x2=\"200\" y2=\"120\" stroke=\"#0057a8\" stroke-width=\"2\" marker-end=\"url(#arrow)\"\/>\r\n            <line x1=\"520\" y1=\"120\" x2=\"600\" y2=\"120\" stroke=\"#e65100\" stroke-width=\"2\" marker-end=\"url(#arrow)\"\/>\r\n\r\n            <rect x=\"80\" y=\"95\" width=\"120\" height=\"50\" rx=\"6\" fill=\"#e3f2fd\" stroke=\"#0057a8\" stroke-width=\"1.5\"\/>\r\n            <text x=\"140\" y=\"118\" text-anchor=\"middle\" font-size=\"11\" fill=\"#0057a8\">${hpType === 'air_water' ? 'Aer exterior' : hpType === 'ground_water' ? 'Sol (GEO)' : hpType === 'water_water' ? 'Ap\u0103 (WAT)' : 'Surs\u0103'}<\/text>\r\n            ${bheType === 'BHE' ? '<text x=\"140\" y=\"135\" text-anchor=\"middle\" font-size=\"9\" fill=\"#0057a8\">+ BHE<\/text>' : ''}\r\n\r\n            ${Number(bufferTank) > 0 ? `\r\n                <rect x=\"480\" y=\"195\" width=\"120\" height=\"55\" rx=\"6\" fill=\"#fef9f0\" stroke=\"#b45f06\" stroke-width=\"2\"\/>\r\n                <text x=\"540\" y=\"218\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"bold\" fill=\"#b45f06\">Buffer<\/text>\r\n                <text x=\"540\" y=\"236\" text-anchor=\"middle\" font-size=\"10\" fill=\"#b45f06\">${bufferTank} l<\/text>\r\n                <line x1=\"520\" y1=\"160\" x2=\"540\" y2=\"195\" stroke=\"#b45f06\" stroke-width=\"1.5\"\/>\r\n            ` : ''}\r\n\r\n            ${Number(dhwTank) > 0 && hasDHW ? `\r\n                <rect x=\"480\" y=\"275\" width=\"120\" height=\"55\" rx=\"6\" fill=\"#e8f5e9\" stroke=\"#2e7d32\" stroke-width=\"2\"\/>\r\n                <text x=\"540\" y=\"298\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"bold\" fill=\"#2e7d32\">ACM<\/text>\r\n                <text x=\"540\" y=\"316\" text-anchor=\"middle\" font-size=\"10\" fill=\"#2e7d32\">${dhwTank} l<\/text>\r\n                <line x1=\"520\" y1=\"160\" x2=\"540\" y2=\"275\" stroke=\"#2e7d32\" stroke-width=\"1.5\" stroke-dasharray=\"4,4\"\/>\r\n            ` : ''}\r\n\r\n            ${pvSystem === 'yes' && Number(pvPower) > 0 ? `\r\n                <rect x=\"50\" y=\"280\" width=\"100\" height=\"55\" rx=\"6\" fill=\"#fff3e0\" stroke=\"#e65100\" stroke-width=\"2\"\/>\r\n                <text x=\"100\" y=\"303\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"bold\" fill=\"#e65100\">PV<\/text>\r\n                <text x=\"100\" y=\"321\" text-anchor=\"middle\" font-size=\"10\" fill=\"#e65100\">${pvPower} kWp<\/text>\r\n                <line x1=\"150\" y1=\"307\" x2=\"280\" y2=\"307\" stroke=\"#e65100\" stroke-width=\"1.5\" stroke-dasharray=\"4,4\"\/>\r\n            ` : ''}\r\n\r\n            ${gasType ? `\r\n                <rect x=\"630\" y=\"195\" width=\"100\" height=\"55\" rx=\"6\" fill=\"#fce4ec\" stroke=\"#c62828\" stroke-width=\"2\"\/>\r\n                <text x=\"680\" y=\"218\" text-anchor=\"middle\" font-size=\"11\" font-weight=\"bold\" fill=\"#c62828\">GAZ<\/text>\r\n                <text x=\"680\" y=\"236\" text-anchor=\"middle\" font-size=\"10\" fill=\"#c62828\">${gasType}<\/text>\r\n                <line x1=\"600\" y1=\"120\" x2=\"630\" y2=\"222\" stroke=\"#c62828\" stroke-width=\"1.5\" stroke-dasharray=\"4,4\"\/>\r\n            ` : ''}\r\n\r\n            ${passiveCooling === 'yes' ? '<text x=\"400\" y=\"380\" text-anchor=\"middle\" font-size=\"11\" fill=\"#1565c0\">\u2744\ufe0f R\u0103cire pasiv\u0103 activ\u0103<\/text>' : ''}\r\n\r\n            <rect x=\"50\" y=\"405\" width=\"700\" height=\"35\" rx=\"4\" fill=\"#f8fafc\" stroke=\"#e9edf2\" stroke-width=\"1\"\/>\r\n            <text x=\"100\" y=\"426\" font-size=\"10\" fill=\"#888\">\ud83d\udd35 Circuit agent | \ud83d\udfe0 Circuit consumator | \ud83d\udfe1 Buffer | \ud83d\udfe2 ACM | \ud83d\udfe0 PV | \ud83d\udd34 Gaz<\/text>\r\n\r\n            <defs>\r\n                <marker id=\"arrow\" markerWidth=\"10\" markerHeight=\"7\" refX=\"10\" refY=\"3.5\" orient=\"auto\">\r\n                    <polygon points=\"0 0, 10 3.5, 0 7\" fill=\"#0057a8\"\/>\r\n                <\/marker>\r\n            <\/defs>\r\n        <\/svg>\r\n    `;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0413\u0415\u041d\u0415\u0420\u0410\u0426\u0418\u042f BOM\r\n\/\/ ============================================================\r\n\r\nfunction generateBOM() {\r\n    var hpType = getHpType();\r\n    var power = parseFloat(document.getElementById('powerInput').value) || 15;\r\n    var operationModes = document.getElementById('operationModes').value || 'mode2';\r\n    var bufferTank = parseFloat(document.getElementById('bufferTank').value) || 0;\r\n    var dhwTank = parseFloat(document.getElementById('dhwTank').value) || 0;\r\n    var pvSystem = document.getElementById('pvSystem').value || 'no';\r\n    var pvPower = parseFloat(document.getElementById('pvPower').value) || 0;\r\n    var hpModel = document.getElementById('hpModel').value || '\u0422\u0435\u043f\u043b\u043e\u0432\u043e\u0439 \u043d\u0430\u0441\u043e\u0441';\r\n    var passiveCooling = document.getElementById('passiveCooling').value || 'no';\r\n    var gasType = document.getElementById('gasType').value || '';\r\n    var bheType = document.getElementById('bheType').value || '';\r\n\r\n    var typeMap = {\r\n        'air_water': 'Aer-Ap\u0103',\r\n        'water_water': 'Ap\u0103-Ap\u0103',\r\n        'monoblock': 'Monobloc',\r\n        'ground_water': 'Sol-Ap\u0103'\r\n    };\r\n    var modeMap = {\r\n        'mode2': '\u00cenc\u0103lzire',\r\n        'mode3': '\u00cenc\u0103lzire + ACM',\r\n        'mode2_cooling': '\u00cenc\u0103lzire + R\u0103cire',\r\n        'mode3_cooling': '\u00cenc\u0103lzire + R\u0103cire + ACM'\r\n    };\r\n    var hasDHW = (operationModes === 'mode3' || operationModes === 'mode3_cooling');\r\n\r\n    var components = [\r\n        { code: 'HPM', name: 'Pomp\u0103 de c\u0103ldur\u0103', desc: hpModel + ' (' + power + ' kW)', qty: 1 },\r\n        { code: 'HCP', name: 'Pomp\u0103 de circula\u021bie', desc: 'PC-200', qty: 2 },\r\n        { code: 'PV', name: 'Van\u0103 cu 3 c\u0103i', desc: 'TV-150', qty: 1 },\r\n        { code: 'EXP', name: 'Rezervor de expansiune', desc: 'RB-' + Math.round(power * 0.8), qty: 1 },\r\n        { code: 'VL', name: 'Grup de siguran\u021b\u0103', desc: 'GS-100', qty: 1 },\r\n        { code: 'FL', name: 'Filtru cu sit\u0103', desc: 'FS-80', qty: 1 },\r\n        { code: 'VD', name: 'Robinet cu bil\u0103', desc: 'BS-50', qty: 4 }\r\n    ];\r\n\r\n    if (bufferTank > 0) components.push({ code: 'BUF', name: 'Rezervor tampon', desc: 'BT-' + bufferTank + ' l', qty: 1 });\r\n    if (dhwTank > 0 && hasDHW) {\r\n        components.push({ code: 'DHW', name: 'Rezervor ACM', desc: 'DHW-' + dhwTank + ' l', qty: 1 });\r\n        components.push({ code: 'HWCP', name: 'Pomp\u0103 circula\u021bie ACM', desc: 'HWCP-50', qty: 1 });\r\n    }\r\n    if (operationModes.includes('cooling')) {\r\n        components.push({ code: '4WAY', name: 'Van\u0103 cu 4 c\u0103i (r\u0103cire)', desc: 'FV-200', qty: 1 });\r\n    }\r\n    if (passiveCooling === 'yes') {\r\n        components.push({ code: 'PAS', name: 'Contur pasiv de r\u0103cire', desc: 'PHE-100', qty: 1 });\r\n        components.push({ code: 'PCP', name: 'Pomp\u0103 r\u0103cire pasiv\u0103', desc: 'PCP-50', qty: 1 });\r\n    }\r\n    if (pvSystem === 'yes' && pvPower > 0) {\r\n        components.push({ code: 'PV', name: 'Sistem fotovoltaic', desc: pvPower + ' kWp', qty: 1 });\r\n        components.push({ code: 'RP', name: 'Invertor PV', desc: 'PV-INV-' + Math.round(pvPower), qty: 1 });\r\n    }\r\n    if (gasType) components.push({ code: 'GAS', name: 'Cazan pe gaz', desc: gasType, qty: 1 });\r\n    if (bheType === 'BHE') {\r\n        components.push({ code: 'BHE', name: 'Schimb\u0103tor ap\u0103-anticongelant', desc: 'BHE-200', qty: 1 });\r\n        components.push({ code: 'SCP', name: 'Pomp\u0103 circuit intermediar', desc: 'SCP-100', qty: 1 });\r\n    }\r\n\r\n    var html = `\r\n        <h4 style=\"margin:0 0 8px 0;\">\ud83d\udccb Specifica\u021bia echipamentului (BOM)<\/h4>\r\n        <p style=\"font-size:13px; color:#888; margin:0 0 16px 0;\">\r\n            <strong>${typeMap[hpType] || hpType}<\/strong> | ${power} kW | ${modeMap[operationModes] || operationModes}\r\n            ${bufferTank > 0 ? ' | Tampon: ' + bufferTank + ' l' : ''}\r\n            ${dhwTank > 0 && hasDHW ? ' | ACM: ' + dhwTank + ' l' : ''}\r\n            ${pvSystem === 'yes' ? ' | PV: ' + pvPower + ' kWp' : ''}\r\n            ${gasType ? ' | Gaz: ' + gasType : ''}\r\n            ${passiveCooling === 'yes' ? ' | R\u0103cire pasiv\u0103' : ''}\r\n        <\/p>\r\n        <table class=\"bom-table\">\r\n            <thead><tr><th>Nr.<\/th><th>Cod<\/th><th>Denumire<\/th><th>Descriere<\/th><th>Cant.<\/th><\/tr><\/thead>\r\n            <tbody>`;\r\n    components.forEach(function(c, i) {\r\n        html += '<tr><td>' + (i+1) + '<\/td><td><strong>' + c.code + '<\/strong><\/td><td>' + c.name + '<\/td><td>' + c.desc + '<\/td><td>' + c.qty + '<\/td><\/tr>';\r\n    });\r\n    html += `\r\n            <\/tbody>\r\n            <tfoot><tr class=\"total\"><td colspan=\"4\" style=\"text-align:right;\">Total componente:<\/td><td>${components.length}<\/td><\/tr><\/tfoot>\r\n        <\/table>\r\n        <div style=\"margin-top:12px; padding:12px; background:#fef9f0; border:1px solid #fde6c2; border-radius:6px;\">\r\n            <span style=\"color:#b45f06;\">\ud83d\udccc<\/span>\r\n            <span style=\"color:#666; font-size:13px;\">Specifica\u021bia include toate componentele necesare pentru schema selectat\u0103.<\/span>\r\n        <\/div>\r\n    `;\r\n    document.getElementById('bomContainer').innerHTML = html;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0413\u0415\u041d\u0415\u0420\u0410\u0426\u0418\u042f \u041b\u0415\u0413\u0415\u041d\u0414\u042b\r\n\/\/ ============================================================\r\n\r\nfunction generateLegend() {\r\n    var html = `\r\n        <h4 style=\"margin:0 0 16px 0;\">\ud83d\udcd6 Legend\u0103 componente<\/h4>\r\n        <p style=\"font-size:13px; color:#888; margin:0 0 16px 0;\">Lista codurilor \u0219i denumirilor componentelor utilizate \u00een schem\u0103<\/p>\r\n        <table class=\"legend-table\">\r\n            <thead><tr><th style=\"text-align:left; font-weight:700;\">Cod<\/th><th style=\"text-align:left; font-weight:700;\">Denumire<\/th><\/tr><\/thead>\r\n            <tbody>`;\r\n    Object.keys(LEGEND).sort().forEach(function(code) {\r\n        html += '<tr><td class=\"code\">' + code + '<\/td><td class=\"desc\">' + LEGEND[code] + '<\/td><\/tr>';\r\n    });\r\n    html += '<\/tbody><\/table>';\r\n    document.getElementById('legendContainer').innerHTML = html;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0413\u0415\u041d\u0415\u0420\u0410\u0426\u0418\u042f \u041e\u0422\u0427\u0415\u0422\u0410\r\n\/\/ ============================================================\r\n\r\nfunction generateReport() {\r\n    var projectName = localStorage.getItem('altal_project_name') || 'Proiect nou';\r\n    var buildingType = localStorage.getItem('altal_building_type') || '\u2014';\r\n    var heatLoss = localStorage.getItem('altal_heat_loss') || '\u2014';\r\n    var region = localStorage.getItem('altal_region') || '\u2014';\r\n    var hpPower = document.getElementById('powerInput').value || '\u2014';\r\n    var hpModel = document.getElementById('hpModel').value || '\u2014';\r\n    var fileName = getSchemaFileName();\r\n    var bufferTank = document.getElementById('bufferTank').value || 0;\r\n    var dhwTank = document.getElementById('dhwTank').value || 0;\r\n    var pvSystem = document.getElementById('pvSystem').value || 'no';\r\n    var pvPower = document.getElementById('pvPower').value || 0;\r\n    var gasType = document.getElementById('gasType').value || 'F\u0103r\u0103';\r\n    var passiveCooling = document.getElementById('passiveCooling').value || 'no';\r\n    var operationModes = document.getElementById('operationModes').value || 'mode2';\r\n\r\n    var modeMap = {\r\n        'mode2': '\u00cenc\u0103lzire',\r\n        'mode3': '\u00cenc\u0103lzire + ACM',\r\n        'mode2_cooling': '\u00cenc\u0103lzire + R\u0103cire',\r\n        'mode3_cooling': '\u00cenc\u0103lzire + R\u0103cire + ACM'\r\n    };\r\n    var hasDHW = (operationModes === 'mode3' || operationModes === 'mode3_cooling');\r\n\r\n    var html = `\r\n        <div style=\"padding:20px; background:#f8fafc; border-radius:8px;\">\r\n            <h4 style=\"margin:0 0 16px 0;\">\ud83d\udcc4 Raport complet<\/h4>\r\n            <div class=\"report-grid\">\r\n                <div class=\"item\"><strong>\ud83d\udcd0 Proiect<\/strong><p>${projectName}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83c\udfe0 Tip cl\u0103dire<\/strong><p>${buildingType}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udd25 Pierderi de c\u0103ldur\u0103<\/strong><p>${heatLoss} kW<\/p><\/div>\r\n                <div class=\"item\"><strong>\u26a1 Putere HP<\/strong><p>${hpPower} kW<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udcc5 Regiune<\/strong><p>${region}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83c\udfed Model HP<\/strong><p>${hpModel}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udd04 Mod func\u021bionare<\/strong><p>${modeMap[operationModes] || operationModes}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udcc4 Fi\u0219ier schem\u0103<\/strong><p style=\"color:#0057a8;\">${fileName}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udce6 Rezervor tampon<\/strong><p>${bufferTank} l<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udebf Rezervor ACM<\/strong><p>${hasDHW ? dhwTank + ' l' : '\u2014'}<\/p><\/div>\r\n                <div class=\"item\"><strong>\u2600\ufe0f Sistem PV<\/strong><p>${pvSystem === 'yes' ? pvPower + ' kWp' : 'Nu'}<\/p><\/div>\r\n                <div class=\"item\"><strong>\ud83d\udd25 Gaz<\/strong><p>${gasType}<\/p><\/div>\r\n                <div class=\"item full\"><strong>\u2744\ufe0f R\u0103cire pasiv\u0103<\/strong><p>${passiveCooling === 'yes' ? '\u2705 Activ\u0103' : '\u274c Nu'}<\/p><\/div>\r\n            <\/div>\r\n            <div style=\"background:#e8f0fe; padding:12px; border-radius:6px; border:1px solid #0057a8;\">\r\n                <p style=\"margin:0; font-size:13px; color:#0b2b4a;\">\r\n                    <strong>\u2705 Schema \u0219i specifica\u021bia au fost generate cu succes.<\/strong>\r\n                    <br>Pentru desc\u0103rcare, utiliza\u021bi butonul <strong>\u00abExport\u0103 PDF\u00bb<\/strong> de mai jos.\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n    `;\r\n    document.getElementById('previewContainer').innerHTML = html;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u0412\u0421\u041f\u041e\u041c\u041e\u0413\u0410\u0422\u0415\u041b\u042c\u041d\u042b\u0415 \u0424\u0423\u041d\u041a\u0426\u0418\u0418\r\n\/\/ ============================================================\r\n\r\nfunction downloadPDF() {\r\n    var fileName = getSchemaFileName();\r\n    var filePath = '\/wp-content\/uploads\/schemas\/' + fileName;\r\n    window.open(filePath, '_blank');\r\n}\r\n\r\nfunction saveToDB() {\r\n    var projectData = {\r\n        project_name: document.getElementById('projectName').textContent || 'Proiect nou',\r\n        building_type: document.getElementById('projectBuilding').textContent || '\u2014',\r\n        heat_loss: document.getElementById('projectHeatLoss').textContent || '\u2014',\r\n        hp_power: document.getElementById('powerInput').value || '\u2014',\r\n        hp_type: getHpType(),\r\n        hp_model: document.getElementById('hpModel').value || '\u2014',\r\n        region: document.getElementById('projectRegion').textContent || '\u2014',\r\n        scheme_file: getSchemaFileName(),\r\n        buffer_tank: document.getElementById('bufferTank').value || 0,\r\n        dhw_tank: document.getElementById('dhwTank').value || 0,\r\n        operation_modes: document.getElementById('operationModes').value || '\u2014',\r\n        temp_mode: document.getElementById('tempMode').value || '\u2014',\r\n        pv_system: document.getElementById('pvSystem').value || 'no',\r\n        pv_power: document.getElementById('pvPower').value || 0,\r\n        thermal_accumulator: document.getElementById('thermalAccumulator').value || 0,\r\n        passive_cooling: document.getElementById('passiveCooling').value || 'no',\r\n        gas_type: document.getElementById('gasType').value || '',\r\n        dhw_type: document.getElementById('dhwType').value || 'DHWHE',\r\n        bhe_type: document.getElementById('bheType').value || '',\r\n        ext_type: document.getElementById('extType').value || '',\r\n        date_generated: new Date().toISOString()\r\n    };\r\n\r\n    try {\r\n        localStorage.setItem('altal_saved_project', JSON.stringify(projectData));\r\n        localStorage.setItem('altal_project_id', 'proj_' + Date.now());\r\n        localStorage.setItem('altal_scheme_file', projectData.scheme_file);\r\n        alert('\u2705 Proiectul a fost salvat cu succes!\\n\\n' +\r\n              '\ud83d\udcd0 Proiect: ' + projectData.project_name + '\\n' +\r\n              '\u26a1 Putere: ' + projectData.hp_power + ' kW\\n' +\r\n              '\ud83c\udfed Model: ' + projectData.hp_model + '\\n' +\r\n              '\ud83d\udcc4 Schem\u0103: ' + projectData.scheme_file);\r\n    } catch (error) {\r\n        console.error('\u274c \u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f:', error);\r\n        alert('\u26a0\ufe0f Eroare la salvare. Verifica\u021bi conexiunea.');\r\n    }\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/  \u041d\u0410\u0421\u0422\u0420\u041e\u0419\u041a\u0410 \u041e\u0411\u0420\u0410\u0411\u041e\u0422\u0427\u0418\u041a\u041e\u0412 \u0418 \u0418\u041d\u0418\u0426\u0418\u0410\u041b\u0418\u0417\u0410\u0426\u0418\u042f\r\n\/\/ ============================================================\r\n\r\nfunction setupListeners() {\r\n    \/\/ \u0412\u0441\u0435 \u043f\u043e\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u0441\u0445\u0435\u043c\u0443\r\n    var fields = ['operationModes', 'gasType', 'passiveCooling', 'pvSystem', 'pvPower', 'thermalAccumulator',\r\n                  'bufferTank', 'dhwTank', 'bheType', 'dhwType', 'powerInput', 'tempMode', 'extType'];\r\n\r\n\/\/ \u041f\u043e\u0434\u0442\u0438\u043f sol-apa\r\nvar hpSubtype = document.getElementById('hpSubtype');\r\nif (hpSubtype) {\r\n    hpSubtype.addEventListener('change', function() {\r\n        localStorage.setItem('altal_hp_subtype', this.value);\r\n        updateAllDependencies();\r\n        generateScheme();\r\n    });\r\n}\r\n\r\n\/\/ BHE Toggle (\u0434\u043b\u044f apa-apa)\r\nvar bheToggle = document.getElementById('bheToggle');\r\nif (bheToggle) {\r\n    bheToggle.addEventListener('change', function() {\r\n        localStorage.setItem('altal_bhe_toggle', this.value);\r\n        updateAllDependencies();\r\n        generateScheme();\r\n    });\r\n}\r\n\r\n    fields.forEach(function(id) {\r\n        var el = document.getElementById(id);\r\n        if (el) {\r\n            el.addEventListener('change', function() {\r\n                updateAllDependencies();\r\n                generateScheme();\r\n                \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 localStorage\r\n                localStorage.setItem('altal_' + id, el.value);\r\n            });\r\n            if (el.tagName === 'INPUT') {\r\n                el.addEventListener('input', function() {\r\n                    updateAllDependencies();\r\n                    generateScheme();\r\n                    localStorage.setItem('altal_' + id, el.value);\r\n                });\r\n            }\r\n        }\r\n    });\r\n}\r\n\r\nfunction setupTabs() {\r\n    document.querySelectorAll('.altal-scheme-generator .tabs button').forEach(function(btn) {\r\n        btn.addEventListener('click', function() {\r\n            document.querySelectorAll('.altal-scheme-generator .tabs button').forEach(function(b) {\r\n                b.classList.remove('active');\r\n            });\r\n            this.classList.add('active');\r\n            var tabId = this.dataset.tab;\r\n            document.querySelectorAll('.altal-scheme-generator .tab-content').forEach(function(tab) {\r\n                tab.classList.remove('active');\r\n            });\r\n            var target = document.getElementById('tab-' + tabId);\r\n            if (target) target.classList.add('active');\r\n        });\r\n    });\r\n}\r\n\r\nfunction init() {\r\n    console.log('\ud83d\ude80 ALTAL Generator de scheme v3.0 - ini\u021bializare...');\r\n\r\n    loadProjectData();\r\n    setupListeners();\r\n    setupTabs();\r\n\r\n    \/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438\r\n    var generateBtn = document.querySelector('.btn-generate');\r\n    if (generateBtn) generateBtn.addEventListener('click', generateScheme);\r\n\r\n    \/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f PDF\r\n    var downloadBtn = document.getElementById('downloadPdfLink');\r\n    if (downloadBtn) {\r\n        downloadBtn.addEventListener('click', function(e) {\r\n            e.preventDefault();\r\n            downloadPDF();\r\n        });\r\n    }\r\n\r\n    \/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f\r\n    var saveBtn = document.querySelector('.btn-save');\r\n    if (saveBtn) saveBtn.addEventListener('click', saveToDB);\r\n\r\n    \/\/ \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435\r\n    generateScheme();\r\n\r\n    console.log('\u2705 ALTAL Generator de scheme v3.0 - \u00eenc\u0103rcat!');\r\n}\r\n\r\n\/\/ \u0417\u0430\u043f\u0443\u0441\u043a\r\nif (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', init);\r\n} else {\r\n    init();\r\n}\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Generator de scheme \ud83c\udfe0 \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u203a Instrumente HVAC \u203a Generator de scheme \ud83d\udcd0 Generator de scheme \u0219i specifica\u021bii Crea\u021bi schema de leg\u0103tur\u0103 a pompei de c\u0103ldur\u0103 \u0219i specifica\u021bia echipamentului (BOM) pe baza datelor proiectului dvs. \ud83d\udcd0 Proiect: \u2014 \ud83c\udfe0 Tip: \u2014 \ud83d\udd25 Pierderi: \u2014 kW \u26a1 Putere: \u2014 kW \ud83d\udcc5 Regiune: \u2014 \ud83d\udcc4 Fi\u0219ier: \u2014&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":12154,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"default","_kad_post_title":"default","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"default","_kad_post_vertical_padding":"default","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-12919","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/pages\/12919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/comments?post=12919"}],"version-history":[{"count":174,"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/pages\/12919\/revisions"}],"predecessor-version":[{"id":13200,"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/pages\/12919\/revisions\/13200"}],"up":[{"embeddable":true,"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/pages\/12154"}],"wp:attachment":[{"href":"https:\/\/altal.md\/ro\/wp-json\/wp\/v2\/media?parent=12919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}