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

if (!isset($_SESSION['nguoi_dung_id'])) {
    header('Location: dang-nhap.php');
    exit;
}

$id_thanh_vien = (int)$_SESSION['nguoi_dung_id'];
$thong_bao = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ung_tuyen'])) {
    $su_kien_id = (int)($_POST['su_kien_id'] ?? 0);
    $ghi_chu = trim($_POST['ghi_chu'] ?? '');

    if ($su_kien_id > 0) {
        // check remaining slots before allowing apply; if full, accept as 'du_bi' (waiting list)
        $check_slots = $pdo->prepare('SELECT so_luong_nhan_su FROM su_kien WHERE id = ? LIMIT 1');
        $check_slots->execute([$su_kien_id]);
        $sk_row = $check_slots->fetch();
        $slots_left = $sk_row ? (int)$sk_row['so_luong_nhan_su'] : 0;

        $check = $pdo->prepare('SELECT id FROM ung_tuyen_su_kien WHERE su_kien_id = ? AND thanh_vien_id = ? LIMIT 1');
        $check->execute([$su_kien_id, $id_thanh_vien]);
        if ($check->fetch()) {
            $thong_bao = '<div style="background:#fff3cd;color:#856404;padding:10px;border-radius:6px;margin-bottom:15px;">Bạn đã ứng tuyển cho sự kiện này rồi.</div>';
        } else {
            if ($slots_left <= 0) {
                // insert as waiting list
                $stmt = $pdo->prepare('INSERT INTO ung_tuyen_su_kien (su_kien_id, thanh_vien_id, ghi_chu, trang_thai) VALUES (?, ?, ?, "du_bi")');
                if ($stmt->execute([$su_kien_id, $id_thanh_vien, $ghi_chu])) {
                    $thong_bao = '<div style="background:#d1ecf1;color:#0c5460;padding:10px;border-radius:6px;margin-bottom:15px;">Đã nộp hồ sơ ở chế độ <strong>dự bị</strong>. Khi có chỗ trống admin sẽ xem xét và up trạng thái cho bạn.</div>';
                } else {
                    $thong_bao = '<div style="background:#f8d7da;color:#721c24;padding:10px;border-radius:6px;margin-bottom:15px;">Không thể gửi hồ sơ, vui lòng thử lại.</div>';
                }
            } else {
                $stmt = $pdo->prepare('INSERT INTO ung_tuyen_su_kien (su_kien_id, thanh_vien_id, ghi_chu, trang_thai) VALUES (?, ?, ?, "cho_duyet")');
                if ($stmt->execute([$su_kien_id, $id_thanh_vien, $ghi_chu])) {
                    $thong_bao = '<div style="background:#d4edda;color:#155724;padding:10px;border-radius:6px;margin-bottom:15px;">Ứng tuyển thành công, admin sẽ xem hồ sơ của bạn.</div>';
                } else {
                    $thong_bao = '<div style="background:#f8d7da;color:#721c24;padding:10px;border-radius:6px;margin-bottom:15px;">Không thể gửi hồ sơ, vui lòng thử lại.</div>';
                }
            }
        }
    }
}

$su_kien_mo = $pdo->query("SELECT * FROM su_kien WHERE trang_thai IN ('dang_mo','da_chot') ORDER BY ngay_dien_ra ASC")->fetchAll();
$ung_tuyen_cua_toi = $pdo->prepare("SELECT u.*, s.ten_su_kien, s.ngay_dien_ra, s.thu_lao_du_kien FROM ung_tuyen_su_kien u JOIN su_kien s ON s.id = u.su_kien_id WHERE u.thanh_vien_id = ? ORDER BY u.ngay_ung_tuyen DESC");
$ung_tuyen_cua_toi->execute([$id_thanh_vien]);
$ung_tuyen_cua_toi = $ung_tuyen_cua_toi->fetchAll();
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ứng tuyển sự kiện</title>
    <link rel="stylesheet" href="includes/style.css">
    <style>
        body { font-family: Arial, sans-serif; background:#f5f7fb; margin:0; padding:20px 16px 80px; color:#223; }
        .box { background:#fff; border-radius:12px; padding:18px; box-shadow:0 3px 12px rgba(0,0,0,.06); margin-bottom:16px; }
        .btn { display:inline-block; padding:10px 14px; background:#0056b3; color:#fff; border:none; border-radius:8px; text-decoration:none; cursor:pointer; }
        .small { font-size:13px; color:#666; }
        table { width:100%; border-collapse:collapse; margin-top:10px; }
        th, td { border-bottom:1px solid #eee; padding:8px 6px; text-align:left; font-size:14px; }
        .tag { display:inline-block; padding:4px 8px; border-radius:999px; font-size:12px; font-weight:bold; }
        .tag.chuathuchien { background:#fff3cd; color:#856404; }
        .tag.chinhthuc { background:#d4edda; color:#155724; }
        .tag.dubi { background:#cce5ff; color:#004085; }
        .tag.tuchoi { background:#f8d7da; color:#721c24; }
    </style>
</head>
<body>
    <div class="box">
        <h2 style="margin-top:0;">🎭 Ứng tuyển sự kiện</h2>
        <p class="small">Xem các sự kiện đang mở và gửi hồ sơ ứng tuyển phù hợp với năng lực của bạn.</p>
        <?php echo $thong_bao; ?>
    </div>

    <div class="box">
        <h3 style="margin-top:0;">Sự kiện đang mở</h3>
        <?php if (count($su_kien_mo) > 0): ?>
            <?php foreach ($su_kien_mo as $sk): ?>
                    <div style="border:1px solid #e8edf4; border-radius:10px; padding:12px; margin-bottom:10px;">
                    <strong><?php echo htmlspecialchars($sk['ten_su_kien']); ?></strong>
                    <?php
                    $thoi_gian_text = '';
                    if (!empty($sk['ngay_bat_dau']) || !empty($sk['ngay_ket_thuc'])) {
                        $bat_dau = !empty($sk['ngay_bat_dau']) ? date('d/m/Y H:i', strtotime($sk['ngay_bat_dau'])) : '';
                        $ket_thuc = !empty($sk['ngay_ket_thuc']) ? date('d/m/Y H:i', strtotime($sk['ngay_ket_thuc'])) : '';
                        if ($bat_dau && $ket_thuc) {
                            $thoi_gian_text = '🗓 Từ ' . $bat_dau . ' đến ' . $ket_thuc;
                        } elseif ($bat_dau) {
                            $thoi_gian_text = '🗓 Bắt đầu ' . $bat_dau;
                        } elseif ($ket_thuc) {
                            $thoi_gian_text = '🗓 Kết thúc ' . $ket_thuc;
                        }
                    } elseif (!empty($sk['ngay_dien_ra'])) {
                        $thoi_gian_text = '🗓 ' . date('d/m/Y H:i', strtotime($sk['ngay_dien_ra']));
                    }
                    ?>
                    <?php if ($thoi_gian_text !== ''): ?><div class="small" style="margin:4px 0;"><?php echo htmlspecialchars($thoi_gian_text); ?></div><?php endif; ?>
                    <div class="small">💰 Tổng ngân sách: <?php echo number_format($sk['thu_lao_du_kien'], 0, ',', '.'); ?> ₫</div>
                    <?php $total_slots = isset($sk['so_luong_tong']) && $sk['so_luong_tong'] !== null ? (int)$sk['so_luong_tong'] : (int)$sk['so_luong_nhan_su']; ?>
                    <?php
                        $stmt_chot = $pdo->prepare('SELECT COUNT(*) AS cnt FROM ung_tuyen_su_kien WHERE su_kien_id = ? AND trang_thai = "chinh_thuc"');
                        $stmt_chot->execute([$sk['id']]);
                        $row_chot = $stmt_chot->fetch();
                        $chot = $row_chot ? (int)$row_chot['cnt'] : 0;
                        $remaining = max(0, $total_slots - $chot);
                    ?>
                    <div class="small">👥 Đã chốt: <?php echo $chot; ?> / Tổng: <?php echo $total_slots; ?></div>
                    <?php $thue_lao_moi_nguoi = $total_slots > 0 ? (float)$sk['thu_lao_du_kien'] / $total_slots : 0; ?>
                    <div class="small">💵 Ước tính mỗi người nhận: <?php echo number_format($thue_lao_moi_nguoi, 0, ',', '.'); ?> ₫</div>
                    <?php if (!empty($sk['mo_ta'])): ?><div class="small" style="margin-top:6px;"><?php echo htmlspecialchars($sk['mo_ta']); ?></div><?php endif; ?>
                    <?php if ((int)$sk['so_luong_nhan_su'] > 0): ?>
                        <form method="POST" style="margin-top:10px;">
                            <input type="hidden" name="su_kien_id" value="<?php echo (int)$sk['id']; ?>">
                            <textarea name="ghi_chu" rows="2" style="width:100%; padding:8px; border:1px solid #dfe5ee; border-radius:8px;" placeholder="Bạn có thể ghi ngắn gọn kinh nghiệm phù hợp..."></textarea>
                            <button type="submit" name="ung_tuyen" class="btn" style="margin-top:8px;">Ứng tuyển ngay</button>
                        </form>
                    <?php else: ?>
                        <form method="POST" style="margin-top:10px;">
                            <input type="hidden" name="su_kien_id" value="<?php echo (int)$sk['id']; ?>">
                            <textarea name="ghi_chu" rows="2" style="width:100%; padding:8px; border:1px solid #dfe5ee; border-radius:8px;" placeholder="Bạn có thể ghi ngắn gọn kinh nghiệm phù hợp..."></textarea>
                            <div class="small" style="margin-top:8px;color:#0c5460;background:#d1ecf1;padding:8px;border-radius:8px;">Sự kiện hiện đã đủ người — hồ sơ của bạn sẽ được gửi ở chế độ <strong>dự bị</strong>.</div>
                            <button type="submit" name="ung_tuyen" class="btn" style="margin-top:8px;">Ứng tuyển (dự bị)</button>
                        </form>
                    <?php endif; ?>
                </div>
            <?php endforeach; ?>
        <?php else: ?>
            <div class="small">Hiện chưa có sự kiện nào đang mở.</div>
        <?php endif; ?>
    </div>

    <div class="box">
        <h3 style="margin-top:0;">Hồ sơ ứng tuyển của bạn</h3>
        <?php if (count($ung_tuyen_cua_toi) > 0): ?>
            <table>
                <thead>
                    <tr><th>Sự kiện</th><th>Ngày</th><th>Trạng thái</th></tr>
                </thead>
                <tbody>
                    <?php foreach ($ung_tuyen_cua_toi as $row): ?>
                        <tr>
                            <td><?php echo htmlspecialchars($row['ten_su_kien']); ?></td>
                            <td><?php echo date('d/m/Y', strtotime($row['ngay_dien_ra'])); ?></td>
                            <td>
                                <?php
                                $status = $row['trang_thai'];
                                $map = [
                                    'cho_duyet' => ['Chờ duyệt','chuathuchien'],
                                    'chinh_thuc' => ['Chính thức','chinhthuc'],
                                    'du_bi' => ['Dự bị','dubi'],
                                    'tu_choi' => ['Từ chối','tuchoi']
                                ];
                                $info = $map[$status] ?? ['Khác','chuathuchien'];
                                ?>
                                <span class="tag <?php echo $info[1]; ?>"><?php echo $info[0]; ?></span>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        <?php else: ?>
            <div class="small">Bạn chưa ứng tuyển sự kiện nào.</div>
        <?php endif; ?>
    </div>

    <?php require_once 'includes/menu-dien-thoai.php'; ?>
</body>
</html>
