{"id":8,"date":"2025-06-12T12:03:46","date_gmt":"2025-06-12T12:03:46","guid":{"rendered":"https:\/\/hagag.ussl.info\/?page_id=8"},"modified":"2025-06-12T12:24:23","modified_gmt":"2025-06-12T12:24:23","slug":"%d7%90%d7%9c%d7%9e%d7%a0%d7%98%d7%95%d7%a8-8","status":"publish","type":"page","link":"https:\/\/hagag.ussl.info\/?page_id=8","title":{"rendered":"\u05d0\u05dc\u05de\u05e0\u05d8\u05d5\u05e8 #8"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8\" class=\"elementor elementor-8\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f78254b e-flex e-con-boxed e-con e-parent\" data-id=\"f78254b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0addced elementor-widget elementor-widget-html\" data-id=\"0addced\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"he\" dir=\"rtl\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>\u05d8\u05d5\u05e4\u05e1 \u05e7\u05d1\u05d9\u05e2\u05ea \u05e4\u05d2\u05d9\u05e9\u05d5\u05ea<\/title>\r\n    <style>\r\n        \/* Reset and RTL Support *\/\r\n        * {\r\n            box-sizing: border-box;\r\n            margin: 0;\r\n            padding: 0;\r\n        }\r\n        \r\n        .appointment-form-container {\r\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\r\n            direction: rtl;\r\n            text-align: right;\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            background: #ffffff;\r\n            border-radius: 12px;\r\n            box-shadow: 0 4px 20px rgba(0,0,0,0.1);\r\n        }\r\n\r\n        \/* Header Styles *\/\r\n        .form-header {\r\n            text-align: center;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .form-title {\r\n            font-size: 2.5rem;\r\n            font-weight: bold;\r\n            color: #1f2937;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .form-subtitle {\r\n            color: #6b7280;\r\n            font-size: 1.1rem;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        \/* Success Message *\/\r\n        .success-alert {\r\n            background: #f0fdf4;\r\n            border: 2px solid #bbf7d0;\r\n            border-radius: 8px;\r\n            padding: 16px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            flex-direction: column;\r\n            color: #059669;\r\n        }\r\n\r\n        .alert-icon {\r\n            width: 20px;\r\n            height: 20px;\r\n            margin-left: 8px;\r\n        }\r\n\r\n        .alert-title {\r\n            font-weight: bold;\r\n            display: flex;\r\n            align-items: center;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .alert-text {\r\n            font-size: 0.9rem;\r\n            color: #047857;\r\n        }\r\n\r\n        \/* Loading indicator *\/\r\n        .loading-indicator {\r\n            background: #fef3c7;\r\n            border: 2px solid #fde68a;\r\n            border-radius: 8px;\r\n            padding: 16px;\r\n            text-align: center;\r\n            color: #d97706;\r\n            margin-bottom: 20px;\r\n            display: none;\r\n        }\r\n\r\n        .loading-spinner {\r\n            border: 3px solid #fde68a;\r\n            border-top: 3px solid #d97706;\r\n            border-radius: 50%;\r\n            width: 20px;\r\n            height: 20px;\r\n            animation: spin 1s linear infinite;\r\n            display: inline-block;\r\n            margin-left: 10px;\r\n        }\r\n\r\n        @keyframes spin {\r\n            0% { transform: rotate(0deg); }\r\n            100% { transform: rotate(360deg); }\r\n        }\r\n\r\n        \/* Form Layout *\/\r\n        .form-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 40px;\r\n            margin-top: 40px;\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .form-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 30px;\r\n            }\r\n        }\r\n\r\n        \/* Section Headers *\/\r\n        .section-header {\r\n            font-size: 1.25rem;\r\n            font-weight: 600;\r\n            color: #1f2937;\r\n            margin-bottom: 20px;\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .section-icon {\r\n            width: 20px;\r\n            height: 20px;\r\n            margin-left: 8px;\r\n        }\r\n\r\n        \/* Form Fields *\/\r\n        .form-group {\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .form-label {\r\n            display: block;\r\n            font-size: 0.9rem;\r\n            font-weight: 500;\r\n            color: #374151;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .form-input, .form-select {\r\n            width: 100%;\r\n            padding: 12px;\r\n            border: 2px solid #d1d5db;\r\n            border-radius: 6px;\r\n            font-size: 1rem;\r\n            transition: all 0.2s;\r\n            background: white;\r\n        }\r\n\r\n        .form-input:focus, .form-select:focus {\r\n            outline: none;\r\n            border-color: #3b82f6;\r\n            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\r\n        }\r\n\r\n        \/* Date Grid *\/\r\n        .date-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 12px;\r\n            max-height: 300px;\r\n            overflow-y: auto;\r\n            border: 1px solid #e5e7eb;\r\n            border-radius: 8px;\r\n            padding: 15px;\r\n        }\r\n\r\n        .date-button {\r\n            padding: 12px;\r\n            border: 2px solid #d1d5db;\r\n            border-radius: 8px;\r\n            background: white;\r\n            cursor: pointer;\r\n            transition: all 0.2s;\r\n            text-align: center;\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .date-button:hover:not(:disabled) {\r\n            border-color: #3b82f6;\r\n            background: #eff6ff;\r\n        }\r\n\r\n        .date-button.selected {\r\n            border-color: #3b82f6;\r\n            background: #eff6ff;\r\n            color: #1d4ed8;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .date-button:disabled {\r\n            background: #f3f4f6;\r\n            color: #9ca3af;\r\n            cursor: not-allowed;\r\n            border-color: #e5e7eb;\r\n        }\r\n\r\n        .date-unavailable {\r\n            font-size: 0.75rem;\r\n            color: #dc2626;\r\n            margin-top: 4px;\r\n        }\r\n\r\n        \/* Time Grid *\/\r\n        .time-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(3, 1fr);\r\n            gap: 8px;\r\n            margin-top: 15px;\r\n        }\r\n\r\n        .time-button {\r\n            padding: 10px;\r\n            border: 2px solid #d1d5db;\r\n            border-radius: 6px;\r\n            background: white;\r\n            cursor: pointer;\r\n            transition: all 0.2s;\r\n            text-align: center;\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .time-button:hover:not(:disabled) {\r\n            border-color: #3b82f6;\r\n            background: #eff6ff;\r\n        }\r\n\r\n        .time-button.selected {\r\n            border-color: #3b82f6;\r\n            background: #eff6ff;\r\n            color: #1d4ed8;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .time-button:disabled {\r\n            background: #f3f4f6;\r\n            color: #9ca3af;\r\n            cursor: not-allowed;\r\n            border-color: #e5e7eb;\r\n        }\r\n\r\n        \/* Location Info *\/\r\n        .location-info {\r\n            background: #f9fafb;\r\n            border-radius: 8px;\r\n            padding: 16px;\r\n            margin-top: 30px;\r\n        }\r\n\r\n        .location-title {\r\n            font-weight: 600;\r\n            color: #1f2937;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .location-address {\r\n            color: #6b7280;\r\n            margin-bottom: 4px;\r\n        }\r\n\r\n        .parking-info {\r\n            font-size: 0.9rem;\r\n            color: #059669;\r\n        }\r\n\r\n        \/* Checkbox *\/\r\n        .checkbox-group {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            gap: 12px;\r\n            margin-top: 20px;\r\n        }\r\n\r\n        .checkbox {\r\n            margin-top: 4px;\r\n            min-width: 16px;\r\n        }\r\n\r\n        .checkbox-label {\r\n            font-size: 0.9rem;\r\n            color: #4b5563;\r\n            line-height: 1.5;\r\n        }\r\n\r\n        .link {\r\n            color: #3b82f6;\r\n            text-decoration: underline;\r\n        }\r\n\r\n        \/* Submit Button *\/\r\n        .submit-section {\r\n            text-align: center;\r\n            margin-top: 30px;\r\n        }\r\n\r\n        .submit-button {\r\n            padding: 15px 32px;\r\n            border: none;\r\n            border-radius: 8px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.2s;\r\n        }\r\n\r\n        .submit-button.enabled {\r\n            background: #059669;\r\n            color: white;\r\n        }\r\n\r\n        .submit-button.enabled:hover {\r\n            background: #047857;\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .submit-button.disabled {\r\n            background: #d1d5db;\r\n            color: #9ca3af;\r\n            cursor: not-allowed;\r\n        }\r\n\r\n        \/* Summary Box *\/\r\n        .summary-box {\r\n            background: #f0fdf4;\r\n            border: 2px solid #bbf7d0;\r\n            border-radius: 8px;\r\n            padding: 16px;\r\n            margin-top: 20px;\r\n        }\r\n\r\n        .summary-header {\r\n            display: flex;\r\n            align-items: center;\r\n            color: #065f46;\r\n            font-weight: 600;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .summary-content {\r\n            color: #047857;\r\n        }\r\n\r\n        .summary-detail {\r\n            font-size: 0.9rem;\r\n            color: #059669;\r\n            margin-top: 4px;\r\n        }\r\n\r\n        \/* Stats Section *\/\r\n        .stats-section {\r\n            background: #eff6ff;\r\n            border-radius: 8px;\r\n            padding: 24px;\r\n            margin-top: 30px;\r\n        }\r\n\r\n        .stats-title {\r\n            font-weight: 600;\r\n            color: #1e40af;\r\n            margin-bottom: 16px;\r\n        }\r\n\r\n        .stats-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(3, 1fr);\r\n            gap: 16px;\r\n            text-align: center;\r\n        }\r\n\r\n        .stat-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .stat-number {\r\n            font-size: 2rem;\r\n            font-weight: bold;\r\n            margin-bottom: 4px;\r\n        }\r\n\r\n        .stat-number.red { color: #dc2626; }\r\n        .stat-number.green { color: #16a34a; }\r\n        .stat-number.orange { color: #ea580c; }\r\n\r\n        .stat-label {\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .stat-label.red { color: #b91c1c; }\r\n        .stat-label.green { color: #15803d; }\r\n        .stat-label.orange { color: #c2410c; }\r\n\r\n        \/* Hidden sections *\/\r\n        .hidden {\r\n            display: none;\r\n        }\r\n\r\n        \/* Vplan Integration Status *\/\r\n        .vplan-status {\r\n            background: #f0f9ff;\r\n            border: 1px solid #bae6fd;\r\n            border-radius: 8px;\r\n            padding: 12px;\r\n            margin-bottom: 15px;\r\n            font-size: 0.9rem;\r\n            color: #0369a1;\r\n        }\r\n\r\n        .sync-status {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n        }\r\n\r\n        .sync-indicator {\r\n            width: 8px;\r\n            height: 8px;\r\n            border-radius: 50%;\r\n            background: #10b981;\r\n        }\r\n\r\n        .sync-indicator.syncing {\r\n            background: #f59e0b;\r\n            animation: pulse 1.5s infinite;\r\n        }\r\n\r\n        .sync-indicator.error {\r\n            background: #ef4444;\r\n        }\r\n\r\n        @keyframes pulse {\r\n            0%, 100% { opacity: 1; }\r\n            50% { opacity: 0.5; }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"appointment-form-container\">\r\n        <!-- Header -->\r\n        <div class=\"form-header\">\r\n            <h1 class=\"form-title\">\u05e7\u05d1\u05d9\u05e2\u05ea \u05e4\u05d2\u05d9\u05e9\u05d4<\/h1>\r\n            <p class=\"form-subtitle\">\u05e4\u05d2\u05d9\u05e9\u05d5\u05ea \u05e7\u05d1\u05d5\u05e6\u05ea\u05d9\u05d5\u05ea \u05d1\u05de\u05e8\u05db\u05d6 \u05d4\u05de\u05db\u05d9\u05e8\u05d5\u05ea<\/p>\r\n            <div class=\"success-alert\">\r\n                <div class=\"alert-title\">\r\n                    <svg class=\"alert-icon\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                        <path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"><\/path>\r\n                    <\/svg>\r\n                    \u05e7\u05d1\u05d9\u05e2\u05ea \u05e4\u05d2\u05d9\u05e9\u05d4 \u05d7\u05d9\u05e0\u05dd\r\n                <\/div>\r\n                <p class=\"alert-text\">\r\n                    \u05d1\u05d7\u05e8 \u05d0\u05ea \u05d4\u05de\u05d5\u05e2\u05d3 \u05d4\u05de\u05ea\u05d0\u05d9\u05dd \u05dc\u05da \u05d5\u05d0\u05e0\u05d5 \u05e0\u05d9\u05e6\u05d5\u05e8 \u05d0\u05d9\u05ea\u05da \u05e7\u05e9\u05e8 \u05dc\u05d0\u05d9\u05e9\u05d5\u05e8 \u05d4\u05e4\u05d2\u05d9\u05e9\u05d4\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Loading Indicator -->\r\n        <div class=\"loading-indicator\" id=\"loadingIndicator\">\r\n            <div class=\"sync-status\">\r\n                <div class=\"loading-spinner\"><\/div>\r\n                \u05d8\u05d5\u05e2\u05df \u05e0\u05ea\u05d5\u05e0\u05d9\u05dd \u05de-Vplan CRM...\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Vplan Status -->\r\n        <div class=\"vplan-status\">\r\n            <div class=\"sync-status\">\r\n                <div class=\"sync-indicator\" id=\"syncIndicator\"><\/div>\r\n                <span id=\"syncStatus\">\u05de\u05e1\u05e0\u05db\u05e8\u05df \u05e2\u05dd \u05de\u05e2\u05e8\u05db\u05ea Vplan CRM<\/span>\r\n                <span id=\"lastSync\" style=\"margin-right: auto; font-size: 0.8rem;\"><\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Form Grid -->\r\n        <div class=\"form-grid\">\r\n            <!-- Personal Details -->\r\n            <div>\r\n                <h2 class=\"section-header\">\r\n                    <svg class=\"section-icon\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                        <path d=\"M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3z\"><\/path>\r\n                    <\/svg>\r\n                    \u05e4\u05e8\u05d8\u05d9\u05dd \u05d0\u05d9\u05e9\u05d9\u05d9\u05dd\r\n                <\/h2>\r\n                \r\n                <div class=\"form-group\">\r\n                    <label class=\"form-label\">\u05e9\u05dd \u05de\u05dc\u05d0 *<\/label>\r\n                    <input type=\"text\" id=\"fullName\" class=\"form-input\" placeholder=\"\u05d4\u05d6\u05df \u05e9\u05dd \u05de\u05dc\u05d0\">\r\n                <\/div>\r\n\r\n                <div class=\"form-group\">\r\n                    <label class=\"form-label\">\u05db\u05ea\u05d5\u05d1\u05ea \u05d0\u05d9\u05de\u05d9\u05d9\u05dc *<\/label>\r\n                    <input type=\"email\" id=\"email\" class=\"form-input\" placeholder=\"example@email.com\">\r\n                <\/div>\r\n\r\n                <div class=\"form-group\">\r\n                    <label class=\"form-label\">\u05d8\u05dc\u05e4\u05d5\u05df *<\/label>\r\n                    <input type=\"tel\" id=\"phone\" class=\"form-input\" placeholder=\"050-1234567\">\r\n                <\/div>\r\n\r\n                <div class=\"form-group\">\r\n                    <label class=\"form-label\">\u05e1\u05d5\u05d2 \u05d3\u05d9\u05e8\u05d4 *<\/label>\r\n                    <select id=\"apartmentType\" class=\"form-select\">\r\n                        <option value=\"\">\u05d1\u05d7\u05e8 \u05e1\u05d5\u05d2 \u05d3\u05d9\u05e8\u05d4<\/option>\r\n                        <option value=\"3 \u05d7\u05d3\u05e8\u05d9\u05dd\">3 \u05d7\u05d3\u05e8\u05d9\u05dd<\/option>\r\n                        <option value=\"4 \u05d7\u05d3\u05e8\u05d9\u05dd\">4 \u05d7\u05d3\u05e8\u05d9\u05dd<\/option>\r\n                        <option value=\"5 \u05d7\u05d3\u05e8\u05d9\u05dd\">5 \u05d7\u05d3\u05e8\u05d9\u05dd<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Date and Time Selection -->\r\n            <div>\r\n                <h2 class=\"section-header\">\r\n                    <svg class=\"section-icon\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                        <path fill-rule=\"evenodd\" d=\"M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z\" clip-rule=\"evenodd\"><\/path>\r\n                    <\/svg>\r\n                    \u05d1\u05d7\u05d9\u05e8\u05ea \u05de\u05d5\u05e2\u05d3\r\n                <\/h2>\r\n\r\n                <h3 style=\"font-size: 1.1rem; font-weight: 500; color: #374151; margin-bottom: 16px;\">\u05d1\u05d7\u05e8 \u05ea\u05d0\u05e8\u05d9\u05da:<\/h3>\r\n                <div class=\"date-grid\" id=\"dateGrid\">\r\n                    <!-- Dates will be populated from Vplan API -->\r\n                <\/div>\r\n\r\n                <div id=\"timeSection\" class=\"hidden\">\r\n                    <h3 style=\"font-size: 1.1rem; font-weight: 500; color: #374151; margin: 20px 0 16px 0; display: flex; align-items: center;\">\r\n                        <svg style=\"width: 16px; height: 16px; margin-left: 8px;\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                            <path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\" clip-rule=\"evenodd\"><\/path>\r\n                        <\/svg>\r\n                        \u05d1\u05d7\u05e8 \u05e9\u05e2\u05d4:\r\n                    <\/h3>\r\n                    <div class=\"time-grid\" id=\"timeGrid\">\r\n                        <!-- Times will be populated from Vplan API -->\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Location -->\r\n        <div class=\"location-info\">\r\n            <div class=\"location-title\">\u05de\u05d9\u05e7\u05d5\u05dd \u05d4\u05e4\u05d2\u05d9\u05e9\u05d4:<\/div>\r\n            <div class=\"location-address\">\u05de\u05ea\u05d7\u05dd \u05d0\u05e7\u05e1\u05e4\u05d5 - \u05d2\u05e0\u05d9 \u05d4\u05ea\u05e2\u05e8\u05d5\u05db\u05d4 \u05ea\u05dc \u05d0\u05d1\u05d9\u05d1, \u05db\u05e0\u05d9\u05e1\u05d4 \u05de\u05e9\u05e2\u05e8 1<\/div>\r\n            <div class=\"parking-info\">\u05d7\u05e0\u05d9\u05d4 \u05d7\u05d9\u05e0\u05dd<\/div>\r\n        <\/div>\r\n\r\n        <!-- Terms -->\r\n        <div class=\"checkbox-group\">\r\n            <input type=\"checkbox\" id=\"terms\" class=\"checkbox\">\r\n            <label for=\"terms\" class=\"checkbox-label\">\r\n                \u05de\u05d0\u05e9\u05e8\/\u05ea \u05e7\u05d1\u05dc\u05ea \u05d7\u05d5\u05de\u05e8 \u05e4\u05e8\u05e1\u05d5\u05de\u05d9 \u05d5\u05de\u05d9\u05d3\u05e2 \u05de\u05d2\u05d9\u05e0\u05d3\u05d9 \u05d9\u05e9\u05e8\u05d0\u05dc 2010 \u05d1\u05e2\"\u05de, \u05de\u05d7\u05d1\u05e8\u05d5\u05ea \"\u05e7\u05d1\u05d5\u05e6\u05ea \u05d2\u05d9\u05e0\u05d3\u05d9 \u05d4\u05d7\u05d6\u05e7\u05d5\u05ea\", \r\n                \u05d5\u05de\u05de\u05d5\u05e2\u05d3\u05d5\u05df \u05d2\u05d9\u05e0\u05d3\u05d9 ON TOP \u05d1\u05d3\u05d5\u05d0\"\u05dc \u05d5\/\u05d0\u05d5 SMS \u05d5\/\u05d0\u05d5 \u05e9\u05d9\u05d7\u05d5\u05ea \u05e9\u05d9\u05d5\u05d5\u05e7 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9 \u05d5\u05db\u05d9\u05d5\u05e6\"\u05d1 \u05d2\u05dd \u05d0\u05dd \u05d0\u05d7\u05d3 \u05de\u05de\u05e1\u05e4\u05e8\u05d9 \r\n                \u05d4\u05d8\u05dc\u05e4\u05d5\u05df \u05e9\u05dc\u05d9 \u05e8\u05e9\u05d5\u05dd \u05d1\u05de\u05d0\u05d2\u05e8 \"\u05d0\u05dc \u05ea\u05ea\u05e7\u05e9\u05e8\u05d5 \u05d0\u05dc\u05d9\" \u05d5\u05de\u05e1\u05db\u05d9\u05dd\/\u05d4 \r\n                <a href=\"#\" class=\"link\">\u05dc\u05ea\u05e7\u05e0\u05d5\u05df<\/a> \u05d5<a href=\"#\" class=\"link\">\u05dc\u05de\u05d3\u05d9\u05e0\u05d9\u05d5\u05ea \u05d4\u05e4\u05e8\u05d8\u05d9\u05d5\u05ea<\/a>. \r\n                \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05e1\u05e8\u05d4.\r\n            <\/label>\r\n        <\/div>\r\n\r\n        <!-- Submit Button -->\r\n        <div class=\"submit-section\">\r\n            <button id=\"submitButton\" class=\"submit-button disabled\">\r\n                \u05e9\u05dc\u05d7 \u05d1\u05e7\u05e9\u05ea \u05e4\u05d2\u05d9\u05e9\u05d4\r\n            <\/button>\r\n        <\/div>\r\n\r\n        <!-- Summary -->\r\n        <div id=\"summaryBox\" class=\"summary-box hidden\">\r\n            <div class=\"summary-header\">\r\n                <svg style=\"width: 20px; height: 20px; margin-left: 8px;\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                    <path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"><\/path>\r\n                <\/svg>\r\n                \u05e1\u05d9\u05db\u05d5\u05dd \u05d4\u05e4\u05d2\u05d9\u05e9\u05d4 \u05e9\u05e0\u05d1\u05d7\u05e8\u05d4:\r\n            <\/div>\r\n            <div class=\"summary-content\" id=\"summaryContent\">\r\n                <!-- Summary will be populated by JavaScript -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Stats Section - Removed for public users -->\r\n        <!-- Admin only section - not displayed to website visitors -->\r\n    <\/div>\r\n\r\n    <script>\r\n        \/\/ Vplan API Configuration\r\n        const VPLAN_CONFIG = {\r\n            baseUrl: 'https:\/\/api.vplan.com\/v1',\r\n            apiKey: '', \/\/ To be set in WordPress\r\n            resourceId: '', \/\/ To be set for the specific meeting room\/resource\r\n            boardId: '' \/\/ To be set for the appointments board\r\n        };\r\n\r\n        \/\/ State\r\n        let selectedDate = '';\r\n        let selectedTime = '';\r\n        let availableSlots = [];\r\n        let resources = [];\r\n\r\n        \/\/ Initialize\r\n        document.addEventListener('DOMContentLoaded', function() {\r\n            initializeVplanIntegration();\r\n            setupEventListeners();\r\n        });\r\n\r\n        \/\/ Vplan API Integration Functions\r\n        async function initializeVplanIntegration() {\r\n            updateSyncStatus('syncing', '\u05de\u05e1\u05e0\u05db\u05e8\u05df \u05e2\u05dd Vplan...');\r\n            showLoading(true);\r\n            \r\n            try {\r\n                \/\/ Load configuration from WordPress (you'll need to set these)\r\n                await loadVplanConfig();\r\n                \r\n                \/\/ Fetch available resources and schedules\r\n                await fetchAvailableSlots();\r\n                \r\n                updateSyncStatus('connected', '\u05de\u05e1\u05d5\u05e0\u05db\u05e8\u05df \u05e2\u05dd Vplan');\r\n                updateLastSync();\r\n                showLoading(false);\r\n                \r\n            } catch (error) {\r\n                console.error('Vplan integration error:', error);\r\n                updateSyncStatus('error', '\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05d7\u05d9\u05d1\u05d5\u05e8 \u05dc-Vplan');\r\n                showLoading(false);\r\n                loadFallbackData(); \/\/ Load static data as fallback\r\n            }\r\n        }\r\n\r\n        async function loadVplanConfig() {\r\n            \/\/ This should be loaded from WordPress settings\r\n            \/\/ For demo purposes, using placeholder values\r\n            \r\n            \/* Example of how this would work in WordPress:\r\n            const response = await fetch('\/wp-admin\/admin-ajax.php', {\r\n                method: 'POST',\r\n                headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                body: 'action=get_vplan_config'\r\n            });\r\n            const config = await response.json();\r\n            VPLAN_CONFIG.apiKey = config.api_key;\r\n            VPLAN_CONFIG.resourceId = config.resource_id;\r\n            VPLAN_CONFIG.boardId = config.board_id;\r\n            *\/\r\n        }\r\n\r\n        async function fetchAvailableSlots() {\r\n            if (!VPLAN_CONFIG.apiKey) {\r\n                throw new Error('Vplan API key not configured');\r\n            }\r\n\r\n            try {\r\n                \/\/ Fetch resources (meeting rooms\/sales staff)\r\n                const resourcesResponse = await fetch(`${VPLAN_CONFIG.baseUrl}\/resource`, {\r\n                    headers: {\r\n                        'Authorization': `Bearer ${VPLAN_CONFIG.apiKey}`,\r\n                        'Content-Type': 'application\/json'\r\n                    }\r\n                });\r\n\r\n                if (!resourcesResponse.ok) {\r\n                    throw new Error('Failed to fetch resources');\r\n                }\r\n\r\n                resources = await resourcesResponse.json();\r\n\r\n                \/\/ Fetch schedules for the next 30 days\r\n                const endDate = new Date();\r\n                endDate.setDate(endDate.getDate() + 30);\r\n                \r\n                const schedulesResponse = await fetch(`${VPLAN_CONFIG.baseUrl}\/schedule?filter[start_gte]=${new Date().toISOString()}&filter[end_lte]=${endDate.toISOString()}`, {\r\n                    headers: {\r\n                        'Authorization': `Bearer ${VPLAN_CONFIG.apiKey}`,\r\n                        'Content-Type': 'application\/json'\r\n                    }\r\n                });\r\n\r\n                if (!schedulesResponse.ok) {\r\n                    throw new Error('Failed to fetch schedules');\r\n                }\r\n\r\n                const schedules = await schedulesResponse.json();\r\n                processScheduleData(schedules);\r\n\r\n            } catch (error) {\r\n                console.error('Error fetching from Vplan:', error);\r\n                throw error;\r\n            }\r\n        }\r\n\r\n        function processScheduleData(schedules) {\r\n            \/\/ Process Vplan schedule data into available time slots\r\n            const slots = [];\r\n            const bookedSlots = new Set();\r\n            \r\n            \/\/ Mark booked slots\r\n            schedules.data?.forEach(schedule => {\r\n                if (schedule.attributes?.start && schedule.attributes?.end) {\r\n                    const start = new Date(schedule.attributes.start);\r\n                    const end = new Date(schedule.attributes.end);\r\n                    \r\n                    \/\/ Generate time slots between start and end\r\n                    const current = new Date(start);\r\n                    while (current < end) {\r\n                        const slotKey = `${current.toDateString()}_${current.getHours()}:${current.getMinutes().toString().padStart(2, '0')}`;\r\n                        bookedSlots.add(slotKey);\r\n                        current.setHours(current.getHours() + 1);\r\n                    }\r\n                }\r\n            });\r\n\r\n            \/\/ Generate available slots for the next 30 days\r\n            const today = new Date();\r\n            for (let i = 0; i < 30; i++) {\r\n                const date = new Date(today);\r\n                date.setDate(date.getDate() + i);\r\n                \r\n                \/\/ Skip weekends (assuming business days only)\r\n                if (date.getDay() === 0 || date.getDay() === 6) continue;\r\n                \r\n                \/\/ Generate time slots from 9 AM to 5 PM\r\n                for (let hour = 9; hour < 17; hour++) {\r\n                    const slotKey = `${date.toDateString()}_${hour}:00`;\r\n                    const isBooked = bookedSlots.has(slotKey);\r\n                    \r\n                    slots.push({\r\n                        date: date.toLocaleDateString('he-IL'),\r\n                        time: `${hour}:00`,\r\n                        available: !isBooked,\r\n                        dateObj: new Date(date.getFullYear(), date.getMonth(), date.getDate(), hour, 0)\r\n                    });\r\n                }\r\n            }\r\n\r\n            availableSlots = slots;\r\n            populateDatesFromVplan();\r\n            updateStats();\r\n        }\r\n\r\n        function loadFallbackData() {\r\n            \/\/ Fallback data if Vplan is not available - minimal static data\r\n            const today = new Date();\r\n            availableSlots = [];\r\n            \r\n            \/\/ Generate basic available slots for next 14 days\r\n            for (let i = 1; i <= 14; i++) {\r\n                const date = new Date(today);\r\n                date.setDate(date.getDate() + i);\r\n                \r\n                \/\/ Skip weekends\r\n                if (date.getDay() === 0 || date.getDay() === 6) continue;\r\n                \r\n                \/\/ Generate time slots from 9 AM to 5 PM\r\n                for (let hour = 9; hour < 17; hour++) {\r\n                    \/\/ Make some slots unavailable for demo\r\n                    const isAvailable = Math.random() > 0.3; \/\/ 70% availability\r\n                    \r\n                    availableSlots.push({\r\n                        date: date.toLocaleDateString('he-IL'),\r\n                        time: `${hour}:00`,\r\n                        available: isAvailable,\r\n                        dateObj: new Date(date.getFullYear(), date.getMonth(), date.getDate(), hour, 0)\r\n                    });\r\n                }\r\n            }\r\n            \r\n            populateDatesFromVplan();\r\n            console.warn('Using fallback data - Vplan integration not available');\r\n        }\r\n\r\n        function populateDatesFromVplan() {\r\n            const dateGrid = document.getElementById('dateGrid');\r\n            dateGrid.innerHTML = '';\r\n\r\n            \/\/ Group slots by date\r\n            const dateGroups = {};\r\n            availableSlots.forEach(slot => {\r\n                if (!dateGroups[slot.date]) {\r\n                    dateGroups[slot.date] = [];\r\n                }\r\n                dateGroups[slot.date].push(slot);\r\n            });\r\n\r\n            \/\/ Create date buttons with real availability from Vplan\r\n            Object.keys(dateGroups).slice(0, 16).forEach(date => {\r\n                const daySlots = dateGroups[date];\r\n                const availableCount = daySlots.filter(slot => slot.available).length;\r\n                const isAvailable = availableCount > 0;\r\n\r\n                const button = document.createElement('button');\r\n                button.className = 'date-button';\r\n                button.innerHTML = `\r\n                    <div>${date}<\/div>\r\n                    ${isAvailable ? \r\n                        `<div style=\"font-size: 0.75rem; color: #059669;\">${availableCount} \u05d6\u05de\u05d9\u05e0\u05d9\u05dd<\/div>` : \r\n                        '<div class=\"date-unavailable\">(\u05de\u05dc\u05d0)<\/div>'\r\n                    }\r\n                `;\r\n                \r\n                if (!isAvailable) {\r\n                    button.disabled = true;\r\n                }\r\n\r\n                button.addEventListener('click', () => selectDateFromVplan(date));\r\n                dateGrid.appendChild(button);\r\n            });\r\n        }\r\n\r\n        function selectDateFromVplan(date) {\r\n            const daySlots = availableSlots.filter(slot => slot.date === date && slot.available);\r\n            \r\n            if (daySlots.length > 0) {\r\n                selectedDate = date;\r\n                selectedTime = '';\r\n                \r\n                \/\/ Update UI\r\n                document.querySelectorAll('.date-button').forEach(btn => {\r\n                    btn.classList.remove('selected');\r\n                });\r\n                event.target.closest('.date-button').classList.add('selected');\r\n                \r\n                \/\/ Populate time slots for selected date\r\n                populateTimeSlotsFromVplan(daySlots);\r\n                \r\n                \/\/ Show time section\r\n                document.getElementById('timeSection').classList.remove('hidden');\r\n                \r\n                updateSummary();\r\n                validateForm();\r\n            }\r\n        }\r\n\r\n        function populateTimeSlotsFromVplan(daySlots) {\r\n            const timeGrid = document.getElementById('timeGrid');\r\n            timeGrid.innerHTML = '';\r\n\r\n            daySlots.forEach(slot => {\r\n                const button = document.createElement('button');\r\n                button.className = 'time-button';\r\n                button.textContent = slot.time;\r\n                \r\n                if (!slot.available) {\r\n                    button.disabled = true;\r\n                }\r\n                \r\n                button.addEventListener('click', () => selectTimeFromVplan(slot.time));\r\n                timeGrid.appendChild(button);\r\n            });\r\n        }\r\n\r\n        function selectTimeFromVplan(time) {\r\n            selectedTime = time;\r\n            \r\n            \/\/ Update UI\r\n            document.querySelectorAll('.time-button').forEach(btn => {\r\n                btn.classList.remove('selected');\r\n            });\r\n            event.target.classList.add('selected');\r\n            \r\n            updateSummary();\r\n            validateForm();\r\n        }\r\n\r\n        \/\/ Sync appointment to Vplan\r\n        async function syncAppointmentToVplan(formData) {\r\n            if (!VPLAN_CONFIG.apiKey) {\r\n                console.warn('Vplan API not configured, skipping sync');\r\n                return;\r\n            }\r\n\r\n            try {\r\n                \/\/ Create appointment in Vplan\r\n                const appointmentData = {\r\n                    data: {\r\n                        type: 'card',\r\n                        attributes: {\r\n                            title: `\u05e4\u05d2\u05d9\u05e9\u05ea \u05de\u05db\u05d9\u05e8\u05d4 - ${formData.fullName}`,\r\n                            description: `\u05db\u05de\u05d5\u05ea \u05d3\u05d9\u05e8\u05d5\u05ea: ${formData.apartmentCount}\\n\u05d8\u05dc\u05e4\u05d5\u05df: ${formData.phone}\\n\u05d0\u05d9\u05de\u05d9\u05d9\u05dc: ${formData.email}`,\r\n                            start: combineDateTime(selectedDate, selectedTime),\r\n                            end: addHoursToDateTime(combineDateTime(selectedDate, selectedTime), 1),\r\n                            stage_id: VPLAN_CONFIG.stageId || null\r\n                        },\r\n                        relationships: {\r\n                            board: {\r\n                                data: {\r\n                                    type: 'board',\r\n                                    id: VPLAN_CONFIG.boardId\r\n                                }\r\n                            },\r\n                            resources: {\r\n                                data: [{\r\n                                    type: 'resource',\r\n                                    id: VPLAN_CONFIG.resourceId\r\n                                }]\r\n                            }\r\n                        }\r\n                    }\r\n                };\r\n\r\n                const response = await fetch(`${VPLAN_CONFIG.baseUrl}\/card`, {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Authorization': `Bearer ${VPLAN_CONFIG.apiKey}`,\r\n                        'Content-Type': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify(appointmentData)\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error('Failed to create appointment in Vplan');\r\n                }\r\n\r\n                const result = await response.json();\r\n                console.log('Appointment created in Vplan:', result);\r\n                \r\n                \/\/ Update sync status\r\n                updateSyncStatus('connected', '\u05d4\u05e4\u05d2\u05d9\u05e9\u05d4 \u05e0\u05e9\u05de\u05e8\u05d4 \u05d1-Vplan');\r\n                \r\n                return result;\r\n\r\n            } catch (error) {\r\n                console.error('Error syncing to Vplan:', error);\r\n                updateSyncStatus('error', '\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05e9\u05de\u05d9\u05e8\u05ea \u05d4\u05e4\u05d2\u05d9\u05e9\u05d4 \u05d1-Vplan');\r\n                throw error;\r\n            }\r\n        }\r\n\r\n        \/\/ Utility functions\r\n        function combineDateTime(dateStr, timeStr) {\r\n            \/\/ Convert Hebrew date format to ISO\r\n            const [day, month, year] = dateStr.split('\/');\r\n            const [hour, minute] = timeStr.split(':');\r\n            return new Date(year, month - 1, day, hour, minute || 0).toISOString();\r\n        }\r\n\r\n        function addHoursToDateTime(dateTimeStr, hours) {\r\n            const date = new Date(dateTimeStr);\r\n            date.setHours(date.getHours() + hours);\r\n            return date.toISOString();\r\n        }\r\n\r\n        function updateSyncStatus(status, message) {\r\n            const indicator = document.getElementById('syncIndicator');\r\n            const statusText = document.getElementById('syncStatus');\r\n            \r\n            indicator.className = 'sync-indicator';\r\n            \r\n            switch (status) {\r\n                case 'connected':\r\n                    indicator.classList.add('connected');\r\n                    break;\r\n                case 'syncing':\r\n                    indicator.classList.add('syncing');\r\n                    break;\r\n                case 'error':\r\n                    indicator.classList.add('error');\r\n                    break;\r\n            }\r\n            \r\n            statusText.textContent = message;\r\n        }\r\n\r\n        function updateLastSync() {\r\n            const lastSyncElement = document.getElementById('lastSync');\r\n            const now = new Date();\r\n            lastSyncElement.textContent = `\u05e2\u05d5\u05d3\u05db\u05df: ${now.toLocaleTimeString('he-IL')}`;\r\n        }\r\n\r\n        function showLoading(show) {\r\n            const loadingIndicator = document.getElementById('loadingIndicator');\r\n            loadingIndicator.style.display = show ? 'block' : 'none';\r\n        }\r\n\r\n        function updateStats() {\r\n            \/\/ Stats removed from public view\r\n            \/\/ This function is kept for potential admin interface integration\r\n            console.log('Slots loaded:', {\r\n                total: availableSlots.length,\r\n                available: availableSlots.filter(s => s.available).length,\r\n                booked: availableSlots.filter(s => !s.available).length\r\n            });\r\n        }\r\n\r\n        function setupEventListeners() {\r\n            const inputs = ['fullName', 'email', 'phone', 'apartmentType', 'terms'];\r\n            inputs.forEach(id => {\r\n                const element = document.getElementById(id);\r\n                if (element) {\r\n                    element.addEventListener('change', validateForm);\r\n                    element.addEventListener('input', validateForm);\r\n                }\r\n            });\r\n\r\n            \/\/ Refresh data every 5 minutes\r\n            setInterval(async () => {\r\n                try {\r\n                    await fetchAvailableSlots();\r\n                    updateLastSync();\r\n                } catch (error) {\r\n                    console.error('Error refreshing data:', error);\r\n                }\r\n            }, 5 * 60 * 1000);\r\n        }\r\n\r\n        function validateForm() {\r\n            const fullName = document.getElementById('fullName').value;\r\n            const email = document.getElementById('email').value;\r\n            const phone = document.getElementById('phone').value;\r\n            const apartmentType = document.getElementById('apartmentType').value;\r\n            const terms = document.getElementById('terms').checked;\r\n\r\n            const isValid = fullName && email && phone && apartmentType && selectedDate && selectedTime && terms;\r\n            \r\n            const submitButton = document.getElementById('submitButton');\r\n            if (isValid) {\r\n                submitButton.className = 'submit-button enabled';\r\n                submitButton.onclick = submitForm;\r\n            } else {\r\n                submitButton.className = 'submit-button disabled';\r\n                submitButton.onclick = null;\r\n            }\r\n        }\r\n\r\n        function updateSummary() {\r\n            const summaryBox = document.getElementById('summaryBox');\r\n            const summaryContent = document.getElementById('summaryContent');\r\n            \r\n            if (selectedDate && selectedTime) {\r\n                const apartmentType = document.getElementById('apartmentType').value;\r\n                summaryContent.innerHTML = `\r\n                    <div>\u05ea\u05d0\u05e8\u05d9\u05da: ${selectedDate} \u05d1\u05e9\u05e2\u05d4: ${selectedTime}<\/div>\r\n                    ${apartmentType ? `<div class=\"summary-detail\">\u05e1\u05d5\u05d2 \u05d3\u05d9\u05e8\u05d4: ${apartmentType}<\/div>` : ''}\r\n                `;\r\n                summaryBox.classList.remove('hidden');\r\n            } else {\r\n                summaryBox.classList.add('hidden');\r\n            }\r\n        }\r\n\r\n        async function submitForm() {\r\n            const submitButton = document.getElementById('submitButton');\r\n            const originalText = submitButton.textContent;\r\n            \r\n            try {\r\n                \/\/ Show loading state\r\n                submitButton.textContent = '\u05e9\u05d5\u05dc\u05d7...';\r\n                submitButton.disabled = true;\r\n                \r\n                const formData = {\r\n                    fullName: document.getElementById('fullName').value,\r\n                    email: document.getElementById('email').value,\r\n                    phone: document.getElementById('phone').value,\r\n                    apartmentType: document.getElementById('apartmentType').value,\r\n                    selectedDate: selectedDate,\r\n                    selectedTime: selectedTime,\r\n                    terms: document.getElementById('terms').checked\r\n                };\r\n\r\n                \/\/ Save to WordPress database\r\n                const wpResponse = await fetch('\/wp-admin\/admin-ajax.php', {\r\n                    method: 'POST',\r\n                    headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                    body: new URLSearchParams({\r\n                        action: 'submit_appointment_form',\r\n                        security: wpAppointmentAjax?.nonce || '', \/\/ WordPress nonce for security\r\n                        form_data: JSON.stringify(formData)\r\n                    })\r\n                });\r\n\r\n                if (!wpResponse.ok) {\r\n                    throw new Error('Failed to save appointment');\r\n                }\r\n\r\n                const wpResult = await wpResponse.json();\r\n                \r\n                if (!wpResult.success) {\r\n                    throw new Error(wpResult.data || 'Error saving appointment');\r\n                }\r\n\r\n                \/\/ Sync to Vplan\r\n                try {\r\n                    await syncAppointmentToVplan(formData);\r\n                } catch (vplanError) {\r\n                    console.warn('Vplan sync failed, but appointment was saved locally:', vplanError);\r\n                }\r\n\r\n                \/\/ Success - show confirmation and redirect\r\n                alert('\u05d4\u05e4\u05d2\u05d9\u05e9\u05d4 \u05e0\u05e7\u05d1\u05e2\u05d4 \u05d1\u05d4\u05e6\u05dc\u05d7\u05d4! \u05e0\u05d9\u05e6\u05d5\u05e8 \u05d0\u05d9\u05ea\u05da \u05e7\u05e9\u05e8 \u05dc\u05d0\u05d9\u05e9\u05d5\u05e8.');\r\n                \r\n                \/\/ Optional: redirect to thank you page\r\n                \/\/ window.location.href = '\/thank-you-page\/';\r\n                \r\n                \/\/ Or reset form\r\n                resetForm();\r\n\r\n            } catch (error) {\r\n                console.error('Error submitting form:', error);\r\n                alert('\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05e9\u05dc\u05d9\u05d7\u05ea \u05d4\u05d8\u05d5\u05e4\u05e1. \u05d0\u05e0\u05d0 \u05e0\u05e1\u05d4 \u05e9\u05d5\u05d1.');\r\n            } finally {\r\n                \/\/ Restore button state\r\n                submitButton.textContent = originalText;\r\n                submitButton.disabled = false;\r\n            }\r\n        }\r\n\r\n        function resetForm() {\r\n            document.getElementById('fullName').value = '';\r\n            document.getElementById('email').value = '';\r\n            document.getElementById('phone').value = '';\r\n            document.getElementById('apartmentType').value = '';\r\n            document.getElementById('terms').checked = false;\r\n            \r\n            selectedDate = '';\r\n            selectedTime = '';\r\n            \r\n            document.querySelectorAll('.date-button').forEach(btn => btn.classList.remove('selected'));\r\n            document.querySelectorAll('.time-button').forEach(btn => btn.classList.remove('selected'));\r\n            document.getElementById('timeSection').classList.add('hidden');\r\n            document.getElementById('summaryBox').classList.add('hidden');\r\n            \r\n            validateForm();\r\n        }\r\n\r\n        \/\/ Expose functions for WordPress integration\r\n        window.VplanAppointmentForm = {\r\n            refreshData: initializeVplanIntegration,\r\n            setConfig: (config) => Object.assign(VPLAN_CONFIG, config),\r\n            getStats: () => ({\r\n                total: availableSlots.length,\r\n                available: availableSlots.filter(s => s.available).length,\r\n                booked: availableSlots.filter(s => !s.available).length\r\n            })\r\n        };\r\n    <\/script>\r\n<\/body>\r\n<\/html>\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>\u05d8\u05d5\u05e4\u05e1 \u05e7\u05d1\u05d9\u05e2\u05ea \u05e4\u05d2\u05d9\u05e9\u05d5\u05ea \u05e7\u05d1\u05d9\u05e2\u05ea \u05e4\u05d2\u05d9\u05e9\u05d4 \u05e4\u05d2\u05d9\u05e9\u05d5\u05ea \u05e7\u05d1\u05d5\u05e6\u05ea\u05d9\u05d5\u05ea \u05d1\u05de\u05e8\u05db\u05d6 \u05d4\u05de\u05db\u05d9\u05e8\u05d5\u05ea \u05e7\u05d1\u05d9\u05e2\u05ea \u05e4\u05d2\u05d9\u05e9\u05d4 \u05d7\u05d9\u05e0\u05dd \u05d1\u05d7\u05e8 \u05d0\u05ea \u05d4\u05de\u05d5\u05e2\u05d3 \u05d4\u05de\u05ea\u05d0\u05d9\u05dd \u05dc\u05da \u05d5\u05d0\u05e0\u05d5 \u05e0\u05d9\u05e6\u05d5\u05e8 \u05d0\u05d9\u05ea\u05da \u05e7\u05e9\u05e8 \u05dc\u05d0\u05d9\u05e9\u05d5\u05e8 \u05d4\u05e4\u05d2\u05d9\u05e9\u05d4 \u05d8\u05d5\u05e2\u05df \u05e0\u05ea\u05d5\u05e0\u05d9\u05dd \u05de-Vplan CRM&#8230; \u05de\u05e1\u05e0\u05db\u05e8\u05df \u05e2\u05dd \u05de\u05e2\u05e8\u05db\u05ea Vplan CRM \u05e4\u05e8\u05d8\u05d9\u05dd \u05d0\u05d9\u05e9\u05d9\u05d9\u05dd \u05e9\u05dd \u05de\u05dc\u05d0 * \u05db\u05ea\u05d5\u05d1\u05ea \u05d0\u05d9\u05de\u05d9\u05d9\u05dc * \u05d8\u05dc\u05e4\u05d5\u05df * \u05e1\u05d5\u05d2 \u05d3\u05d9\u05e8\u05d4 * \u05d1\u05d7\u05e8 \u05e1\u05d5\u05d2 \u05d3\u05d9\u05e8\u05d43 \u05d7\u05d3\u05e8\u05d9\u05dd4 \u05d7\u05d3\u05e8\u05d9\u05dd5 \u05d7\u05d3\u05e8\u05d9\u05dd \u05d1\u05d7\u05d9\u05e8\u05ea \u05de\u05d5\u05e2\u05d3 \u05d1\u05d7\u05e8 \u05ea\u05d0\u05e8\u05d9\u05da: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":7,"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":17,"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions\/17"}],"wp:attachment":[{"href":"https:\/\/hagag.ussl.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}