{"id":64,"date":"2025-07-12T02:23:30","date_gmt":"2025-07-11T22:53:30","guid":{"rendered":"https:\/\/ctpri.ir\/?page_id=64"},"modified":"2026-08-19T01:32:27","modified_gmt":"2026-08-18T22:02:27","slug":"64-2","status":"publish","type":"page","link":"https:\/\/ctpri.ir\/?page_id=64","title":{"rendered":"\u0631\u0632\u0631\u0648 \u0645\u0634\u0627\u0648\u0631\u0647"},"content":{"rendered":"    <div class=\"emif-consultation-container\" id=\"emif-form-1\">\n        <!-- \u0647\u062f\u0631 \u0641\u0631\u0645 -->\n        <div class=\"emif-form-header\">\n            <img decoding=\"async\" src=\"https:\/\/ctpri.ir\/wp-content\/uploads\/2026\/02\/cropped-Pasargad_1-removebg-preview.png\" \n                 alt=\"\u0644\u0648\u06af\u0648\u06cc \u0634\u0631\u06a9\u062a\" \n                 class=\"emif-logo\">\n            <h2 class=\"emif-company-name\">\u0634\u0631\u06a9\u062a \u062a\u0639\u0627\u0648\u0646\u06cc \u067e\u0627\u0633\u0627\u0631\u06af\u0627\u062f \u0631\u0627\u06cc\u0627\u0646\u0647 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646<\/h2>\n\t\t\t<h2 class=\"emif-company-name\">\u0641\u0631\u0645 \u0631\u0632\u0631\u0648 \u0645\u0634\u0627\u0648\u0631\u0647<\/h2>\n            <div class=\"emif-progress-bar\">\n                <div class=\"emif-progress-step active\" data-step=\"1\">1<\/div>\n                <div class=\"emif-progress-line\"><\/div>\n                <div class=\"emif-progress-step\" data-step=\"2\">2<\/div>\n                <div class=\"emif-progress-line\"><\/div>\n                <div class=\"emif-progress-step\" data-step=\"3\">3<\/div>\n            <\/div>\n        <\/div>\n\n        <!-- \u0641\u0631\u0645 \u0686\u0646\u062f \u0645\u0631\u062d\u0644\u0647\u200c\u0627\u06cc -->\n        <form class=\"emif-booking-form\" method=\"post\" action=\"\">\n            <!-- \u0645\u0631\u062d\u0644\u0647 \u06f1: \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0634\u062e\u0635\u06cc -->\n            <div class=\"emif-form-step\" data-step=\"1\">\n                <h3>\u0645\u0631\u062d\u0644\u0647 \u06f1: \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0634\u062e\u0635\u06cc<\/h3>\n                <div class=\"emif-form-row\">\n                    <label>\u0646\u0627\u0645 \u0648 \u0646\u0627\u0645 \u062e\u0627\u0646\u0648\u0627\u062f\u06af\u06cc <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" name=\"full_name\" required placeholder=\"\u0646\u0627\u0645 \u0648 \u0646\u0627\u0645 \u062e\u0627\u0646\u0648\u0627\u062f\u06af\u06cc \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f\">\n                <\/div>\n                <div class=\"emif-form-row\">\n                    <label>\u0634\u0645\u0627\u0631\u0647 \u062a\u0645\u0627\u0633 <span class=\"required\">*<\/span><\/label>\n                    <input type=\"tel\" name=\"phone\" required placeholder=\"\u0645\u062b\u0627\u0644: 09121234567\">\n                <\/div>\n                <div class=\"emif-form-row\">\n                    <label>\u0627\u06cc\u0645\u06cc\u0644 <span class=\"required\">*<\/span><\/label>\n                    <input type=\"email\" name=\"email\" required placeholder=\"\u0627\u06cc\u0645\u06cc\u0644 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f\">\n                <\/div>\n                <button type=\"button\" class=\"emif-next-btn\" onclick=\"emifValidateAndNext(this, 1)\">\u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f<\/button>\n            <\/div>\n\n            <!-- \u0645\u0631\u062d\u0644\u0647 \u06f2: \u0645\u0648\u0636\u0648\u0639 \u0648 \u0632\u0645\u0627\u0646 \u0645\u0634\u0627\u0648\u0631\u0647 -->\n            <div class=\"emif-form-step\" data-step=\"2\" style=\"display:none;\">\n                <h3>\u0645\u0631\u062d\u0644\u0647 \u06f2: \u0645\u0648\u0636\u0648\u0639 \u0648 \u0632\u0645\u0627\u0646 \u0645\u0634\u0627\u0648\u0631\u0647<\/h3>\n                <div class=\"emif-form-row\">\n                    <label>\u0645\u0648\u0636\u0648\u0639 \u0645\u0634\u0627\u0648\u0631\u0647 <span class=\"required\">*<\/span><\/label>\n                    <select name=\"consultation_topic\" required>\n                        <option value=\"\">-- \u0627\u0646\u062a\u062e\u0627\u0628 \u0645\u0648\u0636\u0648\u0639 --<\/option>\n                        <option value=\"\u067e\u0630\u06cc\u0631\u0634 \u062a\u062d\u0635\u06cc\u0644\u06cc \u0648 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0631 \u062f\u0627\u0646\u0634\u06af\u0627\u0647\">\u067e\u0630\u06cc\u0631\u0634 \u062a\u062d\u0635\u06cc\u0644\u06cc \u0648 \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0631 \u062f\u0627\u0646\u0634\u06af\u0627\u0647<\/option>\n                        <option value=\"\u0645\u0634\u0627\u0648\u0631\u0647 \u0648 \u0627\u0631\u0627\u0626\u0647 \u062e\u062f\u0645\u0627\u062a \u062b\u0628\u062a \u0634\u0631\u06a9\u062a\">\u0645\u0634\u0627\u0648\u0631\u0647 \u0648 \u0627\u0631\u0627\u0626\u0647 \u062e\u062f\u0645\u0627\u062a \u062b\u0628\u062a \u0634\u0631\u06a9\u062a<\/option>\n                        <option value=\"\u0622\u0648\u0633\u0628\u06cc\u0644\u062f\u0648\u0646\u06af \u0622\u0644\u0645\u0627\u0646\">\u0622\u0648\u0633\u0628\u06cc\u0644\u062f\u0648\u0646\u06af \u0622\u0644\u0645\u0627\u0646<\/option>\n                        <option value=\"\u062c\u0627\u0628 \u0622\u0641\u0631 \u0648 \u0648\u06cc\u0632\u0627\u06cc \u06a9\u0627\u0631\">\u062c\u0627\u0628 \u0622\u0641\u0631 \u0648 \u0648\u06cc\u0632\u0627\u06cc \u06a9\u0627\u0631<\/option>\n                        <option value=\"\u0627\u0631\u0627\u0626\u0647 \u06a9\u0644\u06cc\u0647 \u062e\u062f\u0645\u0627\u062a IT\">\u0627\u0631\u0627\u0626\u0647 \u06a9\u0644\u06cc\u0647 \u062e\u062f\u0645\u0627\u062a IT (\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc - \u0634\u0628\u06a9\u0647 - \u0637\u0631\u0627\u062d\u06cc \u0633\u0627\u06cc\u062a - \u0633\u0627\u062e\u062a \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646)<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"emif-form-row\">\n                    <label>\u062a\u0627\u0631\u06cc\u062e \u0645\u0648\u0631\u062f \u0646\u0638\u0631 <span class=\"required\">*<\/span><\/label>\n                    <input type=\"date\" name=\"consultation_date\" required min=\"2026-09-15\">\n                <\/div>\n                <div class=\"emif-form-row\">\n                    <label>\u0632\u0645\u0627\u0646 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 <span class=\"required\">*<\/span><\/label>\n                    <select name=\"consultation_time\" required>\n                        <option value=\"\">-- \u0627\u0646\u062a\u062e\u0627\u0628 \u0632\u0645\u0627\u0646 --<\/option>\n                        <option value=\"09:00\">\u06f9:\u06f0\u06f0 \u0635\u0628\u062d<\/option><option value=\"10:00\">\u06f1\u06f0:\u06f0\u06f0 \u0635\u0628\u062d<\/option><option value=\"11:00\">\u06f1\u06f1:\u06f0\u06f0 \u0635\u0628\u062d<\/option><option value=\"12:00\">\u06f1\u06f2:\u06f0\u06f0 \u0638\u0647\u0631<\/option><option value=\"14:00\">\u06f2:\u06f0\u06f0 \u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631<\/option><option value=\"15:00\">\u06f3:\u06f0\u06f0 \u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631<\/option><option value=\"16:00\">\u06f4:\u06f0\u06f0 \u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631<\/option><option value=\"17:00\">\u06f5:\u06f0\u06f0 \u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631<\/option>                    <\/select>\n                    <div class=\"no-time-msg\" style=\"color:#e74c3c;margin-top:5px;display:none;\">\u26a0\ufe0f \u062a\u0645\u0627\u0645 \u0632\u0645\u0627\u0646\u200c\u0647\u0627\u06cc \u0627\u06cc\u0646 \u062a\u0627\u0631\u06cc\u062e \u0631\u0632\u0631\u0648 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0644\u0637\u0641\u0627\u064b \u062a\u0627\u0631\u06cc\u062e \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/div>\n                <\/div>\n                <div class=\"emif-form-row\">\n                    <label>\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u06a9\u0645\u06cc\u0644\u06cc<\/label>\n                    <textarea name=\"message\" rows=\"3\" placeholder=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f...\"><\/textarea>\n                <\/div>\n                <div style=\"display:flex; gap:10px;\">\n                    <button type=\"button\" class=\"emif-prev-btn\" onclick=\"emifPrevStep(this, 2)\">\u0645\u0631\u062d\u0644\u0647 \u0642\u0628\u0644<\/button>\n                    <button type=\"button\" class=\"emif-next-btn\" onclick=\"emifValidateAndNext(this, 2)\">\u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- \u0645\u0631\u062d\u0644\u0647 \u06f3: \u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u062a\u0627\u06cc\u06cc\u062f \u0646\u0647\u0627\u06cc\u06cc -->\n            <div class=\"emif-form-step\" data-step=\"3\" style=\"display:none;\">\n                <h3>\u0645\u0631\u062d\u0644\u0647 \u06f3: \u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u062a\u0627\u06cc\u06cc\u062f \u0646\u0647\u0627\u06cc\u06cc<\/h3>\n                <div class=\"emif-summary\">\n                    <h4>\u062e\u0644\u0627\u0635\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0634\u0645\u0627:<\/h4>\n                    <div class=\"emif-summary-content\"><\/div>\n                <\/div>\n                <div class=\"emif-payment-info\">\n                    <p style=\"font-size:30px; color:blue;\">\u0647\u0632\u06cc\u0646\u0647 \u0645\u0634\u0627\u0648\u0631\u0647 : 50,000,000 \u0631\u06cc\u0627\u0644<\/p>\n                    <p style=\"font-size:18px; color:red;\">\u062f\u0631 \u0635\u0641\u062d\u0647 \u067e\u0631\u062f\u0627\u062e\u062a \u060c \u0647\u0632\u06cc\u0646\u0647 \u0645\u0634\u0627\u0648\u0631\u0647 \u0631\u0627 \u0628\u0635\u0648\u0631\u062a \" \u0648\u0627\u0631\u06cc\u0632 \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0647 \u062d\u0633\u0627\u0628 \u0628\u0627\u0646\u06a9\u06cc \u0634\u0631\u06a9\u062a \" \u067e\u0631\u062f\u0627\u062e\u062a \u0646\u0645\u0627\u06cc\u06cc\u062f .<\/p>\n                <\/div>\n                <div style=\"display:flex; gap:10px;\">\n                    <button type=\"button\" class=\"emif-prev-btn\" onclick=\"emifPrevStep(this, 3)\">\u0645\u0631\u062d\u0644\u0647 \u0642\u0628\u0644<\/button>\n                    <button type=\"button\" class=\"emif-submit-btn\">\u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u062b\u0628\u062a \u0646\u0647\u0627\u06cc\u06cc<\/button>\n                <\/div>\n            <\/div>\n\n            <div class=\"emif-form-response\" style=\"margin-top: 15px;\"><\/div>\n        <\/form>\n    <\/div>\n\n    <style>\n        @font-face {\n            font-family: 'BTitrBold';\n            src: url('https:\/\/ctpri.ir\/wp-content\/uploads\/2025\/10\/BTitrBold.woff2') format('woff2');\n            font-weight: bold;\n            font-style: normal;\n            font-display: swap;\n        }\n\n        .emif-consultation-container {\n            max-width: 650px;\n            margin: 30px auto;\n            padding: 25px 30px 35px;\n            background: #ffffff;\n            border-radius: 16px;\n            box-shadow: 0 8px 30px rgba(0,0,0,0.12);\n            font-family: 'BTitrBold', 'Vazir', 'Tahoma', sans-serif;\n            direction: rtl;\n            text-align: right;\n        }\n\n        .emif-form-header {\n            text-align: center;\n            border-bottom: 2px solid #f0f0f0;\n            padding-bottom: 18px;\n            margin-bottom: 25px;\n        }\n\n        .emif-logo {\n            max-width: 180px;\n            height: auto;\n            display: block;\n            margin: 0 auto 8px;\n        }\n\n        .emif-company-name {\n            font-family: 'BTitrBold', 'Vazir', sans-serif;\n            font-size: 22px;\n            font-weight: bold;\n            color: #1a2a4a;\n            margin: 5px 0 15px;\n        }\n\n        .emif-progress-bar {\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            margin: 15px 0;\n        }\n\n        .emif-progress-step {\n            width: 35px;\n            height: 35px;\n            border-radius: 50%;\n            background: #e0e0e0;\n            color: #999;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-weight: bold;\n            font-size: 14px;\n            transition: all 0.3s ease;\n        }\n\n        .emif-progress-step.active {\n            background: #1a2a4a;\n            color: white;\n        }\n\n        .emif-progress-step.completed {\n            background: #28a745;\n            color: white;\n        }\n\n        .emif-progress-line {\n            width: 60px;\n            height: 3px;\n            background: #e0e0e0;\n            margin: 0 5px;\n        }\n\n        .emif-progress-line.active {\n            background: #1a2a4a;\n        }\n\n        .emif-form-step {\n            animation: fadeIn 0.3s ease;\n        }\n\n        @keyframes fadeIn {\n            from { opacity: 0; transform: translateY(10px); }\n            to { opacity: 1; transform: translateY(0); }\n        }\n\n        .emif-form-row {\n            margin-bottom: 18px;\n        }\n\n        .emif-form-row label {\n            display: block;\n            font-weight: bold;\n            margin-bottom: 5px;\n            color: #2c3e50;\n            font-size: 15px;\n        }\n\n        .emif-form-row .required {\n            color: #e74c3c;\n            margin-right: 3px;\n        }\n\n        .emif-form-row input,\n        .emif-form-row select,\n        .emif-form-row textarea {\n            width: 100%;\n            padding: 12px 14px;\n            border: 1px solid #d0d7de;\n            border-radius: 8px;\n            font-family: 'BTitrBold', 'Vazir', 'Tahoma', sans-serif;\n            font-size: 15px;\n            transition: border-color 0.3s ease;\n            background: #fafbfc;\n            box-sizing: border-box;\n        }\n\n        .emif-form-row input:focus,\n        .emif-form-row select:focus,\n        .emif-form-row textarea:focus {\n            border-color: #1a2a4a;\n            outline: none;\n            background: #ffffff;\n            box-shadow: 0 0 0 3px rgba(26, 42, 74, 0.1);\n        }\n\n        .emif-form-row input.error,\n        .emif-form-row select.error,\n        .emif-form-row textarea.error {\n            border-color: #e74c3c;\n            box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);\n        }\n\n        .emif-summary {\n            background: #f8f9fa;\n            padding: 15px;\n            border-radius: 8px;\n            margin-bottom: 20px;\n        }\n\n        .emif-summary h4 {\n            margin-top: 0;\n            color: #1a2a4a;\n        }\n\n        .emif-summary p {\n            margin: 8px 0;\n        }\n\n        .emif-payment-info {\n            background: #e8f0fe;\n            padding: 15px;\n            border-radius: 8px;\n            margin-bottom: 20px;\n            text-align: center;\n        }\n\n        .emif-next-btn, .emif-prev-btn, .emif-submit-btn {\n            padding: 12px 25px;\n            border: none;\n            border-radius: 8px;\n            cursor: pointer;\n            font-family: 'BTitrBold', 'Vazir', 'Tahoma', sans-serif;\n            font-size: 16px;\n            transition: all 0.3s ease;\n            flex: 1;\n        }\n\n        .emif-next-btn {\n            background: #1a2a4a;\n            color: white;\n        }\n\n        .emif-next-btn:hover {\n            background: #2c3e6a;\n        }\n\n        .emif-prev-btn {\n            background: #6c757d;\n            color: white;\n        }\n\n        .emif-prev-btn:hover {\n            background: #5a6268;\n        }\n\n        .emif-submit-btn {\n            background: #28a745;\n            color: white;\n            font-size: 18px;\n            font-weight: bold;\n            width: 100%;\n        }\n\n        .emif-submit-btn:hover {\n            background: #218838;\n        }\n\n        .emif-submit-btn:disabled {\n            opacity: 0.6;\n            cursor: not-allowed;\n        }\n\n        .emif-form-response {\n            font-family: 'BTitrBold', 'Vazir', 'Tahoma', sans-serif;\n            font-size: 15px;\n            padding: 10px 12px;\n            border-radius: 6px;\n        }\n\n        .response-success {\n            background: #d4edda;\n            color: #155724;\n            border: 1px solid #c3e6cb;\n        }\n\n        .response-error {\n            background: #f8d7da;\n            color: #721c24;\n            border: 1px solid #f5c6cb;\n        }\n\n        @media (max-width: 600px) {\n            .emif-consultation-container {\n                padding: 15px 18px 25px;\n                margin: 15px 10px;\n            }\n            .emif-company-name {\n                font-size: 18px;\n            }\n            .emif-logo {\n                max-width: 140px;\n            }\n            .emif-progress-line {\n                width: 30px;\n            }\n        }\n    <\/style>\n\n    <script>\n    \/\/ ============================================\n    \/\/ \u062a\u0648\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc \u0628\u0631\u0627\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0646 \u0627\u0650\u0644\u0645\u0627\u0646\u200c\u0647\u0627\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0647\u0645\u0627\u0646 \u0641\u0631\u0645\n    \/\/ (\u0631\u0641\u0639 \u0627\u0635\u0644\u06cc \u0628\u0627\u06af: \u0642\u0628\u0644\u0627\u064b \u0628\u0627 document.getElementById \u062e\u0648\u0646\u062f\u0647 \u0645\u06cc\u200c\u0634\u062f \u06a9\u0647\n    \/\/  \u0627\u06af\u0631 \u0628\u06cc\u0634 \u0627\u0632 \u06cc\u06a9 \u0641\u0631\u0645 \u062f\u0631 \u0635\u0641\u062d\u0647 \u0628\u0648\u062f\u060c \u0647\u0645\u06cc\u0634\u0647 \u0627\u0648\u0644\u06cc\u0646 \u0641\u0631\u0645 \u0631\u0627 \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f)\n    \/\/ ============================================\n    function emifGetForm(el) {\n        return el.closest('.emif-booking-form');\n    }\n\n    function emifGetContainer(el) {\n        return el.closest('.emif-consultation-container');\n    }\n\n    \/\/ ============================================\n    \/\/ \u062a\u0648\u0627\u0628\u0639 \u06a9\u0646\u062a\u0631\u0644 \u0645\u0631\u0627\u062d\u0644\n    \/\/ ============================================\n\n    function emifValidateAndNext(btn, currentStep) {\n        const form = emifGetForm(btn);\n        const currentStepElement = form.querySelector(`.emif-form-step[data-step=\"${currentStep}\"]`);\n        const requiredInputs = currentStepElement.querySelectorAll('[required]');\n        const responseDiv = form.querySelector('.emif-form-response');\n        let isValid = true;\n        let firstError = null;\n        let errorMessages = [];\n\n        \/\/ \u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646 \u062e\u0637\u0627\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc\n        requiredInputs.forEach(input => {\n            input.classList.remove('error');\n        });\n\n        \/\/ \u0628\u0631\u0631\u0633\u06cc \u0647\u0631 \u0641\u06cc\u0644\u062f \u0627\u062c\u0628\u0627\u0631\u06cc\n        requiredInputs.forEach(input => {\n            const value = input.value.trim();\n            let fieldValid = true;\n            let fieldName = input.name || '\u0641\u06cc\u0644\u062f';\n\n            if (input.tagName === 'SELECT') {\n                if (value === '') {\n                    fieldValid = false;\n                    fieldName = input.name === 'consultation_topic' ? '\u0645\u0648\u0636\u0648\u0639 \u0645\u0634\u0627\u0648\u0631\u0647' : '\u0632\u0645\u0627\u0646 \u0645\u0634\u0627\u0648\u0631\u0647';\n                }\n            } else if (input.type === 'email') {\n                if (value === '' || !emifIsValidEmail(value)) {\n                    fieldValid = false;\n                    fieldName = '\u0627\u06cc\u0645\u06cc\u0644';\n                }\n            } else if (input.type === 'tel') {\n                if (value === '' || value.length < 10) {\n                    fieldValid = false;\n                    fieldName = '\u0634\u0645\u0627\u0631\u0647 \u062a\u0645\u0627\u0633';\n                }\n            } else if (input.type === 'date') {\n                if (value === '') {\n                    fieldValid = false;\n                    fieldName = '\u062a\u0627\u0631\u06cc\u062e';\n                }\n            } else {\n                if (value === '') {\n                    fieldValid = false;\n                    if (input.name === 'full_name') fieldName = '\u0646\u0627\u0645 \u0648 \u0646\u0627\u0645 \u062e\u0627\u0646\u0648\u0627\u062f\u06af\u06cc';\n                }\n            }\n\n            if (!fieldValid) {\n                isValid = false;\n                input.classList.add('error');\n                if (!firstError) firstError = input;\n                errorMessages.push(fieldName);\n            }\n        });\n\n        if (!isValid) {\n            if (firstError) {\n                firstError.focus();\n                firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });\n            }\n\n            responseDiv.innerHTML = '\u274c \u0644\u0637\u0641\u0627\u064b \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0646\u06cc\u062f: ' + errorMessages.join('\u060c ');\n            responseDiv.className = 'emif-form-response response-error';\n            return;\n        }\n\n        emifGoToNextStep(btn, currentStep);\n    }\n\n    function emifGoToNextStep(btn, currentStep) {\n        const container = emifGetContainer(btn);\n        const form = emifGetForm(btn);\n\n        const currentStepElement = form.querySelector(`.emif-form-step[data-step=\"${currentStep}\"]`);\n        currentStepElement.style.display = 'none';\n\n        const nextStep = currentStep + 1;\n        const nextStepElement = form.querySelector(`.emif-form-step[data-step=\"${nextStep}\"]`);\n        if (nextStepElement) {\n            nextStepElement.style.display = 'block';\n            updateProgress(container, nextStep);\n\n            if (nextStep === 3) {\n                showSummary(form);\n            }\n        }\n\n        container.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        const responseDiv = form.querySelector('.emif-form-response');\n        responseDiv.innerHTML = '';\n        responseDiv.className = 'emif-form-response';\n    }\n\n    function emifPrevStep(btn, currentStep) {\n        const container = emifGetContainer(btn);\n        const form = emifGetForm(btn);\n\n        const currentStepElement = form.querySelector(`.emif-form-step[data-step=\"${currentStep}\"]`);\n        currentStepElement.style.display = 'none';\n\n        const prevStep = currentStep - 1;\n        const prevStepElement = form.querySelector(`.emif-form-step[data-step=\"${prevStep}\"]`);\n        if (prevStepElement) {\n            prevStepElement.style.display = 'block';\n            updateProgress(container, prevStep);\n        }\n\n        container.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        const responseDiv = form.querySelector('.emif-form-response');\n        responseDiv.innerHTML = '';\n        responseDiv.className = 'emif-form-response';\n    }\n\n    \/\/ \u0646\u0627\u0645 \u062a\u0627\u0628\u0639 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0631\u062f \u062a\u0627 \u0628\u0627 \u062a\u0648\u0627\u0628\u0639 \u0647\u0645\u200c\u0646\u0627\u0645 \u0633\u0627\u06cc\u0631 \u0627\u0641\u0632\u0648\u0646\u0647\u200c\u0647\u0627\/\u0642\u0627\u0644\u0628\u200c\u0647\u0627 \u062a\u062f\u0627\u062e\u0644 \u0646\u06a9\u0646\u062f\n    function emifIsValidEmail(email) {\n        const re = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n        return re.test(email);\n    }\n\n    function updateProgress(container, step) {\n        const steps = container.querySelectorAll('.emif-progress-step');\n        const lines = container.querySelectorAll('.emif-progress-line');\n\n        steps.forEach((s, index) => {\n            const stepNum = index + 1;\n            s.classList.remove('active', 'completed');\n            if (stepNum === step) {\n                s.classList.add('active');\n            } else if (stepNum < step) {\n                s.classList.add('completed');\n            }\n        });\n\n        lines.forEach((line, index) => {\n            const lineNum = index + 1;\n            if (lineNum < step) {\n                line.classList.add('active');\n            } else {\n                line.classList.remove('active');\n            }\n        });\n    }\n\n    function showSummary(form) {\n        const fullName = form.querySelector('[name=\"full_name\"]').value;\n        const phone = form.querySelector('[name=\"phone\"]').value;\n        const email = form.querySelector('[name=\"email\"]').value;\n        const topic = form.querySelector('[name=\"consultation_topic\"]').value;\n        const date = form.querySelector('[name=\"consultation_date\"]').value;\n        const time = form.querySelector('[name=\"consultation_time\"]').value;\n        const message = form.querySelector('[name=\"message\"]').value;\n\n        \/\/ \u062a\u0628\u062f\u06cc\u0644 \u062a\u0627\u0631\u06cc\u062e \u0628\u0647 \u0641\u0631\u0645\u062a \u0634\u0645\u0633\u06cc\n        const persianDate = new Date(date + 'T00:00:00').toLocaleDateString('fa-IR', {\n            year: 'numeric',\n            month: 'long',\n            day: 'numeric'\n        });\n\n        const summaryContent = form.querySelector('.emif-summary-content');\n        summaryContent.innerHTML = `\n            <p><strong>\u0646\u0627\u0645:<\/strong> ${fullName}<\/p>\n            <p><strong>\u062a\u0644\u0641\u0646:<\/strong> ${phone}<\/p>\n            <p><strong>\u0627\u06cc\u0645\u06cc\u0644:<\/strong> ${email}<\/p>\n            <p><strong>\u0645\u0648\u0636\u0648\u0639:<\/strong> ${topic}<\/p>\n            <p><strong>\u062a\u0627\u0631\u06cc\u062e:<\/strong> ${persianDate}<\/p>\n            <p><strong>\u0632\u0645\u0627\u0646:<\/strong> ${time}<\/p>\n            ${message ? `<p><strong>\u062a\u0648\u0636\u06cc\u062d\u0627\u062a:<\/strong> ${message}<\/p>` : ''}\n        `;\n    }\n\n    \/\/ ============================================\n    \/\/ \u0645\u062f\u06cc\u0631\u06cc\u062a \u0632\u0645\u0627\u0646\u200c\u0647\u0627\u06cc \u0631\u0632\u0631\u0648 \u0634\u062f\u0647 (\u0628\u0647\u200c\u0627\u0632\u0627\u06cc \u0647\u0631 \u0641\u0631\u0645 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u0644)\n    \/\/ ============================================\n    document.addEventListener('DOMContentLoaded', function() {\n        document.querySelectorAll('.emif-booking-form').forEach(function(form) {\n            const dateInput = form.querySelector('[name=\"consultation_date\"]');\n            const timeSelect = form.querySelector('[name=\"consultation_time\"]');\n            const noTimeMsg = form.querySelector('.no-time-msg');\n\n            let bookedSlots = {};\n\n            function fetchBookedSlots(date) {\n                if (!date) return;\n\n                fetch('https:\/\/ctpri.ir\/wp-admin\/admin-ajax.php?action=emif_get_booked_times&date=' + date)\n                    .then(response => response.json())\n                    .then(data => {\n                        if (data.success) {\n                            bookedSlots = data.data;\n                            updateAvailableTimes();\n                        }\n                    })\n                    .catch(error => console.error('Error fetching booked times:', error));\n            }\n\n            function updateAvailableTimes() {\n                const selectedDate = dateInput.value;\n                if (!selectedDate) return;\n\n                const options = timeSelect.querySelectorAll('option:not([value=\"\"])');\n                let hasAvailable = false;\n\n                options.forEach(option => {\n                    const timeValue = option.value;\n                    const slotKey = selectedDate + '_' + timeValue;\n\n                    if (bookedSlots[slotKey]) {\n                        option.style.display = 'none';\n                        option.disabled = true;\n                    } else {\n                        option.style.display = '';\n                        option.disabled = false;\n                        hasAvailable = true;\n                    }\n                });\n\n                if (!hasAvailable) {\n                    noTimeMsg.style.display = 'block';\n                    timeSelect.value = '';\n                    timeSelect.classList.add('error');\n                } else {\n                    noTimeMsg.style.display = 'none';\n                    timeSelect.classList.remove('error');\n                    if (!timeSelect.value) {\n                        const firstAvailable = timeSelect.querySelector('option:not([value=\"\"]):not([disabled])');\n                        if (firstAvailable) {\n                            timeSelect.value = firstAvailable.value;\n                        }\n                    }\n                }\n            }\n\n            if (dateInput && timeSelect) {\n                dateInput.addEventListener('change', function() {\n                    fetchBookedSlots(this.value);\n                });\n\n                if (dateInput.value) {\n                    fetchBookedSlots(dateInput.value);\n                }\n            }\n        });\n    });\n\n    \/\/ ============================================\n    \/\/ \u0627\u0631\u0633\u0627\u0644 \u0641\u0631\u0645 \u0628\u0627 AJAX\n    \/\/ ============================================\n    function emifSubmitForm(btn) {\n        const form = emifGetForm(btn);\n        const responseDiv = form.querySelector('.emif-form-response');\n        const submitBtn = btn;\n\n        if (!form || !submitBtn) {\n            console.error('\u0641\u0631\u0645 \u06cc\u0627 \u062f\u06a9\u0645\u0647 \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f');\n            return;\n        }\n\n        \/\/ \u0628\u0631\u0631\u0633\u06cc \u062f\u0642\u06cc\u0642 \u0647\u0645\u0647 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0627\u062c\u0628\u0627\u0631\u06cc\u060c \u0641\u0642\u0637 \u062f\u0631 \u0645\u062d\u062f\u0648\u062f\u0647 \u0647\u0645\u06cc\u0646 \u0641\u0631\u0645\n        const requiredInputs = form.querySelectorAll('[required]');\n        let allValid = true;\n        let errorFields = [];\n\n        requiredInputs.forEach(input => {\n            const value = input.value.trim();\n            let fieldName = input.name || '\u0641\u06cc\u0644\u062f';\n\n            if (input.tagName === 'SELECT') {\n                if (value === '') {\n                    allValid = false;\n                    input.classList.add('error');\n                    fieldName = input.name === 'consultation_topic' ? '\u0645\u0648\u0636\u0648\u0639 \u0645\u0634\u0627\u0648\u0631\u0647' : '\u0632\u0645\u0627\u0646 \u0645\u0634\u0627\u0648\u0631\u0647';\n                    errorFields.push(fieldName);\n                } else {\n                    input.classList.remove('error');\n                }\n            }\n            else if (input.type === 'email') {\n                if (value === '' || !emifIsValidEmail(value)) {\n                    allValid = false;\n                    input.classList.add('error');\n                    errorFields.push('\u0627\u06cc\u0645\u06cc\u0644');\n                } else {\n                    input.classList.remove('error');\n                }\n            }\n            else if (input.type === 'tel') {\n                if (value === '' || value.length < 10) {\n                    allValid = false;\n                    input.classList.add('error');\n                    errorFields.push('\u0634\u0645\u0627\u0631\u0647 \u062a\u0645\u0627\u0633');\n                } else {\n                    input.classList.remove('error');\n                }\n            }\n            else if (input.type === 'date') {\n                if (value === '') {\n                    allValid = false;\n                    input.classList.add('error');\n                    errorFields.push('\u062a\u0627\u0631\u06cc\u062e');\n                } else {\n                    input.classList.remove('error');\n                }\n            }\n            else {\n                if (value === '') {\n                    allValid = false;\n                    input.classList.add('error');\n                    if (input.name === 'full_name') fieldName = '\u0646\u0627\u0645 \u0648 \u0646\u0627\u0645 \u062e\u0627\u0646\u0648\u0627\u062f\u06af\u06cc';\n                    errorFields.push(fieldName);\n                } else {\n                    input.classList.remove('error');\n                }\n            }\n        });\n\n        if (!allValid) {\n            responseDiv.innerHTML = '\u274c \u0644\u0637\u0641\u0627\u064b \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0646\u06cc\u062f: ' + errorFields.join('\u060c ');\n            responseDiv.className = 'emif-form-response response-error';\n\n            const firstError = form.querySelector('.error');\n            if (firstError) {\n                firstError.focus();\n                firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });\n            }\n            return;\n        }\n\n        \/\/ \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u062f\u06a9\u0645\u0647\n        submitBtn.disabled = true;\n        submitBtn.innerHTML = '\u23f3 \u062f\u0631 \u062d\u0627\u0644 \u067e\u0631\u062f\u0627\u0632\u0634...';\n\n        responseDiv.innerHTML = '\u23f3 \u062f\u0631 \u062d\u0627\u0644 \u062b\u0628\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0648 \u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u0647 \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a...';\n        responseDiv.className = 'emif-form-response';\n\n        const formData = new FormData(form);\n        formData.append('action', 'emif_submit_consultation');\n\n        fetch('https:\/\/ctpri.ir\/wp-admin\/admin-ajax.php', {\n            method: 'POST',\n            body: formData,\n            headers: {\n                'Accept': 'application\/json'\n            }\n        })\n        .then(function(response) {\n            if (!response.ok) {\n                throw new Error('\u062e\u0637\u0627 \u062f\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u0633\u0631\u0648\u0631 (\u06a9\u062f ' + response.status + ')');\n            }\n            return response.json();\n        })\n        .then(function(data) {\n            console.log('\u067e\u0627\u0633\u062e \u0633\u0631\u0648\u0631:', data);\n\n            if (data.success) {\n                responseDiv.innerHTML = '\u2705 ' + (data.data && data.data.message ? data.data.message : '\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u062b\u0628\u062a \u0634\u062f.');\n                responseDiv.className = 'emif-form-response response-success';\n\n                const redirectUrl = data.data && data.data.redirect_url;\n                if (redirectUrl) {\n                    setTimeout(function() {\n                        window.location.href = redirectUrl;\n                    }, 1500);\n                } else {\n                    submitBtn.disabled = false;\n                    submitBtn.innerHTML = '\u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u062b\u0628\u062a \u0646\u0647\u0627\u06cc\u06cc';\n                }\n            } else {\n                const errorMsg = (data.data && (data.data.message || data.data)) || '\u062e\u0637\u0627 \u062f\u0631 \u062b\u0628\u062a \u062f\u0631\u062e\u0648\u0627\u0633\u062a';\n                responseDiv.innerHTML = '\u274c ' + errorMsg;\n                responseDiv.className = 'emif-form-response response-error';\n                submitBtn.disabled = false;\n                submitBtn.innerHTML = '\u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u062b\u0628\u062a \u0646\u0647\u0627\u06cc\u06cc';\n            }\n        })\n        .catch(function(error) {\n            console.error('\u062e\u0637\u0627\u06cc \u06a9\u0627\u0645\u0644:', error);\n            responseDiv.innerHTML = '\u274c \u062e\u0637\u0627 \u062f\u0631 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u0633\u0631\u0648\u0631. \u0644\u0637\u0641\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.<br><small style=\"font-size:12px;\">' + error.message + '<\/small>';\n            responseDiv.className = 'emif-form-response response-error';\n            submitBtn.disabled = false;\n            submitBtn.innerHTML = '\u067e\u0631\u062f\u0627\u062e\u062a \u0648 \u062b\u0628\u062a \u0646\u0647\u0627\u06cc\u06cc';\n        });\n    }\n\n    \/\/ \u0627\u062a\u0635\u0627\u0644 \u0631\u0648\u06cc\u062f\u0627\u062f \u067e\u0633 \u0627\u0632 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0627\u0645\u0644 \u0635\u0641\u062d\u0647\u060c \u0628\u0631\u0627\u06cc \u0647\u0631 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 \u0641\u0631\u0645 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647\n    document.addEventListener('DOMContentLoaded', function() {\n        document.querySelectorAll('.emif-submit-btn').forEach(function(submitBtn) {\n            submitBtn.addEventListener('click', function() {\n                emifSubmitForm(submitBtn);\n            });\n        });\n    });\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-64","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ctpri.ir\/index.php?rest_route=\/wp\/v2\/pages\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ctpri.ir\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ctpri.ir\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ctpri.ir\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ctpri.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=64"}],"version-history":[{"count":5,"href":"https:\/\/ctpri.ir\/index.php?rest_route=\/wp\/v2\/pages\/64\/revisions"}],"predecessor-version":[{"id":771,"href":"https:\/\/ctpri.ir\/index.php?rest_route=\/wp\/v2\/pages\/64\/revisions\/771"}],"wp:attachment":[{"href":"https:\/\/ctpri.ir\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}