<?php
require_once '../config.php';

// التحقق من تسجيل الدخول
requireLogin();

// التحقق من وجود معرف المنخرط
if (!isset($_GET['id']) || empty($_GET['id'])) {
    setAlert('danger', 'معرف المنخرط مطلوب');
    header('Location: ' . SITE_URL . '/members/index.php');
    exit;
}

$memberId = (int)$_GET['id'];

// الحصول على بيانات المنخرط
$query = "SELECT m.*, c.name as category_name 
          FROM members m 
          LEFT JOIN categories c ON m.category_id = c.id 
          WHERE m.id = :id";
$member = fetchOne($query, [':id' => $memberId]);

if (!$member) {
    setAlert('danger', 'المنخرط غير موجود');
    header('Location: ' . SITE_URL . '/members/index.php');
    exit;
}

// الحصول على سجل الاشتراكات الشهرية
$query = "SELECT mp.*, u.full_name as created_by_name 
          FROM monthly_payments mp 
          LEFT JOIN users u ON mp.created_by = u.id 
          WHERE mp.member_id = :member_id 
          ORDER BY mp.payment_month DESC";
$monthlyPayments = fetchAll($query, [':member_id' => $memberId]);

// تنسيق التاريخ للعرض
function formatMonthYear($date) {
    $timestamp = strtotime($date);
    return date('m/Y', $timestamp);
}

// عنوان الصفحة
$pageTitle = 'سجل الاشتراكات الشهرية - ' . $member['first_name'] . ' ' . $member['last_name'];

// تضمين ملف الهيدر
include '../includes/header.php';
?>

<div class="container-fluid py-4">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h1 class="h3 mb-0"><i class="fas fa-money-bill-wave me-2"></i> سجل الاشتراكات الشهرية</h1>
        <div>
            <a href="<?php echo SITE_URL; ?>/members/view.php?id=<?php echo $member['id']; ?>" class="btn btn-secondary me-2">
                <i class="fas fa-arrow-right"></i> العودة إلى بيانات المنخرط
            </a>
            <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addPaymentModal">
                <i class="fas fa-plus"></i> تسجيل دفعة جديدة
            </button>
        </div>
    </div>

    <?php displayAlert(); ?>

    <div class="card mb-4">
        <div class="card-header bg-white">
            <div class="d-flex align-items-center">
                <?php
                $photoPath = !empty($member['photo']) 
                    ? SITE_URL . '/uploads/members/' . $member['photo'] 
                    : SITE_URL . '/assets/img/default-user.png';
                ?>
                <img src="<?php echo $photoPath; ?>" alt="صورة المنخرط" class="rounded-circle me-3" style="width: 50px; height: 50px; object-fit: cover;">
                <div>
                    <h5 class="mb-0"><?php echo $member['first_name'] . ' ' . $member['last_name']; ?></h5>
                    <p class="text-muted mb-0"><?php echo $member['category_name']; ?></p>
                </div>
            </div>
        </div>
    </div>

    <div class="card">
        <div class="card-header bg-white">
            <h5 class="mb-0"><i class="fas fa-history me-2"></i> سجل الاشتراكات الشهرية</h5>
        </div>
        <div class="card-body">
            <?php if (empty($monthlyPayments)): ?>
                <div class="alert alert-info">
                    <i class="fas fa-info-circle me-2"></i> لا توجد سجلات للاشتراكات الشهرية لهذا المنخرط.
                </div>
            <?php else: ?>
                <div class="table-responsive">
                    <table class="table table-striped table-hover">
                        <thead>
                            <tr>
                                <th>شهر الاشتراك</th>
                                <th>حالة الدفع</th>
                                <th>تاريخ الدفع</th>
                                <th>المبلغ المدفوع</th>
                                <th>طريقة الدفع</th>
                                <th>ملاحظات</th>
                                <th>المسجل</th>
                                <th>تاريخ التسجيل</th>
                                <th>الإجراءات</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($monthlyPayments as $payment): ?>
                                <tr>
                                    <td><?php echo formatMonthYear($payment['payment_month']); ?></td>
                                    <td>
                                        <?php if ($payment['payment_status'] == 'paid'): ?>
                                            <span class="badge bg-success">مدفوع</span>
                                        <?php elseif ($payment['payment_status'] == 'partial'): ?>
                                            <span class="badge bg-warning">مدفوع جزئيا</span>
                                        <?php else: ?>
                                            <span class="badge bg-danger">غير مدفوع</span>
                                        <?php endif; ?>
                                    </td>
                                    <td><?php echo $payment['payment_date'] ? date('d/m/Y', strtotime($payment['payment_date'])) : '-'; ?></td>
                                    <td><?php echo number_format($payment['amount_paid'], 2) . ' درهم'; ?></td>
                                    <td><?php echo getPaymentMethodName($payment['payment_method']); ?></td>
                                    <td><?php echo htmlspecialchars($payment['notes'] ?? '-'); ?></td>
                                    <td><?php echo htmlspecialchars($payment['created_by_name'] ?? '-'); ?></td>
                                    <td><?php echo date('d/m/Y', strtotime($payment['created_at'])); ?></td>
                                    <td>
                                        <button type="button" class="btn btn-sm btn-info edit-payment" 
                                            data-id="<?php echo $payment['id']; ?>"
                                            data-payment-month="<?php echo $payment['payment_month']; ?>"
                                            data-payment-status="<?php echo $payment['payment_status']; ?>"
                                            data-payment-date="<?php echo $payment['payment_date']; ?>"
                                            data-amount-paid="<?php echo $payment['amount_paid']; ?>"
                                            data-payment-method="<?php echo $payment['payment_method']; ?>"
                                            data-notes="<?php echo htmlspecialchars($payment['notes'] ?? ''); ?>">
                                            <i class="fas fa-edit"></i>
                                        </button>
                                        <button type="button" class="btn btn-sm btn-danger delete-payment" data-id="<?php echo $payment['id']; ?>">
                                            <i class="fas fa-trash"></i>
                                        </button>
                                        <?php if ($payment['payment_status'] != 'unpaid'): ?>
                                        <button type="button" class="btn btn-sm btn-primary print-monthly-receipt" 
                                                data-bs-toggle="modal" data-bs-target="#monthlyReceiptModal"
                                                data-id="<?php echo $payment['id']; ?>"
                                                data-member-name="<?php echo $member['first_name'] . ' ' . $member['last_name']; ?>"
                                                data-member-id="<?php echo $member['id']; ?>"
                                                data-payment-month="<?php echo date('m/Y', strtotime($payment['payment_month'])); ?>"
                                                data-payment-month-ar="<?php 
                                                    $months = [
                                                        '01' => 'يناير',
                                                        '02' => 'فبراير',
                                                        '03' => 'مارس',
                                                        '04' => 'أبريل',
                                                        '05' => 'ماي',
                                                        '06' => 'يونيو',
                                                        '07' => 'يوليوز',
                                                        '08' => 'غشت',
                                                        '09' => 'شتنبر',
                                                        '10' => 'أكتوبر',
                                                        '11' => 'نونبر',
                                                        '12' => 'دجنبر'
                                                    ];
                                                    $month = date('m', strtotime($payment['payment_month']));
                                                    $year = date('Y', strtotime($payment['payment_month']));
                                                    echo $months[$month] . ' ' . $year;
                                                ?>"
                                                data-payment-date="<?php echo $payment['payment_date'] ? date('d/m/Y', strtotime($payment['payment_date'])) : '-'; ?>"
                                                data-amount="<?php echo number_format($payment['amount_paid'], 2); ?>"
                                                data-payment-method="<?php echo getPaymentMethodName($payment['payment_method']); ?>"
                                                data-payment-status="<?php echo $payment['payment_status']; ?>"
                                                data-category="<?php echo $member['category_name']; ?>"
                                                data-notes="<?php echo htmlspecialchars($payment['notes'] ?? ''); ?>">
                                            <i class="fas fa-print"></i>
                                        </button>
                                        <?php endif; ?>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            <?php endif; ?>
        </div>
    </div>
</div>

<!-- Modal إضافة دفعة جديدة -->
<div class="modal fade" id="addPaymentModal" tabindex="-1" aria-labelledby="addPaymentModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="addPaymentModalLabel">تسجيل دفعة اشتراك شهري جديدة</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <form action="../monthly_payments/save_payment.php" method="post" class="needs-validation" novalidate>
                <input type="hidden" name="member_id" value="<?php echo $member['id']; ?>">
                <input type="hidden" name="redirect_url" value="<?php echo SITE_URL; ?>/monthly_payments/member_payments.php?id=<?php echo $member['id']; ?>">
                <div class="modal-body">
                    <div class="row mb-3">
                        <div class="col-md-6">
                            <label for="payment_month" class="form-label">شهر الاشتراك <span class="text-danger">*</span></label>
                            <input type="month" class="form-control" id="payment_month" name="payment_month" 
                                   value="<?php echo date('Y-m'); ?>" required>
                            <div class="invalid-feedback">يرجى تحديد شهر الاشتراك</div>
                        </div>
                        <div class="col-md-6">
                            <label for="payment_status" class="form-label">حالة الدفع <span class="text-danger">*</span></label>
                            <select class="form-select" id="payment_status" name="payment_status" required>
                                <option value="paid">مدفوع</option>
                                <option value="partial">مدفوع جزئيا</option>
                                <option value="unpaid">غير مدفوع</option>
                            </select>
                            <div class="invalid-feedback">يرجى تحديد حالة الدفع</div>
                        </div>
                    </div>
                    <div class="row mb-3">
                        <div class="col-md-6 payment-date-container">
                            <label for="payment_date" class="form-label">تاريخ الدفع</label>
                            <input type="date" class="form-control" id="payment_date" name="payment_date" 
                                   value="<?php echo date('Y-m-d'); ?>">
                            <div class="invalid-feedback">يرجى تحديد تاريخ الدفع</div>
                        </div>
                        <div class="col-md-6 amount-container">
                            <label for="amount_paid" class="form-label">المبلغ المدفوع</label>
                            <input type="number" class="form-control" id="amount_paid" name="amount_paid" step="0.01" value="0">
                            <div class="invalid-feedback">يرجى إدخال المبلغ المدفوع</div>
                        </div>
                    </div>
                    <div class="row mb-3">
                        <div class="col-md-6 payment-method-container">
                            <label for="payment_method" class="form-label">طريقة الدفع</label>
                            <select class="form-select" id="payment_method" name="payment_method">
                                <option value="">اختر طريقة الدفع</option>
                                <option value="cash">نقدا</option>
                                <option value="bank_transfer">تحويل بنكي</option>
                                <option value="check">شيك</option>
                            </select>
                        </div>
                        <div class="col-md-6">
                            <label for="notes" class="form-label">ملاحظات</label>
                            <textarea class="form-control" id="notes" name="notes" rows="1"></textarea>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إلغاء</button>
                    <button type="submit" class="btn btn-primary">حفظ</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- Modal تعديل دفعة -->
<div class="modal fade" id="editPaymentModal" tabindex="-1" aria-labelledby="editPaymentModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="editPaymentModalLabel">تعديل دفعة اشتراك شهري</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <form action="../monthly_payments/update_payment.php" method="post" class="needs-validation" novalidate>
                <input type="hidden" id="edit_payment_id" name="payment_id">
                <input type="hidden" name="member_id" value="<?php echo $member['id']; ?>">
                <input type="hidden" name="redirect_url" value="<?php echo SITE_URL; ?>/monthly_payments/member_payments.php?id=<?php echo $member['id']; ?>">
                <div class="modal-body">
                    <div class="row mb-3">
                        <div class="col-md-6">
                            <label for="edit_payment_month" class="form-label">شهر الاشتراك <span class="text-danger">*</span></label>
                            <input type="month" class="form-control" id="edit_payment_month" name="payment_month" required>
                            <div class="invalid-feedback">يرجى تحديد شهر الاشتراك</div>
                        </div>
                        <div class="col-md-6">
                            <label for="edit_payment_status" class="form-label">حالة الدفع <span class="text-danger">*</span></label>
                            <select class="form-select" id="edit_payment_status" name="payment_status" required>
                                <option value="paid">مدفوع</option>
                                <option value="partial">مدفوع جزئيا</option>
                                <option value="unpaid">غير مدفوع</option>
                            </select>
                            <div class="invalid-feedback">يرجى تحديد حالة الدفع</div>
                        </div>
                    </div>
                    <div class="row mb-3">
                        <div class="col-md-6 edit-payment-date-container">
                            <label for="edit_payment_date" class="form-label">تاريخ الدفع</label>
                            <input type="date" class="form-control" id="edit_payment_date" name="payment_date">
                            <div class="invalid-feedback">يرجى تحديد تاريخ الدفع</div>
                        </div>
                        <div class="col-md-6 edit-amount-container">
                            <label for="edit_amount_paid" class="form-label">المبلغ المدفوع</label>
                            <input type="number" class="form-control" id="edit_amount_paid" name="amount_paid" step="0.01">
                            <div class="invalid-feedback">يرجى إدخال المبلغ المدفوع</div>
                        </div>
                    </div>
                    <div class="row mb-3">
                        <div class="col-md-6 edit-payment-method-container">
                            <label for="edit_payment_method" class="form-label">طريقة الدفع</label>
                            <select class="form-select" id="edit_payment_method" name="payment_method">
                                <option value="">اختر طريقة الدفع</option>
                                <option value="cash">نقدا</option>
                                <option value="bank_transfer">تحويل بنكي</option>
                                <option value="check">شيك</option>
                            </select>
                        </div>
                        <div class="col-md-6">
                            <label for="edit_notes" class="form-label">ملاحظات</label>
                            <textarea class="form-control" id="edit_notes" name="notes" rows="1"></textarea>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إلغاء</button>
                    <button type="submit" class="btn btn-primary">حفظ التغييرات</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- Modal حذف دفعة -->
<div class="modal fade" id="deletePaymentModal" tabindex="-1" aria-labelledby="deletePaymentModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="deletePaymentModalLabel">تأكيد الحذف</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <p>هل أنت متأكد من حذف هذه الدفعة؟ لا يمكن التراجع عن هذا الإجراء.</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إلغاء</button>
                <form action="../monthly_payments/delete_payment.php" method="post">
                    <input type="hidden" id="delete_payment_id" name="payment_id">
                    <input type="hidden" name="redirect_url" value="<?php echo SITE_URL; ?>/monthly_payments/member_payments.php?id=<?php echo $member['id']; ?>">
                    <button type="submit" class="btn btn-danger">حذف</button>
                </form>
            </div>
        </div>
    </div>
</div>

<!-- Modal الإيصال الشهري -->
<div class="modal fade" id="monthlyReceiptModal" tabindex="-1" aria-labelledby="monthlyReceiptModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="monthlyReceiptModalLabel">إيصال دفع الواجب الشهري</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="إغلاق"></button>
            </div>
            <div class="modal-body">
                <div id="monthly-receipt-content">
                    <div class="text-center mb-4">
                        <img src="<?php echo SITE_URL; ?>/uploads/logo/logo.png" alt="شعار الجمعية" style="max-height: 80px; max-width: 200px; margin-bottom: 15px;">
                        <h3><?php echo $association['name'] ?? 'مدرسة الملكي لكرة القدم جرسيف'; ?></h3>
                        <p class="mb-1"><?php echo $association['address'] ?? 'العنوان'; ?></p>
                        <p class="mb-1"><?php echo $association['email'] ?? 'contact@association.com'; ?> | <?php echo $association['phone'] ?? '06.61.21.45.75'; ?></p>
                        <?php if (!empty($association['website'])): ?>
                        <p class="mb-3"><?php echo $association['website']; ?></p>
                        <?php else: ?>
                        <p class="mb-3">https://codeium.com/changelog</p>
                        <?php endif; ?>
                        <h4 class="mt-3 border-top border-bottom py-2">إيصال دفع الواجب الشهري</h4>
                    </div>
                    
                    <div class="row mb-3">
                        <div class="col-md-6">
                            <p><strong>تاريخ الدفع:</strong> <span class="monthly-payment-date"></span></p>
                            <p><strong>طريقة الدفع:</strong> <span class="monthly-payment-method"></span></p>
                            <p><strong>حالة الدفع:</strong> <span class="monthly-payment-status"></span></p>
                        </div>
                        <div class="col-md-6 text-md-end">
                            <p><strong>اسم المنخرط:</strong> <span class="monthly-member-name"></span></p>
                            <p><strong>رقم العضوية:</strong> <span class="monthly-member-id"></span></p>
                            <p><strong>الفئة:</strong> <span class="monthly-category-name"></span></p>
                        </div>
                    </div>
                    
                    <div class="row mb-3">
                        <div class="col-md-12">
                            <table class="table table-bordered">
                                <thead>
                                    <tr>
                                        <th width="40%">البيان</th>
                                        <th width="35%">التفاصيل</th>
                                        <th width="25%">المبلغ (درهم)</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <tr>
                                        <td>الواجب الشهري</td>
                                        <td>شهر: <span class="monthly-payment-month-ar"></span></td>
                                        <td class="monthly-amount"></td>
                                    </tr>
                                    <tr class="table-secondary">
                                        <td colspan="2" class="text-end"><strong>المجموع</strong></td>
                                        <td class="monthly-total-amount"></td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                    
                    <div class="row mt-4">
                        <div class="col-md-6">
                            <p><strong>ملاحظات:</strong></p>
                            <p class="monthly-payment-notes">- هذا الإيصال يعتبر دليلاً على دفع الواجب الشهري</p>
                            <p>- يرجى الاحتفاظ به للرجوع إليه عند الحاجة</p>
                        </div>
                        <div class="col-md-6 text-md-end">
                            <p class="mb-5"><strong>توقيع المسؤول:</strong></p>
                            <p>_______________________</p>
                        </div>
                    </div>
                    
                    <div class="row mt-4 pt-3 border-top">
                        <div class="col-md-12 text-center">
                            <p class="small">تم إصدار هذا الإيصال بتاريخ: <span class="monthly-issue-date"></span></p>
                        </div>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إغلاق</button>
                <button type="button" class="btn btn-primary" id="print-monthly-receipt-btn">
                    <i class="fas fa-print"></i> طباعة
                </button>
            </div>
        </div>
    </div>
</div>

<!-- نافذة الطباعة المخفية -->
<iframe id="print-frame" style="display:none;"></iframe>

<style>
/* أنماط خاصة بالطباعة */
@media print {
    /* إخفاء جميع العناصر غير الضرورية عند الطباعة */
    body * {
        visibility: hidden;
    }
    
    /* إظهار محتوى الإيصال الشهري عند الطباعة */
    #monthly-receipt-print-content, #monthly-receipt-print-content * {
        visibility: visible;
    }
    
    #monthly-receipt-print-content {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        padding: 20px;
        font-size: 12pt;
    }
    
    #monthly-receipt-print-content img {
        max-height: 80px;
        max-width: 200px;
        margin-bottom: 15px;
    }
    
    #monthly-receipt-print-content .table {
        width: 100%;
        border-collapse: collapse;
    }
    
    #monthly-receipt-print-content .table th,
    #monthly-receipt-print-content .table td {
        border: 1px solid #000;
        padding: 8px;
    }
}
</style>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // تحديث حقول النموذج بناءً على حالة الدفع
    function updateFormFields(status, prefix = '') {
        const paymentDateContainer = document.querySelector(prefix ? `.${prefix}-payment-date-container` : '.payment-date-container');
        const amountContainer = document.querySelector(prefix ? `.${prefix}-amount-container` : '.amount-container');
        const paymentMethodContainer = document.querySelector(prefix ? `.${prefix}-payment-method-container` : '.payment-method-container');
        const paymentDateInput = document.getElementById(`${prefix ? prefix + '_' : ''}payment_date`);
        const amountPaidInput = document.getElementById(`${prefix ? prefix + '_' : ''}amount_paid`);
        const paymentMethodInput = document.getElementById(`${prefix ? prefix + '_' : ''}payment_method`);
        
        if (status === 'paid' || status === 'partial') {
            paymentDateContainer.style.display = 'block';
            amountContainer.style.display = 'block';
            paymentMethodContainer.style.display = 'block';
            
            if (status === 'paid') {
                paymentDateInput.setAttribute('required', '');
                amountPaidInput.setAttribute('required', '');
                paymentMethodInput.setAttribute('required', '');
            } else {
                paymentDateInput.setAttribute('required', '');
                amountPaidInput.setAttribute('required', '');
            }
        } else {
            paymentDateContainer.style.display = 'none';
            amountContainer.style.display = 'none';
            paymentMethodContainer.style.display = 'none';
            
            paymentDateInput.removeAttribute('required');
            amountPaidInput.removeAttribute('required');
            paymentMethodInput.removeAttribute('required');
        }
    }
    
    // تحديث الحقول عند تغيير حالة الدفع في نموذج الإضافة
    const paymentStatusSelect = document.getElementById('payment_status');
    if (paymentStatusSelect) {
        paymentStatusSelect.addEventListener('change', function() {
            updateFormFields(this.value);
        });
        
        // تحديث الحقول عند تحميل الصفحة
        updateFormFields(paymentStatusSelect.value);
    }
    
    // تحديث الحقول عند تغيير حالة الدفع في نموذج التعديل
    const editPaymentStatusSelect = document.getElementById('edit_payment_status');
    if (editPaymentStatusSelect) {
        editPaymentStatusSelect.addEventListener('change', function() {
            updateFormFields(this.value, 'edit');
        });
    }
    
    // تعبئة بيانات نموذج التعديل
    const editButtons = document.querySelectorAll('.edit-payment');
    editButtons.forEach(button => {
        button.addEventListener('click', function() {
            const id = this.getAttribute('data-id');
            const paymentMonth = this.getAttribute('data-payment-month');
            const paymentStatus = this.getAttribute('data-payment-status');
            const paymentDate = this.getAttribute('data-payment-date');
            const amountPaid = this.getAttribute('data-amount-paid');
            const paymentMethod = this.getAttribute('data-payment-method');
            const notes = this.getAttribute('data-notes');
            
            document.getElementById('edit_payment_id').value = id;
            document.getElementById('edit_payment_month').value = paymentMonth.substring(0, 7); // YYYY-MM
            document.getElementById('edit_payment_status').value = paymentStatus;
            document.getElementById('edit_payment_date').value = paymentDate || '';
            document.getElementById('edit_amount_paid').value = amountPaid || '0';
            document.getElementById('edit_payment_method').value = paymentMethod || '';
            document.getElementById('edit_notes').value = notes || '';
            
            // تحديث الحقول بناءً على حالة الدفع
            updateFormFields(paymentStatus, 'edit');
            
            // فتح النموذج
            const editModal = new bootstrap.Modal(document.getElementById('editPaymentModal'));
            editModal.show();
        });
    });
    
    // تعبئة بيانات نموذج الحذف
    const deleteButtons = document.querySelectorAll('.delete-payment');
    deleteButtons.forEach(button => {
        button.addEventListener('click', function() {
            const id = this.getAttribute('data-id');
            document.getElementById('delete_payment_id').value = id;
            
            // فتح النموذج
            const deleteModal = new bootstrap.Modal(document.getElementById('deletePaymentModal'));
            deleteModal.show();
        });
    });
    
    // تفعيل التحقق من صحة النماذج
    const forms = document.querySelectorAll('.needs-validation');
    Array.from(forms).forEach(form => {
        form.addEventListener('submit', event => {
            if (!form.checkValidity()) {
                event.preventDefault();
                event.stopPropagation();
            }
            form.classList.add('was-validated');
        }, false);
    });
    
    // تحميل بيانات إيصال الدفع الشهري
    $('.print-monthly-receipt').on('click', function() {
        // الحصول على البيانات من السمات
        var memberName = $(this).data('member-name');
        var memberId = $(this).data('member-id');
        var paymentMonth = $(this).data('payment-month');
        var paymentMonthAr = $(this).data('payment-month-ar');
        var paymentDate = $(this).data('payment-date');
        var amount = $(this).data('amount');
        var paymentMethod = $(this).data('payment-method');
        var paymentStatus = $(this).data('payment-status');
        var category = $(this).data('category');
        var notes = $(this).data('notes');
        
        // طباعة البيانات في وحدة التحكم للتحقق
        console.log('Monthly Receipt Data:');
        console.log('Member Name:', memberName);
        console.log('Member ID:', memberId);
        console.log('Payment Month:', paymentMonth);
        console.log('Payment Month AR:', paymentMonthAr);
        console.log('Payment Date:', paymentDate);
        console.log('Amount:', amount);
        console.log('Payment Method:', paymentMethod);
        console.log('Payment Status:', paymentStatus);
        console.log('Category:', category);
        console.log('Notes:', notes);
        
        // تعيين القيم في النافذة المنبثقة - استخدام الفئة بدلاً من المعرف
        $('.monthly-member-name').text(memberName);
        $('.monthly-member-id').text(memberId);
        $('.monthly-category-name').text(category);
        $('.monthly-payment-month-ar').text(paymentMonthAr);
        $('.monthly-payment-date').text(paymentDate);
        $('.monthly-amount').text(amount + ' درهم');
        $('.monthly-total-amount').text(amount + ' درهم');
        $('.monthly-payment-method').text(paymentMethod);
        
        // إضافة الملاحظات إذا وجدت
        if (notes && notes.trim() !== '') {
            $('.monthly-payment-notes').html('- ' + notes.replace(/\n/g, '<br>- '));
        } else {
            $('.monthly-payment-notes').html('- هذا الإيصال يعتبر دليلاً على دفع الواجب الشهري');
        }
        
        // ترجمة حالة الدفع
        var statusText = '';
        switch(paymentStatus) {
            case 'paid':
                statusText = 'مدفوع';
                break;
            case 'partial':
                statusText = 'مدفوع جزئيا';
                break;
            case 'unpaid':
                statusText = 'غير مدفوع';
                break;
            default:
                statusText = paymentStatus;
        }
        $('.monthly-payment-status').text(statusText);
        
        // تاريخ إصدار الإيصال (اليوم)
        var today = new Date();
        var dd = String(today.getDate()).padStart(2, '0');
        var mm = String(today.getMonth() + 1).padStart(2, '0');
        var yyyy = today.getFullYear();
        var issueDate = dd + '/' + mm + '/' + yyyy;
        $('.monthly-issue-date').text(issueDate);
    });
    
    // طباعة إيصال الدفع الشهري
    $('#print-monthly-receipt-btn').on('click', function() {
        // إنشاء نسخة من محتوى الإيصال للطباعة
        var printContent = $('#monthly-receipt-content').clone();
        printContent.attr('id', 'monthly-receipt-print-content');
        
        // إضافة أنماط إضافية للطباعة
        printContent.addClass('p-4');
        
        // تعيين المحتوى في إطار الطباعة
        var printFrame = document.getElementById('print-frame');
        var printDocument = printFrame.contentWindow.document;
        printDocument.open();
        printDocument.write('<html><head><title>إيصال دفع الواجب الشهري</title>');
        printDocument.write('<link rel="stylesheet" href="<?php echo SITE_URL; ?>/assets/css/bootstrap.rtl.min.css">');
        printDocument.write('<style>');
        printDocument.write('body { font-family: Arial, sans-serif; direction: rtl; }');
        printDocument.write('.table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }');
        printDocument.write('.table th, .table td { border: 1px solid #000; padding: 8px; text-align: center; }');
        printDocument.write('.table-light { background-color: #f8f9fa; }');
        printDocument.write('.table-secondary { background-color: #e2e3e5; }');
        printDocument.write('</style>');
        printDocument.write('</head><body>');
        printDocument.write(printContent.html());
        printDocument.write('</body></html>');
        printDocument.close();
        
        // طباعة الإطار
        printFrame.contentWindow.focus();
        printFrame.contentWindow.print();
    });
});

// دالة للحصول على اسم طريقة الدفع
function getPaymentMethodName(method) {
    switch(method) {
        case 'cash':
            return 'نقدا';
        case 'bank_transfer':
            return 'تحويل بنكي';
        case 'check':
            return 'شيك';
        default:
            return '-';
    }
}
</script>

<?php
// تضمين ملف الفوتر
include '../includes/footer.php';
?>
