<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Ejercicio 27</title>
        <style>
            input:disabled{
                background-color: lightgrey;
            }
            * {
                font-family: sans-serif;
            }

            body {
                justify-content: center;
                justify-items: center;
            }

            body img {
                text-align: center;
            }

            .imagen, #contenedorenviar {
                background-color: transparent;
                text-align: center;
            }

            div {
                padding: 20px;
                width: auto;
                height: auto;
                background-color: lightskyblue;
                border-radius: 20px;
                margin: 20px;
            }

            #enviar {
                border-radius: 20px;
                height: 70px;
                width: 140px;
                background-color: lightskyblue;
                border: 3px solid rgb(55, 55, 95);
                font-weight: bold;
            }

            label {
                font-weight: bold;
            }

            textarea {
                width: 1300px;
                height: 100px;
            }

            input {
                height: 20px;
                border-radius: 3px;
                border-style: none;
            }
        </style>
    </head>
    <body>
        <?php
        /*  @author Cristian Mateos Vega
         *  @since 22/10/2025
         */

        require_once '../core/231018libreriaValidacion.php';
//Inicialización de variables
        $entradaOK = true;
        $aErrores = [
            'nombre' => '',
            'fecha' => '',
            'estado' => '',
            'nota' => '',
            'vacaciones' => '',
            'descripcion' => ''
        ];
        $aRespuestas = [
            'nombre' => '',
            'fecha' => '',
            'estado' => '',
            'nota' => '',
            'vacaciones' => '',
            'descripcion' => ''
        ];
        date_default_timezone_set('Europe/Madrid');

        $fechaActual = new DateTime();

        // Arrays con los nombres de los días y los meses
        $aDias = array("domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado");
        $aMeses = array(
            "enero", "febrero", "marzo", "abril", "mayo", "junio",
            "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"
        );

        // Obtener el nombre del día y del mes
        $diaSemanaActual = $aDias[$fechaActual->format('w')];
        $mesActual = $aMeses[$fechaActual->format('n') - 1];
        $edad=null;
        
        // Comprobar si el formulario se ha enviado
        if (isset($_REQUEST['enviar'])) {
            $aErrores['nombre'] = validacionFormularios::comprobarAlfaNumerico($_REQUEST['nombre'], 100, 1, 1);
            $aErrores['fecha'] = validacionFormularios::validarFecha($_REQUEST['fecha'], '01/01/2025', '01/01/1900', 1);
            $aErrores['estado'] = validacionFormularios::comprobarNoVacio($_REQUEST['estado']);
            $aErrores['nota'] = validacionFormularios::comprobarEntero($_REQUEST['nota'], 10, 0, 1);
            $aErrores['vacaciones'] = validacionFormularios::comprobarNoVacio($_REQUEST['vacaciones']);
            $aErrores['descripcion'] = validacionFormularios::comprobarAlfaNumerico($_REQUEST['descripcion'], 1000, 1, 1);

            foreach ($aErrores as $campo => $valor) {
                if ($valor != null) { // Si ha habido algun error $entradaOK es falso.
                    $entradaOK = false;
                } else {
                    $aRespuestas[$campo] = $_REQUEST[$campo]; // Guardamos el dato correcto en el array de Respuestas.
                }
            }
        } else {
            // Formulario no enviado aún
            $entradaOK = false;
        }

// Tratamiento del formulario
        if ($entradaOK) {
            $fechaIntroducida= new DateTime($aRespuestas['fecha']);
            $edad=$fechaActual->diff($fechaIntroducida);
            //Mostrar respuestas con datos (correctos) introducidos
            ?>
            <div class="imagen">
                <h1>RESULTADOS DE LA ENCUESTA – INFORME DE SATISFACCIÓN PERSONAL</h1>
                <img src="https://em-content.zobj.net/source/microsoft-teams/400/thumbs-up_1f44d.png" alt="emoji pensativo">
            </div>
            <?php
            echo"<div>";
            echo "<p><strong>Hoy: </strong>" . $diaSemanaActual . ", " . $fechaActual->format('d') . " de " . $mesActual . " del " . $fechaActual->format('Y') . "</p>";
            echo "<p>D. <strong>" . $aRespuestas['nombre'] . "</strong>, nacido hace <strong>$edad->y</strong> años, se siente <strong>" . $aRespuestas['estado'] . "</strong>.</p>";
            echo "<p>Valora su curso actual con <strong>" . $aRespuestas['nota'] . "</strong> sobre 10.</p>";
            echo "<p>Estas navidades las dedicará a <strong>" . $aRespuestas['vacaciones'] . "</strong>.</p>";
            echo "<p>Y además, opina que: ".$aRespuestas['descripcion']."</p>";
            echo"</div>";
        } else {
            // Mostrar formulario y mensajes de error (si los hay)
            ?>
            <div class="imagen">
                <h2>ENCUESTA INDIVIDUAL DE VALORACIÓN – EJERCICIO 27</h2>
                <img src="https://em-content.zobj.net/source/microsoft-teams/400/thinking-face_1f914.png" alt="emoji pensativo">
            </div>

            <form>
                <div>
                    <label>Nombre y apellidos del alumno: (*)</label><br><br>
                    <input type="text" name="nombre" class="required" value="<?php echo (empty($aErrores['nombre'])) ? $aRespuestas['nombre'] : ''; ?>">
                    <span style="color:red;"><?php echo $aErrores['nombre']; ?></span><br><br>
                </div>

                <div>
                    <label>Fecha de nacimiento: (*)</label><br><br>
                    <input type="date" name="fecha" class="required" value="<?php echo (empty($aErrores['fecha'])) ? $aRespuestas['fecha'] : ''; ?>">
                    <span style="color:red;"><?php echo $aErrores['fecha']; ?></span><br><br>
                </div>

                <div>
                    <label>¿Cómo te sientes hoy? (* y una única selección permitida)</label>
                    <div class="radio-group">
                        <label>MUY MAL <input type="radio" name="estado" value="muy mal" <?php echo ($aRespuestas['estado'] === 'muy mal') ? 'checked' : ''; ?>></label><br>
                        <label>MAL <input type="radio" name="estado" value="mal" <?php echo ($aRespuestas['estado'] === 'mal') ? 'checked' : ''; ?>></label><br>
                        <label>REGULAR <input type="radio" name="estado" value="regular" <?php echo ($aRespuestas['estado'] === 'regular') ? 'checked' : ''; ?>></label><br>
                        <label>BIEN <input type="radio" name="estado" value="bien" <?php echo ($aRespuestas['estado'] === 'bien') ? 'checked' : ''; ?>></label><br>
                        <label>MUY BIEN <input type="radio" name="estado" value="muy bien" <?php echo ($aRespuestas['estado'] === 'muy bien') ? 'checked' : ''; ?>></label>
                    </div>
                </div>

                <div>
                    <label>¿Cómo va el curso? [0-10]: (* y entero)</label><br><br>
                    <input type="number" name="nota" class="required" value="<?php echo (empty($aErrores['nota'])) ? $aRespuestas['nota'] : ''; ?>">
                    <span style="color:red;"><?php echo $aErrores['nota']; ?></span><br><br>
                </div>

                <div>
                    <label>¿Cómo se presentan las vacaciones de navidad? (* Cuadro de lista con los siguientes valores posibles:
                        Ni idea, Con la familia, De fiesta, Trabajando, Estudiando DWES)</label><br><br>
                    <select name="vacaciones">
                        <option value="ni idea" <?php echo ($aRespuestas['vacaciones'] === 'ni idea') ? 'selected' : ''; ?>>Ni idea</option>
                        <option value="estar con la familia" <?php echo ($aRespuestas['vacaciones'] === 'estar con la familia') ? 'selected' : ''; ?>>Con la familia</option>
                        <option value="salir de fiesta" <?php echo ($aRespuestas['vacaciones'] === 'salir de fiesta') ? 'selected' : ''; ?>>De fiesta</option>
                        <option value="trabajar" <?php echo ($aRespuestas['vacaciones'] === 'trabajar') ? 'selected' : ''; ?>>Trabajando</option>
                        <option value="estudiar DWES" <?php echo ($aRespuestas['vacaciones'] === 'estudiar DWES') ? 'selected' : ''; ?>>Estudiando DWES</option>
                    </select>
                </div>

                <div>
                    <label>Describe brevemente tu estado de ánimo: (* y área de texto para varias líneas)</label><br><br>
                    <textarea name="descripcion" class="required"><?php echo (empty($aErrores['descripcion'])) ? $aRespuestas['descripcion'] : ''; ?></textarea>
                    <span style="color:red;"><?php echo $aErrores['descripcion']; ?></span><br><br>
                </div>

                <div id="contenedorenviar">
                    <input type="submit" name="enviar" value="ENVIAR" id="enviar">
                </div>
            </form>
            <?php
        }
        ?>
    </body>
</html>