<?php
require_once __DIR__ . '/config/db.php';
require_once __DIR__ . '/helpers/jwt_helper.php';
require_once __DIR__ . '/helpers/auth.php';

if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

$currentUser = get_current_user_data();

$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
if ($id <= 0) {
    header("Location: index.php");
    exit();
}

// ดึงข้อมูลสินค้า
try {
    $stmt = $pdo->prepare("SELECT * FROM products WHERE id = ?");
    $stmt->execute([$id]);
    $prod = $stmt->fetch();
    
    if (!$prod) {
        header("Location: index.php");
        exit();
    }
} catch (PDOException $e) {
    die("Database error: " . $e->getMessage());
}

$cart_success = '';
$cart_error = '';

// จัดการการหยิบลงตะกร้าสินค้าพร้อมไซส์และสี
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_to_cart'])) {
    $quantity = (int)($_POST['quantity'] ?? 1);
    $size = trim($_POST['size'] ?? 'N/A');
    $color = trim($_POST['color'] ?? 'N/A');

    if ($quantity > 0) {
        if (($prod['category'] ?? 'general') !== 'clothing') {
            $size = 'N/A';
            $color = 'N/A';
        }

        $cart_key = $prod['id'] . '_' . $size . '_' . $color;
        $current_in_cart = $_SESSION['cart'][$cart_key] ?? 0;

        if ($current_in_cart + $quantity <= $prod['stock']) {
            $_SESSION['cart'][$cart_key] = $current_in_cart + $quantity;
            $msg = "เพิ่มสินค้าจำนวน {$quantity} ชิ้น";
            if ($size !== 'N/A') {
                $msg .= " (ไซส์ {$size}, สี{$color})";
            }
            $cart_success = $msg . " ลงตะกร้าเรียบร้อยแล้ว!";
        } else {
            $cart_error = "ขออภัย จำนวนสินค้าในคลังไม่เพียงพอ (คุณสั่งซื้อแล้ว {$current_in_cart} ชิ้น, คลังเหลือ {$prod['stock']} ชิ้น)";
        }
    }
}

$cart_count = isset($_SESSION['cart']) ? array_sum($_SESSION['cart']) : 0;
?>
<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CyberShop // <?php echo htmlspecialchars($prod['name']); ?></title>
    <link rel="stylesheet" href="assets/css/style.css">
    <style>
        .detail-container {
            display: grid;
            grid-template-columns: 1.2fr 1fr;
            gap: 3rem;
            margin-top: 2rem;
        }
        .detail-image {
            width: 100%;
            max-height: 500px;
            object-fit: cover;
            border-radius: 12px;
            border: 1px solid var(--border-color);
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
        }
        .qty-control {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .qty-btn {
            background: var(--bg-input);
            border: 1px solid var(--border-color);
            color: var(--text-white);
            width: 35px;
            height: 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 6px;
            cursor: pointer;
            font-size: 1.2rem;
            transition: all 0.3s ease;
        }
        .qty-btn:hover {
            border-color: var(--neon-red);
            color: var(--neon-red);
        }
    </style>
</head>
<body>

    <nav class="navbar">
        <a href="index.php" class="navbar-brand">
            CYBER<span class="brand-red">SHOP</span>
        </a>
        <div class="navbar-menu">
            <a href="index.php" class="nav-link">หน้าร้านค้า</a>
            <a href="cart.php" class="nav-link" style="color: var(--text-white); position: relative;">
                ตะกร้าสินค้า 
                <span style="background: var(--neon-red); color: #fff; padding: 2px 7px; border-radius: 50%; font-size: 0.75rem; font-family: 'Orbitron', sans-serif; margin-left: 4px; box-shadow: 0 0 8px var(--neon-red);">
                    <?php echo $cart_count; ?>
                </span>
            </a>

            <!-- ช่องใส่โค้ดส่วนลดใน Navbar -->
            <div style="margin-left: 0.5rem; display: flex; align-items: center;">
                <?php if (!empty($_SESSION['coupon']['code'])): ?>
                    <div style="background: rgba(0, 240, 255, 0.1); border: 1px solid var(--neon-cyan); padding: 0.3rem 0.6rem; border-radius: 6px; display: flex; align-items: center; gap: 6px; font-size: 0.8rem; box-shadow: 0 0 10px rgba(0, 240, 255, 0.2);">
                        <span style="color: var(--neon-cyan); font-family: 'Orbitron', sans-serif; font-weight: bold;">🏷️ <?php echo htmlspecialchars($_SESSION['coupon']['code']); ?> (-10%)</span>
                        <a href="?action=remove_nav_coupon" style="color: var(--neon-red); text-decoration: none; font-weight: bold; margin-left: 2px;" title="ยกเลิกโค้ด">✕</a>
                    </div>
                <?php else: ?>
                    <form action="" method="POST" style="display: flex; gap: 0.3rem; align-items: center;">
                        <input class="cyber-input" type="text" name="coupon_code" placeholder="🎟️ โค้ดลด 10%" style="padding: 0.35rem 0.6rem; font-size: 0.8rem; width: 120px; text-transform: uppercase; font-family: 'Orbitron', sans-serif; border-color: rgba(0, 240, 255, 0.5); color: var(--neon-cyan);">
                        <button type="submit" name="apply_nav_coupon" class="btn-cyber" style="padding: 0.35rem 0.65rem; font-size: 0.75rem; border-color: var(--neon-cyan); color: var(--neon-cyan); background: rgba(0, 240, 255, 0.1); white-space: nowrap;">ใช้โค้ด</button>
                    </form>
                <?php endif; ?>
            </div>
            <?php if ($currentUser): ?>
                <span style="font-size: 0.95rem; margin-left: 1rem; padding-left: 1rem; border-left: 1px solid var(--border-color);">
                    สวัสดี, <span class="brand-red" style="font-weight: bold;"><?php echo htmlspecialchars($currentUser['username']); ?></span>
                </span>
                <a href="logout.php" class="btn-cyber" style="padding: 0.4rem 0.8rem; font-size: 0.75rem; border-color: var(--text-gray); margin-left: 1rem;">ออกระบบ</a>
            <?php else: ?>
                <a href="login.php" class="btn-cyber" style="padding: 0.4rem 1rem; font-size: 0.8rem; margin-left: 1rem;">เข้าสู่ระบบ</a>
            <?php endif; ?>
        </div>
    </nav>

    <div class="container" style="margin-top: 3rem;">
        
        <a href="index.php" class="btn-cyber btn-gray" style="margin-bottom: 2rem;">&laquo; กลับไปเลือกซื้อสินค้า</a>

        <?php if ($cart_success): ?>
            <div class="cyber-alert cyber-alert-success">
                <strong>[สำเร็จ]</strong> <?php echo $cart_success; ?> <a href="cart.php" style="color:#55ff99; font-weight: bold; text-decoration: underline;">เปิดตะกร้าสินค้า &raquo;</a>
            </div>
        <?php endif; ?>

        <?php if ($cart_error): ?>
            <div class="cyber-alert cyber-alert-error">
                <strong>[ไม่สำเร็จ]</strong> <?php echo $cart_error; ?>
            </div>
        <?php endif; ?>

        <div class="detail-container">
            <!-- ภาพสินค้า -->
            <div>
                <?php if ($prod['image_url']): ?>
                    <img class="detail-image" src="<?php echo htmlspecialchars($prod['image_url']); ?>" alt="<?php echo htmlspecialchars($prod['name']); ?>">
                <?php else: ?>
                    <div style="width: 100%; height: 400px; background: #161616; display: flex; align-items: center; justify-content: center; color: #444; border-radius: 12px; border: 1px solid var(--border-color);">ไม่มีรูปภาพสินค้า</div>
                <?php endif; ?>

                <?php
                // แสดงวิดีโอตัวอย่างถ้ามี
                $vid = $prod['video_url'] ?? '';
                if (!empty($vid)):
                    // ตรวจ YouTube
                    $ytEmbed = null;
                    if (preg_match('/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([a-zA-Z0-9_-]{11})/', $vid, $ytMatch)) {
                        $ytEmbed = 'https://www.youtube.com/embed/' . $ytMatch[1];
                    }
                ?>
                <div style="margin-top: 1.5rem;">
                    <div style="font-size: 0.85rem; letter-spacing: 2px; text-transform: uppercase; color: #ffc400; margin-bottom: 0.75rem; font-family: 'Orbitron', sans-serif;">
                        🎬 วิดีโอตัวอย่าง
                    </div>
                    <div style="position: relative; width: 100%; padding-bottom: 56.25%; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,200,0,0.35); background: #000; box-shadow: 0 0 20px rgba(255,200,0,0.1);">
                        <?php if ($ytEmbed): ?>
                            <iframe src="<?php echo htmlspecialchars($ytEmbed); ?>" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allowfullscreen allow="autoplay; encrypted-media"></iframe>
                        <?php else: ?>
                            <video src="<?php echo htmlspecialchars($vid); ?>" style="position:absolute;top:0;left:0;width:100%;height:100%;" controls></video>
                        <?php endif; ?>
                    </div>
                </div>
                <?php endif; ?>
            </div>

            <!-- ข้อมูลสินค้าและการซื้อ -->
            <div class="cyber-card">
                <div style="margin-bottom: 1rem;">
                    <span class="badge" style="background: rgba(255, 0, 85, 0.05); color: var(--neon-red); border: 1px solid rgba(255, 0, 85, 0.2);">
                        <?php 
                            $prod_cat = $prod['category'] ?? 'general';
                            if ($prod_cat === 'clothing') echo "เสื้อผ้า";
                            elseif ($prod_cat === 'bags') echo "กระเป๋า";
                            else echo "ของใช้ไอที";
                        ?>
                    </span>
                </div>
                
                <h1 style="font-size: 2.2rem; margin-bottom: 1rem; color: var(--text-white);"><?php echo htmlspecialchars($prod['name']); ?></h1>
                
                <div class="product-price" style="font-size: 2.2rem; margin-bottom: 1.5rem;">
                    <?php 
                        $member_disc = get_member_discount_percent();
                        $coupon_disc = !empty($_SESSION['coupon']['discount_percent']) ? $_SESSION['coupon']['discount_percent'] : 0;
                        $effective_disc = max($member_disc, $coupon_disc);
                        $disc_label = ($member_disc >= $coupon_disc && $member_disc > 0) ? '🛡️ ราคาสมาชิกพิเศษ (-' . $member_disc . '%)' : ('โค้ดส่วนลด (-' . $coupon_disc . '%)');

                        if ($effective_disc > 0): 
                            $disc_price = $prod['price'] * (1 - $effective_disc / 100);
                    ?>
                        <div style="display: flex; align-items: center; gap: 10px; flex-wrap: wrap;">
                            <span style="color: var(--neon-green); text-shadow: 0 0 12px var(--glow-green);">฿<?php echo number_format($disc_price, 2); ?></span>
                            <span style="font-size: 0.95rem; background: var(--neon-green); color: #000; padding: 2px 12px; border-radius: 6px; font-weight: bold; font-family: 'Orbitron', sans-serif;"><?php echo $disc_label; ?></span>
                        </div>
                        <div style="font-size: 1.1rem; color: var(--text-gray); text-decoration: line-through; margin-top: 4px;">ราคาปกติ: ฿<?php echo number_format($prod['price'], 2); ?></div>
                    <?php else: ?>
                        ฿<?php echo number_format($prod['price'], 2); ?>
                        <div style="font-size: 0.85rem; margin-top: 4px;">
                            <a href="register.php" style="color: var(--neon-cyan); text-decoration: none; font-weight: bold;">✨ สมัครสมาชิกรับส่วนลด 10% ทันทีที่นี่ &raquo;</a>
                        </div>
                    <?php endif; ?>
                </div>

                <div style="margin-bottom: 2rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1.5rem; line-height: 1.6; color: var(--text-gray);">
                    <h4 style="margin-bottom: 0.5rem; color: var(--text-white);">รายละเอียดสินค้า:</h4>
                    <p style="white-space: pre-wrap;"><?php echo htmlspecialchars($prod['description']); ?></p>
                </div>

                <form action="" method="POST">
                    <!-- การเลือกไซส์และสีเสื้อผ้า -->
                    <?php if (($prod['category'] ?? 'general') === 'clothing'): ?>
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem;">
                            <div class="cyber-input-group">
                                <label class="cyber-label">เลือกไซส์ (SIZE)</label>
                                <select class="cyber-input" name="size" style="background: var(--bg-input);">
                                    <option value="S">S (รอบอก 36")</option>
                                    <option value="M" selected>M (รอบอก 38")</option>
                                    <option value="L">L (รอบอก 40")</option>
                                    <option value="XL">XL (รอบอก 42")</option>
                                    <option value="XXL">XXL (รอบอก 44")</option>
                                </select>
                            </div>
                            <div class="cyber-input-group">
                                <label class="cyber-label">เลือกสี (COLOR)</label>
                                <select class="cyber-input" name="color" style="background: var(--bg-input);">
                                    <option value="ดำ" selected>ดำ (Black)</option>
                                    <option value="แดง">แดง (Red)</option>
                                    <option value="เทา">เทา (Grey)</option>
                                </select>
                            </div>
                        </div>
                    <?php endif; ?>

                    <!-- ตัวเลือกการป้อนจำนวนชิ้นสินค้า -->
                    <div class="cyber-input-group" style="margin-top: 1.5rem;">
                        <label class="cyber-label">ระบุจำนวนที่ต้องการสั่งซื้อ</label>
                        <div class="qty-control">
                            <button type="button" class="qty-btn" onclick="adjustQty(-1)">-</button>
                            <input class="cyber-input" type="number" id="quantity_input" name="quantity" value="1" min="1" max="<?php echo $prod['stock']; ?>" style="width: 70px; text-align: center; font-size: 1.1rem; font-family: 'Orbitron', sans-serif;">
                            <button type="button" class="qty-btn" onclick="adjustQty(1)">+</button>
                            <span style="font-size: 0.9rem; color: var(--text-muted); margin-left: 0.5rem;">
                                (ในคลังคงเหลือ: <?php echo $prod['stock']; ?> ชิ้น)
                            </span>
                        </div>
                    </div>

                    <div style="margin-top: 2.5rem;">
                        <?php if ($prod['stock'] > 0): ?>
                            <button type="submit" name="add_to_cart" class="btn-cyber btn-green" style="width: 100%; font-size: 1.1rem; padding: 1rem;">
                                หยิบสินค้าลงตะกร้า
                            </button>
                        <?php else: ?>
                            <button type="button" class="btn-cyber btn-gray" style="width: 100%; cursor: not-allowed;" disabled>
                                สินค้าหมดชั่วคราว
                            </button>
                        <?php endif; ?>
                    </div>
                </form>
            </div>
        </div>

    </div>

    <script>
        function adjustQty(amount) {
            const input = document.getElementById('quantity_input');
            let current = parseInt(input.value) || 1;
            const max = parseInt(input.max) || 999;
            current += amount;
            if (current < 1) current = 1;
            if (current > max) current = max;
            input.value = current;
        }
    </script>
</body>
</html>
