<?php
header('Content-Type: application/json');

// Solo procesar peticiones POST
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    // Obtener y sanitizar datos
    $nombre = strip_tags(trim($_POST["nombre"]));
    $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
    $telefono = strip_tags(trim($_POST["telefono"]));
    $mensaje = trim($_POST["mensaje"]);

    // Validaciones básicas
    if (empty($nombre) || empty($mensaje) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
        http_response_code(400);
        echo json_encode(["status" => "error", "message" => "Por favor, complete todos los campos correctamente."]);
        exit;
    }

    // Configuración del correo
    $recipient = "contacto@fibraexpert.cl";
    $subject = "Nueva Consulta Web de: $nombre";
    
    $email_content = "Has recibido una nueva consulta desde el sitio web de Fibra Expert.\n\n";
    $email_content .= "Detalles del contacto:\n";
    $email_content .= "-----------------------------------\n";
    $email_content .= "Nombre: $nombre\n";
    $email_content .= "Email: $email\n";
    $email_content .= "Teléfono: $telefono\n";
    $email_content .= "-----------------------------------\n\n";
    $email_content .= "Mensaje:\n$mensaje\n";

    // Cabeceras (Para evitar que llegue a SPAM en cPanel, a veces es mejor usar una cuenta del mismo dominio en el 'From')
    $headers = "From: Web Fibra Expert <no-reply@fibraexpert.cl>\r\n";
    $headers .= "Reply-To: $email\r\n";
    $headers .= "X-Mailer: PHP/" . phpversion();

    // Enviar correo
    if (mail($recipient, $subject, $email_content, $headers)) {
        echo json_encode(["status" => "success", "message" => "¡El mensaje ha sido enviado con éxito!"]);
    } else {
        http_response_code(500);
        echo json_encode(["status" => "error", "message" => "Lo sentimos, ocurrió un error al enviar el mensaje. Intente de nuevo más tarde o use el botón de WhatsApp."]);
    }

} else {
    // Si no es POST, devolver error
    http_response_code(403);
    echo json_encode(["status" => "error", "message" => "Hubo un problema con su envío, intente de nuevo."]);
}
?>
