<?php
// ✅ Agregar headers para JSON
header('Content-Type: application/json; charset=utf-8');

// ✅ Función para logging detallado
function logMailInfo($message, $data = null) {
    $timestamp = date('Y-m-d H:i:s');
    $logMessage = "[$timestamp] CONTACT_MAIL_LOG: $message";
    
    if ($data !== null) {
        $logMessage .= " | DATA: " . print_r($data, true);
    }
    
    error_log($logMessage);
}

// ✅ Log inicial
logMailInfo("=== INICIO PROCESO CONTACTO ===");
logMailInfo("Datos POST recibidos", $_POST);
logMailInfo("Configuración PHP Mail", [
    'sendmail_path' => ini_get('sendmail_path'),
    'SMTP' => ini_get('SMTP'),
    'smtp_port' => ini_get('smtp_port'),
    'sendmail_from' => ini_get('sendmail_from'),
    'mail.add_x_header' => ini_get('mail.add_x_header'),
    'mail.force_extra_parameters' => ini_get('mail.force_extra_parameters')
]);

// ✅ Validaciones con logging
if (empty($_POST['name']) || empty($_POST['email']) || empty($_POST['phone']) || empty($_POST['city']) || empty($_POST['message'])) {
    logMailInfo("ERROR: Campos obligatorios vacíos", [
        'name' => $_POST['name'] ?? 'vacío',
        'email' => $_POST['email'] ?? 'vacío',
        'phone' => $_POST['phone'] ?? 'vacío',
        'city' => $_POST['city'] ?? 'vacío',
        'message' => $_POST['message'] ?? 'vacío'
    ]);
    echo json_encode(['success' => false, 'message' => 'Por favor, completa todos los campos obligatorios.']);
    exit;
}

$nombre = $_POST['name'];
$email = $_POST['email'];
$celular = $_POST['phone'];
$ciudad = $_POST['city'];
$mensaje = $_POST['message'];

$asunto = 'Nuevo mensaje de contacto - Diamond';
$destinatario = 'ventas@diamondfp.com.mx';

logMailInfo("Datos procesados", [
    'nombre' => $nombre,
    'email' => $email,
    'celular' => $celular,
    'ciudad' => $ciudad,
    'mensaje_length' => strlen($mensaje),
    'destinatario' => $destinatario,
    'asunto' => $asunto
]);

$cuerpo = '<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Contacto Diamond</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
    <link href="https://fonts.googleapis.com/css2?family=Khand:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <style>
        @font-face {
            font-family: "allumi";
            src: url("../fonts/allumi-std.otf") format("truetype");
        }

        body {
            margin: 0;
            padding: 0;
            background-color: #f6f6f6;
            font-family: "allumi", Arial, sans-serif;
        }

        .correo-container {
            max-width: 800px;
            margin: 0 auto;
            background-color: #ffffff;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }

        .header-section {
            background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
            padding: 30px 0;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .header-section::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url("data:image/svg+xml,%3Csvg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cg fill=\"none\" fill-rule=\"evenodd\"%3E%3Cg fill=\"%23ff6e01\" fill-opacity=\"0.05\"%3E%3Ccircle cx=\"30\" cy=\"30\" r=\"4\"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
        }

        .logo-container {
            position: relative;
            z-index: 2;
        }

        .logo-img {
            width: 200px;
            height: auto;
            filter: brightness(0) invert(1);
        }

        .brand-title {
            font-family: "Khand", sans-serif;
            font-size: 3rem;
            font-weight: 700;
            color: #ff6e01;
            margin: 20px 0 10px 0;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
        }

        .brand-subtitle {
            font-family: "allumi", sans-serif;
            font-size: 1.1rem;
            color: #ffffff;
            margin: 0;
            opacity: 0.9;
        }

        .content-section {
            padding: 40px;
        }

        .section-title {
            font-family: "Khand", sans-serif;
            font-size: 1.8rem;
            font-weight: 600;
            color: #1a1a1a;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 3px solid #ff6e01;
            display: inline-block;
        }

        .info-card {
            background: #f8f9fa;
            border-left: 5px solid #ff6e01;
            padding: 20px;
            margin-bottom: 30px;
            border-radius: 0 8px 8px 0;
        }

        .info-row {
            display: flex;
            flex-wrap: wrap;
            margin-bottom: 15px;
            align-items: center;
        }

        .info-label {
            font-family: "Khand", sans-serif;
            font-weight: 600;
            font-size: 1.1rem;
            color: #1a1a1a;
            min-width: 120px;
            margin-right: 10px;
        }

        .info-value {
            font-family: "allumi", sans-serif;
            color: #666;
            font-size: 1rem;
            flex: 1;
        }

        .date-section {
            text-align: right;
            margin-bottom: 30px;
            padding: 15px;
            background: linear-gradient(45deg, #ff6e01, #e55a00);
            color: white;
            border-radius: 8px;
        }

        .date-label {
            font-family: "Khand", sans-serif;
            font-size: 1.2rem;
            font-weight: 600;
            margin: 0;
        }

        .date-value {
            font-family: "allumi", sans-serif;
            font-size: 1.1rem;
            margin: 5px 0 0 0;
        }

        .message-section {
            background: #f8f9fa;
            border: 1px solid #e9ecef;
            border-radius: 8px;
            padding: 25px;
            margin: 30px 0;
        }

        .message-title {
            font-family: "Khand", sans-serif;
            font-size: 1.3rem;
            font-weight: 600;
            color: #1a1a1a;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
        }

        .message-content {
            font-family: "allumi", sans-serif;
            color: #333;
            line-height: 1.6;
            background: white;
            padding: 20px;
            border-radius: 5px;
            border-left: 4px solid #ff6e01;
            white-space: pre-wrap;
            word-wrap: break-word;
        }

        .footer-section {
            background: #1a1a1a;
            color: #ffffff;
            padding: 30px;
            text-align: center;
        }

        .footer-text {
            font-family: "allumi", sans-serif;
            margin: 0;
            opacity: 0.8;
        }

        .contact-info {
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid #333;
        }

        .contact-item {
            display: inline-block;
            margin: 0 20px;
            color: #ff6e01;
            text-decoration: none;
            font-family: "allumi", sans-serif;
        }

        .highlight-text {
            color: #ff6e01;
            font-weight: 600;
        }

        @media (max-width: 768px) {
            .content-section {
                padding: 20px;
            }
            
            .brand-title {
                font-size: 2.5rem;
            }
            
            .info-row {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .info-label {
                min-width: auto;
                margin-bottom: 5px;
            }
            
            .contact-item {
                display: block;
                margin: 10px 0;
            }
        }
    </style>
</head>

<body>
    <div class="correo-container">
        <!-- Header Section -->
        <div class="header-section">
            <div class="logo-container">
                <img src="https://diamondfp.com.mx/img/logo.png" alt="Diamond Logo" class="logo-img">
                <h1 class="brand-title">DIAMOND</h1>
                <p class="brand-subtitle">Excelencia en cada producto</p>
            </div>
        </div>

        <!-- Content Section -->
        <div class="content-section">
            <!-- Date Section -->
            <div class="date-section">
                <p class="date-label">FECHA DE CONTACTO</p>
                <p class="date-value">' . date("d/m/Y H:i") . '</p>
            </div>

            <!-- Client Information -->
            <h2 class="section-title">INFORMACIÓN DEL CLIENTE</h2>
            <div class="info-card">
                <div class="info-row">
                    <span class="info-label">👤 Nombre:</span>
                    <span class="info-value highlight-text">' . htmlspecialchars($nombre) . '</span>
                </div>
                <div class="info-row">
                    <span class="info-label">📧 Email:</span>
                    <span class="info-value">' . htmlspecialchars($email) . '</span>
                </div>
                <div class="info-row">
                    <span class="info-label">📱 Teléfono:</span>
                    <span class="info-value">' . htmlspecialchars($celular) . '</span>
                </div>
                <div class="info-row">
                    <span class="info-label">🏙️ Ciudad:</span>
                    <span class="info-value">' . htmlspecialchars($ciudad) . '</span>
                </div>
            </div>

            <!-- Message Section -->
            <h2 class="section-title">MENSAJE DEL CLIENTE</h2>
            <div class="message-section">
                <div class="message-title">
                    💬 Mensaje recibido:
                </div>
                <div class="message-content">' . htmlspecialchars($mensaje) . '</div>
            </div>
        </div>

        <!-- Footer Section -->
        <div class="footer-section">
            <p class="footer-text">
                <strong>¡Nuevo mensaje de contacto recibido!</strong><br>
                Responde a este cliente a la brevedad posible.
            </p>
            
            <div class="contact-info">
                <span class="contact-item">📧 ventas@diamondfp.com.mx</span>
                <span class="contact-item">📱 +52 (871) 745 8549</span>
                <span class="contact-item">🌐 www.diamondfp.com.mx</span>
            </div>
        </div>
    </div>
</body>

</html>';

// ✅ Logging del contenido del email
logMailInfo("Email HTML generado", [
    'length' => strlen($cuerpo),
    'contains_external_resources' => [
        'bootstrap' => strpos($cuerpo, 'bootstrap') !== false ? 'SÍ' : 'NO',
        'google_fonts' => strpos($cuerpo, 'fonts.googleapis.com') !== false ? 'SÍ' : 'NO',
        'placeholder_image' => strpos($cuerpo, 'placeholder.com') !== false ? 'SÍ' : 'NO'
    ]
]);

// ✅ Configuración de headers con logging
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: Diamond <' . $email . '>' . "\r\n";
$headers .= 'Reply-To: ' . $email . "\r\n";

logMailInfo("Headers configurados", [
    'headers' => $headers,
    'from_email' => $email,
    'reply_to' => $email,
    'php_version' => phpversion()
]);

// ✅ Verificar configuración del servidor
logMailInfo("Información del servidor", [
    'server_name' => $_SERVER['SERVER_NAME'] ?? 'N/A',
    'server_software' => $_SERVER['SERVER_SOFTWARE'] ?? 'N/A',
    'php_os' => PHP_OS,
    'mail_function_exists' => function_exists('mail') ? 'SÍ' : 'NO',
    'sendmail_path' => ini_get('sendmail_path'),
    'smtp_server' => ini_get('SMTP'),
    'smtp_port' => ini_get('smtp_port'),
    'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? 'N/A'
]);

// ✅ Intentar envío con logging detallado
logMailInfo("=== INICIANDO ENVÍO DE EMAIL CONTACTO ===");
logMailInfo("Parámetros de envío", [
    'destinatario' => $destinatario,
    'asunto' => $asunto,
    'body_length' => strlen($cuerpo),
    'headers_length' => strlen($headers),
    'from_header' => 'Diamond <' . $email . '>',
    'reply_to_header' => $email
]);

try {
    // ✅ Capturar errores antes del envío
    $error_before = error_get_last();
    logMailInfo("Error antes del envío", $error_before);
    
    // ✅ Envío del email
    $start_time = microtime(true);
    $mail_result = mail($destinatario, $asunto, $cuerpo, $headers);
    $end_time = microtime(true);
    $execution_time = ($end_time - $start_time) * 1000; // En milisegundos
    
    // ✅ Capturar errores después del envío
    $error_after = error_get_last();
    logMailInfo("Error después del envío", $error_after);
    
    logMailInfo("Resultado del envío", [
        'mail_result' => $mail_result ? 'TRUE' : 'FALSE',
        'execution_time_ms' => round($execution_time, 2),
        'error_changed' => ($error_before !== $error_after) ? 'SÍ' : 'NO'
    ]);
    
    // ✅ Análisis de diferencias con cotización
    logMailInfo("ANÁLISIS DE DIFERENCIAS", [
        'email_type' => 'CONTACTO',
        'from_header_uses_sender_email' => 'SÍ',
        'html_complexity' => 'ALTA (CSS externo, fuentes)',
        'external_resources' => 'SÍ (Bootstrap, Google Fonts)',
        'email_validation' => 'NO (se envía desde el email del remitente)',
        'content_size' => strlen($cuerpo) . ' bytes'
    ]);
    
    if ($mail_result) {
        logMailInfo("✅ EMAIL CONTACTO ENVIADO EXITOSAMENTE");
        echo json_encode(['success' => true, 'message' => 'Mensaje enviado con éxito. Nos pondremos en contacto contigo pronto.']);
    } else {
        logMailInfo("❌ ERROR AL ENVIAR EMAIL CONTACTO");
        
        // ✅ Información adicional de debugging
        $last_error = error_get_last();
        if ($last_error) {
            logMailInfo("Último error PHP", $last_error);
        }
        
        echo json_encode(['success' => false, 'message' => 'Error al enviar el mensaje. Por favor, intenta nuevamente.']);
    }
    
} catch (Exception $e) {
    logMailInfo("❌ EXCEPCIÓN AL ENVIAR EMAIL CONTACTO", [
        'message' => $e->getMessage(),
        'code' => $e->getCode(),
        'file' => $e->getFile(),
        'line' => $e->getLine(),
        'trace' => $e->getTraceAsString()
    ]);
    
    echo json_encode(['success' => false, 'message' => 'Error del servidor: ' . $e->getMessage()]);
}

logMailInfo("=== FIN PROCESO CONTACTO ===");
?>