<?php
require_once("../config/conexion.php");
require_once("../models/Agenda.php");

$agenda = new Agenda();

switch ($_GET["op"]) {

case "guardar":
        // AsegÃƒÂºrate de que todos los campos estÃƒÂ©n presentes
        if (!isset($_POST["fic_id"], $_POST["fec_session"], $_POST["hora"], $_POST["minuto"], $_POST["valor"], $_POST["id_colab"],$_POST["id_prof"])) {
            echo json_encode(["success" => false, "msg" => "Faltan datos"]);
            exit;
        }

        $fic_id = $_POST["fic_id"];
        $fecha = $_POST["fec_session"];
        $hora = intval($_POST["hora"]);
        $minuto = intval($_POST["minuto"]);
        $id_prof  = $_POST["id_prof"];
        $id_colab = $_POST["id_colab"];
        $valor = $_POST["valor"];
        $resultado = $agenda->insertar_agenda($fic_id, $fecha, $hora, $minuto, $id_prof,$id_colab,$valor,$id_prof);

        echo json_encode($resultado);
    break;

case "listar_colab":
     
        $id_colab = $_SESSION["id_colab"] ?? 0;

        $datos = $agenda->get_agenda_x_colab($id_colab);
        $data = [];
        $meses = [
        '01' => 'Enero',
        '02' => 'Febrero',
        '03' => 'Marzo',
        '04' => 'Abril',
        '05' => 'Mayo',
        '06' => 'Junio',
        '07' => 'Julio',
        '08' => 'Agosto',
        '09' => 'Septiembre',
        '10' => 'Octubre',
        '11' => 'Noviembre',
        '12' => 'Diciembre',
            ];

        foreach ($datos as $row) {

                $fecha = $row["fec_session"]; // formato YYYY-MM-DD
                $anio = substr($fecha, 0, 4);
                $mes = substr($fecha, 5, 2);
                $dia = substr($fecha, 8, 2);

                $fecha_formateada = $dia . ' de ' . $meses[$mes] . ' de ' . $anio;
                $hora = $row["hora_session"];  // ejemplo: "14:30:45"
                $hora_sin_segundos = substr($hora, 0, 5);

            $sub_array = [];
            $sub_array[] = $row["fic_id"];
            $sub_array[] = $row["fic_nom"];
            $sub_array[] = $row["fic_run"];
            $sub_array[] = $fecha_formateada;
            $sub_array[] = $hora_sin_segundos;
        // $sub_array[] = '<button type="button" onClick="editar('.$row["id_agenda"].')" class="btn btn-warning btn-xs">Editar</button>';
        // $sub_array[] = '<button type="button" onClick="eliminar('.$row["id_agenda"].')" class="btn btn-danger btn-xs">Eliminar</button>';
            $data[] = $sub_array;
        }

        echo json_encode([
            "sEcho" => 1,
            "iTotalRecords" => count($data),
            "iTotalDisplayRecords" => count($data),
            "aaData" => $data
        ]);
    break;

    case "listar":
        $id_colab = isset($_POST["id_colab"]) ? intval($_POST["id_colab"]) : 0;
        $draw = isset($_POST["draw"]) ? intval($_POST["draw"]) : 0;

        if ($id_colab > 0) {
            $datos = $agenda->get_agenda_x_colab($id_colab);
        } else {
            $datos = [];
        }

        $data = [];
        $meses = [
            '01' => 'Enero', '02' => 'Febrero', '03' => 'Marzo',
            '04' => 'Abril',  '05' => 'Mayo',    '06' => 'Junio',
            '07' => 'Julio',  '08' => 'Agosto',  '09' => 'Septiembre',
            '10' => 'Octubre','11' => 'Noviembre','12' => 'Diciembre',
        ];

        foreach ($datos as $row) {
            $fecha = $row["fec_session"];
            $anio = substr($fecha, 0, 4);
            $mes = substr($fecha, 5, 2);
            $dia = substr($fecha, 8, 2);
        
            $fecha_formateada = $dia . ' de ' . $meses[$mes] . ' de ' . $anio;
            $hora = $row["hora_session"];
            $hora_sin_segundos = substr($hora, 0, 5);
        
            $sub_array = [];
            $sub_array[] = $row["fic_nom"];
            $sub_array[] = $row["fic_run"];
            $sub_array[] = $fecha_formateada;
            $sub_array[] = $hora_sin_segundos;
            $sub_array[] = $row["valor_session"];
            $sub_array[] = $row["valor_colab"];
            $sub_array[] = '<input type="text" class="form-control" id="age_pago" name="age_pago" value="'.$row["comprobante"].'" readonly>';
        
            if ($row["estado"] == 3) {
                // Estado 3 → Pagado
                $sub_array[] = '<button type="button" class="btn btn-secondary btn-xs" disabled>Pagado</button>';
            
            } elseif ($row["estado"] == 2) {
                // Estado 2 → Mostrar botón para pagar
                $sub_array[] = '<button type="button" onClick="pagar('.$row["id_agenda"].')" class="btn btn-warning btn-xs">Pagar</button>';
            
            } elseif ($row["estado"] == 1) {
                // Estado 1 → Acción adicional (puedes modificar este bloque)
               $sub_array[] = '<button type="button" class="btn btn-secondary btn-xs" disabled>Confirmar</button>';
            
            } else {
                // Opcional: si no es ninguno de los anteriores
                $sub_array[] = '<button type="button" class="btn btn-light btn-xs" disabled>Desconocido</button>';
            }

        
            $sub_array[] = '<button type="button" onClick="eliminar('.$row["id_agenda"].')" class="btn btn-danger btn-xs">Eliminar</button>';
        
            $data[] = $sub_array;
        }


        echo json_encode([
            "draw" => $draw,
            "recordsTotal" => count($data),
            "recordsFiltered" => count($data),
            "data" => $data
        ]);
    break;

case "listar_informe":
    $fic_id = isset($_POST["fic_id"]) ? intval($_POST["fic_id"]) : 0;
    $mes = isset($_POST["mes"]) ? intval($_POST["mes"]) : 0;
    $anio = isset($_POST["anio"]) ? intval($_POST["anio"]) : 0;
    $draw = isset($_POST["draw"]) ? intval($_POST["draw"]) : 0;

    if ($fic_id > 0) {
        $datos = $agenda->get_agenda_informe($fic_id, $mes, $anio);
    } else {
        $datos = [];
    }

    $data = [];
    $meses = [
        '01' => 'Enero', '02' => 'Febrero', '03' => 'Marzo',
        '04' => 'Abril', '05' => 'Mayo', '06' => 'Junio',
        '07' => 'Julio', '08' => 'Agosto', '09' => 'Septiembre',
        '10' => 'Octubre', '11' => 'Noviembre', '12' => 'Diciembre',
    ];

    foreach ($datos as $row) {
        $fecha = $row["fec_session"];
        $anio = substr($fecha, 0, 4);
        $mes = substr($fecha, 5, 2);
        $dia = substr($fecha, 8, 2);

        $fecha_formateada = $dia . ' de ' . $meses[$mes] . ' de ' . $anio;
        $hora = $row["hora_session"];
        $hora_sin_segundos = substr($hora, 0, 5);

        // ðŸ‘‡ Nuevo campo "estado_pago"
        $estado_pago = ($row["estado"] == 3) ? "Pagada" : "No Pagada";

        $sub_array = [
            "especialidad" => $row["nombre_prof"],
            "fecha"        => $fecha_formateada,
            "hora"         => $hora_sin_segundos,
            "valor"        => $row["valor_session"],
            "estado_pago"  => $estado_pago, 
            "apo_nombre"   => $row["apo_nombre"] ?? "",
            "apo_email"    => $row["apo_email"] ?? ""
        ];
        $data[] = $sub_array;
    }

    echo json_encode([
        "draw" => $draw,
        "recordsTotal" => count($data),
        "recordsFiltered" => count($data),
        "data" => $data
    ]);
    break;


case "eliminar":
    $id_agenda = $_POST['id_agenda'] ?? null;

    error_log("ID recibido para eliminar: " . $id_agenda);
    if ( $id_agenda !== null) {


        $datos = $agenda->eliminar($id_agenda);

        if ($datos) {
            echo json_encode(['success' => true]);
        } else {
            echo json_encode(['success' => false, 'error' => 'No se pudo eliminar']);
        }
        exit;
        }

        echo json_encode(['success' => false, 'error' => 'PeticiÃƒÂ³n invÃƒÂ¡lida']);
    break;
    
case "pagar":
    $id_agenda = $_POST['id_agenda'] ?? null;
    $comprobante = $_POST['comprobante'] ?? null;

    if ($id_agenda !== null && $comprobante !== null) {
        $resultado = $agenda->pagar($id_agenda, $comprobante);

        if ($resultado) {
            echo json_encode(['success' => true]);
        } else {
            echo json_encode(['success' => false, 'error' => 'No se pudo registrar el pago']);
        }
    } else {
        echo json_encode(['success' => false, 'error' => 'Datos incompletos']);
    }
    break;
    
case "listar_calendario":
    $id_colab = $_POST["id_colab"] ?? 0;

    if ($id_colab == 0) {
        echo json_encode([]);
        exit;
    }

    $datos = $agenda->get_agenda_x_colab($id_colab);

    $eventos = [];

    foreach ($datos as $row) {
        $eventos[] = [
            "id" => $row["id_agenda"],
            "title" => $row["fic_nom"],
            "start" => $row["fec_session"] . "T" . substr($row["hora_session"], 0, 5),

            "color" => (
                $row["estado"] == 1 ? "#dc3545" : (
                $row["estado"] == 2 ? "#ffc107" : (
                $row["estado"] == 3 ? "#28a745" : "#6c757d"
            ))),

            "textColor" => "white",

            "extendedProps" => [
                "estado" => $row["estado"],
                "valor" => $row["valor_session"],
                "colaborador" => $row["nombre_colab"]
            ]
        ];
    }

    echo json_encode($eventos);
    break;

case 'confirmar_evento':
    try {
        // Asegúrate de que el JS envía correctamente "id_agenda"
        if (!isset($_POST['id_agenda'])) {
            throw new Exception("Falta el id del evento.");
        }

        $id_agenda = $_POST['id_agenda'];

 

        $resultado = $agenda->confirmar_evento($id_agenda);

        if ($resultado) {
            echo json_encode(["status" => "ok"]);
        } else {
            echo json_encode(["status" => "error", "message" => "No se pudo confirmar el evento."]);
        }
    } catch (Exception $e) {
        http_response_code(500);
        echo json_encode(["status" => "error", "message" => $e->getMessage()]);
    }
break;




}