<?php
include 'config/db.php';
session_start();

// Verificar si el usuario está autenticado
if (!isset($_SESSION['usuario'])) {
    header("Location: login.php");
    exit;
}

// Verificar si el usuario tiene el rol adecuado
if ($_SESSION['rol'] !== 'admin') {
    echo "<!DOCTYPE html>
    <html lang='es'>
    <head>
        <meta charset='UTF-8'>
        <meta name='viewport' content='width=device-width, initial-scale=1.0'>
        <title>Acceso Denegado</title>
        <link rel='stylesheet' href='css/style.css'>
        <style>
            body {
                font-family: 'Poppins', Arial, sans-serif;
                margin: 0;
                padding: 0;
                display: flex;
                align-items: center;
                justify-content: center;
                height: 100vh;
                background-color: #f8f9fa;
            }
            .denied-container {
                text-align: center;
                background-color: #ffffff;
                padding: 40px;
                border-radius: 10px;
                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
                max-width: 500px;
                width: 90%;
            }
            .denied-container h1 {
                font-size: 24px;
                color: #e74c3c;
                margin-bottom: 10px;
            }
            .denied-container p {
                font-size: 16px;
                color: #6c757d;
                margin-bottom: 20px;
            }
            .denied-container a {
                display: inline-block;
                padding: 10px 20px;
                font-size: 16px;
                color: #ffffff;
                background-color: #1abc9c;
                text-decoration: none;
                border-radius: 5px;
                transition: background-color 0.3s ease;
            }
            .denied-container a:hover {
                background-color: #16a085;
            }
        </style>
    </head>
    <body>
        <div class='denied-container'>
            <h1>Acceso Denegado</h1>
            <p>No tienes los permisos necesarios para realizar esta acción.<br>Si crees que esto es un error, contacta al administrador del sistema.</p>
            <a href='listar_empleados.php'>Volver a la lista de empleados</a>
        </div>
    </body>
    </html>";
    exit;
}

// Verificar si se especificó el ID del empleado
if (!isset($_GET['id'])) {
    echo "<script>
            alert('ID de empleado no especificado.');
            window.location.href = 'listar_empleados.php';
          </script>";
    exit;
}

$id_empleado = $_GET['id'];

// Consultar datos del empleado
$sqlEmpleado = "SELECT * FROM empleados WHERE id = ?";
$stmtEmpleado = $conexion->prepare($sqlEmpleado);
$stmtEmpleado->bind_param("i", $id_empleado);
$stmtEmpleado->execute();
$resultadoEmpleado = $stmtEmpleado->get_result();

if ($resultadoEmpleado->num_rows > 0) {
    $empleado = $resultadoEmpleado->fetch_assoc();
} else {
    echo "<script>
            alert('Empleado no encontrado.');
            window.location.href = 'listar_empleados.php';
          </script>";
    exit;
}

// Consultar factores de riesgo existentes del empleado
$sqlFactores = "SELECT criterio, respuesta FROM empleados_factores_riesgo WHERE empleado_id = ?";
$stmtFactores = $conexion->prepare($sqlFactores);
$stmtFactores->bind_param("i", $id_empleado);
$stmtFactores->execute();
$resultadoFactores = $stmtFactores->get_result();
$factores_riesgo = [];
while ($fila = $resultadoFactores->fetch_assoc()) {
    $factores_riesgo[$fila['criterio']] = $fila['respuesta'];
}

// Obtener enfermedades/factores de riesgo disponibles
$sqlEnfermedades = "SELECT * FROM enfermedades";
$resultadoEnfermedades = $conexion->query($sqlEnfermedades);
$todasEnfermedades = [];
while ($fila = $resultadoEnfermedades->fetch_assoc()) {
    $todasEnfermedades[] = $fila;
}

// Procesar el formulario cuando se envíe
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $nombre = $_POST['nombre'];
    $documento = $_POST['documento'];
    $fecha_nacimiento = $_POST['fecha_nacimiento'];
    $edad = $_POST['edad'];
    $sexo = $_POST['sexo'];
    $cargo = $_POST['cargo'];
    $area = $_POST['area'];
    $fecha_ingreso = $_POST['fecha_ingreso'];
    $experiencia = $_POST['experiencia'];
    $valoraciones_medicas = $_POST['valoraciones_medicas'];
    $factores = isset($_POST['factores']) ? $_POST['factores'] : [];
    $observaciones = $_POST['observaciones'];

    // Actualizar datos del empleado
    $sqlActualizarEmpleado = "UPDATE empleados SET 
        nombre = ?, 
        documento = ?, 
        fecha_nacimiento = ?, 
        edad = ?, 
        sexo = ?, 
        cargo = ?, 
        area = ?, 
        fecha_ingreso = ?, 
        experiencia = ?, 
        valoraciones_medicas = ?, 
        observaciones = ? 
        WHERE id = ?";
    $stmtActualizarEmpleado = $conexion->prepare($sqlActualizarEmpleado);
    $stmtActualizarEmpleado->bind_param(
        "sssssssssssi",
        $nombre,
        $documento,
        $fecha_nacimiento,
        $edad,
        $sexo,
        $cargo,
        $area,
        $fecha_ingreso,
        $experiencia,
        $valoraciones_medicas,
        $observaciones,
        $id_empleado
    );

    if ($stmtActualizarEmpleado->execute()) {
        // Actualizar factores de riesgo
        $sqlEliminarFactores = "DELETE FROM empleados_factores_riesgo WHERE empleado_id = ?";
        $stmtEliminarFactores = $conexion->prepare($sqlEliminarFactores);
        $stmtEliminarFactores->bind_param("i", $id_empleado);
        $stmtEliminarFactores->execute();

        foreach ($factores as $criterio => $respuesta) {
            $sqlInsertarFactor = "INSERT INTO empleados_factores_riesgo (empleado_id, criterio, respuesta) VALUES (?, ?, ?)";
            $stmtInsertarFactor = $conexion->prepare($sqlInsertarFactor);
            $stmtInsertarFactor->bind_param("iss", $id_empleado, $criterio, $respuesta);
            $stmtInsertarFactor->execute();
        }

        echo "<script>
                alert('Empleado actualizado correctamente.');
                window.location.href = 'listar_empleados.php';
              </script>";
    } else {
        echo "<script>alert('Error al actualizar el empleado. Por favor, intenta nuevamente.');</script>";
    }
}
?>


<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Editar Empleado</title>
    <link rel="stylesheet" href="css/style.css">
    <style>
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f7f7f7;
        }

        .sidebar {
            width: 250px;
            background-color: #2c3e50;
            height: 100vh;
            position: fixed;
            top: 0;
            left: 0;
            color: white;
            padding: 20px 10px;
        }

        .sidebar h2 {
            text-align: center;
            font-size: 24px;
            color: #1abc9c;
            margin-bottom: 30px;
        }

        .sidebar ul {
            list-style: none;
            padding: 0;
        }

        .sidebar ul li {
            margin: 20px 0;
        }

        .sidebar ul li a {
            text-decoration: none;
            color: white;
            padding: 12px;
            display: block;
            font-size: 18px;
            transition: background-color 0.3s ease;
        }

        .sidebar ul li a:hover,
        .sidebar ul li a.active {
            background-color: #1abc9c;
        }

        .main-content {
            margin-left: 270px;
            padding: 30px;
            background-color: #fefefe;
            border-radius: 8px;
            box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
        }

        h1 {
            font-size: 28px;
            color: #0984e3;
            margin-bottom: 20px;
        }

        form label {
            display: block;
            margin-top: 15px;
            font-size: 16px;
            color: #34495e;
        }

        form input, form select, form textarea {
            width: 100%;
            padding: 10px;
            margin-top: 5px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }

        form button {
            margin-top: 20px;
            padding: 10px 20px;
            background-color: #1abc9c;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 18px;
        }

        form button:hover {
            background-color: #16a085;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }

        table th, table td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: left;
        }

        table th {
            background-color: #2c3e50;
            color: white;
        }body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f7f7f7;
}

.sidebar {
    width: 250px;
    background-color: #2c3e50;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    color: white;
    padding: 20px 10px;
    transition: all 0.3s ease;
}

.sidebar h2 {
    font-size: 24px;
    color: #1abc9c;
    margin-bottom: 0px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
}

.sidebar ul li {
    margin: 20px 0;
}

.sidebar ul li a {
    text-decoration: none;
    color: white;
    padding: 12px;
    display: block;
    font-size: 18px;
    transition: background-color 0.3s ease;
}

.sidebar ul li a:hover,
.sidebar ul li a.active {
    background-color: #1abc9c;
}

.main-content {
    margin-left: 270px;
    padding: 30px;
}

.main-content h1 {
    font-size: 28px;
    color: #0984e3;
    margin-bottom: 20px;
    text-align: center;
}

form {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-width: 100%;
    margin: 0 auto;
}

form label {
    font-size: 14px;
    color: #34495e;
    margin-bottom: 5px;
    display: block;
}

form input[type="text"],
form input[type="date"],
form select,
form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

form textarea {
    resize: vertical;
}

form button {
    width: 100%;
    background-color: #1abc9c;
    color: white;
    font-size: 16px;
    padding: 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

form button:hover {
    background-color: #16a085;
}

.table-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
    overflow-x: auto; /* Permite scroll horizontal si es necesario */
    width: 100%; /* Asegura que no se desborde */
}

.table-container h3 {
    margin-bottom: 10px;
    font-size: 20px;
    color: #2c3e50;
    text-align: center;
}

table {
    width: 100%; /* Tabla ocupa el ancho del contenedor */
    max-width: 800px; /* Limita el ancho máximo */
    border-collapse: collapse;
    background-color: white;
    border: 1px solid #ddd;
}

table th,
table td {
    text-align: center;
    vertical-align: middle;
    padding: 8px;
    font-size: 14px;
    border: 1px solid #ddd;
}

table th {
    background-color: #2c3e50;
    color: white;
    word-wrap: break-word; /* Asegura que el texto largo no se salga */
    white-space: normal; /* Permite el texto multilínea */
}

table td {
    word-wrap: break-word;
    white-space: normal;
}

table td input[type="radio"] {
    margin: 0 auto;
    display: block;
}

/* Estilo responsivo */
@media (max-width: 768px) {
    table th,
    table td {
        font-size: 12px;
        padding: 6px;
    }

    .table-container h3 {
        font-size: 18px;
    }

    .main-content {
        margin-left: 0;
        padding: 10px;
    }
}

@media (max-width: 576px) {
    .sidebar {
        position: static;
        width: 100%;
        height: auto;
        padding: 10px 0;
    }

    table {
        width: 100%; /* Asegura que la tabla ocupe todo el ancho disponible */
    }

    table th,
    table td {
        font-size: 12px;
        padding: 5px;
    }

    table thead {
        display: table-header-group; /* Mantiene los encabezados visibles */
    }
}

.menu-button {
    display: none;
}

/* Mostrar el botón en pantallas pequeñas */
@media (max-width: 768px) {
    .menu-button {
        display: block;
        position: fixed;
        top: 5px;
        left: 20px;
        font-size: 24px;
        background-color: #1abc9c;
        color: white;
        border: none;
        padding: 10px 15px;
        border-radius: 5px;
        cursor: pointer;
        z-index: 1000;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        transition: background-color 0.3s ease;
    }

    .menu-button:hover {
        background-color: #16a085;
    }
}

    </style>
</head>
<body>
    <div class="sidebar">
        <h2>PYP Conservación Auditiva</h2>
        <ul>
            <li><a href="index.php">Inicio</a></li>
            <li><a href="listar_empleados.php" class="active">Gestionar Empleados</a></li>
        </ul>
    </div>

    <div class="main-content">
        <h1>Editar Empleado</h1>
        <form action="" method="POST">
            <label for="nombre">Nombre Completo:</label>
            <input type="text" id="nombre" name="nombre" value="<?= $empleado['nombre'] ?>" required>

            <label for="documento">Número de Documento:</label>
            <input type="text" id="documento" name="documento" value="<?= $empleado['documento'] ?>" required>

            <label for="fecha_nacimiento">Fecha de Nacimiento:</label>
            <input type="date" id="fecha_nacimiento" name="fecha_nacimiento" value="<?= $empleado['fecha_nacimiento'] ?>" required>

            <label for="edad">Edad:</label>
            <input type="number" id="edad" name="edad" value="<?= $empleado['edad'] ?>" required>

            <label for="sexo">Sexo:</label>
            <select id="sexo" name="sexo">
                <option value="Masculino" <?= $empleado['sexo'] === 'Masculino' ? 'selected' : '' ?>>Masculino</option>
                <option value="Femenino" <?= $empleado['sexo'] === 'Femenino' ? 'selected' : '' ?>>Femenino</option>
                <option value="Otro" <?= $empleado['sexo'] === 'Otro' ? 'selected' : '' ?>>Otro</option>
            </select>

            <label for="cargo">Cargo:</label>
            <input type="text" id="cargo" name="cargo" value="<?= $empleado['cargo'] ?>" required>

            <label for="area">Área:</label>
            <input type="text" id="area" name="area" value="<?= $empleado['area'] ?>" required>

            <label for="experiencia">Tiempo de Experiencia (años):</label>
            <select id="experiencia" name="experiencia">
                <?php for ($i = 0; $i <= 30; $i++): ?>
                    <option value="<?= $i ?>" <?= $empleado['experiencia'] == $i ? 'selected' : '' ?>><?= $i ?> año(s)</option>
                <?php endfor; ?>
            </select>

            <label for="fecha_ingreso">Fecha de Ingreso:</label>
            <input type="date" id="fecha_ingreso" name="fecha_ingreso" value="<?= $empleado['fecha_ingreso'] ?>" required>
            
            <label for="valoraciones_medicas">Valoraciones Médicas:</label>
            <textarea id="valoraciones_medicas" name="valoraciones_medicas" rows="4"><?= $empleado['valoraciones_medicas'] ?></textarea>
           
            <h3>Factores de Riesgo:</h3>
            <table>
                <thead>
                    <tr>
                        <th>Criterio</th>
                        <th>Descripción</th>
                        <th>Sí</th>
                        <th>No</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($todasEnfermedades as $enfermedad): ?>
                        <tr>
                            <td><?= htmlspecialchars($enfermedad['nombre_enfermedad']) ?></td>
                            <td><?= htmlspecialchars($enfermedad['descripcion']) ?></td>
                            <td>
                                <input type="radio" name="factores[<?= htmlspecialchars($enfermedad['nombre_enfermedad']) ?>]" value="Sí"
                                    <?= isset($factores_riesgo[$enfermedad['nombre_enfermedad']]) && $factores_riesgo[$enfermedad['nombre_enfermedad']] === 'Sí' ? 'checked' : '' ?>>
                            </td>
                            <td>
                                <input type="radio" name="factores[<?= htmlspecialchars($enfermedad['nombre_enfermedad']) ?>]" value="No"
                                    <?= isset($factores_riesgo[$enfermedad['nombre_enfermedad']]) && $factores_riesgo[$enfermedad['nombre_enfermedad']] === 'No' ? 'checked' : '' ?>>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>

            <label for="observaciones">Observaciones:</label>
            <textarea id="observaciones" name="observaciones" rows="4"><?= $empleado['observaciones'] ?></textarea>

            <button type="submit">Actualizar Empleado</button>
        </form>
    </div>
</body>
</html>

