<?php
header('Content-Type: application/json');
require_once '../db/conexion.php';

$cp = isset($_GET['cp']) ? trim($_GET['cp']) : '';
if ($cp === '' || !is_numeric($cp)) {
    echo json_encode(['success' => false, 'message' => 'CP inválido']);
    exit;
}

if (!isset($conn) || !$conn) {
    echo json_encode(['success' => false, 'message' => 'Error de conexión a BD']);
    exit;
}

$cp = intval($cp);
$sql = "SELECT clave_estado, estado, clave_municipio, municipio
        FROM codigos_postales
        WHERE (? BETWEEN rango1_inicio AND rango1_fin)
        LIMIT 1";
$stmt = $conn->prepare($sql);
$stmt->bind_param('i', $cp);
$stmt->execute();
$result = $stmt->get_result();

if ($row = $result->fetch_assoc()) {
    echo json_encode([
        'success' => true,
        'clave_estado' => $row['clave_estado'],
        'estado' => $row['estado'],
        'clave_municipio' => $row['clave_municipio'],
        'municipio' => $row['municipio']
    ]);
    $stmt->close();
    $conn->close();
    exit;
}

// Si no encontró en rango1, buscar en rango2
$sql2 = "SELECT clave_estado, estado, clave_municipio, municipio
        FROM codigos_postales
        WHERE (? BETWEEN rango2_inicio AND rango2_fin)
        LIMIT 1";
$stmt2 = $conn->prepare($sql2);
$stmt2->bind_param('i', $cp);
$stmt2->execute();
$result2 = $stmt2->get_result();

if ($row2 = $result2->fetch_assoc()) {
    echo json_encode([
        'success' => true,
        'clave_estado' => $row2['clave_estado'],
        'estado' => $row2['estado'],
        'clave_municipio' => $row2['clave_municipio'],
        'municipio' => $row2['municipio']
    ]);
    $stmt2->close();
    $conn->close();
    exit;
}

$stmt2->close();
$conn->close();
echo json_encode(['success' => false, 'message' => 'No se encontró información para el CP']);
