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

// Check if user is admin
if (!isset($_SESSION['user_id']) || $_SESSION['user_role'] != 'admin') {
    header('Location: ../login.php');
    exit;
}

$message = '';
$error = '';

// Handle reset requests
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['reset_type'])) {
        $reset_type = $_POST['reset_type'];
        $confirm_text = $_POST['confirm_text'] ?? '';
        
        // Security check - require confirmation text
        if ($confirm_text !== 'RESET_ALL_DATA') {
            $error = 'দয়া করে নিশ্চিতকরণ টেক্সট সঠিকভাবে লিখুন';
        } else {
            try {
                switch($reset_type) {
                    case 'complete':
                        // Complete reset - delete all income and expense data
                        $pdo->beginTransaction();
                        
                        // Delete expense related data
                        $pdo->exec("DELETE FROM expenses");
                        $pdo->exec("DELETE FROM expense_categories");
                        
                        // Delete income related data
                        $pdo->exec("DELETE FROM fee_payments");
                        // Note: Not deleting fees table as it contains student fee structure
                        
                        $pdo->commit();
                        $message = 'সমস্ত আয়-ব্যয় ডেটা সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'expenses_only':
                        // Reset only expenses
                        $pdo->beginTransaction();
                        $pdo->exec("DELETE FROM expenses");
                        $pdo->commit();
                        $message = 'সমস্ত ব্যয় ডেটা সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'income_only':
                        // Reset only income
                        $pdo->beginTransaction();
                        $pdo->exec("DELETE FROM fee_payments");
                        $pdo->commit();
                        $message = 'সমস্ত আয় ডেটা সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'categories_only':
                        // Reset only expense categories
                        $pdo->beginTransaction();
                        $pdo->exec("DELETE FROM expense_categories");
                        $pdo->commit();
                        $message = 'সমস্ত ব্যয় বিভাগ সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'cash_transactions':
                        // Reset only cash transactions
                        $pdo->beginTransaction();
                        
                        // Delete cash expenses
                        $pdo->exec("DELETE FROM expenses WHERE payment_method = 'cash'");
                        
                        // Delete cash income payments
                        $pdo->exec("DELETE FROM fee_payments WHERE payment_method = 'cash'");
                        
                        $pdo->commit();
                        $message = 'সমস্ত নগদ ট্র্যানজেকশন সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'bank_transactions':
                        // Reset only bank transactions
                        $pdo->beginTransaction();
                        
                        // Delete bank transfer expenses
                        $pdo->exec("DELETE FROM expenses WHERE payment_method IN ('bank_transfer', 'check')");
                        
                        // Delete bank transfer income payments
                        $pdo->exec("DELETE FROM fee_payments WHERE payment_method IN ('bank_transfer', 'check')");
                        
                        $pdo->commit();
                        $message = 'সমস্ত ব্যাংক ট্র্যানজেকশন সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'mobile_transactions':
                        // Reset only mobile banking transactions
                        $pdo->beginTransaction();
                        
                        // Delete mobile banking expenses
                        $pdo->exec("DELETE FROM expenses WHERE payment_method = 'mobile_banking'");
                        
                        // Delete mobile banking income payments
                        $pdo->exec("DELETE FROM fee_payments WHERE payment_method = 'mobile_banking'");
                        
                        $pdo->commit();
                        $message = 'সমস্ত মোবাইল ব্যাংকিং ট্র্যানজেকশন সফলভাবে মুছে ফেলা হয়েছে!';
                        break;
                        
                    case 'amount_threshold':
                        // Reset by amount threshold
                        $min_amount = $_POST['min_amount'] ?? 0;
                        $max_amount = $_POST['max_amount'] ?? 999999999;
                        $data_type = $_POST['threshold_data_type'] ?? 'both';
                        $payment_method = $_POST['threshold_payment_method'] ?? 'all';
                        
                        if (!is_numeric($min_amount) || !is_numeric($max_amount)) {
                            $error = 'পরিমাণ সঠিকভাবে লিখুন';
                            break;
                        }
                        
                        $pdo->beginTransaction();
                        
                        $amount_conditions = " AND amount BETWEEN $min_amount AND $max_amount";
                        $payment_conditions = '';
                        if ($payment_method !== 'all') {
                            $payment_conditions = " AND payment_method = '$payment_method'";
                        }
                        
                        if ($data_type == 'expenses' || $data_type == 'both') {
                            $stmt = $pdo->prepare("DELETE FROM expenses WHERE 1=1$amount_conditions$payment_conditions");
                            $stmt->execute();
                        }
                        
                        if ($data_type == 'income' || $data_type == 'both') {
                            $stmt = $pdo->prepare("DELETE FROM fee_payments WHERE 1=1$amount_conditions$payment_conditions");
                            $stmt->execute();
                        }
                        
                        $pdo->commit();
                        $message = "পরিমাণ পরিসরের ডেটা সফলভাবে মুছে ফেলা হয়েছে!";
                        break;
                        
                    case 'category_specific':
                        // Reset by specific categories
                        $selected_categories = $_POST['selected_categories'] ?? [];
                        $data_type = $_POST['category_data_type'] ?? 'both';
                        
                        if (empty($selected_categories)) {
                            $error = 'অন্ততপক্ষে একটি বিভাগ নির্বাচন করুন';
                            break;
                        }
                        
                        $pdo->beginTransaction();
                        
                        $category_ids = implode(',', array_map('intval', $selected_categories));
                        $category_condition = " AND category_id IN ($category_ids)";
                        
                        if ($data_type == 'expenses' || $data_type == 'both') {
                            $stmt = $pdo->prepare("DELETE FROM expenses WHERE 1=1$category_condition");
                            $stmt->execute();
                        }
                        
                        // For income, we would need to join with fees table if category filtering is needed
                        // This is a simplified version focusing on expense categories
                        
                        $pdo->commit();
                        $message = "নির্বাচিত বিভাগের ডেটা সফলভাবে মুছে ফেলা হয়েছে!";
                        break;
                        
                    case 'custom_date_range':
                        // Custom date range reset
                        $start_date = $_POST['start_date'] ?? '';
                        $end_date = $_POST['end_date'] ?? '';
                        $data_type = $_POST['data_type'] ?? 'both';
                        $payment_method = $_POST['payment_method'] ?? 'all';
                        
                        if (empty($start_date) || empty($end_date)) {
                            $error = 'তারিখ পরিসর নির্বাচন করুন';
                            break;
                        }
                        
                        $pdo->beginTransaction();
                        
                        $payment_conditions = '';
                        if ($payment_method !== 'all') {
                            $payment_conditions = " AND payment_method = '$payment_method'";
                        }
                        
                        if ($data_type == 'expenses' || $data_type == 'both') {
                            $stmt = $pdo->prepare("DELETE FROM expenses WHERE expense_date BETWEEN ? AND ?$payment_conditions");
                            $stmt->execute([$start_date, $end_date]);
                        }
                        
                        if ($data_type == 'income' || $data_type == 'both') {
                            $stmt = $pdo->prepare("DELETE FROM fee_payments WHERE payment_date BETWEEN ? AND ?$payment_conditions");
                            $stmt->execute([$start_date, $end_date]);
                        }
                        
                        $pdo->commit();
                        $message = "নির্বাচিত তারিখ পরিসরের ডেটা সফলভাবে মুছে ফেলা হয়েছে!";
                        break;
                }
            } catch (Exception $e) {
                $pdo->rollBack();
                $error = 'ত্রুটি হয়েছে: ' . $e->getMessage();
            }
        }
    }
}

// Get current data counts for display
try {
    $expenseCount = $pdo->query("SELECT COUNT(*) FROM expenses")->fetchColumn();
    $incomeCount = $pdo->query("SELECT COUNT(*) FROM fee_payments")->fetchColumn();
    $categoryCount = $pdo->query("SELECT COUNT(*) FROM expense_categories")->fetchColumn();
    
    // Get date ranges
    $oldestExpense = $pdo->query("SELECT MIN(expense_date) as oldest FROM expenses")->fetch();
    $newestExpense = $pdo->query("SELECT MAX(expense_date) as newest FROM expenses")->fetch();
    $oldestIncome = $pdo->query("SELECT MIN(payment_date) as oldest FROM fee_payments")->fetch();
    $newestIncome = $pdo->query("SELECT MAX(payment_date) as newest FROM fee_payments")->fetch();
    
    // Get categories for dropdown
    $categories = $pdo->query("SELECT id, name FROM expense_categories ORDER BY name ASC")->fetchAll();
} catch (Exception $e) {
    $error = 'ডেটা লোড করতে ত্রুটি: ' . $e->getMessage();
    $expenseCount = $incomeCount = $categoryCount = 0;
    $categories = [];
}
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ট্র্যানজেকশন রিসেট - বিদ্যা সংগঠন</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Hind Siliguri', sans-serif;
            background-color: #f8f9fa;
            direction: rtl;
        }
        .navbar {
            background: linear-gradient(135deg, #d32f2f 0%, #c62828 100%);
        }
        .card {
            border: none;
            border-radius: 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
            margin-bottom: 1.5rem;
        }
        .btn-danger {
            background-color: #dc3545;
            border-color: #dc3545;
        }
        .btn-danger:hover {
            background-color: #c82333;
            border-color: #bd2130;
        }
        .btn-warning {
            background-color: #ffc107;
            border-color: #ffc107;
            color: #212529;
        }
        .btn-warning:hover {
            background-color: #e0a800;
            border-color: #d39e00;
            color: #212529;
        }
        .data-card {
            background: linear-gradient(135deg, #17a2b8 0%, #20c997 100%);
            color: white;
            padding: 1.5rem;
            border-radius: 10px;
            margin-bottom: 1rem;
        }
        .warning-card {
            background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
            color: #212529;
            border: 2px solid #ff9800;
        }
        .danger-card {
            background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
            color: white;
            border: 2px solid #bd2130;
        }
        .confirmation-box {
            background-color: #fff3cd;
            border: 2px solid #ffc107;
            border-radius: 10px;
            padding: 1.5rem;
            margin: 1rem 0;
        }
        .reset-option {
            border: 2px solid #dee2e6;
            border-radius: 10px;
            padding: 1.5rem;
            margin-bottom: 1rem;
            transition: all 0.3s ease;
        }
        .reset-option:hover {
            border-color: #007bff;
            box-shadow: 0 0 15px rgba(0,123,255,0.2);
        }
        .reset-option.selected {
            border-color: #007bff;
            background-color: rgba(0,123,255,0.05);
        }
    </style>
</head>
<body>
    <?php include '../includes/header.php'; ?>

    <div class="container mt-4">
        <!-- Navigation Buttons -->
        <div class="row mb-4">
            <div class="col-12">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <a href="javascript:history.back()" class="btn btn-outline-secondary me-2">
                            <i class="fas fa-arrow-left"></i> Back
                        </a>
                        <a href="../index.php" class="btn btn-outline-success">
                            <i class="fas fa-home"></i> Home Page
                        </a>
                    </div>
                    <h2 class="mb-0">ট্র্যানজেকশন রিসেট</h2>
                </div>
            </div>
        </div>

        <?php if ($message): ?>
            <div class="alert alert-success alert-dismissible fade show" role="alert">
                <i class="fas fa-check-circle"></i> <?php echo htmlspecialchars($message); ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>

        <?php if ($error): ?>
            <div class="alert alert-danger alert-dismissible fade show" role="alert">
                <i class="fas fa-exclamation-triangle"></i> <?php echo htmlspecialchars($error); ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>

        <div class="row">
            <!-- Current Data Overview -->
            <div class="col-md-4">
                <div class="data-card">
                    <h5><i class="fas fa-chart-pie"></i> বর্তমান ডেটা</h5>
                    <hr>
                    <div class="mb-3">
                        <h6><i class="fas fa-wallet text-white"></i> ব্যয় ট্র্যানজেকশন</h6>
                        <h3><?php echo number_format($expenseCount); ?> টি</h3>
                    </div>
                    <div class="mb-3">
                        <h6><i class="fas fa-money-bill-wave text-white"></i> আয় ট্র্যানজেকশন</h6>
                        <h3><?php echo number_format($incomeCount); ?> টি</h3>
                    </div>
                    <div class="mb-3">
                        <h6><i class="fas fa-tags text-white"></i> ব্যয় বিভাগ</h6>
                        <h3><?php echo number_format($categoryCount); ?> টি</h3>
                    </div>
                </div>

                <?php if ($oldestExpense['oldest'] || $oldestIncome['oldest']): ?>
                <div class="card">
                    <div class="card-header">
                        <h5><i class="fas fa-calendar-alt"></i> ডেটা পরিসর</h5>
                    </div>
                    <div class="card-body">
                        <?php if ($oldestExpense['oldest']): ?>
                        <div class="mb-3">
                            <strong>ব্যয় ডেটা:</strong><br>
                            <?php echo date('d/m/Y', strtotime($oldestExpense['oldest'])); ?> থেকে 
                            <?php echo date('d/m/Y', strtotime($newestExpense['newest'])); ?>
                        </div>
                        <?php endif; ?>
                        
                        <?php if ($oldestIncome['oldest']): ?>
                        <div>
                            <strong>আয় ডেটা:</strong><br>
                            <?php echo date('d/m/Y', strtotime($oldestIncome['oldest'])); ?> থেকে 
                            <?php echo date('d/m/Y', strtotime($newestIncome['newest'])); ?>
                        </div>
                        <?php endif; ?>
                    </div>
                </div>
                <?php endif; ?>
            </div>

            <!-- Reset Options -->
            <div class="col-md-8">
                <div class="warning-card card mb-4">
                    <div class="card-header">
                        <h5><i class="fas fa-exclamation-triangle"></i> সতর্কতা!</h5>
                    </div>
                    <div class="card-body">
                        <p class="mb-0">
                            <i class="fas fa-info-circle"></i> এই অপারেশনগুলি ডেটা স্থায়ীভাবে মুছে ফেলবে। 
                            অপারেশন শুরুর আগে অবশ্যই ডেটাবেস ব্যাকআপ নিন। 
                            একবার মুছে ফেলা হলে ডেটা পুনরুদ্ধার করা সম্ভব নয়।
                        </p>
                    </div>
                </div>

                <form method="POST" id="resetForm">
                    <input type="hidden" name="reset_type" id="resetType" value="">

                    <!-- Complete Reset Option -->
                    <div class="reset-option" onclick="selectResetOption('complete')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="complete" value="complete">
                            <label class="form-check-label" for="complete">
                                <h5><i class="fas fa-trash-alt text-danger"></i> সম্পূর্ণ রিসেট</h5>
                                <p class="mb-2">সমস্ত আয় ও ব্যয় ডেটা স্থায়ীভাবে মুছে ফেলুন</p>
                                <div class="alert alert-danger mb-0">
                                    <small><i class="fas fa-exclamation-circle"></i> এটি সমস্ত ট্র্যানজেকশন ডেটা, ব্যয় বিভাগ এবং পেমেন্ট রেকর্ড মুছে ফেলবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Expense Only Reset -->
                    <div class="reset-option" onclick="selectResetOption('expenses_only')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="expenses_only" value="expenses_only">
                            <label class="form-check-label" for="expenses_only">
                                <h5><i class="fas fa-wallet text-warning"></i> শুধুমাত্র ব্যয় রিসেট</h5>
                                <p class="mb-2">শুধুমাত্র ব্যয় ট্র্যানজেকশন ডেটা মুছুন</p>
                                <div class="alert alert-warning mb-0">
                                    <small><i class="fas fa-info-circle"></i> ব্যয় বিভাগ এবং ব্যয় রেকর্ড মুছে যাবে, কিন্তু আয় ডেটা সংরক্ষিত থাকবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Income Only Reset -->
                    <div class="reset-option" onclick="selectResetOption('income_only')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="income_only" value="income_only">
                            <label class="form-check-label" for="income_only">
                                <h5><i class="fas fa-money-bill-wave text-success"></i> শুধুমাত্র আয় রিসেট</h5>
                                <p class="mb-2">শুধুমাত্র আয় ট্র্যানজেকশন ডেটা মুছুন</p>
                                <div class="alert alert-success mb-0">
                                    <small><i class="fas fa-info-circle"></i> আয় পেমেন্ট রেকর্ড মুছে যাবে, কিন্তু ব্যয় ডেটা সংরক্ষিত থাকবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Cash Transactions Reset -->
                    <div class="reset-option" onclick="selectResetOption('cash_transactions')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="cash_transactions" value="cash_transactions">
                            <label class="form-check-label" for="cash_transactions">
                                <h5><i class="fas fa-money-bill-wave text-success"></i> নগদ ট্র্যানজেকশন রিসেট</h5>
                                <p class="mb-2">শুধুমাত্র নগদ পেমেন্ট ট্র্যানজেকশন মুছুন</p>
                                <div class="alert alert-success mb-0">
                                    <small><i class="fas fa-info-circle"></i> সমস্ত নগদ আয় ও ব্যয় ট্র্যানজেকশন মুছে যাবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Bank Transactions Reset -->
                    <div class="reset-option" onclick="selectResetOption('bank_transactions')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="bank_transactions" value="bank_transactions">
                            <label class="form-check-label" for="bank_transactions">
                                <h5><i class="fas fa-university text-primary"></i> ব্যাংক ট্র্যানজেকশন রিসেট</h5>
                                <p class="mb-2">শুধুমাত্র ব্যাংক ট্রান্সফার ও চেক ট্র্যানজেকশন মুছুন</p>
                                <div class="alert alert-primary mb-0">
                                    <small><i class="fas fa-info-circle"></i> ব্যাংক ট্রান্সফার এবং চেক দ্বারা করা সমস্ত আয় ও ব্যয় মুছে যাবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Mobile Banking Reset -->
                    <div class="reset-option" onclick="selectResetOption('mobile_transactions')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="mobile_transactions" value="mobile_transactions">
                            <label class="form-check-label" for="mobile_transactions">
                                <h5><i class="fas fa-mobile-alt text-info"></i> মোবাইল ব্যাংকিং রিসেট</h5>
                                <p class="mb-2">শুধুমাত্র মোবাইল ব্যাংকিং ট্র্যানজেকশন মুছুন</p>
                                <div class="alert alert-info mb-0">
                                    <small><i class="fas fa-info-circle"></i> মোবাইল ব্যাংকিং দ্বারা করা সমস্ত আয় ও ব্যয় মুছে যাবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Amount Threshold Reset -->
                    <div class="reset-option" onclick="selectResetOption('amount_threshold')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="amount_threshold" value="amount_threshold">
                            <label class="form-check-label" for="amount_threshold">
                                <h5><i class="fas fa-sort-amount-up text-warning"></i> পরিমাণ পরিসর রিসেট</h5>
                                <p class="mb-3">নির্দিষ্ট পরিমাণ পরিসরের ডেটা মুছুন</p>
                                
                                <div class="row">
                                    <div class="col-md-3">
                                        <label class="form-label">সর্বনিম্ন পরিমাণ (৳)</label>
                                        <input type="number" class="form-control" name="min_amount" id="minAmount" step="0.01" min="0">
                                    </div>
                                    <div class="col-md-3">
                                        <label class="form-label">সর্বোচ্চ পরিমাণ (৳)</label>
                                        <input type="number" class="form-control" name="max_amount" id="maxAmount" step="0.01" min="0">
                                    </div>
                                    <div class="col-md-3">
                                        <label class="form-label">ডেটা ধরন</label>
                                        <select class="form-select" name="threshold_data_type" id="thresholdDataType">
                                            <option value="both">উভয় (আয় ও ব্যয়)</option>
                                            <option value="expenses">শুধুমাত্র ব্যয়</option>
                                            <option value="income">শুধুমাত্র আয়</option>
                                        </select>
                                    </div>
                                    <div class="col-md-3">
                                        <label class="form-label">পেমেন্ট পদ্ধতি</label>
                                        <select class="form-select" name="threshold_payment_method" id="thresholdPaymentMethod">
                                            <option value="all">সমস্ত পদ্ধতি</option>
                                            <option value="cash">নগদ</option>
                                            <option value="bank_transfer">ব্যাংক ট্রান্সফার</option>
                                            <option value="mobile_banking">মোবাইল ব্যাংকিং</option>
                                            <option value="check">চেক</option>
                                        </select>
                                    </div>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Category Specific Reset -->
                    <div class="reset-option" onclick="selectResetOption('category_specific')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="category_specific" value="category_specific">
                            <label class="form-check-label" for="category_specific">
                                <h5><i class="fas fa-tags text-danger"></i> বিভাগ ভিত্তিক রিসেট</h5>
                                <p class="mb-3">নির্দিষ্ট বিভাগের ডেটা মুছুন</p>
                                
                                <div class="row">
                                    <div class="col-md-6">
                                        <label class="form-label">বিভাগ নির্বাচন করুন</label>
                                        <select class="form-select" name="selected_categories[]" id="selectedCategories" multiple size="4">
                                            <?php foreach ($categories as $category): ?>
                                                <option value="<?php echo $category['id']; ?>">
                                                    <?php echo htmlspecialchars($category['name']); ?>
                                                </option>
                                            <?php endforeach; ?>
                                        </select>
                                        <small class="text-muted">একাধিক বিভাগ Ctrl+Click করে নির্বাচন করুন</small>
                                    </div>
                                    <div class="col-md-6">
                                        <label class="form-label">ডেটা ধরন</label>
                                        <select class="form-select" name="category_data_type" id="categoryDataType">
                                            <option value="expenses">শুধুমাত্র ব্যয়</option>
                                            <option value="both">উভয় (আয় ও ব্যয়)</option>
                                        </select>
                                        <div class="alert alert-warning mt-2 mb-0">
                                            <small><i class="fas fa-exclamation-triangle"></i> ব্যয় বিভাগগুলো শুধুমাত্র ব্যয় ডেটার জন্য প্রযোজ্য</small>
                                        </div>
                                    </div>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Categories Only Reset -->
                    <div class="reset-option" onclick="selectResetOption('categories_only')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="categories_only" value="categories_only">
                            <label class="form-check-label" for="categories_only">
                                <h5><i class="fas fa-tags text-info"></i> শুধুমাত্র বিভাগ রিসেট</h5>
                                <p class="mb-2">শুধুমাত্র ব্যয় বিভাগ মুছুন</p>
                                <div class="alert alert-info mb-0">
                                    <small><i class="fas fa-info-circle"></i> ব্যয় বিভাগ মুছে যাবে, কিন্তু ট্র্যানজেকশন ডেটা সংরক্ষিত থাকবে</small>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Custom Date Range Reset -->
                    <div class="reset-option" onclick="selectResetOption('custom_date_range')">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="reset_option" id="custom_date_range" value="custom_date_range">
                            <label class="form-check-label" for="custom_date_range">
                                <h5><i class="fas fa-calendar-times text-primary"></i> কাস্টম তারিখ পরিসর রিসেট</h5>
                                <p class="mb-3">নির্দিষ্ট তারিখ পরিসরের ডেটা মুছুন</p>
                                
                                <div class="row">
                                    <div class="col-md-3">
                                        <label class="form-label">শুরুর তারিখ</label>
                                        <input type="date" class="form-control" name="start_date" id="startDate">
                                    </div>
                                    <div class="col-md-3">
                                        <label class="form-label">শেষের তারিখ</label>
                                        <input type="date" class="form-control" name="end_date" id="endDate">
                                    </div>
                                    <div class="col-md-3">
                                        <label class="form-label">ডেটা ধরন</label>
                                        <select class="form-select" name="data_type" id="dataType">
                                            <option value="both">উভয় (আয় ও ব্যয়)</option>
                                            <option value="expenses">শুধুমাত্র ব্যয়</option>
                                            <option value="income">শুধুমাত্র আয়</option>
                                        </select>
                                    </div>
                                    <div class="col-md-3">
                                        <label class="form-label">পেমেন্ট পদ্ধতি</label>
                                        <select class="form-select" name="payment_method" id="paymentMethod">
                                            <option value="all">সমস্ত পদ্ধতি</option>
                                            <option value="cash">নগদ</option>
                                            <option value="bank_transfer">ব্যাংক ট্রান্সফার</option>
                                            <option value="mobile_banking">মোবাইল ব্যাংকিং</option>
                                            <option value="check">চেক</option>
                                        </select>
                                    </div>
                                </div>
                            </label>
                        </div>
                    </div>

                    <!-- Confirmation Section -->
                    <div class="danger-card card mt-4">
                        <div class="card-header">
                            <h5><i class="fas fa-key"></i> নিশ্চিতকরণ</h5>
                        </div>
                        <div class="card-body">
                            <p>অপারেশন নিশ্চিত করতে নিচের বক্সে <strong>RESET_ALL_DATA</strong> লিখুন:</p>
                            <div class="mb-3">
                                <input type="text" class="form-control form-control-lg" name="confirm_text" 
                                       placeholder="RESET_ALL_DATA" id="confirmText">
                            </div>
                            <button type="submit" class="btn btn-danger btn-lg w-100" id="resetButton" disabled>
                                <i class="fas fa-exclamation-triangle"></i> ডেটা রিসেট করুন
                            </button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        function selectResetOption(option) {
            // Remove selected class from all options
            document.querySelectorAll('.reset-option').forEach(el => {
                el.classList.remove('selected');
            });
            
            // Add selected class to clicked option
            event.currentTarget.classList.add('selected');
            
            // Check the radio button
            document.getElementById(option).checked = true;
            
            // Set the hidden input value
            document.getElementById('resetType').value = option;
            
            // Enable/disable inputs based on selection
            const dateInputs = document.querySelectorAll('#startDate, #endDate, #dataType, #paymentMethod');
            const amountInputs = document.querySelectorAll('#minAmount, #maxAmount, #thresholdDataType, #thresholdPaymentMethod');
            const categoryInputs = document.querySelectorAll('#selectedCategories, #categoryDataType');
            
            const isCustom = option === 'custom_date_range';
            const isAmount = option === 'amount_threshold';
            const isCategory = option === 'category_specific';
            
            // Handle date range inputs
            dateInputs.forEach(input => {
                input.disabled = !isCustom;
                if (isCustom) {
                    if (input.id === 'startDate' || input.id === 'endDate') {
                        input.required = true;
                    }
                } else {
                    if (input.id === 'startDate' || input.id === 'endDate') {
                        input.required = false;
                    }
                }
            });
            
            // Handle amount threshold inputs
            amountInputs.forEach(input => {
                input.disabled = !isAmount;
                if (isAmount) {
                    if (input.id === 'minAmount' || input.id === 'maxAmount') {
                        input.required = true;
                    }
                } else {
                    if (input.id === 'minAmount' || input.id === 'maxAmount') {
                        input.required = false;
                    }
                }
            });
            
            // Handle category specific inputs
            categoryInputs.forEach(input => {
                input.disabled = !isCategory;
                if (isCategory) {
                    if (input.id === 'selectedCategories') {
                        input.required = true;
                    }
                } else {
                    if (input.id === 'selectedCategories') {
                        input.required = false;
                    }
                }
            });
            
            // Enable reset button if an option is selected
            updateResetButton();
        }
        
        function updateResetButton() {
            const resetType = document.getElementById('resetType').value;
            const confirmText = document.getElementById('confirmText').value;
            const resetButton = document.getElementById('resetButton');
            
            if (resetType && confirmText === 'RESET_ALL_DATA') {
                resetButton.disabled = false;
            } else {
                resetButton.disabled = true;
            }
        }
        
        // Update button state when confirmation text changes
        document.getElementById('confirmText').addEventListener('input', updateResetButton);
        
        // Form submission validation
        document.getElementById('resetForm').addEventListener('submit', function(e) {
            const resetType = document.getElementById('resetType').value;
            const confirmText = document.getElementById('confirmText').value;
            
            if (!resetType) {
                e.preventDefault();
                alert('দয়া করে একটি রিসেট অপশন নির্বাচন করুন');
                return;
            }
            
            if (confirmText !== 'RESET_ALL_DATA') {
                e.preventDefault();
                alert('দয়া করে নিশ্চিতকরণ টেক্সট সঠিকভাবে লিখুন');
                return;
            }
            
            if (!confirm('আপনি কি নিশ্চিত? এই অপারেশনটি ডেটা স্থায়ীভাবে মুছে ফেলবে!')) {
                e.preventDefault();
            }
        });
    </script>
</body>
</html>