<?php
session_start();
if(!isset($_SESSION['user']) && !isset($_SESSION['user_id'])){ header("Location: login.php"); exit(); }
include "db.php";

if (isset($_POST['save_quotation'])) {
    $customer_name = $conn->real_escape_string($_POST['customer_name']);
    $tax_percentage = floatval($_POST['tax_percentage'] ?? 0);
    $special_terms = $conn->real_escape_string($_POST['special_terms'] ?? '');
    $grand_total = floatval($_POST['grand_total_input'] ?? 0);

    // إدخال البيانات الأساسية للعرض
    $conn->query("INSERT INTO quotations (customer_name, tax_percentage, special_terms, grand_total) 
                  VALUES ('$customer_name', '$tax_percentage', '$special_terms', '$grand_total')");
    $quotation_id = $conn->insert_id;

    // إدخال تفاصيل المنتجات ديناميكياً
    if (!empty($_POST['products'])) {
        foreach ($_POST['products'] as $item) {
            $p_name = $conn->real_escape_string($item['name']);
            $qty = intval($item['qty']);
            $price = floatval($item['price']);

            if (!empty($p_name) && $qty > 0) {
                $conn->query("INSERT INTO quotation_items (quotation_id, product_name, quantity, selling_price) 
                              VALUES ($quotation_id, '$p_name', $qty, $price)");
            }
        }
    }
    header("Location: quotations.php");
    exit();
}

// جلب المنتجات من المخزن لعرضها في القائمة المنسدلة (بافتراض أن جدول المبيعات بياخد p_name)
$products_res = $conn->query("SELECT DISTINCT p_name, selling_price FROM sales GROUP BY p_name");
?>

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>إنشاء عرض سعر جديد</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, sans-serif; }
        body { display: flex; direction: rtl; background: #0b0f19; color: #f8fafc; min-height: 100vh; }
        .sidebar { width: 260px; height: 100vh; background: #111424; padding: 30px 20px; position: fixed; right: 0; top: 0; border-left: 1px solid #1e293b; }
        .sidebar img { width: 150px; display: block; margin: 0 auto 40px auto; }
        .sidebar a { display: block; color: #94a3b8; text-decoration: none; padding: 12px 15px; margin-bottom: 8px; border-radius: 8px; font-size: 14px; transition: all 0.3s; }
        .sidebar a:hover, .sidebar a.active { background: #1e293b; color: #ffffff; }
        
        .main { margin-right: 260px; padding: 40px; width: 100%; }
        h2 { color: #ffffff; margin-bottom: 30px; border-right: 5px solid #00f2fe; padding-right: 15px; }
        
        .form-container { background: #111424; padding: 30px; border-radius: 12px; border: 1px solid #1e293b; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
        .form-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
        label { color: #94a3b8; font-size: 13px; }
        input, select, textarea { padding: 12px; background: #1e293b; border: 1px solid #334155; border-radius: 8px; color: #ffffff; outline: none; font-size: 14px; }
        input:focus, select:focus, textarea:focus { border-color: #00f2fe; }
        
        .items-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
        .items-table th { background: #1e293b; color: #94a3b8; padding: 12px; text-align: right; font-size: 13px; }
        .items-table td { padding: 10px; border-bottom: 1px solid #1e293b; }
        
        .btn-add-row { background: #1e293b; color: #00f2fe; border: 1px solid #334155; padding: 8px 16px; border-radius: 6px; cursor: pointer; transition: 0.3s; margin-bottom: 20px; display: inline-block; }
        .btn-add-row:hover { background: #00f2fe; color: #111424; }
        
        .btn-submit { background: linear-gradient(90deg, #00f2fe, #4facfe); color: #111424; border: none; padding: 14px; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; width: 100%; }
        .btn-submit:hover { box-shadow: 0 5px 15px rgba(0, 242, 254, 0.3); }
        
        .summary-box { background: #1e293b; padding: 20px; border-radius: 8px; margin-top: 20px; display: flex; justify-content: space-between; align-items: center; }
        .grand-total { color: #10b981; font-size: 20px; font-weight: bold; }
        .btn-remove { background: #ef4444; color: white; border: none; padding: 6px 12px; border-radius: 6px; cursor: pointer; }
    </style>
</head>
<body>

<div class="sidebar">
    <img src="cropped-Logo-scaled-214x61.png" alt="Glob Network">
    <a href="dashboard.php">Dashboard</a>
    <a href="quotations.php" class="active">عروض الأسعار</a>
    <a href="sales.php">المبيعات</a>
</div>

<div class="main">
    <h2>إنشاء عرض سعر جديد للعميل</h2>
    
    <div class="form-container">
        <form method="POST" id="quotationForm">
            <div class="form-group">
                <label>اسم العميل / الشركة الموجه إليها العرض</label>
                <input type="text" name="customer_name" required placeholder="أدخل اسم العميل المعتمد">
            </div>

            <h3>📦 منتجات ومواصفات العرض</h3>
            <table class="items-table" id="itemsTable">
                <thead>
                    <tr>
                        <th>اسم المنتج / الخدمة</th>
                        <th style="width: 120px;">الكمية</th>
                        <th style="width: 160px;">سعر الوحدة (ج.م)</th>
                        <th style="width: 160px;">الإجمالي</th>
                        <th style="width: 80px;">إجراء</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>
                            <input type="text" name="products[0][name]" list="products_list" class="prod-name" required style="width:100%;">
                        </td>
                        <td><input type="number" name="products[0][qty]" class="prod-qty" value="1" min="1" style="width:100%;"></td>
                        <td><input type="number" step="0.01" name="products[0][price]" class="prod-price" value="0.00" style="width:100%;"></td>
                        <td class="row-total" style="color: #10b981; font-weight: bold; padding-top: 20px;">0.00 ج.م</td>
                        <td>-</td>
                    </tr>
                </tbody>
            </table>
            
            <datalist id="products_list">
                <?php while($p = $products_res->fetch_assoc()): ?>
                    <option value="<?php echo htmlspecialchars($p['p_name']); ?>" data-price="<?php echo $p['selling_price']; ?>">
                <?php endwhile; ?>
            </datalist>

            <button type="button" class="btn-add-row" onclick="addRow()">➕ إضافة بند جديد لعرض السعر</button>

            <div class="form-group">
                <label>نسبة الضريبة الكلية المقررة (%)</label>
                <input type="number" step="0.01" name="tax_percentage" id="tax_percentage" value="0.00" style="width: 200px;">
            </div>

            <div class="form-group">
                <label>📝 الشروط والقواعد الخاصة بالشركة (تظهر أسفل المستند التصديري)</label>
                <textarea name="special_terms" rows="4" placeholder="مثال: هذا العرض ساري لمدة 15 يوماً من تاريخ الإصدار.. الدفع 50% مقدم وباقي القيمة عند التسليم."></textarea>
            </div>

            <div class="summary-box">
                <div>إجمالي العرض بعد احتساب كافة البنود والضرائب المضافة:</div>
                <div class="grand-total"><span id="grand_total_text">0.00</span> ج.م</div>
                <input type="hidden" name="grand_total_input" id="grand_total_input" value="0.00">
            </div>

            <br>
            <button type="submit" name="save_quotation" class="btn-submit">💾 حفظ عرض السعر وأرشفته بالمنظومة</button>
        </form>
    </div>
</div>

<script>
let rowCount = 1;

// تحديث الحسابات والأسعار التلقائية بناءً على الاختيار
document.getElementById('itemsTable').addEventListener('input', calculateTotals);
document.getElementById('tax_percentage').addEventListener('input', calculateTotals);

// ملء السعر تلقائياً إذا تم اختيار منتج مسجل مسبقاً
document.getElementById('itemsTable').addEventListener('change', function(e) {
    if(e.target.classList.contains('prod-name')) {
        const option = document.querySelector(`#products_list option[value="${e.target.value}"]`);
        if(option) {
            const priceInput = e.target.closest('tr').querySelector('.prod-price');
            priceInput.value = option.getAttribute('data-price');
            calculateTotals();
        }
    }
});

function addRow() {
    const tableBody = document.querySelector('#itemsTable tbody');
    const newRow = document.createElement('tr');
    newRow.innerHTML = `
        <td><input type="text" name="products[${rowCount}][name]" list="products_list" class="prod-name" required style="width:100%;"></td>
        <td><input type="number" name="products[${rowCount}][qty]" class="prod-qty" value="1" min="1" style="width:100%;"></td>
        <td><input type="number" step="0.01" name="products[${rowCount}][price]" class="prod-price" value="0.00" style="width:100%;"></td>
        <td class="row-total" style="color: #10b981; font-weight: bold; padding-top: 20px;">0.00 ج.م</td>
        <td><button type="button" class="btn-remove" onclick="this.closest('tr').remove(); calculateTotals();">حذف</button></td>
    `;
    tableBody.appendChild(newRow);
    rowCount++;
}

function calculateTotals() {
    let subtotal = 0;
    const rows = document.querySelectorAll('#itemsTable tbody tr');
    
    rows.forEach(row => {
        const qty = parseFloat(row.querySelector('.prod-qty').value) || 0;
        const price = parseFloat(row.querySelector('.prod-price').value) || 0;
        const rowTotal = qty * price;
        subtotal += rowTotal;
        row.querySelector('.row-total').innerText = rowTotal.toFixed(2) + " ج.م";
    });
    
    const taxPercent = parseFloat(document.getElementById('tax_percentage').value) || 0;
    const taxAmount = subtotal * (taxPercent / 100);
    const grandTotal = subtotal + taxAmount;
    
    document.getElementById('grand_total_text').innerText = grandTotal.toFixed(2);
    document.getElementById('grand_total_input').value = grandTotal.toFixed(2);
}
</script>
</body>
</html>