<?php
declare(strict_types=1);

include_once 'concha.php';

$comentarios    = $comentarios ?? '';
$dom            = $dom ?? '';
$lang_100025    = $lang_100025 ?? 'Chat';
$lang_100026    = $lang_100026 ?? 'Tu navegador no soporta iframes.';
$lang_tu_nombre = $lang_tu_nombre ?? 'Tu nombre';
$lang_100027    = $lang_100027 ?? 'Mensaje';
$lang_100029    = $lang_100029 ?? 'Recargar';
$lang_enviar    = $lang_enviar ?? 'Enviar';
$idioma_enviar  = $idioma_enviar ?? '';

$captchaSecret = 'CAMBIA_ESTA_CLAVE_POR_UNA_LARGA_Y_PRIVADA_2026';

function minichat_e(?string $valor): string
{
    return htmlspecialchars((string)$valor, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}

function minichat_generarCaptchaSimple(int $largo = 5): string
{
    $caracteres = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
    $max = strlen($caracteres) - 1;
    $codigo = '';

    for ($i = 0; $i < $largo; $i++) {
        $codigo .= $caracteres[random_int(0, $max)];
    }

    return $codigo;
}

$comentarios = trim((string)$comentarios);
if ($comentarios === '') {
    $comentarios = 'ninguna';
}

$captchaMostrar = '';
$captchaFirma   = '';

if ($comentarios === 'captcha') {
    $captchaMostrar = minichat_generarCaptchaSimple(5);
    $captchaFirma   = hash_hmac('sha256', strtoupper($captchaMostrar), $captchaSecret);
}
?>

<article style="margin-bottom:15px;">
    <div class="base-box2">

        <div class="widget-head">
            <h3 class="widget-title">
                <span><?php echo minichat_e($lang_100025); ?></span>
            </h3>
        </div>

        <div>
            <div>
                <iframe
                    name="I1"
                    id="I1"
                    width="100%"
                    height="260"
                    src="<?php echo minichat_e($dom); ?>/chat.php"
                    style="border:0; display:block;"
                    frameborder="0">
                    <?php echo minichat_e($lang_100026); ?>
                </iframe>
            </div>

            <form
                id="miniChatForm"
                action="<?php echo minichat_e($dom); ?>/formchat.php"
                method="post"
                target="I1"
                onsubmit="return validarMiniChat();"
                style="margin-top:10px;"
            >
                <input type="hidden" name="comentarios" value="<?php echo minichat_e($comentarios); ?>">
                <input type="hidden" name="IDM" value="0">

                <?php if ($comentarios === 'captcha') : ?>
                    <input type="hidden" name="captcha_real" value="<?php echo minichat_e($captchaMostrar); ?>">
                    <input type="hidden" name="captcha_firma" value="<?php echo minichat_e($captchaFirma); ?>">
                <?php endif; ?>

                <div style="margin-top:10px;">
                    <input
                        name="nombre"
                        type="text"
                        class="form-control"
                        id="nombre"
                        value="<?php echo minichat_e($lang_tu_nombre); ?>"
                        onfocus="if (this.value === '<?php echo minichat_e($lang_tu_nombre); ?>') { this.value = ''; }"
                        onblur="if (this.value === '') { this.value = '<?php echo minichat_e($lang_tu_nombre); ?>'; }"
                        autocomplete="off"
                    />
                </div>

                <div style="margin-top:10px;">
                    <textarea
                        name="mensaje"
                        class="form-control"
                        cols="15"
                        rows="2"
                        id="mensaje"
                        onfocus="if (this.value === '<?php echo minichat_e($lang_100027); ?>') { this.value = ''; }"
                        onblur="if (this.value === '') { this.value = '<?php echo minichat_e($lang_100027); ?>'; }"
                    ><?php echo minichat_e($lang_100027); ?></textarea>
                </div>

                <?php if ($comentarios === 'captcha') : ?>
                    <div style="margin-top:10px; padding:12px; border:1px solid #ddd; background:#f8f9fa;">
                        <label for="mini_captcha" style="display:block; margin-bottom:8px; font-weight:bold;">
                            Escribí este código:
                        </label>

                        <div style="font-size:24px; font-weight:700; letter-spacing:6px; background:#fff; border:1px solid #ccc; padding:10px; text-align:center; margin-bottom:10px;">
                            <?php echo minichat_e($captchaMostrar); ?>
                        </div>

                        <input
                            type="text"
                            name="mini_captcha"
                            id="mini_captcha"
                            class="form-control"
                            maxlength="10"
                            autocomplete="off"
                            placeholder="Copiá el código"
                            required
                        />

                        <div style="margin-top:8px; text-align:right;">
                            <button type="button" class="btn btn-sm btn-outline-secondary" onclick="window.location.reload();">
                                <?php echo minichat_e($lang_100029); ?>
                            </button>
                        </div>
                    </div>
                <?php endif; ?>

                <div align="center" style="margin-top:10px;">
                    <input
                        name="Submit2"
                        id="btnEnviarMiniChat"
                        type="submit"
                        class="btn btn-outline-primary my-2 my-sm-0"
                        value="<?php echo minichat_e($lang_enviar . $idioma_enviar); ?>"
                    />
                </div>
            </form>
        </div>

    </div>
</article>

<script>
function validarMiniChat() {
    var nombre = document.getElementById('nombre');
    var mensaje = document.getElementById('mensaje');
    var boton = document.getElementById('btnEnviarMiniChat');
    var captcha = document.getElementById('mini_captcha');

    if (!nombre || !mensaje) {
        return false;
    }

    var nombreValor = nombre.value.replace(/^\s+|\s+$/g, '');
    var mensajeValor = mensaje.value.replace(/^\s+|\s+$/g, '');

    if (nombreValor === '' || nombreValor === '<?php echo minichat_e($lang_tu_nombre); ?>') {
        alert('Debes escribir tu nombre.');
        nombre.focus();
        return false;
    }

    if (mensajeValor === '' || mensajeValor === '<?php echo minichat_e($lang_100027); ?>') {
        alert('Debes escribir un mensaje.');
        mensaje.focus();
        return false;
    }

    <?php if ($comentarios === 'captcha') : ?>
    if (!captcha || captcha.value.replace(/^\s+|\s+$/g, '') === '') {
        alert('Debes completar el captcha.');
        if (captcha) {
            captcha.focus();
        }
        return false;
    }
    <?php endif; ?>

    if (boton) {
        boton.disabled = true;
        boton.value = 'Enviando...';
        setTimeout(function () {
            boton.disabled = false;
            boton.value = '<?php echo minichat_e($lang_enviar . $idioma_enviar); ?>';
        }, 2000);
    }

    return true;
}

function resetMiniChatForm() {
    var nombre = document.getElementById('nombre');
    var mensaje = document.getElementById('mensaje');
    var captcha = document.getElementById('mini_captcha');
    var boton = document.getElementById('btnEnviarMiniChat');

    if (nombre) {
        nombre.value = '<?php echo minichat_e($lang_tu_nombre); ?>';
    }

    if (mensaje) {
        mensaje.value = '<?php echo minichat_e($lang_100027); ?>';
    }

    if (captcha) {
        captcha.value = '';
    }

    if (boton) {
        boton.disabled = false;
        boton.value = '<?php echo minichat_e($lang_enviar . $idioma_enviar); ?>';
    }
}
</script>