<?php
require_once 'includes/header.php';
$page_title = 'بحث عن الفاتورة';
?>

<div class="content">
    <div class="search-container">
        <h2>بحث عن الفاتورة</h2>
        <p>ابحث باستخدام رقم الفاتورة أو اسم العميل أو رقم الهاتف</p>

        <form method="GET" action="" class="search-form">
            <div class="search-box">
                <input type="text" name="search" placeholder="أدخل رقم الفاتورة أو اسم العميل أو رقم الهاتف..." value="<?= isset($_GET['search']) ? htmlspecialchars($_GET['search']) : '' ?>">
                <button type="submit"><i class="fas fa-search"></i> بحث</button>
            </div>
        </form>

        <?php
        if (isset($_GET['search'])) {
            $searchTerm = trim($_GET['search']);

            if (!empty($searchTerm)) {
                global $db;

                $invoices = $db->fetchAll("
                    SELECT i.*, c.name as customer_name, c.phone as customer_phone 
                    FROM invoices i
                    LEFT JOIN customers c ON i.customer_id = c.id
                    WHERE i.invoice_number LIKE ? OR c.name LIKE ? OR c.phone LIKE ? OR i.notes LIKE ?
                    ORDER BY i.date DESC
                ", ["%$searchTerm%", "%$searchTerm%", "%$searchTerm%", "%$searchTerm%"]);

                if (!empty($invoices)) {
                    echo '<div class="results-container">';
                    echo '<h3 style="margin-bottom: .75rem;"><i class="fas fa-file-invoice"></i> نتائج البحث:</h3>';

                    foreach ($invoices as $invoice) {
                        $invoiceDate = new DateTime($invoice['date']);
                        $warrantyEnd = clone $invoiceDate;
                        $warrantyEnd->add(new DateInterval('P3M'));
                        $today = new DateTime();
                        $warrantyLeft = $today->diff($warrantyEnd);

                        $items = $db->fetchAll("
                            SELECT product_name, quantity, price, total, warranty_end 
                            FROM invoice_items 
                            WHERE invoice_id = ?
                        ", [$invoice['id']]);

                        echo '<div class="invoice-card" style="position:relative;">';
                        echo '<div class="invoice-header">';
                        echo '<span>';
                        echo '<p>رقم الفاتورة: <strong>' . $invoice['invoice_number'] . '</strong></p>';
                        echo '<p>التاريخ: ' . date('d/m/Y', strtotime($invoice['date'])) . '</p>';
                        echo '</span>';
                        echo '<span>';
                        echo '<p>الاسم: ' . $invoice['customer_name'] . '</p>';
                        echo '<p>الهاتف: ' . $invoice['customer_phone'] . '</p>';
                        echo '</div>';
                        echo '</span>';

                        echo '<div class="invoice-details">';
                        echo '<div class="invoice-items">';
                        echo '<h4>الأصناف المشتراة:</h4>';
                        echo '<table style="width: 100%;">';
                        echo '<thead><tr>
                                <th>الصنف</th>
                                <th>الكمية</th>
                                <th>السعر</th>
                                <th>الإجمالي</th>
                                <th>الضمان</th>
                              </tr></thead>';
                        echo '<tbody>';

                        foreach ($items as $item) {
                            echo '<tr>';
                            echo '<td>' . $item['product_name'] . '</td>';
                            echo '<td>' . $item['quantity'] . '</td>';
                            echo '<td>' . number_format($item['price'], 2) . ' ج.م</td>';
                            echo '<td>' . number_format($item['total'], 2) . ' ج.م</td>';
                            // حساب الضمان بناءً على warranty_end
                            if (!empty($item['warranty_end'])) {
                                $today = new DateTime();
                                $warrantyEnd = new DateTime($item['warranty_end']);
                                $interval = $today->diff($warrantyEnd);
                                if ($warrantyEnd >= $today) {
                                    echo '<td>ساري حتى: ' . $warrantyEnd->format('d/m/Y') . '<br>متبقي: ' . $interval->days . ' يوم</td>';
                                } else {
                                    echo '<td>انتهى في: ' . $warrantyEnd->format('d/m/Y') . '</td>';
                                }
                            } else {
                                echo '<td>بدون ضمان</td>';
                            }
                            echo '</tr>';
                        }

                        echo '</tbody></table>';
                        echo '</div></div>';
                        // زر الطباعة يفتح صفحة user_print_invoice.php في نافذة جديدة ويطبع تلقائياً
                        echo '<div style="text-align:center; margin: 15px 0;" class="no-print">';
                        echo '<button class="btn btn-primary" onclick="openPrintWindow(' . $invoice['id'] . ')"><i class="fas fa-print"></i> طباعة</button>';
                        echo '</div>';
                        echo '</div>';
                    }

                    echo '</div>';
                } else {
                    echo '<div class="no-results">
                            <i class="fas fa-search"></i>
                            <h3>لا توجد نتائج</h3>
                            <p>لم يتم العثور على فواتير تطابق بحثك</p>
                          </div>';
                }
            }
        }
        ?>
    </div>

    <div class="warranty">
        <h2>شروط الضمان:</h2>
        <ul>
            <li>تغطي شهادة الضمان عيوب التصنيع لمدة 3 شهور من تاريخ الشراء.</li>
            <li>لا يشمل الضمان الأضرار الناتجة عن سوء الاستخدام أو الحوادث.</li>
            <li>يجب تقديم هذه الفاتورة عند المطالبة بالضمان.</li>
            <li>الضمان لا يشمل البطاريات والملحقات الخارجية.</li>
        </ul>
    </div>

</div>

<script>
function openPrintWindow(invoiceId) {
    var win = window.open('user_print_invoice.php?id=' + invoiceId, '_blank');
    win.focus();
}
</script>

<?php require_once 'includes/footer.php'; ?>