<?php
include_once 'config/database.php';
include_once 'includes/header.php';

$database = new Database();
$conn = $database->getConnection();

// Obtener la empresa del usuario logueado
$codempresaUsuario = null;
$stmt_empresa = $conn->prepare("SELECT codempresa FROM templeado WHERE codempleado = ?");
$stmt_empresa->execute([$_SESSION['user']['codempleado']]);
$resultado_empresa = $stmt_empresa->fetch(PDO::FETCH_ASSOC);
if ($resultado_empresa) {
    $codempresaUsuario = $resultado_empresa['codempresa'];
}

// Obtener parámetros de filtro
$mes = isset($_GET['mes']) ? $_GET['mes'] : date('n'); // Mes actual por defecto
$ano = isset($_GET['ano']) ? intval($_GET['ano']) : date('Y'); // Año actual por defecto
$nro_pago = isset($_GET['nro_pago']) ? trim($_GET['nro_pago']) : ''; // Filtro de número de pago
$estado_filtro = isset($_GET['estado']) ? trim($_GET['estado']) : ''; // Filtro de estado
$search = isset($_GET['search']) ? trim($_GET['search']) : ''; // Filtro de búsqueda
$page = isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1;
$records_per_page = isset($_GET['per_page']) ? max(10, min(100, intval($_GET['per_page']))) : 20;
$offset = ($page - 1) * $records_per_page;

// Validar mes y año
$todos_los_meses = ($mes === 'todos');
if (!$todos_los_meses) {
    $mes = intval($mes);
    if ($mes < 1 || $mes > 12) {
        $mes = date('n');
    }
}
if ($ano < 2020 || $ano > 2030) {
    $ano = date('Y');
}

try {
    // Count total records for pagination
    $count_query = "SELECT COUNT(*) as total 
                    FROM tcronogramaventas c 
                    INNER JOIN timportventas e ON c.id = e.id 
                    WHERE YEAR(c.fechapago) = ?";
    $count_params = [$ano];
    
    // Filtrar por empresa del usuario logueado
    if ($codempresaUsuario) {
        $count_query .= " AND e.codempresa = ?";
        $count_params[] = $codempresaUsuario;
    }
    
    // Agregar filtro de mes si no es "todos"
    if (!$todos_los_meses) {
        $count_query .= " AND MONTH(c.fechapago) = ?";
        $count_params[] = $mes;
    }
    
    // Agregar filtro de número de pago si está seleccionado
    if ($nro_pago) {
        $count_query .= " AND c.nropago = ?";
        $count_params[] = $nro_pago;
    }
    
    // Agregar filtro de estado si está seleccionado
    if ($estado_filtro) {
        $count_query .= " AND c.estado = ?";
        $count_params[] = $estado_filtro;
    }
    
    // Agregar filtro de búsqueda si está especificado
    if ($search) {
        $count_query .= " AND (e.nombres_ap_raz_soc LIKE ? OR e.nro_documento LIKE ?)";
        $searchTerm = "%{$search}%";
        $count_params[] = $searchTerm;
        $count_params[] = $searchTerm;
    }
    
    $count_stmt = $conn->prepare($count_query);
    $count_stmt->execute($count_params);
    $total_records = $count_stmt->fetch(PDO::FETCH_ASSOC)['total'];
    $total_pages = ceil($total_records / $records_per_page);
    
    // Ensure page is within valid range
    if ($page > $total_pages && $total_pages > 0) {
        $page = $total_pages;
        $offset = ($page - 1) * $records_per_page;
    }
    
    // Fetch cronograma records for current page
    $query = "SELECT c.*, e.nombres_ap_raz_soc, e.tipo_documento, e.nro_documento, 
                     e.correo, e.celular, e.agente, e.estado as estado_venta,
                     e.paquete_contratado, e.tecnologia, e.cargo_fijo,
                     e.departamento, e.provincia, e.distrito, e.direccion,
                     e.sec, e.fecha_instalacion, e.tipo_venta, e.tecnologia,
                     c.monto as monto_calculado
              FROM tcronogramaventas c 
              INNER JOIN timportventas e ON c.id = e.id 
              WHERE YEAR(c.fechapago) = ?";
    $params = [$ano];
    
    // Filtrar por empresa del usuario logueado
    if ($codempresaUsuario) {
        $query .= " AND e.codempresa = ?";
        $params[] = $codempresaUsuario;
    }
    
    // Agregar filtro de mes si no es "todos"
    if (!$todos_los_meses) {
        $query .= " AND MONTH(c.fechapago) = ?";
        $params[] = $mes;
    }
    
    // Agregar filtro de número de pago si está seleccionado
    if ($nro_pago) {
        $query .= " AND c.nropago = ?";
        $params[] = $nro_pago;
    }
    
    // Agregar filtro de estado si está seleccionado
    if ($estado_filtro) {
        $query .= " AND c.estado = ?";
        $params[] = $estado_filtro;
    }
    
    // Agregar filtro de búsqueda si está especificado
    if ($search) {
        $query .= " AND (e.nombres_ap_raz_soc LIKE ? OR e.nro_documento LIKE ?)";
        $searchTerm = "%{$search}%";
        $params[] = $searchTerm;
        $params[] = $searchTerm;
    }
    
    $query .= " ORDER BY c.fechapago ASC, c.nropago ASC 
                LIMIT " . intval($records_per_page) . " OFFSET " . intval($offset);
    
    $stmt = $conn->prepare($query);
    $stmt->execute($params);
    $cuotas = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    // Obtener estadísticas del mes
    $stats_query = "SELECT 
                        COUNT(*) as total_cuotas,
                        SUM(CASE WHEN c.estado = 'PAGADO' THEN 1 ELSE 0 END) as cuotas_pagadas,
                        SUM(CASE WHEN c.estado = 'PENDIENTE' THEN 1 ELSE 0 END) as cuotas_pendientes,
                        SUM(CASE WHEN c.estado = 'PAGADO' THEN c.monto ELSE 0 END) as monto_pagado,
                        SUM(CASE WHEN c.estado = 'PENDIENTE' THEN c.monto ELSE 0 END) as monto_pendiente,
                        SUM(c.monto) as monto_total
                    FROM tcronogramaventas c 
                    INNER JOIN timportventas e ON c.id = e.id
                    WHERE YEAR(c.fechapago) = ?";
    $stats_params = [$ano];
    
    // Filtrar por empresa del usuario logueado
    if ($codempresaUsuario) {
        $stats_query .= " AND e.codempresa = ?";
        $stats_params[] = $codempresaUsuario;
    }
    
    // Agregar filtro de mes si no es "todos"
    if (!$todos_los_meses) {
        $stats_query .= " AND MONTH(c.fechapago) = ?";
        $stats_params[] = $mes;
    }
    
    // Agregar filtro de número de pago si está seleccionado
    if ($nro_pago) {
        $stats_query .= " AND c.nropago = ?";
        $stats_params[] = $nro_pago;
    }
    
    // Agregar filtro de estado si está seleccionado
    if ($estado_filtro) {
        $stats_query .= " AND c.estado = ?";
        $stats_params[] = $estado_filtro;
    }
    
    // Agregar filtro de búsqueda si está especificado
    if ($search) {
        $stats_query .= " AND (e.nombres_ap_raz_soc LIKE ? OR e.nro_documento LIKE ?)";
        $searchTerm = "%{$search}%";
        $stats_params[] = $searchTerm;
        $stats_params[] = $searchTerm;
    }
    
    $stats_stmt = $conn->prepare($stats_query);
    $stats_stmt->execute($stats_params);
    $estadisticas = $stats_stmt->fetch(PDO::FETCH_ASSOC);
    
} catch(PDOException $e) {
    $_SESSION['error'] = "Error al obtener los datos: " . $e->getMessage();
    $cuotas = [];
    $total_records = 0;
    $total_pages = 0;
    $page = 1;
    $estadisticas = [
        'total_cuotas' => 0,
        'cuotas_pagadas' => 0,
        'cuotas_pendientes' => 0,
        'monto_pagado' => 0,
        'monto_pendiente' => 0,
        'monto_total' => 0
    ];
}

// Nombres de los meses
$meses = [
    1 => 'Enero', 2 => 'Febrero', 3 => 'Marzo', 4 => 'Abril',
    5 => 'Mayo', 6 => 'Junio', 7 => 'Julio', 8 => 'Agosto',
    9 => 'Septiembre', 10 => 'Octubre', 11 => 'Noviembre', 12 => 'Diciembre'
];
?>

<div class="col-md-10 p-4">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <div>
            <h2><i class="fas fa-chart-line"></i> Reporte de Pagos por Mes Fija</h2>
            <small class="text-muted">
                <?php 
                if ($todos_los_meses) {
                    echo 'Todos los meses de ' . $ano;
                } else {
                    echo $meses[$mes] . ' ' . $ano;
                }
                ?> | 
                Total: <?php echo number_format($total_records); ?> cuotas encontradas | 
                Página <?php echo $page; ?> de <?php echo $total_pages; ?>
            </small>
        </div>
        <div>
            <button type="button" class="btn btn-success" onclick="exportarReporte()">
                <i class="fas fa-file-excel"></i> Exportar Excel
            </button>
        </div>
    </div>

    <?php if (isset($_SESSION['success'])): ?>
        <div class="alert alert-success">
            <?php 
            echo $_SESSION['success']; 
            unset($_SESSION['success']);
            ?>
        </div>
    <?php endif; ?>

    <?php if (isset($_SESSION['error'])): ?>
        <div class="alert alert-danger">
            <?php 
            echo $_SESSION['error']; 
            unset($_SESSION['error']);
            ?>
        </div>
    <?php endif; ?>

    <!-- Filtros -->
    <div class="card mb-4">
        <div class="card-header">
            <h5 class="mb-0"><i class="fas fa-filter"></i> Filtros de Búsqueda</h5>
        </div>
        <div class="card-body">
            <form method="GET" action="reportecuotaspormesfija.php" class="row g-3 align-items-end">
                <div class="col-md-2">
                    <label class="form-label">Mes</label>
                    <select name="mes" class="form-select" required>
                        <option value="todos" <?php echo ($mes === 'todos') ? 'selected' : ''; ?>>
                            Todos los meses
                        </option>
                        <?php for ($i = 1; $i <= 12; $i++): ?>
                            <option value="<?php echo $i; ?>" <?php echo ($i == $mes) ? 'selected' : ''; ?>>
                                <?php echo $meses[$i]; ?>
                            </option>
                        <?php endfor; ?>
                    </select>
                </div>
                <div class="col-md-2">
                    <label class="form-label">Año</label>
                    <select name="ano" class="form-select" required>
                        <?php for ($i = date('Y') - 2; $i <= date('Y') + 2; $i++): ?>
                            <option value="<?php echo $i; ?>" <?php echo ($i == $ano) ? 'selected' : ''; ?>>
                                <?php echo $i; ?>
                            </option>
                        <?php endfor; ?>
                    </select>
                </div>
                <div class="col-md-2">
                    <label class="form-label">Nro. Pago</label>
                    <select name="nro_pago" class="form-select">
                        <option value="">Todos</option>
                        <?php 
                        // Obtener números de pago únicos para el mes y año seleccionados
                        $nro_pago_filtro = isset($_GET['nro_pago']) ? $_GET['nro_pago'] : '';
                        try {
                            $nro_pago_query = "SELECT DISTINCT c.nropago 
                                              FROM tcronogramaventas c 
                                              INNER JOIN timportventas e ON c.id = e.id 
                                              WHERE YEAR(c.fechapago) = ?";
                            $nro_pago_params = [$ano];
                            
                            // Filtrar por empresa del usuario logueado
                            if ($codempresaUsuario) {
                                $nro_pago_query .= " AND e.codempresa = ?";
                                $nro_pago_params[] = $codempresaUsuario;
                            }
                            
                            // Agregar filtro de mes si no es "todos"
                            if (!$todos_los_meses) {
                                $nro_pago_query .= " AND MONTH(c.fechapago) = ?";
                                $nro_pago_params[] = $mes;
                            }
                            
                            $nro_pago_query .= " AND c.nropago IS NOT NULL AND c.nropago != ''
                                              ORDER BY c.nropago ASC";
                            
                            $nro_pago_stmt = $conn->prepare($nro_pago_query);
                            $nro_pago_stmt->execute($nro_pago_params);
                            $nro_pagos = $nro_pago_stmt->fetchAll(PDO::FETCH_ASSOC);
                            
                            foreach ($nro_pagos as $nro_pago): ?>
                                <option value="<?php echo htmlspecialchars($nro_pago['nropago']); ?>" 
                                        <?php echo ($nro_pago_filtro == $nro_pago['nropago']) ? 'selected' : ''; ?>>
                                    <?php echo htmlspecialchars($nro_pago['nropago']); ?>
                                </option>
                            <?php endforeach;
                        } catch(PDOException $e) {
                            // Si hay error, no mostrar opciones
                        }
                        ?>
                    </select>
                </div>
                <div class="col-md-2">
                    <label class="form-label">Estado</label>
                    <select name="estado" class="form-select">
                        <option value="">Todos</option>
                        <?php 
                        // Obtener estados únicos para el mes y año seleccionados
                        $estado_filtro_actual = isset($_GET['estado']) ? $_GET['estado'] : '';
                        try {
                            $estado_query = "SELECT DISTINCT c.estado 
                                              FROM tcronogramaventas c 
                                              INNER JOIN timportventas e ON c.id = e.id 
                                              WHERE YEAR(c.fechapago) = ?";
                            $estado_params = [$ano];
                            
                            // Filtrar por empresa del usuario logueado
                            if ($codempresaUsuario) {
                                $estado_query .= " AND e.codempresa = ?";
                                $estado_params[] = $codempresaUsuario;
                            }
                            
                            // Agregar filtro de mes si no es "todos"
                            if (!$todos_los_meses) {
                                $estado_query .= " AND MONTH(c.fechapago) = ?";
                                $estado_params[] = $mes;
                            }
                            
                            $estado_query .= " AND c.estado IS NOT NULL AND c.estado != ''
                                              ORDER BY c.estado ASC";
                            
                            $estado_stmt = $conn->prepare($estado_query);
                            $estado_stmt->execute($estado_params);
                            $estados = $estado_stmt->fetchAll(PDO::FETCH_ASSOC);
                            
                            foreach ($estados as $estado): ?>
                                <option value="<?php echo htmlspecialchars($estado['estado']); ?>" 
                                        <?php echo ($estado_filtro_actual == $estado['estado']) ? 'selected' : ''; ?>>
                                    <?php echo htmlspecialchars($estado['estado']); ?>
                                </option>
                            <?php endforeach;
                        } catch(PDOException $e) {
                            // Si hay error, no mostrar opciones
                        }
                        ?>
                    </select>
                </div>
                <div class="col-md-2">
                    <label class="form-label">Buscar Cliente</label>
                    <input type="text" name="search" class="form-control" 
                           placeholder="Nombres, apellidos o documento..." 
                           value="<?php echo htmlspecialchars($search); ?>">
                </div>
                <div class="col-md-1">
                    <label class="form-label">Registros por página</label>
                    <select name="per_page" class="form-select" onchange="this.form.submit()">
                        <option value="10" <?php echo ($records_per_page == 10) ? 'selected' : ''; ?>>10</option>
                        <option value="20" <?php echo ($records_per_page == 20) ? 'selected' : ''; ?>>20</option>
                        <option value="50" <?php echo ($records_per_page == 50) ? 'selected' : ''; ?>>50</option>
                        <option value="100" <?php echo ($records_per_page == 100) ? 'selected' : ''; ?>>100</option>
                    </select>
                </div>
                <div class="col-md-1">
                    <button type="submit" class="btn btn-primary w-100">
                        <i class="fas fa-search"></i> Buscar
                    </button>
                </div>
                <div class="col-md-1">
                    <a href="reportecuotaspormesfija.php" class="btn btn-secondary w-100">
                        <i class="fas fa-times"></i> Limpiar
                    </a>
                </div>
            </form>
        </div>
    </div>

    <!-- Estadísticas del Mes -->
    <div class="row mb-4">
        <div class="col-md-2">
            <div class="card text-center">
                <div class="card-body">
                    <h5 class="card-title text-primary"><?php echo number_format($estadisticas['total_cuotas']); ?></h5>
                    <p class="card-text">Total</p>
                </div>
            </div>
        </div>
        <div class="col-md-2">
            <div class="card text-center">
                <div class="card-body">
                    <h5 class="card-title text-success"><?php echo number_format($estadisticas['cuotas_pagadas']); ?></h5>
                    <p class="card-text">Pagadas</p>
                </div>
            </div>
        </div>
        <div class="col-md-2">
            <div class="card text-center">
                <div class="card-body">
                    <h5 class="card-title text-warning"><?php echo number_format($estadisticas['cuotas_pendientes']); ?></h5>
                    <p class="card-text">Pendientes</p>
                </div>
            </div>
        </div>
        <div class="col-md-2">
            <div class="card text-center">
                <div class="card-body">
                    <h5 class="card-title text-success">S/ <?php echo number_format($estadisticas['monto_pagado'], 2); ?></h5>
                    <p class="card-text">Monto Pagado</p>
                </div>
            </div>
        </div>
        <div class="col-md-2">
            <div class="card text-center">
                <div class="card-body">
                    <h5 class="card-title text-warning">S/ <?php echo number_format($estadisticas['monto_pendiente'], 2); ?></h5>
                    <p class="card-text">Monto Pendiente</p>
                </div>
            </div>
        </div>
        <div class="col-md-2">
            <div class="card text-center">
                <div class="card-body">
                    <h5 class="card-title text-info">S/ <?php echo number_format($estadisticas['monto_total'], 2); ?></h5>
                    <p class="card-text">Monto Total</p>
                </div>
            </div>
        </div>
    </div>

    <!-- Lista de Cuotas -->
    <div class="card mb-4">
        <div class="card-header">
            <h5 class="mb-0"><i class="fas fa-list"></i> Cuotas de <?php 
                if ($todos_los_meses) {
                    echo 'Todos los meses de ' . $ano;
                } else {
                    echo $meses[$mes] . ' ' . $ano;
                }
            ?></h5>
        </div>
        <div class="card-body">
            <div class="table-responsive">
                <table class="table table-striped">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <?php if ($todos_los_meses): ?>
                                <th>Mes</th>
                            <?php endif; ?>
                            <th>Cliente</th>
                            <th>Documento</th>
                            <th>Contacto</th>
                            <th>Agente</th>
                            <th>Nro. Pago</th>
                            <th>Fecha Pago</th>
                            <th>Monto</th>
                            <th>Estado</th>
                            <th>Fecha Pagado</th>
                            <th>Paquete</th>
                            <th>Tecnología</th>
                            <th>Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($cuotas as $cuota): ?>
                            <tr>
                                <td><?php echo $cuota['id']; ?></td>
                                <?php if ($todos_los_meses): ?>
                                    <td>
                                        <span class="badge bg-info">
                                            <?php echo $meses[date('n', strtotime($cuota['fechapago']))]; ?>
                                        </span>
                                    </td>
                                <?php endif; ?>
                                <td>
                                    <strong><?php echo htmlspecialchars($cuota['nombres_ap_raz_soc'] ?: '-'); ?></strong>
                                    <?php if ($cuota['correo']): ?>
                                        <br><small class="text-muted">✉ <?php echo htmlspecialchars($cuota['correo']); ?></small>
                                    <?php endif; ?>
                                    <?php if ($cuota['direccion']): ?>
                                        <br><small class="text-info">📍 <?php echo htmlspecialchars($cuota['direccion']); ?></small>
                                    <?php endif; ?>
                                </td>
                                <td>
                                    <?php echo htmlspecialchars($cuota['tipo_documento'] ?: '-'); ?>
                                    <br><strong><?php echo htmlspecialchars($cuota['nro_documento'] ?: '-'); ?></strong>
                                </td>
                                <td>
                                    <?php if ($cuota['celular']): ?>
                                        📱 <?php echo htmlspecialchars($cuota['celular']); ?>
                                    <?php else: ?>
                                        -
                                    <?php endif; ?>
                                </td>
                                <td>
                                    <span class="badge bg-info"><?php echo htmlspecialchars($cuota['agente'] ?: '-'); ?></span>
                                </td>
                                <td>
                                    <span class="badge bg-secondary"><?php echo $cuota['nropago'] ?: '-'; ?></span>
                                </td>
                                <td>
                                    <?php echo $cuota['fechapago'] ? date('d/m/Y', strtotime($cuota['fechapago'])) : '-'; ?>
                                </td>
                                <td>
                                    <strong>S/ <?php echo number_format($cuota['monto_calculado'], 2); ?></strong>
                                </td>
                                <td>
                                    <?php 
                                    $estadoClass = '';
                                    switch(strtoupper($cuota['estado'])) {
                                        case 'PAGADO':
                                            $estadoClass = 'bg-success';
                                            break;
                                        case 'PENDIENTE':
                                            $estadoClass = 'bg-warning';
                                            break;
                                        case 'VENCIDO':
                                            $estadoClass = 'bg-danger';
                                            break;
                                        default:
                                            $estadoClass = 'bg-secondary';
                                    }
                                    ?>
                                    <span class="badge <?php echo $estadoClass; ?>">
                                        <?php echo htmlspecialchars($cuota['estado'] ?: '-'); ?>
                                    </span>
                                </td>
                                <td>
                                    <?php echo $cuota['pagadofecha'] ? date('d/m/Y', strtotime($cuota['pagadofecha'])) : '-'; ?>
                                </td>
                                <td>
                                    <small><?php echo htmlspecialchars($cuota['paquete_contratado'] ?: '-'); ?></small>
                                </td>
                                <td>
                                    <span class="badge bg-dark"><?php echo htmlspecialchars($cuota['tecnologia'] ?: '-'); ?></span>
                                </td>
                                <td>
                                    <div class="btn-group" role="group">
                                        <button type="button" class="btn btn-sm btn-info" 
                                                onclick="verDetalles(<?php echo $cuota['id']; ?>, '<?php echo htmlspecialchars($cuota['nombres_ap_raz_soc']); ?>', '<?php echo htmlspecialchars($cuota['nro_documento']); ?>', '<?php echo htmlspecialchars($cuota['tipo_documento']); ?>', '<?php echo htmlspecialchars($cuota['correo']); ?>', '<?php echo htmlspecialchars($cuota['celular']); ?>', '<?php echo htmlspecialchars($cuota['agente']); ?>', '<?php echo htmlspecialchars($cuota['estado_venta']); ?>', '<?php echo htmlspecialchars($cuota['paquete_contratado']); ?>', '<?php echo htmlspecialchars($cuota['tecnologia']); ?>', '<?php echo htmlspecialchars($cuota['tipo_venta']); ?>', '<?php echo htmlspecialchars($cuota['departamento']); ?>', '<?php echo htmlspecialchars($cuota['provincia']); ?>', '<?php echo htmlspecialchars($cuota['distrito']); ?>', '<?php echo htmlspecialchars($cuota['direccion']); ?>', '<?php echo htmlspecialchars($cuota['sec']); ?>', '<?php echo $cuota['fecha_instalacion'] ? date('d/m/Y', strtotime($cuota['fecha_instalacion'])) : ''; ?>', '<?php echo htmlspecialchars($cuota['nropago']); ?>', '<?php echo $cuota['fechapago'] ? date('d/m/Y', strtotime($cuota['fechapago'])) : ''; ?>', '<?php echo number_format($cuota['monto_calculado'], 2); ?>', '<?php echo htmlspecialchars($cuota['estado']); ?>', '<?php echo $cuota['pagadofecha'] ? date('d/m/Y', strtotime($cuota['pagadofecha'])) : ''; ?>')">
                                            <i class="fas fa-eye"></i> Ver
                                        </button>
                                    </div>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
            
            <?php if (empty($cuotas)): ?>
                <div class="text-center py-4">
                    <i class="fas fa-search fa-3x text-muted mb-3"></i>
                    <p class="text-muted">No se encontraron cuotas para <?php 
                        if ($todos_los_meses) {
                            echo 'todos los meses de ' . $ano;
                        } else {
                            echo $meses[$mes] . ' ' . $ano;
                        }
                    ?></p>
                </div>
            <?php endif; ?>
            
            <!-- Pagination -->
            <?php if ($total_pages > 1): ?>
                <div class="d-flex justify-content-between align-items-center mt-4">
                    <div class="text-muted">
                        Mostrando <?php echo ($offset + 1); ?> - <?php echo min($offset + $records_per_page, $total_records); ?> 
                        de <?php echo $total_records; ?> registros
                    </div>
                    
                    <nav aria-label="Navegación de páginas">
                        <ul class="pagination pagination-sm mb-0">
                            <!-- First Page -->
                            <?php if ($page > 1): ?>
                                <li class="page-item">
                                    <a class="page-link" href="?<?php echo http_build_query(array_merge($_GET, ['page' => 1])); ?>" aria-label="Primera página">
                                        <i class="fas fa-angle-double-left"></i>
                                    </a>
                                </li>
                            <?php endif; ?>
                            
                            <!-- Previous Page -->
                            <?php if ($page > 1): ?>
                                <li class="page-item">
                                    <a class="page-link" href="?<?php echo http_build_query(array_merge($_GET, ['page' => $page - 1])); ?>" aria-label="Página anterior">
                                        <i class="fas fa-angle-left"></i>
                                    </a>
                                </li>
                            <?php endif; ?>
                            
                            <!-- Page Numbers -->
                            <?php
                            $start_page = max(1, $page - 2);
                            $end_page = min($total_pages, $page + 2);
                            
                            if ($start_page > 1): ?>
                                <li class="page-item disabled">
                                    <span class="page-link">...</span>
                                </li>
                            <?php endif; ?>
                            
                            <?php for ($i = $start_page; $i <= $end_page; $i++): ?>
                                <li class="page-item <?php echo ($i == $page) ? 'active' : ''; ?>">
                                    <a class="page-link" href="?<?php echo http_build_query(array_merge($_GET, ['page' => $i])); ?>">
                                        <?php echo $i; ?>
                                    </a>
                                </li>
                            <?php endfor; ?>
                            
                            <?php if ($end_page < $total_pages): ?>
                                <li class="page-item disabled">
                                    <span class="page-link">...</span>
                                </li>
                            <?php endif; ?>
                            
                            <!-- Next Page -->
                            <?php if ($page < $total_pages): ?>
                                <li class="page-item">
                                    <a class="page-link" href="?<?php echo http_build_query(array_merge($_GET, ['page' => $page + 1])); ?>" aria-label="Página siguiente">
                                        <i class="fas fa-angle-right"></i>
                                    </a>
                                </li>
                            <?php endif; ?>
                            
                            <!-- Last Page -->
                            <?php if ($page < $total_pages): ?>
                                <li class="page-item">
                                    <a class="page-link" href="?<?php echo http_build_query(array_merge($_GET, ['page' => $total_pages])); ?>" aria-label="Última página">
                                        <i class="fas fa-angle-double-right"></i>
                                    </a>
                                </li>
                            <?php endif; ?>
                        </ul>
                    </nav>
                </div>
            <?php endif; ?>
        </div>
    </div>
</div>

<!-- Modal Ver Detalles -->
<div class="modal fade" id="verDetallesModal" tabindex="-1" aria-labelledby="verDetallesModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header" style="background: linear-gradient(135deg, #1e5631, #2d7a3d); color: white;">
                <h5 class="modal-title" id="verDetallesModalLabel">
                    <i class="fas fa-home"></i> Detalles de Cuota Fija
                </h5>
                <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <div class="row">
                    <!-- Información del Cliente -->
                    <div class="col-md-6">
                        <div class="card mb-3" style="border: 1px solid #1e5631;">
                            <div class="card-header text-white" style="background: linear-gradient(135deg, #1e5631, #2d7a3d);">
                                <h6 class="mb-0"><i class="fas fa-user"></i> Información del Cliente</h6>
                            </div>
                            <div class="card-body">
                                <div class="mb-2">
                                    <strong><i class="fas fa-id-card" style="color: #1e5631;"></i> Nombre:</strong>
                                    <span id="det_nombre" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-id-badge" style="color: #1e5631;"></i> Documento:</strong>
                                    <span id="det_documento" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-envelope" style="color: #1e5631;"></i> Correo:</strong>
                                    <span id="det_correo" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-phone" style="color: #1e5631;"></i> Celular:</strong>
                                    <span id="det_celular" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-user-tie" style="color: #1e5631;"></i> Agente:</strong>
                                    <span id="det_agente" class="ms-2"></span>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- Información del Servicio -->
                    <div class="col-md-6">
                        <div class="card mb-3" style="border: 1px solid #2d7a3d;">
                            <div class="card-header text-white" style="background: linear-gradient(135deg, #2d7a3d, #3d8b4d);">
                                <h6 class="mb-0"><i class="fas fa-cogs"></i> Información del Servicio</h6>
                            </div>
                            <div class="card-body">
                                <div class="mb-2">
                                    <strong><i class="fas fa-chart-line" style="color: #2d7a3d;"></i> Estado:</strong>
                                    <span id="det_estado" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-home" style="color: #2d7a3d;"></i> Paquete:</strong>
                                    <span id="det_paquete" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-wifi" style="color: #2d7a3d;"></i> Tecnología:</strong>
                                    <span id="det_tecnologia" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-shopping-cart" style="color: #2d7a3d;"></i> Tipo Venta:</strong>
                                    <span id="det_tipo_venta" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-calendar-day" style="color: #2d7a3d;"></i> Instalación:</strong>
                                    <span id="det_instalacion" class="ms-2"></span>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- Información de Ubicación -->
                    <div class="col-md-6">
                        <div class="card mb-3" style="border: 1px solid #3d8b4d;">
                            <div class="card-header text-white" style="background: linear-gradient(135deg, #3d8b4d, #4d9b5d);">
                                <h6 class="mb-0"><i class="fas fa-map-marker-alt"></i> Ubicación</h6>
                            </div>
                            <div class="card-body">
                                <div class="mb-2">
                                    <strong><i class="fas fa-map" style="color: #3d8b4d;"></i> Departamento:</strong>
                                    <span id="det_departamento" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-map-pin" style="color: #3d8b4d;"></i> Provincia:</strong>
                                    <span id="det_provincia" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-map-signs" style="color: #3d8b4d;"></i> Distrito:</strong>
                                    <span id="det_distrito" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-home" style="color: #3d8b4d;"></i> Dirección:</strong>
                                    <span id="det_direccion" class="ms-2"></span>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- Información de Pago -->
                    <div class="col-md-6">
                        <div class="card mb-3" style="border: 1px solid #4d9b5d;">
                            <div class="card-header text-white" style="background: linear-gradient(135deg, #4d9b5d, #5dab6d);">
                                <h6 class="mb-0"><i class="fas fa-credit-card"></i> Información de Pago</h6>
                            </div>
                            <div class="card-body">
                                <div class="mb-2">
                                    <strong><i class="fas fa-hashtag" style="color: #4d9b5d;"></i> Nro. Pago:</strong>
                                    <span id="det_nro_pago" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-calendar-check" style="color: #4d9b5d;"></i> Fecha Pago:</strong>
                                    <span id="det_fecha_pago" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-money-bill" style="color: #4d9b5d;"></i> Monto:</strong>
                                    <span id="det_monto" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-flag-checkered" style="color: #4d9b5d;"></i> Estado:</strong>
                                    <span id="det_estado_pago" class="ms-2"></span>
                                </div>
                                <div class="mb-2">
                                    <strong><i class="fas fa-calendar-plus" style="color: #4d9b5d;"></i> Fecha Pagado:</strong>
                                    <span id="det_fecha_pagado" class="ms-2"></span>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
                    <i class="fas fa-times"></i> Cerrar
                </button>
            </div>
        </div>
    </div>
</div>


<script>
function verDetalles(ventaId, nombre, documento, tipoDocumento, correo, celular, agente, estado, paquete, tecnologia, tipoVenta, departamento, provincia, distrito, direccion, sec, fechaInstalacion, nroPago, fechaPago, monto, estadoPago, fechaPagado) {
    // Populate modal fields
    document.getElementById('det_nombre').textContent = nombre || '-';
    document.getElementById('det_documento').textContent = (tipoDocumento ? tipoDocumento + ': ' : '') + (documento || '-');
    document.getElementById('det_correo').textContent = correo || '-';
    document.getElementById('det_celular').textContent = celular || '-';
    document.getElementById('det_agente').textContent = agente || '-';
    
    document.getElementById('det_estado').textContent = estado || '-';
    document.getElementById('det_paquete').textContent = paquete || '-';
    document.getElementById('det_tecnologia').textContent = tecnologia || '-';
    document.getElementById('det_tipo_venta').textContent = tipoVenta || '-';
    document.getElementById('det_instalacion').textContent = fechaInstalacion || '-';
    
    document.getElementById('det_departamento').textContent = departamento || '-';
    document.getElementById('det_provincia').textContent = provincia || '-';
    document.getElementById('det_distrito').textContent = distrito || '-';
    document.getElementById('det_direccion').textContent = direccion || '-';
    
    document.getElementById('det_nro_pago').textContent = nroPago || '-';
    document.getElementById('det_fecha_pago').textContent = fechaPago || '-';
    document.getElementById('det_monto').textContent = 'S/ ' + (monto || '0.00');
    document.getElementById('det_estado_pago').textContent = estadoPago || '-';
    document.getElementById('det_fecha_pagado').textContent = fechaPagado || '-';
    
    // Show modal
    new bootstrap.Modal(document.getElementById('verDetallesModal')).show();
}


function exportarReporte() {
    const params = new URLSearchParams(window.location.search);
    const url = 'export_cuotas_mes_fija.php?' + params.toString();
    window.location.href = url;
}

// Auto-submit form when per_page changes
const perPageSelect = document.querySelector('select[name="per_page"]');
if (perPageSelect) {
    perPageSelect.addEventListener('change', function() {
        // Reset to page 1 when changing records per page
        const pageInput = document.createElement('input');
        pageInput.type = 'hidden';
        pageInput.name = 'page';
        pageInput.value = '1';
        this.form.appendChild(pageInput);
        this.form.submit();
    });
}
</script>

<?php
include_once 'includes/footer.php';
?>
