{"id":52764,"date":"2025-09-01T06:03:54","date_gmt":"2025-09-01T03:03:54","guid":{"rendered":"https:\/\/engeg.com\/b\/?p=52764"},"modified":"2025-09-04T15:07:35","modified_gmt":"2025-09-04T12:07:35","slug":"%d8%b9%d9%82%d8%af-%d9%85%d8%b4%d8%a7%d8%b1%d9%83%d9%87-%d8%a8%d9%86%d8%a7%d8%a1","status":"publish","type":"post","link":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%b9%d9%82%d8%af-%d9%85%d8%b4%d8%a7%d8%b1%d9%83%d9%87-%d8%a8%d9%86%d8%a7%d8%a1\/","title":{"rendered":"\u0639\u0642\u062f \u0645\u0634\u0627\u0631\u0643\u0647 \u0628\u0646\u0627\u0621"},"content":{"rendered":"<div class=\"calculator-output\"><!DOCTYPE html>\r\n<html lang=\"ar\">\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>\u0642\u0627\u0644\u0628 \u0639\u0642\u062f \u0625\u062a\u0641\u0627\u0642 \u0639\u0644\u0649 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0628\u0646\u0627\u0621 \u0639\u0642\u0627\u0631<\/title>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cairo:wght@400;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        :root { --primary-color: #0073aa; --light-gray: #f4f4f4; --dark-gray: #555; --danger-color: #d9534f; --success-color: #5cb85c; }\r\n        body { direction: rtl; font-family: 'Cairo', sans-serif; background-color: var(--light-gray); }\r\n        .contract-container { max-width: 900px; margin: 20px auto; padding: 25px; border: 1px solid #ddd; background-color: #f9f9f9; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }\r\n        .input-section { background-color: #fff; padding: 20px; border-radius: 8px; margin-bottom: 25px; border: 1px solid #e0e0e0; }\r\n        .input-section h3 { margin-top: 0; color: #333; border-bottom: 2px solid var(--primary-color); padding-bottom: 10px; }\r\n        .form-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 15px 20px; }\r\n        .form-grid label { font-weight: 700; display: block; margin-bottom: 5px; color: var(--dark-gray); font-size: 14px; }\r\n        .form-grid input, .form-grid select, .form-grid textarea { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }\r\n        .contract-output { background-color: #fff; padding: 30px; border: 1px solid #e0e0e0; line-height: 1.9; font-size: 16px; }\r\n        .contract-output h3, .contract-output h4 { text-align: center; font-weight: 700; margin: 20px 0 10px; }\r\n        .user-data { font-weight: 700; color: var(--primary-color); background-color: #eaf6ff; padding: 2px 5px; border-radius: 3px; }\r\n        .clause { position: relative; padding: 10px 5px; margin-bottom: 5px; border-left: 3px solid transparent; transition: background-color .2s, border-left .2s; }\r\n        .clause.editable:hover { background-color: #f7f7f7; border-left: 3px solid var(--primary-color); }\r\n        .clause-content { cursor: pointer; }\r\n        .clause-actions { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); opacity: 0; transition: opacity .2s; background-color: #fff; padding: 5px; border-radius: 5px; box-shadow: 0 1px 3px rgba(0,0,0,.1); z-index: 10; }\r\n        .clause.editable:hover .clause-actions { opacity: 1; }\r\n        .clause-actions button { background: 0 0; border: none; cursor: pointer; font-size: 18px; padding: 5px; color: var(--danger-color); }\r\n        .clause-editor { width: 100%; min-height: 80px; font-family: inherit; font-size: inherit; line-height: inherit; padding: 10px; border: 1px dashed var(--primary-color); box-sizing: border-box; }\r\n        .action-buttons { text-align: center; margin-top: 30px; padding: 20px; background-color: #fff; border-radius: 8px; }\r\n        .action-buttons button { background-color: var(--primary-color); color: #fff; border: none; padding: 12px 25px; font-size: 16px; border-radius: 5px; cursor: pointer; margin: 5px 10px; transition: background-color .3s; }\r\n        .action-buttons button.whatsapp { background-color: #25d366; }\r\n        .action-buttons button.clear { background-color: var(--danger-color); }\r\n        .add-clause-button { display: block; width: 100%; padding: 10px; margin-top: 20px; background-color: var(--success-color); color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; text-align: center; }\r\n        .add-clause-button:hover { opacity: 0.9; }\r\n        @media print {\r\n            body * { visibility: hidden; }\r\n            .contract-output, .contract-output * { visibility: visible; }\r\n            .contract-output { position: absolute; left: 0; top: 0; width: 100%; margin: 0; padding: 0; border: none; font-size: 12pt; }\r\n            .user-data { color: #000 !important; background-color: transparent !important; font-weight: 700; text-decoration: underline; }\r\n            .clause-actions, .action-buttons, .input-section, .add-clause-button { display: none; }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"contract-container\">\r\n    <div class=\"input-section\">\r\n        <h3>\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 (\u0639\u0642\u062f \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629)<\/h3>\r\n        <div class=\"form-grid\">\r\n            <div><label for=\"contractDate\">\u062a\u0627\u0631\u064a\u062e \u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0639\u0642\u062f:<\/label><input type=\"date\" id=\"contractDate\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"partyOneName\">\u0627\u0633\u0645 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 (\u0627\u0644\u0634\u0631\u0643\u0629):<\/label><input type=\"text\" id=\"partyOneName\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"partyOneRep\">\u0645\u0645\u062b\u0644 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644:<\/label><input type=\"text\" id=\"partyOneRep\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"partyTwoName\">\u0627\u0633\u0645 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a (\u0639\u0636\u0648 \u0627\u0644\u0627\u062a\u062d\u0627\u062f):<\/label><input type=\"text\" id=\"partyTwoName\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"partyTwoId\">\u0631\u0642\u0645 \u0642\u0648\u0645\u064a \u0644\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a:<\/label><input type=\"text\" id=\"partyTwoId\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"landDetails\">\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0623\u0631\u0636 (\u0631\u0642\u0645\/\u0645\u062c\u0627\u0648\u0631\u0629\/\u0645\u0633\u0627\u062d\u0629):<\/label><input type=\"text\" id=\"landDetails\" placeholder=\"\u0631\u0642\u0645 (...) \u0645\u062c\u0627\u0648\u0631\u0629 (...) \u0645\u0633\u0627\u062d\u0629 (...\u0645\u00b2)\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"unitNumber\">\u0631\u0642\u0645 \u0627\u0644\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u062e\u0635\u0635\u0629:<\/label><input type=\"text\" id=\"unitNumber\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"unitFloor\">\u0627\u0644\u062f\u0648\u0631:<\/label><input type=\"text\" id=\"unitFloor\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"unitArea\">\u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0648\u062d\u062f\u0629 (\u0645\u00b2):<\/label><input type=\"number\" id=\"unitArea\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"landShare\">\u062d\u0635\u0629 \u0627\u0644\u0648\u062d\u062f\u0629 \u0645\u0646 \u0627\u0644\u0623\u0631\u0636 (%):<\/label><input type=\"number\" id=\"landShare\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"downPayment\">\u0645\u0642\u062f\u0645 \u0627\u0644\u0648\u062d\u062f\u0629 (\u062c\u0646\u064a\u0647):<\/label><input type=\"number\" id=\"downPayment\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"adminFee\">\u0646\u0633\u0628\u0629 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 (%):<\/label><input type=\"number\" id=\"adminFee\" value=\"10\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"supervisionFee\">\u0646\u0633\u0628\u0629 \u0627\u0644\u0625\u0634\u0631\u0627\u0641 (%):<\/label><input type=\"number\" id=\"supervisionFee\" value=\"15\" oninput=\"updateAndSave()\"><\/div>\r\n            <div><label for=\"lateFee\">\u063a\u0631\u0627\u0645\u0629 \u062a\u0623\u062e\u064a\u0631 \u0633\u062f\u0627\u062f \u0627\u0644\u0642\u0633\u0637 (%):<\/label><input type=\"number\" id=\"lateFee\" value=\"2\" oninput=\"updateAndSave()\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"action-buttons\" id=\"top-action-buttons\">\r\n        <button onclick=\"printContract()\">\ud83d\udda8\ufe0f \u0637\u0628\u0627\u0639\u0629 \u0627\u0644\u0639\u0642\u062f<\/button>\r\n        <button class=\"whatsapp\" onclick=\"shareOnWhatsApp()\">\u0634\u0627\u0631\u0643 \u0646\u0635 \u0627\u0644\u0639\u0642\u062f \u0639\u0628\u0631 \u0648\u0627\u062a\u0633\u0627\u0628<\/button>\r\n        <button class=\"clear\" onclick=\"clearAllData()\">\ud83d\uddd1\ufe0f \u0645\u0633\u062d \u0648\u0625\u0639\u0627\u062f\u0629 \u062a\u0639\u064a\u064a\u0646<\/button>\r\n    <\/div>\r\n\r\n    <div class=\"contract-output\" id=\"contract-output\"><\/div>\r\n    \r\n    <div class=\"action-buttons\" id=\"bottom-action-buttons\">\r\n        <button onclick=\"printContract()\">\ud83d\udda8\ufe0f \u0637\u0628\u0627\u0639\u0629 \u0627\u0644\u0639\u0642\u062f<\/button>\r\n        <button class=\"whatsapp\" onclick=\"shareOnWhatsApp()\">\u0634\u0627\u0631\u0643 \u0646\u0635 \u0627\u0644\u0639\u0642\u062f \u0639\u0628\u0631 \u0648\u0627\u062a\u0633\u0627\u0628<\/button>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n    const formFields = ['contractDate', 'partyOneName', 'partyOneRep', 'partyTwoName', 'partyTwoId', 'landDetails', 'unitNumber', 'unitFloor', 'unitArea', 'landShare', 'downPayment', 'adminFee', 'supervisionFee', 'lateFee'];\r\n    \r\n    const initialClauses = [\r\n        { id: \"intro\", type: \"fixed\", content: `<h3>\u0639\u0642\u062f \u0625\u062a\u0641\u0627\u0642 \u0639\u0644\u0649 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0628\u0646\u0627\u0621 \u0639\u0642\u0627\u0631 \u0633\u0643\u0646\u064a \u0648\u062a\u062e\u0635\u064a\u0635 \u0648\u0642\u0633\u0645\u0629 \u0646\u0647\u0627\u0626\u064a\u0629<\/h3><p>\u0625\u0646\u0647 \u0641\u064a \u064a\u0648\u0645: <span class=\"user-data\" data-key=\"contractDate\"><\/span><br>\u062a\u0645 \u0627\u0644\u0625\u062a\u0641\u0627\u0642 \u0628\u064a\u0646 \u0643\u0644\u0627\u064b \u0645\u0646:<br><br><strong>\u0623\u0648\u0644\u0627\u064b: \u0627\u0644\u0633\u0627\u062f\u0629 \/ \u0634\u0631\u0643\u0629<\/strong> <span class=\"user-data\" data-key=\"partyOneName\"><\/span><br>\u0648\u064a\u0645\u062b\u0644\u0647\u0627 \u0641\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0639\u0642\u062f \u0627\u0644\u0633\u064a\u062f\/ <span class=\"user-data\" data-key=\"partyOneRep\"><\/span> (\u0637\u0640\u0640\u0640\u0631\u0641 \u0623\u0648\u0644)<br><br><strong>\u062b\u0627\u0646\u064a\u0627\u064b: \u0627\u0644\u0633\u064a\u062f \/<\/strong> <span class=\"user-data\" data-key=\"partyTwoName\"><\/span><br>\u0648\u064a\u062d\u0645\u0644 \u0631\u0642\u0645 \u0642\u0648\u0645\u064a \/ <span class=\"user-data\" data-key=\"partyTwoId\"><\/span> (\u0637\u0640\u0640\u0631\u0641 \u062b\u0640\u0640\u0640\u0640\u0627\u0646\u0650)<\/p><p>\u0648\u0623\u0642\u0631 \u0627\u0644\u0637\u0631\u0641\u0627\u0646 \u0628\u0623\u0647\u0644\u064a\u062a\u0647\u0645\u0627 \u0627\u0644\u0642\u0627\u0646\u0648\u0646\u064a\u0629 \u0648\u0627\u0644\u0641\u0639\u0644\u064a\u0629 \u0644\u0644\u062a\u0639\u0627\u0642\u062f \u0648\u0627\u0644\u062a\u0635\u0631\u0641 \u0648\u0628\u0639\u062f \u0627\u0644\u0625\u062a\u0641\u0627\u0642 \u0648\u0627\u0644\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u0646\u0627\u062a\u062c \u0639\u0646 \u0627\u0644\u0625\u064a\u062c\u0627\u0628 \u0648\u0627\u0644\u0642\u0628\u0648\u0644 \u0641\u064a\u0645\u0627 \u0628\u064a\u0646\u0647\u0645\u0627 \u0642\u062f \u0625\u062a\u0641\u0642\u0627 \u0639\u0644\u0649 \u0627\u0644\u0622\u062a\u064a:<\/p><hr>` },\r\n        { id: \"clause_0\", type: \"editable\", title: \"\u062a\u0645\u0647\u064a\u062f\", content: `\u0644\u062d\u064a\u0646 \u062a\u0648\u0632\u064a\u0639 \u0646\u0633\u0628 \u062d\u0635\u0635 \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0645\u0646 \u0627\u0644\u0623\u0631\u0636 \u0642\u0627\u0645 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0628\u0634\u0631\u0627\u0621 \u0642\u0637\u0639\u0629 \u0623\u0631\u0636 \u0641\u0636\u0627\u0621 \u0645\u0639\u062f\u0629 \u0644\u0644\u0628\u0646\u0627\u0621 \u0644\u0635\u0627\u0644\u062d \u0623\u0639\u0636\u0627\u0621 \u0627\u0644\u0625\u062a\u062d\u0627\u062f \u0648\u062a\u062d\u0645\u0644 \u0631\u0642\u0645 <span class=\"user-data\" data-key=\"landDetails\"><\/span>. \u0648\u0631\u063a\u0628\u0629 \u0645\u0646 \u0623\u0637\u0631\u0627\u0641 \u0647\u0630\u0627 \u0627\u0644\u0639\u0642\u062f \u0641\u064a \u0625\u0642\u0627\u0645\u0629 \u0639\u0642\u0627\u0631 \u0633\u0643\u0646\u064a \u0641\u0627\u062e\u0631 \u0639\u0644\u0649 \u0647\u0630\u0647 \u0627\u0644\u0623\u0631\u0636 \u0628\u0634\u0643\u0644 \u0642\u0627\u0646\u0648\u0646\u064a \u0643\u0627\u0645\u0644 \u0648\u0628\u0625\u0644\u062a\u0632\u0627\u0645 \u062a\u0627\u0645 \u0628\u0627\u0644\u0642\u0631\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0644\u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0648\u0628\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u0646\u0641\u0642\u0627\u062a \u0639\u0644\u0649 \u062c\u0645\u064a\u0639 \u0645\u0644\u0627\u0643 \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0627\u0644\u0625\u062b\u0646\u064a \u0639\u0634\u0631 \u0628\u0627\u0644\u0639\u0642\u0627\u0631 \u0645\u062d\u0644 \u0627\u0644\u0639\u0642\u062f \u0641\u0642\u062f \u0625\u062a\u0641\u0642\u0648\u0627 \u0639\u0644\u0649 \u0627\u0644\u0628\u0646\u0648\u062f \u0627\u0644\u0622\u062a\u064a\u0629:` },\r\n        { id: \"clause_1\", type: \"editable\", isNumbered: true, content: \"\u064a\u0639\u062a\u0628\u0640\u0640\u0631 \u0627\u0644\u062a\u0645\u0647\u0640\u0640\u0640\u064a\u062f \u0627\u0644\u0633\u0627\u0628\u0640\u0640\u0640\u0642 \u062c\u0640\u0640\u0640\u0632\u0621\u0627\u064b \u0644\u0627 \u064a\u062a\u062c\u0640\u0640\u0632\u0623 \u0645\u0640\u0640\u0646 \u0627\u0644\u0639\u0642\u0640\u0640\u0640\u062f \u0648\u062a\u0633\u0640\u0640\u0640\u0631\u064a \u0639\u0644\u064a\u0640\u0640\u0640\u0647 \u0623\u062d\u0643\u0627\u0645\u0640\u0640\u0640\u0647 \u0648\u0622\u062b\u0640\u0640\u0627\u0631\u0647 \u0627\u0644\u0642\u0627\u0646\u0648\u0646\u064a\u0640\u0640\u0640\u0629.\" },\r\n        { id: \"clause_2\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u062a\u0639\u0631\u064a\u0641\u0627\u062a)\", content: `\uf0a7\t\u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 : \u064a\u064f\u0642\u0635\u062f \u0628\u0647 \u0627\u0644\u0633\u064a\u062f \u0627\u0644\u0645\u0647\u0646\u062f\u0633 \/ <span class=\"user-data\" data-key=\"partyOneRep\"><\/span>.<br>\uf0a7\t\u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a : \u064a\u0642\u0635\u062f \u0628\u0647 \u0623\u062d\u062f \u0623\u0639\u0636\u0627\u0621 \u0625\u062a\u062d\u0627\u062f \u0627\u0644\u0634\u0627\u063a\u0644\u064a\u0646 \u0648\u0627\u0644\u062a\u064a \u064a\u0628\u0644\u063a \u0639\u062f\u062f\u0647\u0645 \u0625\u062b\u0646\u064a \u0639\u0634\u0631 \u0639\u0636\u0648\u0627\u064b.<br>\uf0a7\t\u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u0648\u0627\u0644\u0625\u0634\u0631\u0627\u0641: \u064a\u0642\u0648\u0645 \u0628\u0647\u0627 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0648\u062a\u0634\u0645\u0644 \u0625\u062f\u0627\u0631\u0629 \u0634\u0631\u0627\u0621 \u0627\u0644\u0623\u0631\u0636\u060c \u0645\u062a\u0627\u0628\u0639\u0629 \u0627\u0644\u0631\u0633\u0648\u0645 \u0648\u0627\u0644\u062a\u0631\u0627\u062e\u064a\u0635\u060c \u062a\u062d\u0635\u064a\u0644 \u0627\u0644\u0623\u0642\u0633\u0627\u0637\u060c \u0648\u0645\u062a\u0627\u0628\u0639\u0629 \u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0645\u0642\u0627\u0648\u0644\u064a\u0646.` },\r\n        { id: \"clause_3\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0623\u0631\u0636)\", content: `\u0642\u0637\u0639\u0629 \u0627\u0644\u0623\u0631\u0636 \u0627\u0644\u0645\u0632\u0645\u0639 \u0625\u0642\u0627\u0645\u0629 \u0627\u0644\u0639\u0642\u0627\u0631 \u0639\u0644\u064a\u0647\u0627 \u062a\u062d\u0645\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629: <span class=\"user-data\" data-key=\"landDetails\"><\/span>.` },\r\n        { id: \"clause_4\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0623\u0642\u0633\u0627\u0637 \u0627\u0644\u0623\u0631\u0636)\", content: `\u064a\u0644\u062a\u0632\u0645 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a \u0645\u0627\u0644\u064a\u0627\u064b \u0628\u0633\u062f\u0627\u062f \u0628\u0627\u0642\u064a \u0627\u0644\u0623\u0642\u0633\u0627\u0637 \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629 \u0639\u0644\u064a\u0647 \u0645\u0646 \u0646\u0635\u064a\u0628\u0647 \u0641\u064a \u0627\u0644\u0623\u0631\u0636 \u0641\u064a \u0645\u0648\u0639\u062f\u0647\u0627 \u0644\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644\u060c \u0648\u064a\u0644\u062a\u0632\u0645 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0625\u062f\u0627\u0631\u064a\u0627\u064b \u0628\u0633\u062f\u0627\u062f \u0627\u0644\u0623\u0642\u0633\u0627\u0637 \u0641\u064a \u0645\u0648\u0639\u062f\u0647\u0627 \u0644\u0647\u064a\u0626\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639\u0627\u062a \u0627\u0644\u0639\u0645\u0631\u0627\u0646\u064a\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629.` },\r\n        { id: \"clause_5\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0645\u0643\u0648\u0646\u0627\u062a \u0627\u0644\u0639\u0642\u0627\u0631)\", content: `\u0625\u062a\u0641\u0642 \u0627\u0644\u0623\u0637\u0631\u0627\u0641 \u0639\u0644\u0649 \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0628\u0646\u0627\u0621 \u0639\u0642\u0627\u0631 \u0633\u0643\u0646\u064a \u0641\u0627\u062e\u0631 \u0639\u0644\u0649 \u0642\u0637\u0639\u0629 \u0627\u0644\u0623\u0631\u0636 \u0627\u0644\u0645\u0630\u0643\u0648\u0631\u0629 \u064a\u062a\u0643\u0648\u0646 \u0645\u0646 \u0628\u062f\u0631\u0648\u0645 (\u062c\u0631\u0627\u062c \u0648\u0645\u062e\u0627\u0632\u0646)\u060c \u062f\u0648\u0631 \u0623\u0631\u0636\u064a \u0628\u0648\u062d\u062f\u062a\u064a\u0646 \u0648\u062d\u062f\u064a\u0642\u0629\u060c \u062b\u0644\u0627\u062b\u0629 \u0623\u062f\u0648\u0627\u0631 \u0645\u062a\u0643\u0631\u0631\u0629 (\u0643\u0644 \u062f\u0648\u0631 \u0648\u062d\u062f\u062a\u064a\u0646)\u060c \u0648\u0631\u0648\u0648\u0641 (\u0645\u0644\u0643\u064a\u0629 \u0639\u0627\u0645\u0629).` },\r\n        { id: \"clause_6\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0648\u062d\u062f\u0629)\", content: `\u062a\u0645 \u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0648\u062d\u062f\u0629 \u0631\u0642\u0645 (<span class=\"user-data\" data-key=\"unitNumber\"><\/span>) \u0627\u0644\u062f\u0648\u0631 (<span class=\"user-data\" data-key=\"unitFloor\"><\/span>) \u0648\u062a\u0628\u0644\u063a \u0645\u0633\u0627\u062d\u062a\u0647\u0627 (<span class=\"user-data\" data-key=\"unitArea\"><\/span> \u0645\u00b2) \u062a\u0642\u0631\u064a\u0628\u0627\u064b \u062a\u062d\u062a \u0627\u0644\u0639\u062c\u0632 \u0623\u0648 \u0627\u0644\u0632\u064a\u0627\u062f\u0629 \u0644\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a.` },\r\n        { id: \"clause_7\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u062d\u0635\u0629 \u0627\u0644\u0648\u062d\u062f\u0629 \u0645\u0646 \u0627\u0644\u0623\u0631\u0636)\", content: `\u0644\u0644\u0648\u062d\u062f\u0629 \u0627\u0644\u0633\u0643\u0646\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u062e\u0635\u064a\u0635\u0647\u0627 \u062d\u0635\u0629 \u0645\u0646 \u0627\u0644\u0623\u0631\u0636 \u0628\u0646\u0633\u0628\u0629 (<span class=\"user-data\" data-key=\"landShare\"><\/span> %).` },\r\n        { id: \"clause_8\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0627\u0633\u062a\u0644\u0627\u0645 \u062f\u0641\u0639\u0629 \u0627\u0644\u0645\u0642\u062f\u0645)\", content: `\u0623\u0642\u0631 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0625\u0633\u062a\u0644\u0627\u0645 \u0645\u0628\u0644\u063a (<span class=\"user-data\" data-key=\"downPayment\"><\/span> \u062c\u0646\u064a\u0647\u0627) (<span class=\"user-data\" data-key=\"downPaymentText\"><\/span>) \u0645\u0646 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a \u0648\u0647\u0630\u0627 \u0627\u0644\u0645\u0628\u0644\u063a \u064a\u0639\u062a\u0628\u0631 \u062f\u064f\u0641\u0639\u0629 \u0645\u0642\u062f\u0645 \u0627\u0644\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a.` },\r\n        { id: \"clause_9\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u062a\u0648\u0643\u064a\u0644 \u0646\u0633\u0628\u0629 \u0627\u0644\u0648\u062d\u062f\u0629)\", content: `\u064a\u0644\u062a\u0632\u0645 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0628\u0623\u0646 \u064a\u0642\u0648\u0645 \u0628\u0627\u0644\u0628\u062f\u0621 \u0641\u064a \u0625\u062c\u0631\u0627\u0621\u0627\u062a \u0639\u0645\u0644 \u062a\u0648\u0643\u064a\u0644 \u0639\u0627\u0645 \u0645\u062e\u0635\u0635 \u0644\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a \u0628\u0646\u0633\u0628\u062a\u0647 \u0641\u064a \u0627\u0644\u0623\u0631\u0636 \u062e\u0644\u0627\u0644 \u0645\u062f\u0629 \u0623\u0642\u0635\u0627\u0647\u0627 \u062b\u0644\u0627\u062b\u0629 \u0623\u0634\u0647\u0631 \u0645\u0646 \u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062a\u0639\u0627\u0642\u062f.` },\r\n        { id: \"clause_10\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0645\u0644\u0643\u064a\u0629 \u0627\u0644\u0623\u0631\u0636)\", content: `\u064a\u0642\u0631 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0623\u0646 \u0627\u0644\u0623\u0631\u0636 \u0645\u0645\u0644\u0648\u0643\u0629 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0623\u0639\u0636\u0627\u0621 \u0625\u062a\u062d\u0627\u062f \u0627\u0644\u0645\u0644\u0627\u0643 \u0648\u0627\u0644\u0630\u064a \u064a\u0645\u062b\u0644 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a \u0628\u0647\u0630\u0627 \u0627\u0644\u0639\u0642\u062f \u0639\u0636\u0648\u0627\u064b \u0645\u0646\u0647\u0645\u060c \u0648\u0623\u0646\u0647 \u0644\u0627 \u064a\u0645\u0644\u0643 \u0623\u064a \u062d\u0635\u0635 \u0641\u064a \u0627\u0644\u0623\u0631\u0636 \u0628\u0639\u062f \u062a\u062e\u0635\u064a\u0635 \u062c\u0645\u064a\u0639 \u0627\u0644\u0648\u062d\u062f\u0627\u062a.` },\r\n        { id: \"clause_11\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0646\u0633\u0628\u0629 \u0627\u0644\u0625\u062f\u0627\u0631\u0629 \u0648\u0627\u0644\u0625\u0634\u0631\u0627\u0641)\", content: `\u064a\u062a\u0648\u0644\u0649 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0642\u064a\u0627\u0645 \u0628\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648\u0627\u0644\u0625\u0634\u0631\u0627\u0641 \u0639\u0644\u0649 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0630\u0644\u0643 \u0645\u0642\u0627\u0628\u0644 \u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064a\u0629 \u0642\u062f\u0631\u0647\u0627:<br>\uf0a7\t(<span class=\"user-data\" data-key=\"adminFee\"><\/span> %) \u0645\u0646 \u062a\u0643\u0627\u0644\u064a\u0641 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u062a\u0642\u062f\u064a\u0631\u064a\u0629 \u0645\u0642\u0627\u0628\u0644 \u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0625\u062f\u0627\u0631\u0629.<br>\uf0a7\t(<span class=\"user-data\" data-key=\"supervisionFee\"><\/span> %) \u0645\u0646 \u062a\u0643\u0627\u0644\u064a\u0641 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0641\u0639\u0644\u064a\u0629 \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u0625\u0634\u0631\u0627\u0641 \u0639\u0644\u0649 \u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u062a\u0646\u0641\u064a\u0630.` },\r\n        { id: \"clause_12\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0645\u0648\u0627\u0635\u0641\u0627\u062a \u062a\u0633\u0644\u064a\u0645 \u0627\u0644\u0648\u062d\u062f\u0627\u062a)\", content: `\u064a\u062a\u0648\u0644\u0649 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0625\u0634\u0631\u0627\u0641 \u0639\u0644\u0649 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0635\u0648\u0644\u0627\u064b \u0628\u0627\u0644\u0645\u0628\u0646\u0649 \u0625\u0644\u0649 \u0645\u0631\u062d\u0644\u0629 \u0646\u0635\u0641 \u062a\u0634\u0637\u064a\u0628 (\u062d\u0648\u0627\u0626\u0637 \u0648\u0623\u0633\u0642\u0641 \u0639\u0644\u0649 \u0627\u0644\u0645\u062d\u0627\u0631\u0629\u060c \u0623\u0631\u0636\u064a\u0627\u062a \u062e\u0631\u0633\u0627\u0646\u0629\u060c \u0648\u0635\u0644\u0627\u062a \u0643\u0647\u0631\u0628\u0627\u0621\u060c \u062d\u0644\u0648\u0642 \u0646\u062c\u0627\u0631\u0629 \u0648\u0628\u0627\u0628 \u0631\u0626\u064a\u0633\u064a \u0645\u0635\u0641\u062d\u060c \u0645\u0635\u062f\u0631 \u0635\u0631\u0641 \u0648\u062a\u063a\u0630\u064a\u0629).` },\r\n        { id: \"clause_13\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u063a\u0631\u0627\u0645\u0629 \u0627\u0644\u062a\u0623\u062e\u064a\u0631)\", content: `\u0641\u064a \u062d\u0627\u0644\u0629 \u0625\u062e\u0644\u0627\u0644 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a \u0628\u0625\u0644\u062a\u0632\u0627\u0645\u0647 \u0648\u062a\u0623\u062e\u064a\u0631\u0647 \u0641\u064a \u0633\u062f\u0627\u062f \u0627\u0644\u0642\u0633\u0637 \u0644\u0645\u062f\u0629 \u062a\u062c\u0627\u0648\u0632 \u062b\u0644\u0627\u062b\u0648\u0646 \u064a\u0648\u0645\u0627\u064b \u0645\u0646 \u062a\u0627\u0631\u064a\u062e \u0625\u0633\u062a\u062d\u0642\u0627\u0642\u0647 \u064a\u062d\u0642 \u0644\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644 \u0625\u0644\u062a\u0632\u0627\u0645\u0647 \u0628\u0633\u062f\u0627\u062f\u0647 \u0645\u0636\u0627\u0641\u0627\u064b \u0625\u0644\u064a\u0647 \u063a\u0631\u0627\u0645\u0629 \u062a\u0623\u062e\u064a\u0631 \u0642\u062f\u0631\u0647\u0627 (<span class=\"user-data\" data-key=\"lateFee\"><\/span> %) \u0645\u0646 \u0642\u064a\u0645\u0629 \u0627\u0644\u0642\u0633\u0637 \u0627\u0644\u0645\u0633\u062a\u062d\u0642.` },\r\n        { id: \"clause_14\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0641\u0633\u062e \u0627\u0644\u0639\u0642\u062f)\", content: `\u0625\u0630\u0627 \u062a\u062e\u0644\u0641 \u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a \u0639\u0646 \u062f\u0641\u0639 \u0623\u064a\u0627 \u0645\u0646 \u0627\u0644\u0623\u0642\u0633\u0627\u0637 \u0627\u0644\u0645\u064f\u0633\u062a\u062d\u0642\u0629 \u0639\u0644\u064a\u0647 \u0644\u0645\u062f\u0629 60 \u064a\u0648\u0645\u0627\u064b \u0645\u0646 \u062a\u0627\u0631\u064a\u062e \u0627\u0633\u062a\u062d\u0642\u0627\u0642\u0647\u0627 \u0648\u0627\u0633\u062a\u0645\u0631 \u0641\u064a \u0627\u0644\u062a\u0623\u062e\u064a\u0631 \u0644\u0645\u062f\u0629 15 \u064a\u0648\u0645\u0627\u064b \u0628\u0639\u062f \u0625\u062e\u0637\u0627\u0631\u0647\u060c \u064a\u064f\u0639\u062a\u0628\u0631 \u0647\u0630\u0627 \u0627\u0644\u0639\u0642\u062f \u0645\u0641\u0633\u0648\u062e\u0627\u064b \u0645\u0646 \u062a\u0644\u0642\u0627\u0621 \u0646\u0641\u0633\u0647.` },\r\n        { id: \"clause_15\", type: \"editable\", isNumbered: true, titleSuffix: \"(\u0627\u0644\u0645\u062d\u0643\u0645\u0629 \u0627\u0644\u0645\u062e\u062a\u0635\u0629)\", content: `\u062a\u062e\u062a\u0635 \u0645\u062d\u0643\u0645\u0629 \u0627\u0644\u0642\u0627\u0647\u0631\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u0627\u0644\u0625\u0628\u062a\u062f\u0627\u0626\u064a\u0629 \u0648\u062c\u0632\u0626\u064a\u0627\u062a\u0647\u0627 \u0628\u0627\u0644\u0646\u0638\u0631 \u0641\u064a \u0623\u064a \u0646\u0632\u0627\u0639 \u064a\u0646\u0634\u0623 \u0644\u0627 \u0642\u062f\u0631 \u0627\u0644\u0644\u0647 \u0628\u064a\u0646 \u0623\u0637\u0631\u0627\u0641 \u0647\u0630\u0627 \u0627\u0644\u0639\u0642\u062f.` },\r\n        { id: \"final\", type: \"fixed\", content: `<br><br><table style=\"width:100%; text-align:center;\"><tr><td style=\"width:50%;\"><strong>\u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644<\/strong><\/td><td style=\"width:50%;\"><strong>\u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a<\/strong><\/td><\/tr><tr><td><br><br>\u0627\u0644\u062a\u0648\u0642\u064a\u0639: ............................<\/td><td><br><br>\u0627\u0644\u062a\u0648\u0642\u064a\u0639: ............................<\/td><\/tr><\/table>` }\r\n    ];\r\n\r\n    let contractData = {};\r\n    let clauses = [];\r\n    const arabicNumerals = [\"\u0627\u0644\u0623\u0648\u0644\", \"\u0627\u0644\u062b\u0627\u0646\u064a\", \"\u0627\u0644\u062b\u0627\u0644\u062b\", \"\u0627\u0644\u0631\u0627\u0628\u0639\", \"\u0627\u0644\u062e\u0627\u0645\u0633\", \"\u0627\u0644\u0633\u0627\u062f\u0633\", \"\u0627\u0644\u0633\u0627\u0628\u0639\", \"\u0627\u0644\u062b\u0627\u0645\u0646\", \"\u0627\u0644\u062a\u0627\u0633\u0639\", \"\u0627\u0644\u0639\u0627\u0634\u0631\", \"\u0627\u0644\u062d\u0627\u062f\u064a \u0639\u0634\u0631\", \"\u0627\u0644\u062b\u0627\u0646\u064a \u0639\u0634\u0631\", \"\u0627\u0644\u062b\u0627\u0644\u062b \u0639\u0634\u0631\", \"\u0627\u0644\u0631\u0627\u0628\u0639 \u0639\u0634\u0631\", \"\u0627\u0644\u062e\u0627\u0645\u0633 \u0639\u0634\u0631\", \"\u0627\u0644\u0633\u0627\u062f\u0633 \u0639\u0634\u0631\"];\r\n\r\n    function renderContract() {\r\n        const contractOutput = document.getElementById('contract-output');\r\n        contractOutput.innerHTML = '';\r\n        let numberedClauseCounter = 1;\r\n\r\n        clauses.forEach(clause => {\r\n            const clauseDiv = document.createElement('div');\r\n            clauseDiv.id = clause.id;\r\n            clauseDiv.className = `clause ${clause.type === 'fixed' ? '' : 'editable'}`;\r\n            \r\n            let title = clause.title || '';\r\n            if (clause.isNumbered) {\r\n                title = `\u0627\u0644\u0628\u0646\u062f ${arabicNumerals[numberedClauseCounter - 1] || numberedClauseCounter}`;\r\n                if (clause.titleSuffix) {\r\n                    title += ` ${clause.titleSuffix}`;\r\n                }\r\n                numberedClauseCounter++;\r\n            }\r\n\r\n            let innerHTML = '';\r\n            if (clause.type === 'fixed') {\r\n                innerHTML = clause.content;\r\n            } else {\r\n                innerHTML = `<h4>${title}<\/h4><div class=\"clause-content\" onclick=\"editClause('${clause.id}')\">${clause.content}<\/div><div class=\"clause-actions\"><button onclick=\"deleteClause('${clause.id}')\" title=\"\u062d\u0630\u0641 \u0627\u0644\u0628\u0646\u062f\">\ud83d\uddd1\ufe0f<\/button><\/div>`;\r\n            }\r\n            \r\n            clauseDiv.innerHTML = innerHTML;\r\n            contractOutput.appendChild(clauseDiv);\r\n        });\r\n        \r\n        const addButtonContainer = document.createElement('div');\r\n        addButtonContainer.style.textAlign = 'center';\r\n        const addButton = document.createElement('button');\r\n        addButton.className = 'add-clause-button';\r\n        addButton.textContent = '\u2795 \u0625\u0636\u0627\u0641\u0629 \u0628\u0646\u062f \u062c\u062f\u064a\u062f';\r\n        addButton.onclick = addClause;\r\n        addButtonContainer.appendChild(addButton);\r\n        contractOutput.appendChild(addButtonContainer);\r\n\r\n        updateDynamicValues();\r\n    }\r\n\r\n    function updateDynamicValues() {\r\n        const data = { ...contractData };\r\n        data.contractDate = data.contractDate ? new Date(data.contractDate).toLocaleDateString('ar-EG') : '[\u0644\u0645 \u064a\u062d\u062f\u062f]';\r\n        data.downPaymentText = numberToWords(data.downPayment);\r\n\r\n        document.querySelectorAll('.user-data').forEach(span => {\r\n            const key = span.dataset.key;\r\n            if (data[key] !== undefined) {\r\n                span.innerHTML = data[key];\r\n            }\r\n        });\r\n    }\r\n\r\n    function updateAndSave() {\r\n        formFields.forEach(fieldId => {\r\n            const element = document.getElementById(fieldId);\r\n            if (element) contractData[fieldId] = element.value;\r\n        });\r\n        localStorage.setItem('partnershipContractData', JSON.stringify({ formData: contractData, clauses: clauses }));\r\n        updateDynamicValues();\r\n    }\r\n\r\n    function loadData() {\r\n        const savedData = localStorage.getItem('partnershipContractData');\r\n        if (savedData) {\r\n            const data = JSON.parse(savedData);\r\n            contractData = data.formData || {};\r\n            clauses = data.clauses || JSON.parse(JSON.stringify(initialClauses));\r\n            formFields.forEach(fieldId => {\r\n                const element = document.getElementById(fieldId);\r\n                if (element && contractData[fieldId]) element.value = contractData[fieldId];\r\n            });\r\n        } else {\r\n            clauses = JSON.parse(JSON.stringify(initialClauses));\r\n            formFields.forEach(fieldId => {\r\n                const element = document.getElementById(fieldId);\r\n                if (element) contractData[fieldId] = element.value;\r\n            });\r\n        }\r\n        renderContract();\r\n    }\r\n\r\n    function editClause(clauseId) {\r\n        const clause = clauses.find(c => c.id === clauseId);\r\n        if (!clause || clause.type === 'fixed') return;\r\n\r\n        const clauseDiv = document.getElementById(clauseId);\r\n        const contentDiv = clauseDiv.querySelector('.clause-content');\r\n        if (!contentDiv || clauseDiv.querySelector('.clause-editor')) return;\r\n\r\n        const originalHTML = contentDiv.innerHTML;\r\n        const editor = document.createElement('textarea');\r\n        editor.className = 'clause-editor';\r\n        editor.value = originalHTML.replace(\/<br\\s*\\\/?>\/gi, \"\\n\");\r\n\r\n        contentDiv.style.display = 'none';\r\n        clauseDiv.insertBefore(editor, contentDiv);\r\n        editor.focus();\r\n\r\n        const saveChanges = () => {\r\n            clause.content = editor.value.replace(\/\\n\/g, \"<br>\");\r\n            clauseDiv.removeChild(editor);\r\n            contentDiv.innerHTML = clause.content;\r\n            contentDiv.style.display = 'block';\r\n            updateAndSave();\r\n        };\r\n\r\n        editor.addEventListener('blur', saveChanges);\r\n        editor.addEventListener('keydown', (e) => {\r\n            if (e.key === 'Enter' && e.ctrlKey) saveChanges();\r\n            else if (e.key === 'Escape') {\r\n                clauseDiv.removeChild(editor);\r\n                contentDiv.style.display = 'block';\r\n            }\r\n        });\r\n    }\r\n\r\n    function deleteClause(clauseId) {\r\n        if (confirm('\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0628\u0646\u062f\u061f')) {\r\n            clauses = clauses.filter(c => c.id !== clauseId);\r\n            renderContract();\r\n            updateAndSave();\r\n        }\r\n    }\r\n\r\n    function addClause() {\r\n        const newClause = {\r\n            id: 'clause_' + Date.now(),\r\n            type: 'editable',\r\n            isNumbered: true,\r\n            content: '\u0627\u0643\u062a\u0628 \u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0628\u0646\u062f \u0647\u0646\u0627... (\u0627\u0646\u0642\u0631 \u0644\u0644\u062a\u0639\u062f\u064a\u0644)'\r\n        };\r\n        const finalClauseIndex = clauses.findIndex(c => c.id === 'final');\r\n        clauses.splice(finalClauseIndex, 0, newClause);\r\n        renderContract();\r\n        updateAndSave();\r\n    }\r\n\r\n    function numberToWords(num) {\r\n        if (num === null || num === undefined || num === '') return '[\u0627\u0644\u0645\u0628\u0644\u063a \u0643\u062a\u0627\u0628\u0629]';\r\n        const amount = parseInt(num);\r\n        if (isNaN(amount)) return '[\u0627\u0644\u0645\u0628\u0644\u063a \u0643\u062a\u0627\u0628\u0629]';\r\n        return `\u0641\u0642\u0637 ${amount.toLocaleString('ar-EG')} \u062c\u0646\u064a\u0647\u0627\u064b \u0645\u0635\u0631\u064a\u0627\u064b \u0644\u0627 \u063a\u064a\u0631`;\r\n    }\r\n\r\n    function clearAllData() {\r\n        if (confirm('\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0645\u0633\u062d \u062c\u0645\u064a\u0639 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0627\u0644\u0639\u0648\u062f\u0629 \u0644\u0644\u0639\u0642\u062f \u0627\u0644\u0623\u0635\u0644\u064a\u061f')) {\r\n            localStorage.removeItem('partnershipContractData');\r\n            window.location.reload();\r\n        }\r\n    }\r\n\r\n    function printContract() { window.print(); }\r\n\r\n    function shareOnWhatsApp() {\r\n        let text = `*\u062a\u0646\u0628\u064a\u0647 \u0647\u0627\u0645:*\\n\u0639\u0644\u064a\u0643 \u0627\u0644\u0631\u062f \u0628\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0623\u0648 \u0627\u0644\u0631\u0641\u0636.\\n\u0627\u062a\u0641\u0627\u0642 \u0645\u0628\u062f\u0626\u064a \u0639\u0628\u0631 \u0648\u0627\u062a\u0633\u0627\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0642\u062f \u0645\u0644\u0632\u0645 \u0644\u0644\u0637\u0631\u0641\u064a\u0646 \u0648\u064a\u0639\u062f \u062f\u0644\u064a\u0644\u0627 \u0643\u062a\u0627\u0628\u064a\u0627\u064b \u0623\u0645\u0627\u0645 \u0627\u0644\u0645\u062d\u0627\u0643\u0645.\\n\\n----------------------------------\\n\\n`;\r\n        text += `*\ud83d\udcc4 \u0645\u0644\u062e\u0635 \u0639\u0642\u062f \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064a \u0628\u0646\u0627\u0621 \u0639\u0642\u0627\u0631 \ud83d\udcc4*\\n\\n`;\r\n        const data = contractData;\r\n        text += `*\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0639\u0642\u062f:* ${data.contractDate ? new Date(data.contractDate).toLocaleDateString('ar-EG') : '\u0644\u0645 \u064a\u062d\u062f\u062f'}\\n`;\r\n        text += `*\u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u0623\u0648\u0644:* ${data.partyOneName || ''} (\u064a\u0645\u062b\u0644\u0647: ${data.partyOneRep || ''})\\n`;\r\n        text += `*\u0627\u0644\u0637\u0631\u0641 \u0627\u0644\u062b\u0627\u0646\u064a:* ${data.partyTwoName || ''}\\n\\n`;\r\n        \r\n        let numberedClauseCounter = 1;\r\n        clauses.forEach(clause => {\r\n            let title = clause.title || '';\r\n            if (clause.isNumbered) {\r\n                title = `\u0627\u0644\u0628\u0646\u062f ${arabicNumerals[numberedClauseCounter - 1] || numberedClauseCounter}`;\r\n                if (clause.titleSuffix) {\r\n                    title += ` ${clause.titleSuffix}`;\r\n                }\r\n                numberedClauseCounter++;\r\n            }\r\n\r\n            if (title) {\r\n                let content = clause.content\r\n                    .replace(\/<span class=\"user-data\"[^>]*>.*?<\\\/span>\/g, (match) => {\r\n                        const key = match.match(\/data-key=\"([^\"]+)\"\/)[1];\r\n                        return data[key] || '';\r\n                    })\r\n                    .replace(\/<br\\s*\\\/?>\/gi, \"\\n\").replace(\/<[^>]*>\/g, ' ').replace(\/\\s+\/g, ' ').trim();\r\n                text += `*${title}:*\\n${content}\\n\\n`;\r\n            }\r\n        });\r\n\r\n        const whatsappUrl = `https:\/\/api.whatsapp.com\/send?text=${encodeURIComponent(text)}`;\r\n        window.open(whatsappUrl, '_blank');\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', loadData);\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[24126],"tags":[14621,24124],"class_list":["post-52764","post","type-post","status-publish","format-standard","hentry","category-24126","tag-14621","tag-24124"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":52801,"url":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%b9%d9%82%d8%af-%d9%85%d8%b4%d8%a7%d8%b1%d9%83%d9%87\/","url_meta":{"origin":52764,"position":0},"title":"\u0639\u0642\u062f \u0645\u0634\u0627\u0631\u0643\u0647","author":"interior","date":"\u0633\u0628\u062a\u0645\u0628\u0631 1, 2025","format":false,"excerpt":"","rel":"","context":"\u0641\u064a &quot;\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646&quot;","block_context":{"text":"\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646","link":"https:\/\/engeg.com\/b\/category\/%d8%b9%d9%82%d9%88%d8%af-%d9%88%d8%aa%d9%88%d9%83%d9%8a%d9%84%d8%a7%d8%aa-%d9%84%d8%a8%d9%8a%d8%aa-%d8%a7%d9%84%d9%88%d8%b7%d9%86\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":52761,"url":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%b9%d9%82%d8%af-%d8%a7%d9%84%d8%b3%d8%a8%d8%a7%d9%83%d9%87\/","url_meta":{"origin":52764,"position":1},"title":"\u0639\u0642\u062f \u0627\u0644\u0633\u0628\u0627\u0643\u0647","author":"interior","date":"\u0633\u0628\u062a\u0645\u0628\u0631 1, 2025","format":false,"excerpt":"","rel":"","context":"\u0641\u064a &quot;\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646&quot;","block_context":{"text":"\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646","link":"https:\/\/engeg.com\/b\/category\/%d8%b9%d9%82%d9%88%d8%af-%d9%88%d8%aa%d9%88%d9%83%d9%8a%d9%84%d8%a7%d8%aa-%d9%84%d8%a8%d9%8a%d8%aa-%d8%a7%d9%84%d9%88%d8%b7%d9%86\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":52753,"url":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%b9%d9%82%d8%af-%d8%a7%d8%b3%d8%a7%d9%86%d8%b3%d9%8a%d8%b1-%d9%a2\/","url_meta":{"origin":52764,"position":2},"title":"\u0639\u0642\u062f \u0627\u0633\u0627\u0646\u0633\u064a\u0631 \u0662","author":"interior","date":"\u0633\u0628\u062a\u0645\u0628\u0631 1, 2025","format":false,"excerpt":"","rel":"","context":"\u0641\u064a &quot;\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646&quot;","block_context":{"text":"\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646","link":"https:\/\/engeg.com\/b\/category\/%d8%b9%d9%82%d9%88%d8%af-%d9%88%d8%aa%d9%88%d9%83%d9%8a%d9%84%d8%a7%d8%aa-%d9%84%d8%a8%d9%8a%d8%aa-%d8%a7%d9%84%d9%88%d8%b7%d9%86\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":52758,"url":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%b9%d9%82%d8%af-%d8%a7%d9%84%d8%b3%d9%8a%d8%b1%d8%a7%d9%85%d9%8a%d9%83\/","url_meta":{"origin":52764,"position":3},"title":"\u0639\u0642\u062f \u0627\u0644\u0633\u064a\u0631\u0627\u0645\u064a\u0643","author":"interior","date":"\u0633\u0628\u062a\u0645\u0628\u0631 1, 2025","format":false,"excerpt":"","rel":"","context":"\u0641\u064a &quot;\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646&quot;","block_context":{"text":"\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646","link":"https:\/\/engeg.com\/b\/category\/%d8%b9%d9%82%d9%88%d8%af-%d9%88%d8%aa%d9%88%d9%83%d9%8a%d9%84%d8%a7%d8%aa-%d9%84%d8%a8%d9%8a%d8%aa-%d8%a7%d9%84%d9%88%d8%b7%d9%86\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":52781,"url":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%b9%d9%82%d8%af-%d9%88%d9%83%d8%a7%d9%84%d8%a9-%d9%84%d8%b4%d9%82%d9%87\/","url_meta":{"origin":52764,"position":4},"title":"\u0639\u0642\u062f \u0648\u0643\u0627\u0644\u0629 \u0644\u0634\u0642\u0647","author":"interior","date":"\u0633\u0628\u062a\u0645\u0628\u0631 1, 2025","format":false,"excerpt":"","rel":"","context":"\u0641\u064a &quot;\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646&quot;","block_context":{"text":"\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646","link":"https:\/\/engeg.com\/b\/category\/%d8%b9%d9%82%d9%88%d8%af-%d9%88%d8%aa%d9%88%d9%83%d9%8a%d9%84%d8%a7%d8%aa-%d9%84%d8%a8%d9%8a%d8%aa-%d8%a7%d9%84%d9%88%d8%b7%d9%86\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":52768,"url":"https:\/\/engeg.com\/b\/2025\/09\/01\/%d8%aa%d9%88%d9%83%d9%8a%d9%84-%d8%b1%d8%b3%d9%85%d9%8a-%d8%b9%d8%a7%d9%85\/","url_meta":{"origin":52764,"position":5},"title":"\u062a\u0648\u0643\u064a\u0644 \u0631\u0633\u0645\u064a \u0639\u0627\u0645 \u0628\u0627\u0644\u0625\u062f\u0627\u0631\u0629","author":"interior","date":"\u0633\u0628\u062a\u0645\u0628\u0631 1, 2025","format":false,"excerpt":"","rel":"","context":"\u0641\u064a &quot;\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646&quot;","block_context":{"text":"\u0639\u0642\u0648\u062f \u0648\u062a\u0648\u0643\u064a\u0644\u0627\u062a \u0644\u0628\u064a\u062a \u0627\u0644\u0648\u0637\u0646","link":"https:\/\/engeg.com\/b\/category\/%d8%b9%d9%82%d9%88%d8%af-%d9%88%d8%aa%d9%88%d9%83%d9%8a%d9%84%d8%a7%d8%aa-%d9%84%d8%a8%d9%8a%d8%aa-%d8%a7%d9%84%d9%88%d8%b7%d9%86\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/posts\/52764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/comments?post=52764"}],"version-history":[{"count":1,"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/posts\/52764\/revisions"}],"predecessor-version":[{"id":52766,"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/posts\/52764\/revisions\/52766"}],"wp:attachment":[{"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/media?parent=52764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/categories?post=52764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engeg.com\/b\/wp-json\/wp\/v2\/tags?post=52764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}