<?php
// services/procesar_anticipo.php
ob_start();
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(E_ALL);
header('Content-Type: application/json; charset=utf-8');
session_start();

// Verificación de sesión
if (empty($_SESSION['user_id'])) {
    ob_end_clean();
    echo json_encode(['success' => false, 'message' => 'Sesión expirada. Por favor, vuelva a iniciar sesión.']);
    exit;
}

// Incluir el modelo consolidado
require_once '../models/model_agenda.php';

$id_agenda = $_POST['id_agenda'] ?? null;
$monto_pago = $_POST['monto_pago'] ?? null;

// Verificación de datos
if (!$id_agenda || !is_numeric($monto_pago) || $monto_pago <= 0) {
    ob_end_clean();
    echo json_encode(['success' => false, 'message' => 'Datos incompletos o incorrectos.']);
    exit;
}

try {
    // Instanciar el modelo que contiene la lógica de base de datos
    $agendaModel = new AgendaModel();
    
    // Llamar al método del modelo para registrar el anticipo
    $result = $agendaModel->registrarAnticipo($id_agenda, $monto_pago);

    ob_end_clean();
    echo json_encode($result);

} catch (Exception $e) {
    ob_end_clean();
    error_log("Error en procesar_anticipo.php: " . $e->getMessage());
    echo json_encode(['success' => false, 'message' => 'Error al procesar el pago. Por favor, intente de nuevo.']);
}
?>