<?php
session_start();
require_once 'includes/config.php';

if (!isset($_SESSION['vai_tro']) || $_SESSION['vai_tro'] !== 'admin') {
    die("Khu vực đặc quyền Ban Quản Trị.");
}

// Migration: thêm cột mới nếu chưa có
try {
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS hinh_anh_phu JSON DEFAULT NULL");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS video_gioi_thieu VARCHAR(500) DEFAULT NULL");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS tieu_de_san_pham VARCHAR(255) DEFAULT NULL");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS mo_ta_gian_hang TEXT DEFAULT NULL");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS khuyenmai_tu_ngay DATE DEFAULT NULL");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS khuyenmai_den_ngay DATE DEFAULT NULL");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS loai_phan_phoi VARCHAR(30) NOT NULL DEFAULT 'noi_bo'");
    $pdo->exec("ALTER TABLE san_pham_gian_hang ADD COLUMN IF NOT EXISTS link_affiliate VARCHAR(1000) DEFAULT NULL");
    $pdo->exec("CREATE TABLE IF NOT EXISTS danh_muc_san_pham (
        id INT AUTO_INCREMENT PRIMARY KEY,
        ten_danh_muc VARCHAR(100) NOT NULL UNIQUE,
        slug VARCHAR(100) NOT NULL UNIQUE,
        mo_ta VARCHAR(255) DEFAULT NULL,
        trang_thai VARCHAR(20) NOT NULL DEFAULT 'hien_thi',
        ngay_tao TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
    $pdo->prepare("INSERT IGNORE INTO danh_muc_san_pham (ten_danh_muc, slug) VALUES (?, ?)")->execute(['Nhạc cụ', 'nhac_cu']);
    $pdo->prepare("INSERT IGNORE INTO danh_muc_san_pham (ten_danh_muc, slug) VALUES (?, ?)")->execute(['Tranh vẽ & họa cụ', 'tranh_ve']);
    $pdo->prepare("INSERT IGNORE INTO danh_muc_san_pham (ten_danh_muc, slug) VALUES (?, ?)")->execute(['Thiết bị âm thanh', 'thiet_bi']);
    $pdo->prepare("INSERT IGNORE INTO danh_muc_san_pham (ten_danh_muc, slug) VALUES (?, ?)")->execute(['Trang phục biểu diễn', 'trang_phuc']);
} catch (Exception $e) {}

function uploadFile($field, $thu_muc, $duoi_hop_le, $kich_thuoc_toi_da = 10485760) {
    if (empty($_FILES[$field]['name']) || $_FILES[$field]['error'] !== UPLOAD_ERR_OK) return null;
    $file = $_FILES[$field];
    $duoi = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
    if (!in_array($duoi, $duoi_hop_le) || $file['size'] > $kich_thuoc_toi_da) return null;
    if (!is_dir($thu_muc)) mkdir($thu_muc, 0755, true);
    $ten_file = time() . '_' . bin2hex(random_bytes(4)) . '.' . $duoi;
    if (move_uploaded_file($file['tmp_name'], $thu_muc . $ten_file)) {
        return $ten_file;
    }
    return null;
}

// Xử lý xóa sản phẩm
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['xoa_san_pham'])) {
    $id_xoa = (int)$_POST['xoa_san_pham'];
    if ($id_xoa > 0) {
        try {
            $pdo->beginTransaction();
            $pdo->prepare("DELETE FROM chinh_sach_kinh_doanh WHERE id_san_pham = ?")->execute([$id_xoa]);
            $pdo->prepare("DELETE FROM san_pham_gian_hang WHERE id = ?")->execute([$id_xoa]);
            $pdo->commit();
            $thong_bao = "Sản phẩm đã được xóa khỏi gian hàng.";
        } catch (Exception $e) {
            $pdo->rollBack();
            $loi = "Lỗi xóa sản phẩm: " . $e->getMessage();
        }
    }
}

// Xử lý ẩn/hiện sản phẩm
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['an_san_pham'])) {
    $id_an = (int)$_POST['an_san_pham'];
    $trang_thai_moi = $_POST['trang_thai_moi'] ?? 'an';
    if ($id_an > 0) {
        try {
            $pdo->prepare("UPDATE san_pham_gian_hang SET trang_thai = ? WHERE id = ?")->execute([$trang_thai_moi, $id_an]);
            $thong_bao = $trang_thai_moi === 'hien_thi' ? "Sản phẩm đã được hiển thị." : "Sản phẩm đã bị ẩn.";
        } catch (Exception $e) {
            $loi = "Lỗi ẩn/hiện sản phẩm: " . $e->getMessage();
        }
    }
}

// Xử lý tạo danh mục mới
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['luu_danh_muc'])) {
    $ten_danh_muc = trim($_POST['ten_danh_muc'] ?? '');
    $slug = trim($_POST['slug'] ?? '');
    if ($slug === '') {
        $slug = strtolower(str_replace(' ', '_', $ten_danh_muc));
        $slug = preg_replace('/[^a-z0-9_]+/', '_', $slug);
        $slug = trim($slug, '_');
    }
    if ($ten_danh_muc === '') {
        $loi = 'Vui lòng nhập tên danh mục.';
    } else {
        try {
            $pdo->prepare("INSERT IGNORE INTO danh_muc_san_pham (ten_danh_muc, slug) VALUES (?, ?)")->execute([$ten_danh_muc, $slug]);
            $thong_bao = 'Đã thêm danh mục mới.';
        } catch (Exception $e) {
            $loi = 'Lỗi lưu danh mục: ' . $e->getMessage();
        }
    }
}

// Xử lý cập nhật trạng thái (Mới, Nổi bật, Bán chạy)
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['cap_nhat_trang_thai'])) {
    $id_cap_nhat = (int)$_POST['cap_nhat_trang_thai'];
    $truong = $_POST['truong_cap_nhat'] ?? '';
    $gia_tri = (int)$_POST['gia_tri_moi'];
    
    if ($id_cap_nhat > 0 && in_array($truong, ['moi', 'noi_bat', 'ban_chay'])) {
        try {
            $pdo->prepare("UPDATE san_pham_gian_hang SET $truong = ? WHERE id = ?")->execute([$gia_tri, $id_cap_nhat]);
            $thong_bao = "Cập nhật trạng thái sản phẩm thành công!";
        } catch (Exception $e) {
            $loi = "Lỗi cập nhật trạng thái: " . $e->getMessage();
        }
    }
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['luu_san_pham'])) {
    $id_san_pham_sua = isset($_POST['id_san_pham_sua']) ? (int)$_POST['id_san_pham_sua'] : 0;
    $ten_san_pham = htmlspecialchars(trim($_POST['ten_san_pham']), ENT_QUOTES, 'UTF-8');
    $tieu_de_san_pham = htmlspecialchars(trim($_POST['tieu_de_san_pham'] ?? ''), ENT_QUOTES, 'UTF-8') ?: null;
    $mo_ta_gian_hang = trim($_POST['mo_ta_gian_hang'] ?? '') ?: null;
    $ma_hieu = htmlspecialchars(trim($_POST['ma_hieu']), ENT_QUOTES, 'UTF-8');
    $danh_muc = $_POST['danh_muc'];
    $gia_goc = (int)$_POST['gia_goc'];
    $gia_khuyen_mai = (int)$_POST['gia_khuyen_mai'];
    $gia_ban = (int)$_POST['gia_ban'];
    $mo_ta = htmlspecialchars(trim($_POST['mo_ta']), ENT_QUOTES, 'UTF-8');
    $khuyenmai_tu_ngay = !empty($_POST['khuyenmai_tu_ngay']) ? $_POST['khuyenmai_tu_ngay'] : null;
    $khuyenmai_den_ngay = !empty($_POST['khuyenmai_den_ngay']) ? $_POST['khuyenmai_den_ngay'] : null;

    $loai_phan_phoi = isset($_POST['loai_phan_phoi']) ? strtolower(trim($_POST['loai_phan_phoi'])) : 'noi_bo';
    $loai_phan_phoi = in_array($loai_phan_phoi, ['noi_bo', 'affiliate'], true) ? $loai_phan_phoi : 'noi_bo';
    $link_affiliate = trim($_POST['link_affiliate'] ?? '');
    $link_affiliate = ($loai_phan_phoi === 'affiliate' && $link_affiliate !== '') ? $link_affiliate : null;

    // Tỷ lệ cấu trúc vốn
    $ty_le_affiliate = ($loai_phan_phoi === 'affiliate') ? 0 : (int)$_POST['ty_le_affiliate'];
    $ty_le_kho_bai = ($loai_phan_phoi === 'affiliate') ? 0 : (int)$_POST['ty_le_kho_bai'];
    $phi_nen_tang = ($loai_phan_phoi === 'affiliate') ? 0 : (int)$_POST['phi_nen_tang'];

    // Flags
    $moi = isset($_POST['moi']) ? 1 : 0;
    $noi_bat = isset($_POST['noi_bat']) ? 1 : 0;
    $ban_chay = isset($_POST['ban_chay']) ? 1 : 0;

    // Ảnh đại diện: ưu tiên upload file, fallback về URL text
    $thu_muc_sp = __DIR__ . '/uploads/san-pham/';
    $duoi_anh = ['jpg','jpeg','png','webp','gif'];

    $ten_file_anh = uploadFile('hinh_anh_file', $thu_muc_sp, $duoi_anh, 5 * 1024 * 1024);
    if ($ten_file_anh) {
        $hinh_anh = 'uploads/san-pham/' . $ten_file_anh;
    } else {
        $hinh_anh = htmlspecialchars(trim($_POST['hinh_anh'] ?? ''), ENT_QUOTES, 'UTF-8');
    }

    // Ảnh phụ: upload nhiều file
    $danh_sach_anh_phu = [];
    if (!empty($_FILES['hinh_anh_phu']['name'][0])) {
        $so_file = count($_FILES['hinh_anh_phu']['name']);
        for ($i = 0; $i < $so_file; $i++) {
            if ($_FILES['hinh_anh_phu']['error'][$i] !== UPLOAD_ERR_OK) continue;
            $duoi = strtolower(pathinfo($_FILES['hinh_anh_phu']['name'][$i], PATHINFO_EXTENSION));
            if (!in_array($duoi, $duoi_anh) || $_FILES['hinh_anh_phu']['size'][$i] > 5 * 1024 * 1024) continue;
            if (!is_dir($thu_muc_sp)) mkdir($thu_muc_sp, 0755, true);
            $ten_phu = time() . '_phu' . $i . '_' . bin2hex(random_bytes(3)) . '.' . $duoi;
            if (move_uploaded_file($_FILES['hinh_anh_phu']['tmp_name'][$i], $thu_muc_sp . $ten_phu)) {
                $danh_sach_anh_phu[] = 'uploads/san-pham/' . $ten_phu;
            }
        }
    }
    $hinh_anh_phu_json = !empty($danh_sach_anh_phu) ? json_encode($danh_sach_anh_phu, JSON_UNESCAPED_UNICODE) : null;

    // Video: ưu tiên upload file, fallback về link URL
    $thu_muc_video = __DIR__ . '/uploads/video-san-pham/';
    $duoi_video = ['mp4','webm','mov','avi'];
    $ten_file_video = uploadFile('video_file', $thu_muc_video, $duoi_video, 50 * 1024 * 1024);
    if ($ten_file_video) {
        $video_gioi_thieu = 'uploads/video-san-pham/' . $ten_file_video;
    } else {
        $video_gioi_thieu = htmlspecialchars(trim($_POST['video_link'] ?? ''), ENT_QUOTES, 'UTF-8') ?: null;
    }

    try {
        $pdo->beginTransaction();

        if ($id_san_pham_sua > 0) {
            // Chỉnh sửa sản phẩm hiện có
            $stmt_sp = $pdo->prepare("UPDATE san_pham_gian_hang SET ma_hieu = ?, ten_san_pham = ?, tieu_de_san_pham = ?, mo_ta_gian_hang = ?, danh_muc = ?, mo_ta = ?, hinh_anh = COALESCE(NULLIF(?, ''), hinh_anh), hinh_anh_phu = COALESCE(NULLIF(?, ''), hinh_anh_phu), video_gioi_thieu = COALESCE(NULLIF(?, ''), video_gioi_thieu), gia_goc = ?, gia_ban = ?, gia_khuyen_mai = ?, loai_phan_phoi = ?, link_affiliate = ?, moi = ?, noi_bat = ?, ban_chay = ?, khuyenmai_tu_ngay = ?, khuyenmai_den_ngay = ? WHERE id = ?");
            $stmt_sp->execute([$ma_hieu, $ten_san_pham, $tieu_de_san_pham, $mo_ta_gian_hang, $danh_muc, $mo_ta, $hinh_anh, $hinh_anh_phu_json, $video_gioi_thieu, $gia_goc ?: $gia_ban, $gia_ban, $gia_khuyen_mai, $loai_phan_phoi, $link_affiliate, $moi, $noi_bat, $ban_chay, $khuyenmai_tu_ngay, $khuyenmai_den_ngay, $id_san_pham_sua]);
            $id_san_pham_moi = $id_san_pham_sua;
            $thong_bao = $loai_phan_phoi === 'affiliate' ? 'Cập nhật sản phẩm affiliate thành công!' : 'Cập nhật sản phẩm thành công!';

            if ($loai_phan_phoi === 'affiliate') {
                $pdo->prepare("DELETE FROM chinh_sach_kinh_doanh WHERE id_san_pham = ?")->execute([$id_san_pham_sua]);
            } else {
                $stmt_cs_check = $pdo->prepare("SELECT id FROM chinh_sach_kinh_doanh WHERE id_san_pham = ?");
                $stmt_cs_check->execute([$id_san_pham_sua]);
                if ($stmt_cs_check->fetch()) {
                    $stmt_cs = $pdo->prepare("UPDATE chinh_sach_kinh_doanh SET ty_le_affiliate = ?, ty_le_kho_bai = ?, phi_nen_tang = ? WHERE id_san_pham = ?");
                    $stmt_cs->execute([$ty_le_affiliate, $ty_le_kho_bai, $phi_nen_tang, $id_san_pham_sua]);
                } else {
                    $stmt_cs = $pdo->prepare("INSERT INTO chinh_sach_kinh_doanh (id_san_pham, ty_le_affiliate, ty_le_kho_bai, phi_nen_tang) VALUES (?, ?, ?, ?)");
                    $stmt_cs->execute([$id_san_pham_sua, $ty_le_affiliate, $ty_le_kho_bai, $phi_nen_tang]);
                }
            }
        } else {
            // Thêm sản phẩm mới
            $stmt_sp = $pdo->prepare("INSERT INTO san_pham_gian_hang (ma_hieu, ten_san_pham, tieu_de_san_pham, mo_ta_gian_hang, danh_muc, mo_ta, hinh_anh, hinh_anh_phu, video_gioi_thieu, gia_goc, gia_ban, gia_khuyen_mai, loai_phan_phoi, link_affiliate, moi, noi_bat, ban_chay, khuyenmai_tu_ngay, khuyenmai_den_ngay) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
            $stmt_sp->execute([$ma_hieu, $ten_san_pham, $tieu_de_san_pham, $mo_ta_gian_hang, $danh_muc, $mo_ta, $hinh_anh, $hinh_anh_phu_json, $video_gioi_thieu, $gia_goc ?: $gia_ban, $gia_ban, $gia_khuyen_mai, $loai_phan_phoi, $link_affiliate, $moi, $noi_bat, $ban_chay, $khuyenmai_tu_ngay, $khuyenmai_den_ngay]);
            $id_san_pham_moi = $pdo->lastInsertId();
            $thong_bao = $loai_phan_phoi === 'affiliate' ? 'Sản phẩm affiliate đã được thêm vào gian hàng!' : 'Sản phẩm và chính sách phân bổ doanh thu đã được kích hoạt!';

            if ($loai_phan_phoi === 'affiliate') {
                $pdo->prepare("DELETE FROM chinh_sach_kinh_doanh WHERE id_san_pham = ?")->execute([$id_san_pham_moi]);
            } else {
                $stmt_cs = $pdo->prepare("INSERT INTO chinh_sach_kinh_doanh (id_san_pham, ty_le_affiliate, ty_le_kho_bai, phi_nen_tang) VALUES (?, ?, ?, ?)");
                $stmt_cs->execute([$id_san_pham_moi, $ty_le_affiliate, $ty_le_kho_bai, $phi_nen_tang]);
            }
        }

        $pdo->commit();
    } catch (PDOException $e) {
        $pdo->rollBack();
        $loi = "Lỗi lưu dữ liệu: " . $e->getMessage();
    }
}

// Truy vấn danh sách sản phẩm đã thiết lập trên gian hàng
$danh_sach_san_pham_gian_hang = [];
$danh_sach_danh_muc = [];
$san_pham_sua = null;
$edit_id = isset($_GET['edit_id']) ? (int)$_GET['edit_id'] : 0;

try {
    $danh_sach_danh_muc = $pdo->query("SELECT * FROM danh_muc_san_pham ORDER BY ten_danh_muc ASC")->fetchAll(PDO::FETCH_ASSOC);
    $stmt_list = $pdo->prepare("SELECT sp.*, cs.ty_le_affiliate, cs.ty_le_kho_bai, cs.phi_nen_tang FROM san_pham_gian_hang sp LEFT JOIN chinh_sach_kinh_doanh cs ON sp.id = cs.id_san_pham ORDER BY sp.id DESC");
    $stmt_list->execute();
    $danh_sach_san_pham_gian_hang = $stmt_list->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
    error_log('Lỗi truy vấn danh sách sản phẩm: ' . $e->getMessage());
}

// Nếu edit_id có, lấy dữ liệu sản phẩm để chỉnh sửa
if ($edit_id > 0) {
    try {
        $stmt_edit = $pdo->prepare("SELECT sp.*, cs.ty_le_affiliate, cs.ty_le_kho_bai, cs.phi_nen_tang FROM san_pham_gian_hang sp LEFT JOIN chinh_sach_kinh_doanh cs ON sp.id = cs.id_san_pham WHERE sp.id = ? LIMIT 1");
        $stmt_edit->execute([$edit_id]);
        $san_pham_sua = $stmt_edit->fetch(PDO::FETCH_ASSOC);
    } catch (Exception $e) {
        error_log('Lỗi truy vấn sản phẩm để chỉnh sửa: ' . $e->getMessage());
    }
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <title>Thiết Lập Gian Hàng Cộng Đồng</title>
    <link rel="stylesheet" href="includes/admin-style.css">
    <style>
        body { font-family: sans-serif; background: #f8fafc; padding: 20px; }
        .khung-chinh { max-width: 800px; margin: 0 auto; background: #fff; padding: 25px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
        h2 { color: #1e3a8a; margin-top: 0; border-bottom: 2px solid #e2e8f0; padding-bottom: 10px; }
        .nhom-nhap { margin-bottom: 15px; }
        label { display: block; font-weight: bold; margin-bottom: 5px; color: #334155; }
        input, select { width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 5px; box-sizing: border-box; }
        .khu-vuc-tai-chinh { background: #f1f5f9; padding: 15px; border-radius: 8px; border: 1px dashed #94a3b8; margin-top: 20px; }
        .nut-luu { background: #2563eb; color: #fff; padding: 12px 20px; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; width: 100%; margin-top: 20px; }
        .alert-success { background: #dcfce7; color: #166534; padding: 10px; border-radius: 5px; margin-bottom: 15px; font-weight: bold; }
    </style>
</head>
<body>
    <?php require_once 'includes/menu-admin.php'; ?>
    <div class="khu-vuc-du-lieu">
        <div class="noi-dung-chinh">
            <div class="khung-chinh">
                <h2><?= $edit_id > 0 ? 'Cập Nhật Sản Phẩm & Chính Sách Phân Phối' : 'Thêm Sản Phẩm & Chính Sách Phân Phối' ?></h2>
    <p style="color: #64748b; font-style: italic;">Lan tỏa công cụ nghệ thuật chuẩn mực, chung tay <strong>Bảo vệ cuộc sống</strong>.</p>
    
    <?php if (isset($thong_bao)) echo "<div class='alert-success'>$thong_bao</div>"; ?>
    <?php if (!empty($loi)) echo "<div class='alert-success' style='background:#fee2e2;color:#991b1b;'>$loi</div>"; ?>
    
    <form action="" method="POST" enctype="multipart/form-data" onsubmit="return kiemTraTyLe()">
        <input type="hidden" name="id_san_pham_sua" value="<?= $edit_id ?>">
        <div class="nhom-nhap" style="display:flex;gap:8px;align-items:center;">
            <div style="flex:1;">
                <label>Mã hiệu sản phẩm (SKU):</label>
                <input type="text" id="sku_input" name="ma_hieu" placeholder="Ví dụ: SP-001" value="<?= $san_pham_sua ? htmlspecialchars($san_pham_sua['ma_hieu']) : '' ?>" <?= $edit_id > 0 ? 'readonly' : '' ?> style="<?= $edit_id > 0 ? 'background:#f1f5f9;' : '' ?>">
            </div>
            <div style="width:140px;">
                <label>&nbsp;</label>
                <button type="button" id="btn_lookup_sku" class="nut-luu" style="background:#06b6d4;" <?= $edit_id > 0 ? 'style="display:none;"' : '' ?>>Tìm từ kho</button>
            </div>
        </div>
        <div id="sku_lookup_status" style="margin-top:-10px;margin-bottom:16px;font-size:0.95rem;color:#475569;min-height:20px;"></div>
        <div class="nhom-nhap">
            <label>Tên sản phẩm (tên từ kho):</label>
            <input type="text" name="ten_san_pham" required value="<?= $san_pham_sua ? htmlspecialchars($san_pham_sua['ten_san_pham']) : '' ?>">
        </div>
        <div class="nhom-nhap">
            <label>Tiêu đề sản phẩm (hiển thị trên gian hàng):</label>
            <input type="text" name="tieu_de_san_pham" placeholder="Ví dụ: Đàn Guitar Cao Cấp - Âm Thanh Tuyệt Vời" value="<?= $san_pham_sua ? htmlspecialchars($san_pham_sua['tieu_de_san_pham']) : '' ?>">
        </div>
        <div class="nhom-nhap">
            <label>Mô tả sản phẩm (hiển thị trên gian hàng):</label>
            <!-- Quill Editor -->
            <link href="https://cdn.quilljs.com/1.3.7/quill.snow.css" rel="stylesheet">
            <div id="quill_mo_ta" style="background:#fff; border-radius:5px; min-height:160px; font-size:0.97rem;"><?= $san_pham_sua ? $san_pham_sua['mo_ta_gian_hang'] : '' ?></div>
            <input type="hidden" name="mo_ta_gian_hang" id="inp_mo_ta_gian_hang">
            <script src="https://cdn.quilljs.com/1.3.7/quill.min.js"></script>
            <script>
            var quillMoTa = new Quill('#quill_mo_ta', {
                theme: 'snow',
                placeholder: 'Nhập mô tả chi tiết sản phẩm...',
                modules: {
                    toolbar: [
                        ['bold', 'italic', 'underline'],
                        [{ 'list': 'ordered' }, { 'list': 'bullet' }],
                        [{ 'header': [2, 3, false] }],
                        ['clean']
                    ]
                }
            });
            // Sync nội dung vào hidden input trước khi submit
            document.querySelector('form').addEventListener('submit', function() {
                document.getElementById('inp_mo_ta_gian_hang').value = quillMoTa.root.innerHTML;
            });
            </script>
        </div>
        <div class="nhom-nhap" style="display:flex; gap: 15px;">
            <div style="flex:1;">
                <label>Giá gốc (VNĐ):</label>
                <input type="number" name="gia_goc" id="gia_goc_input" value="<?= $san_pham_sua ? $san_pham_sua['gia_goc'] : '0' ?>" readonly style="background:#f1f5f9;cursor:not-allowed;">
                <div style="font-size:11px;color:#94a3b8;margin-top:3px;">✓ Tự động từ kho</div>
            </div>
            <div style="flex:1;">
                <label>Giá khuyến mại (VNĐ):</label>
                <input type="number" name="gia_khuyen_mai" id="gia_khuyen_mai_input" value="<?= $san_pham_sua ? $san_pham_sua['gia_khuyen_mai'] : '0' ?>" onchange="capNhatKhuVucThoiGianKM()">
            </div>
        </div>
        <div id="khu_vuc_thoi_gian_khuyen_mai" class="nhom-nhap" style="display:<?= (!$san_pham_sua || $san_pham_sua['gia_khuyen_mai'] > 0) ? 'flex' : 'none' ?>; gap: 15px; padding: 12px; background:#fff3cd; border-radius: 5px; border-left: 4px solid #ffc107;">
            <div style="flex:1;">
                <label>Khuyến mại từ ngày:</label>
                <input type="date" name="khuyenmai_tu_ngay" value="<?= $san_pham_sua && $san_pham_sua['khuyenmai_tu_ngay'] ? $san_pham_sua['khuyenmai_tu_ngay'] : '' ?>">
            </div>
            <div style="flex:1;">
                <label>Khuyến mại đến ngày:</label>
                <input type="date" name="khuyenmai_den_ngay" value="<?= $san_pham_sua && $san_pham_sua['khuyenmai_den_ngay'] ? $san_pham_sua['khuyenmai_den_ngay'] : '' ?>">
            </div>
        </div>
        <input type="hidden" name="mo_ta">
        <div class="nhom-nhap" style="display:flex; gap: 15px;">
            <div style="flex:1;">
                <label>Giá bán (VNĐ):</label>
                <input type="number" name="gia_ban" required value="<?= $san_pham_sua ? (int)($san_pham_sua['gia_ban'] ?? 0) : '' ?>">
            </div>
            <div style="flex:1;">
                <label>Danh mục:</label>
                <select name="danh_muc" required>
                    <?php foreach ($danh_sach_danh_muc as $dm): ?>
                        <option value="<?= htmlspecialchars($dm['slug']) ?>" <?= (($san_pham_sua['danh_muc'] ?? '') === $dm['slug']) ? 'selected' : '' ?>><?= htmlspecialchars($dm['ten_danh_muc']) ?></option>
                    <?php endforeach; ?>
                </select>
            </div>
        </div>
        <div class="nhom-nhap" style="border:1px dashed #cbd5e1; padding:12px; border-radius:8px; background:#f8fafc;">
            <label style="margin-bottom:8px;">Thêm danh mục mới cho gian hàng:</label>
            <div style="display:flex; gap:10px; flex-wrap:wrap;">
                <input type="text" name="ten_danh_muc" placeholder="Tên danh mục ví dụ: Mĩ thuật" style="flex:1; min-width:220px;">
                <input type="text" name="slug" placeholder="slug ví dụ: mi_thuat" style="flex:1; min-width:180px;">
                <button type="submit" name="luu_danh_muc" class="nut-luu" style="width:auto; margin-top:0; padding:10px 16px;">Thêm danh mục</button>
            </div>
        </div>
        <div class="nhom-nhap" style="display:flex; gap: 15px;">
            <div style="flex:1;">
                <label>Loại sản phẩm:</label>
                <select name="loai_phan_phoi" id="loai_phan_phoi" onchange="toggleAffiliateFields(this.value)">
                    <option value="noi_bo" <?= (($san_pham_sua['loai_phan_phoi'] ?? 'noi_bo') === 'noi_bo') ? 'selected' : '' ?>>Nội bộ / kho</option>
                    <option value="affiliate" <?= (($san_pham_sua['loai_phan_phoi'] ?? 'noi_bo') === 'affiliate') ? 'selected' : '' ?>>Affiliate / link ngoài</option>
                </select>
            </div>
            <div style="flex:1;">
                <label>Link affiliate:</label>
                <input type="url" name="link_affiliate" id="link_affiliate_input" value="<?= $san_pham_sua ? htmlspecialchars($san_pham_sua['link_affiliate'] ?? '') : '' ?>" placeholder="https://..." style="display: <?= (($san_pham_sua['loai_phan_phoi'] ?? 'noi_bo') === 'affiliate') ? 'block' : 'none' ?>;">
            </div>
        </div>
        <div id="affiliate_hint" style="display: <?= (($san_pham_sua['loai_phan_phoi'] ?? 'noi_bo') === 'affiliate') ? 'block' : 'none' ?>; margin-top:-8px; margin-bottom:16px; padding:10px 12px; background:#eff6ff; color:#1d4ed8; border-radius:6px; font-size:12px;">Sản phẩm affiliate chỉ dùng để trưng bày và mở link ngoài. Nó sẽ không đi vào kho và không tham gia phân bổ doanh thu.</div>

        <!-- ẢNH ĐẠI DIỆN -->
        <div class="nhom-nhap">
            <label>Ảnh đại diện sản phẩm:</label>
            <div style="display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;">
                <div style="flex:1;min-width:220px;">
                    <div style="border:2px dashed #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc;margin-bottom:8px;">
                        <input type="file" name="hinh_anh_file" id="inp_anh_dai_dien" accept="image/*" style="width:100%;" onchange="xemTruocAnhDaiDien(this)">
                        <div style="font-size:11px;color:#94a3b8;margin-top:4px;">JPG/PNG/WEBP, tối đa 5MB</div>
                    </div>
                    <div style="font-size:12px;color:#64748b;margin-bottom:4px;">Hoặc nhập URL ảnh:</div>
                    <input type="text" name="hinh_anh" id="inp_url_anh" placeholder="https://... hoặc để trống nếu đã upload file">
                </div>
                <div id="preview_anh_dai_dien" style="width:120px;height:120px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;">
                    <span style="color:#94a3b8;font-size:12px;text-align:center;">Chưa có ảnh</span>
                </div>
            </div>
        </div>

        <!-- ẢNH PHỤ -->
        <div class="nhom-nhap">
            <label>Ảnh bổ sung (nhiều ảnh):</label>
            <div style="border:2px dashed #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc;">
                <input type="file" name="hinh_anh_phu[]" id="inp_anh_phu" accept="image/*" multiple style="width:100%;" onchange="xemTruocAnhPhu(this)">
                <div style="font-size:11px;color:#94a3b8;margin-top:4px;">Chọn nhiều ảnh cùng lúc. JPG/PNG/WEBP, mỗi ảnh tối đa 5MB</div>
            </div>
            <div id="preview_anh_phu" style="display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;"></div>
        </div>

        <!-- VIDEO GIỚI THIỆU -->
        <div class="nhom-nhap">
            <label>Video giới thiệu sản phẩm:</label>
            <div style="border:2px dashed #cbd5e1;border-radius:8px;padding:12px;background:#f8fafc;margin-bottom:8px;">
                <input type="file" name="video_file" id="inp_video_file" accept="video/mp4,video/webm,video/quicktime,video/avi" style="width:100%;" onchange="xemTruocVideo(this)">
                <div style="font-size:11px;color:#94a3b8;margin-top:4px;">MP4/WEBM/MOV, tối đa 50MB</div>
            </div>
            <div style="font-size:12px;color:#64748b;margin-bottom:4px;">Hoặc nhập link video (YouTube, TikTok, URL trực tiếp...):</div>
            <input type="text" name="video_link" id="inp_video_link" placeholder="https://youtube.com/... hoặc https://...mp4">
            <div id="preview_video" style="margin-top:10px;display:none;">
                <video id="video_preview_el" controls style="width:100%;max-height:220px;border-radius:8px;border:1px solid #e2e8f0;"></video>
            </div>
        </div>

        <div class="nhom-nhap">
            <label>Gắn nhãn hiển thị:</label>
            <div style="display:flex;gap:12px;align-items:center;">
                <label style="font-weight:600;"><input type="checkbox" name="moi"> Mới</label>
                <label style="font-weight:600;"><input type="checkbox" name="noi_bat"> Nổi bật</label>
                <label style="font-weight:600;"><input type="checkbox" name="ban_chay"> Bán chạy</label>
            </div>
        </div>

        <!-- Khối Thiết Lập Tỷ Lệ -->
        <div id="khu_vuc_tai_chinh" class="khu-vuc-tai-chinh">
            <h3 style="margin-top:0; color:#0f172a;">Cấu Trúc Phân Phối Dòng Tiền (%)</h3>
            <p style="font-size: 0.85rem; color: #ef4444;" id="canh_bao_ty_le">Tổng 3 mục dưới đây phải bằng chính xác 100%.</p>
            
            <div style="display: flex; gap: 10px;">
                <div>
                    <label>Tiếp thị liên kết</label>
                    <input type="number" name="ty_le_affiliate" id="tyle_aff" value="10" min="0" max="100">
                </div>
                <div>
                    <label>Trung tâm (Kho bãi)</label>
                    <input type="number" name="ty_le_kho_bai" id="tyle_kho" value="70" min="0" max="100">
                </div>
                <div>
                    <label>Phí duy trì nền tảng</label>
                    <input type="number" name="phi_nen_tang" id="tyle_nen_tang" value="20" min="0" max="100">
                </div>
            </div>
        </div>

        <button type="submit" name="luu_san_pham" class="nut-luu"><?= $edit_id > 0 ? 'Cập Nhật Thông Tin' : 'Lưu Thông Tin Cấu Hình' ?></button>
        <?php if ($edit_id > 0): ?><a href="admin-thiet-lap-gian-hang.php" style="display: inline-block; margin-top: 20px; padding: 12px 20px; background: #64748b; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold;">Hủy</a><?php endif; ?>
    </form>
    
    <!-- DANH SÁCH SẢN PHẨM ĐÃ THIẾT LẬP -->
    <div style="margin-top: 40px; border-top: 2px solid #e2e8f0; padding-top: 25px;">
        <h2 style="margin-top: 0; color: #1e3a8a;">Danh Sách Sản Phẩm Trên Gian Hàng</h2>
        <?php if (!empty($danh_sach_san_pham_gian_hang)): ?>
            <table style="width: 100%; border-collapse: collapse; background: #fff; margin-top: 15px;">
                <thead>
                    <tr style="background: #f1f5f9; border-bottom: 2px solid #e2e8f0;">
                        <th style="padding: 12px; text-align: center; font-weight: bold; color: #334155; width: 50px;">STT</th>
                        <th style="padding: 12px; text-align: left; font-weight: bold; color: #334155; width: 70px;">SKU</th>
                        <th style="padding: 12px; text-align: left; font-weight: bold; color: #334155;">Tiêu Đề Sản Phẩm</th>
                        <th style="padding: 12px; text-align: left; font-weight: bold; color: #334155; width: 90px;">Danh Mục</th>
                        <th style="padding: 12px; text-align: right; font-weight: bold; color: #334155; width: 100px;">Giá Bán (đ)</th>
                        <th style="padding: 12px; text-align: center; font-weight: bold; color: #334155; width: 80px;">Trạng Thái</th>
                        <th style="padding: 12px; text-align: center; font-weight: bold; color: #334155;">Tác Vụ</th>
                    </tr>
                </thead>
                <tbody>
                    <?php $stt = 0; foreach ($danh_sach_san_pham_gian_hang as $sp): $stt++; ?>
                        <tr style="border-bottom: 1px solid #e2e8f0;">
                            <td style="padding: 12px; text-align: center; color: #475569; font-weight: bold;"><?= $stt ?></td>
                            <td style="padding: 12px; color: #475569;"><strong><?= htmlspecialchars($sp['ma_hieu'] ?? 'N/A') ?></strong></td>
                            <td style="padding: 12px; color: #334155;">
                                <strong><?= htmlspecialchars($sp['tieu_de_san_pham'] ?: $sp['ten_san_pham']) ?></strong><br>
                                <span style="font-size: 11px; color: #94a3b8;">Tên kho: <?= htmlspecialchars($sp['ten_san_pham']) ?></span><br>
                                <span style="display:inline-block;margin-top:5px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:bold;background: <?= (($sp['loai_phan_phoi'] ?? 'noi_bo') === 'affiliate') ? '#dbeafe' : '#f1f5f9' ?>; color: <?= (($sp['loai_phan_phoi'] ?? 'noi_bo') === 'affiliate') ? '#1d4ed8' : '#475569' ?>;"><?= (($sp['loai_phan_phoi'] ?? 'noi_bo') === 'affiliate') ? 'Affiliate' : 'Nội bộ' ?></span>
                            </td>
                            <td style="padding: 12px; color: #475569; font-size: 13px;"><?= htmlspecialchars($sp['danh_muc'] ?? '-') ?></td>
                            <td style="padding: 12px; text-align: right; color: #334155;"><strong><?= number_format((int)($sp['gia_ban'] ?? 0), 0, ',', '.') ?></strong></td>
                            <td style="padding: 8px; text-align: center;">
                                <div style="display: flex; flex-direction: column; gap: 4px;">
                                    <form method="POST" style="display: inline;">
                                        <input type="hidden" name="cap_nhat_trang_thai" value="<?= (int)$sp['id'] ?>">
                                        <input type="hidden" name="truong_cap_nhat" value="moi">
                                        <input type="hidden" name="gia_tri_moi" value="<?= empty($sp['moi']) ? 1 : 0 ?>">
                                        <button type="submit" style="width: 100%; padding: 5px 8px; background: <?= !empty($sp['moi']) ? '#dbeafe' : '#f1f5f9' ?>; color: <?= !empty($sp['moi']) ? '#1e40af' : '#94a3b8' ?>; border: 1px solid <?= !empty($sp['moi']) ? '#93c5fd' : '#cbd5e1' ?>; border-radius: 3px; cursor: pointer; font-size: 11px; font-weight: bold;">Mới <?= !empty($sp['moi']) ? '✓' : '' ?></button>
                                    </form>
                                    <form method="POST" style="display: inline;">
                                        <input type="hidden" name="cap_nhat_trang_thai" value="<?= (int)$sp['id'] ?>">
                                        <input type="hidden" name="truong_cap_nhat" value="noi_bat">
                                        <input type="hidden" name="gia_tri_moi" value="<?= empty($sp['noi_bat']) ? 1 : 0 ?>">
                                        <button type="submit" style="width: 100%; padding: 5px 8px; background: <?= !empty($sp['noi_bat']) ? '#ffedd5' : '#f1f5f9' ?>; color: <?= !empty($sp['noi_bat']) ? '#9a3412' : '#94a3b8' ?>; border: 1px solid <?= !empty($sp['noi_bat']) ? '#fed7aa' : '#cbd5e1' ?>; border-radius: 3px; cursor: pointer; font-size: 11px; font-weight: bold;">Nổi bật <?= !empty($sp['noi_bat']) ? '✓' : '' ?></button>
                                    </form>
                                    <form method="POST" style="display: inline;">
                                        <input type="hidden" name="cap_nhat_trang_thai" value="<?= (int)$sp['id'] ?>">
                                        <input type="hidden" name="truong_cap_nhat" value="ban_chay">
                                        <input type="hidden" name="gia_tri_moi" value="<?= empty($sp['ban_chay']) ? 1 : 0 ?>">
                                        <button type="submit" style="width: 100%; padding: 5px 8px; background: <?= !empty($sp['ban_chay']) ? '#dcfce7' : '#f1f5f9' ?>; color: <?= !empty($sp['ban_chay']) ? '#166534' : '#94a3b8' ?>; border: 1px solid <?= !empty($sp['ban_chay']) ? '#86efac' : '#cbd5e1' ?>; border-radius: 3px; cursor: pointer; font-size: 11px; font-weight: bold;">Bán chạy <?= !empty($sp['ban_chay']) ? '✓' : '' ?></button>
                                    </form>
                                </div>
                            </td>
                            <td style="padding: 8px; text-align: center;">
                                <div style="display: flex; flex-direction: column; gap: 4px; min-width: 80px;">
                                    <a href="?edit_id=<?= (int)$sp['id'] ?>" style="display: block; padding: 6px 10px; background: #2563eb; color: #fff; text-decoration: none; border-radius: 4px; font-size: 12px; font-weight: bold; text-align: center;">Sửa</a>
                                    <form method="POST" onsubmit="return confirm('<?= ($sp['trang_thai'] === 'an') ? 'Hiển thị sản phẩm này?' : 'Ẩn sản phẩm này?' ?>');">
                                        <input type="hidden" name="an_san_pham" value="<?= (int)$sp['id'] ?>">
                                        <input type="hidden" name="trang_thai_moi" value="<?= ($sp['trang_thai'] === 'an') ? 'hien_thi' : 'an' ?>">
                                        <button type="submit" style="width: 100%; padding: 6px 10px; background: <?= ($sp['trang_thai'] === 'an') ? '#16a34a' : '#f59e0b' ?>; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: bold;"><?= ($sp['trang_thai'] === 'an') ? 'Hiện' : 'Ẩn' ?></button>
                                    </form>
                                    <form method="POST" onsubmit="return confirm('Xóa sản phẩm này? Hành động không thể hoàn tác!');">
                                        <input type="hidden" name="xoa_san_pham" value="<?= (int)$sp['id'] ?>">
                                        <button type="submit" style="width: 100%; padding: 6px 10px; background: #dc2626; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: bold;">Xóa</button>
                                    </form>
                                </div>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        <?php else: ?>
            <p style="color: #94a3b8; font-style: italic; margin-top: 15px;">Chưa có sản phẩm nào được thiết lập trên gian hàng. Hãy thêm sản phẩm đầu tiên!</p>
        <?php endif; ?>
    </div>
            </div>
        </div>
    </div>

<script>
function xemTruocAnhDaiDien(input) {
    var khung = document.getElementById('preview_anh_dai_dien');
    if (!input.files || !input.files[0]) return;
    var reader = new FileReader();
    reader.onload = function(e) {
        khung.innerHTML = '<img src="' + e.target.result + '" style="width:100%;height:100%;object-fit:cover;">';
    };
    reader.readAsDataURL(input.files[0]);
    // Xóa URL text nếu đã chọn file
    document.getElementById('inp_url_anh').value = '';
}

function xemTruocAnhPhu(input) {
    var khung = document.getElementById('preview_anh_phu');
    khung.innerHTML = '';
    if (!input.files || !input.files.length) return;
    Array.from(input.files).forEach(function(file) {
        var reader = new FileReader();
        reader.onload = function(e) {
            var div = document.createElement('div');
            div.style.cssText = 'width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;flex-shrink:0;';
            div.innerHTML = '<img src="' + e.target.result + '" style="width:100%;height:100%;object-fit:cover;">';
            khung.appendChild(div);
        };
        reader.readAsDataURL(file);
    });
}

function xemTruocVideo(input) {
    var khung = document.getElementById('preview_video');
    var el = document.getElementById('video_preview_el');
    if (!input.files || !input.files[0]) { khung.style.display = 'none'; return; }
    var url = URL.createObjectURL(input.files[0]);
    el.src = url;
    khung.style.display = 'block';
    // Xóa link text nếu đã chọn file
    document.getElementById('inp_video_link').value = '';
}

function toggleAffiliateFields(value) {
    var input = document.getElementById('link_affiliate_input');
    var hint = document.getElementById('affiliate_hint');
    var finance = document.getElementById('khu_vuc_tai_chinh');
    if (!input || !hint || !finance) return;
    var show = value === 'affiliate';
    input.style.display = show ? 'block' : 'none';
    hint.style.display = show ? 'block' : 'none';
    finance.style.display = show ? 'none' : 'block';
    input.required = show;
}

function kiemTraTyLe() {
    var loai = document.getElementById('loai_phan_phoi');
    if (loai && loai.value === 'affiliate') {
        return true;
    }

    let aff = parseInt(document.getElementById('tyle_aff').value) || 0;
    let kho = parseInt(document.getElementById('tyle_kho').value) || 0;
    let nentang = parseInt(document.getElementById('tyle_nen_tang').value) || 0;
    let tong = aff + kho + nentang;
    
    if (tong !== 100) {
        alert("Lỗi cấu trúc vốn! Tổng tỷ lệ hiện tại là " + tong + "%. Vui lòng điều chỉnh lại cho đúng 100%.");
        return false;
    }
    return true;
}
</script>
<script>
function setSkuLookupStatus(text, isError) {
    var status = document.getElementById('sku_lookup_status');
    if (!status) return;
    status.textContent = text;
    status.style.color = isError ? '#dc2626' : '#2563eb';
}

function fillProductBySku(sku, notify) {
    if (!sku) {
        setSkuLookupStatus('Vui lòng nhập mã SKU để tìm.', true);
        return;
    }
    setSkuLookupStatus('Đang tìm sản phẩm theo SKU...', false);
    fetch('sku-lookup.php?sku=' + encodeURIComponent(sku))
        .then(res => res.json())
        .then(data => {
            console.log('API Response:', data);
            
            // Kiểm tra lỗi trước
            if (data.error) {
                setSkuLookupStatus('Không tìm thấy sản phẩm với SKU "' + sku + '".', true);
                if (notify) alert('Không tìm thấy sản phẩm trong kho.');
                return;
            }
            
            // Kiểm tra thành công
            if (!data.ok || !data.product) {
                setSkuLookupStatus('Lỗi: Dữ liệu không hợp lệ.', true);
                if (notify) alert('Dữ liệu trả về từ server không hợp lệ.');
                return;
            }
            
            var p = data.product;
            console.log('Product Data:', p);
            
            try {
                // Điền các trường cơ bản
                document.querySelector('input[name="ten_san_pham"]').value = p.ten_san_pham || '';
                document.querySelector('input[name="mo_ta"]').value = p.mo_ta || '';
                document.querySelector('input[name="gia_goc"]').value = p.gia_goc || 0;
                document.querySelector('input[name="gia_ban"]').value = p.gia_ban || 0;
                document.querySelector('input[name="gia_khuyen_mai"]').value = p.gia_khuyen_mai || 0;

                // Điền ảnh đại diện
                var urlAnh = p.hinh_anh || '';
                var inpUrlAnh = document.getElementById('inp_url_anh');
                if (inpUrlAnh) {
                    inpUrlAnh.value = urlAnh;
                }
                var khungPreview = document.getElementById('preview_anh_dai_dien');
                if (khungPreview) {
                    if (urlAnh) {
                        khungPreview.innerHTML = `<img src="${urlAnh}" style="width:100%;height:100%;object-fit:cover;" onerror="this.parentNode.innerHTML='<span style=\\'color:#94a3b8;font-size:12px;text-align:center;\\'>Không tải được ảnh</span>'">`;
                    } else {
                        khungPreview.innerHTML = '<span style="color:#94a3b8;font-size:12px;text-align:center;">Chưa có ảnh</span>';
                    }
                }

                // Điền danh mục
                var selDanhMuc = document.querySelector('select[name="danh_muc"]');
                if (selDanhMuc && p.danh_muc) {
                    for (var i = 0; i < selDanhMuc.options.length; i++) {
                        if (selDanhMuc.options[i].value === p.danh_muc) {
                            selDanhMuc.selectedIndex = i;
                            break;
                        }
                    }
                }

                // Điền các flags (Mới, Nổi bật, Bán chạy)
                var moiCheck = document.querySelector('input[name="moi"]');
                var noiBarCheck = document.querySelector('input[name="noi_bat"]');
                var banChayCheck = document.querySelector('input[name="ban_chay"]');
                if (moiCheck) moiCheck.checked = p.moi === 1;
                if (noiBarCheck) noiBarCheck.checked = p.noi_bat === 1;
                if (banChayCheck) banChayCheck.checked = p.ban_chay === 1;
                
                // Điền ảnh phụ nếu có
                if (p.hinh_anh_phu) {
                    try {
                        var anhPhuList = JSON.parse(p.hinh_anh_phu);
                        if (Array.isArray(anhPhuList) && anhPhuList.length > 0) {
                            var khungAnhPhu = document.getElementById('preview_anh_phu');
                            if (khungAnhPhu) {
                                khungAnhPhu.innerHTML = '';
                                anhPhuList.forEach(function(url) {
                                    var div = document.createElement('div');
                                    div.style.cssText = 'width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;flex-shrink:0;';
                                    div.innerHTML = '<img src="' + url + '" style="width:100%;height:100%;object-fit:cover;" onerror="this.style.display=\'none\'">';
                                    khungAnhPhu.appendChild(div);
                                });
                            }
                        }
                    } catch (e) {
                        console.log('Không thể phân tích ảnh phụ:', e);
                    }
                }
                
                // Điền video
                if (p.video_gioi_thieu) {
                    var khungVideo = document.getElementById('preview_video');
                    var elVideo = document.getElementById('video_preview_el');
                    var inpVideoLink = document.getElementById('inp_video_link');
                    if (inpVideoLink) inpVideoLink.value = p.video_gioi_thieu;
                    if (elVideo) elVideo.src = p.video_gioi_thieu;
                    if (khungVideo) khungVideo.style.display = 'block';
                }
                
                setSkuLookupStatus('✓ Đã điền toàn bộ dữ liệu từ kho. SKU: ' + sku + ' | Tên: ' + (p.ten_san_pham || 'N/A'), false);
                if (notify) alert('✓ Đã điền toàn bộ dữ liệu từ kho:\n- Tên sản phẩm: ' + (p.ten_san_pham || '(trống)') + '\n- Giá gốc: ' + (p.gia_goc || '0') + ' đ\n- Giá bán: ' + (p.gia_ban || '0') + ' đ\n- Ảnh, video, danh mục, nhãn\n\nVui lòng kiểm tra trước khi lưu.');
            } catch (e) {
                console.error('Lỗi điền dữ liệu:', e);
                setSkuLookupStatus('Lỗi khi điền dữ liệu: ' + e.message, true);
            }
        })
        .catch(err => {
            console.error('Lỗi fetch:', err);
            setSkuLookupStatus('Lỗi kết nối: ' + err.message, true);
            if (notify) alert('Lỗi khi truy vấn SKU: ' + err.message);
        });
}

var skuTimer;
document.getElementById('sku_input').addEventListener('input', function() {
    clearTimeout(skuTimer);
    var sku = this.value.trim();
    if (!sku) {
        setSkuLookupStatus('', false);
        return;
    }
    skuTimer = setTimeout(function() {
        fillProductBySku(sku, false);
    }, 500);
});

document.getElementById('btn_lookup_sku').addEventListener('click', function(){
    var sku = document.getElementById('sku_input').value.trim();
    if (!sku) return alert('Vui lòng nhập SKU để tìm.');
    fillProductBySku(sku, true);
});

function capNhatKhuVucThoiGianKM() {
    var giaKM = parseInt(document.getElementById('gia_khuyen_mai_input').value) || 0;
    var khuVuc = document.getElementById('khu_vuc_thoi_gian_khuyen_mai');
    if (khuVuc) {
        khuVuc.style.display = giaKM > 0 ? 'flex' : 'none';
    }
}
</script>
</body>
</html>