<?php
include 'config.php';

// جلب اسم الأكونت المفتوح حالياً من السيشن (واستبداله بـ Cashier كقيمة افتراضية لو مش مسجل دخول)
$cashier_name = $_SESSION['user_name'] ?? $_SESSION['username'] ?? 'Cashier';

$order_id = intval($_GET['id'] ?? 0);

if ($order_id <= 0) {
    die("Invalid Invoice ID.");
}

// 1. جلب بيانات الفاتورة الرئيسية
$stmt_order = $pdo->prepare("SELECT * FROM orders WHERE id = :id LIMIT 1");
$stmt_order->execute([':id' => $order_id]);
$order = $stmt_order->fetch();

if (!$order) {
    die("Invoice not found.");
}

// 2. جلب تفاصيل المنتجات داخل الفاتورة مع أسمائها
$stmt_items = $pdo->prepare("
    SELECT oi.*, p.product_name, p.unit 
    FROM order_items oi 
    JOIN products p ON oi.product_id = p.id 
    WHERE oi.order_id = :order_id
");
$stmt_items->execute([':order_id' => $order_id]);
$items = $stmt_items->fetchAll();
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
    <meta charset="UTF-8">
    <title>Print Invoice #<?= $order['id'] ?></title>
    <style>
        /* Thermal Printer 80mm Settings */
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            font-size: 13px;
            line-height: 1.4;
            width: 76mm; /* Printable area for 80mm thermal paper */
            margin: 0 auto;
            padding: 5px;
            color: #000;
            background: #fff;
        }

        .text-center { text-align: center; }
        .text-left { text-align: left; }
        .text-right { text-align: right; }
        
        .header { margin-bottom: 12px; border-bottom: 1px dashed #000; padding-bottom: 10px; }
        .header img { width: 150px; height: auto; max-width: 100%; margin-bottom: 5px; }

        .info-table { width: 100%; margin-bottom: 8px; font-size: 12px; }
        .info-table td { padding: 2px 0; }

        .items-table { width: 100%; border-collapse: collapse; margin-top: 5px; }
        .items-table th { border-bottom: 1px solid #000; padding: 5px 0; font-size: 12px; }
        .items-table td { padding: 6px 0; border-bottom: 1px dashed #eee; font-size: 12px; }

        .totals { margin-top: 10px; padding-top: 5px; border-top: 1px dashed #000; }
        .total-row { display: flex; justify-content: space-between; font-size: 13px; font-weight: bold; padding: 2px 0; }
        .grand-total { font-size: 16px; border-top: 1px solid #000; margin-top: 3px; padding-top: 5px; }

        .footer { margin-top: 15px; border-top: 1px dashed #000; padding-top: 8px; font-size: 11px; }

        /* Browser print settings to remove headers/footers */
        @media print {
            @page {
                size: 80mm auto; 
                margin: 0; 
            }
            body { margin: 0; padding: 5mm; }
            .no-print { display: none; }
        }
    </style>
</head>
<body>

    <div class="header text-center">
        <!-- شعار كابا المرفق سلفاً -->
        <img src="IMG_0969.PNG" alt="Logo" />
    </div>

    <table class="info-table">
        <tr>
            <td><strong>Invoice No:</strong> #<?= $order['id'] ?></td>
            <td class="text-right"><strong>Shift:</strong> #<?= $order['shift_id'] ?></td>
        </tr>
        <tr>
            <td><strong>Date:</strong> <?= date('Y-m-d h:i A', strtotime($order['order_date'])) ?></td>
            <td class="text-right"><strong>Cashier:</strong> <?= htmlspecialchars($cashier_name) ?></td>
        </tr>
    </table>

    <table class="items-table">
        <thead>
            <tr>
                <th class="text-left" style="width: 40%;">Item</th>
                <th class="text-center" style="width: 20%;">Qty</th>
                <th class="text-center" style="width: 20%;">Price</th>
                <th class="text-right" style="width: 20%;">Total</th>
            </tr>
        </thead>
        <tbody>
            <?php foreach ($items as $item): ?>
            <tr>
                <td class="text-left"><?= htmlspecialchars($item['product_name']) ?></td>
                <td class="text-center">
                    <?= ($item['unit'] === 'kg' || $item['unit'] === 'كيلو') ? number_format($item['quantity'], 3) : number_format($item['quantity'], 0) ?>
                </td>
                <!-- تعديل: عرض أسعار المنتجات بالدولار كعملة أساسية -->
                <td class="text-center">$<?= number_format($item['price'], 2) ?></td>
                <td class="text-right">$<?= number_format($item['total'], 2) ?></td>
            </tr>
            <?php endforeach; ?>
        </tbody>
    </table>

    <!-- قسم الحسابات المحدث بالكامل -->
    <div class="totals">
        
        <?php 
        // جلب عملة الدفع للفاتورة (الافتراضي أصبح USD)
        $order_currency = $order['currency'] ?? 'USD';
        ?>

        <!-- إجمالي الفاتورة الأساسي بالدولار الأمريكي يظهر دائماً -->
        <div class="total-row">
            <span>Total (USD):</span>
            <span>$<?= number_format($order['total_amount'], 2) ?></span>
        </div>
        
        <?php if ($order_currency !== 'USD'): ?>
            <!-- إذا كانت عملة الدفع مختلفة عن الدولار (جنيه أو ين)، يتم عرض سطر الإغلاق النهائي بالعملة المدفوعة -->
            <div class="total-row grand-total">
                <span>Paid Total (<?= $order_currency ?>):</span>
                <span>
                    <?php 
                    if ($order_currency === 'EGP') {
                        echo number_format($order['paid_amount'], 2) . ' EGP';
                    } elseif ($order_currency === 'JPY') {
                        echo '¥' . number_format($order['paid_amount'], 0);
                    } else {
                        echo number_format($order['paid_amount'], 2) . ' ' . $order_currency;
                    }
                    ?>
                </span>
            </div>

        <?php else: ?>
            <!-- إذا كان الدفع بالدولار مباشرة، يكون هو الـ Grand Total النهائي -->
            <div class="total-row grand-total">
                <span>Grand Total:</span>
                <span>$<?= number_format($order['total_amount'], 2) ?></span>
            </div>
        <?php endif; ?>
        
    </div>

    <div class="footer text-center">
        <p>Thank you for your visit .. Have a nice day</p>
        <p>ありがとうございます</p>
    </div>

    <script>
        window.onload = function() {
            window.print();
            setTimeout(function() {
                window.close();
            }, 500);
        }
    </script>
</body>
</html>