<?php /* @var \dokuwiki\plugin\bez\meta\Tpl $tpl */ ?>

<!-- Estilos para formulario -->
<style>
    .admin-form-container {
        max-width: 700px;
        margin: 0 auto;
    }

    .admin-form-card {
        border: 1px solid #ddd;
        border-radius: 8px;
        overflow: hidden;
        margin-bottom: 20px;
    }

    .admin-form-header {
        background: #3f51b5;
        color: white;
        padding: 15px 20px;
        font-weight: 600;
        font-size: 1.2em;
    }

    .admin-form-body {
        padding: 25px;
        background: #fff;
    }

    .admin-form-group {
        margin-bottom: 20px;
    }

    .admin-form-group label {
        display: block;
        margin-bottom: 8px;
        font-weight: 600;
        color: #333;
    }

    .admin-form-group input[type="text"],
    .admin-form-group input[type="number"],
    .admin-form-group select,
    .admin-form-group textarea {
        width: 100%;
        padding: 12px;
        border: 1px solid #ddd;
        border-radius: 6px;
        font-size: 1em;
        box-sizing: border-box;
    }

    .admin-form-group input:focus,
    .admin-form-group select:focus,
    .admin-form-group textarea:focus {
        outline: none;
        border-color: #3f51b5;
        box-shadow: 0 0 0 3px rgba(63, 81, 181, 0.1);
    }

    .admin-form-group textarea {
        min-height: 100px;
        resize: vertical;
    }

    .admin-form-help {
        font-size: 0.85em;
        color: #666;
        margin-top: 5px;
    }

    .admin-form-actions {
        display: flex;
        gap: 12px;
        margin-top: 25px;
        padding-top: 20px;
        border-top: 1px solid #eee;
    }

    .admin-form-btn {
        padding: 12px 24px;
        border-radius: 6px;
        font-weight: 600;
        text-decoration: none;
        cursor: pointer;
        border: none;
        font-size: 1em;
        transition: all 0.2s ease;
    }

    .admin-form-btn-primary {
        background: #3f51b5;
        color: white;
    }

    .admin-form-btn-primary:hover {
        background: #303f9f;
    }

    .admin-form-btn-cancel {
        background: #e0e0e0;
        color: #333;
    }

    .admin-form-btn-cancel:hover {
        background: #bdbdbd;
    }

    .admin-form-checkbox {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .admin-form-checkbox input[type="checkbox"] {
        width: 18px;
        height: 18px;
    }

    /* Tabs para seleccion de tipo */
    .admin-form-tabs {
        display: flex;
        gap: 0;
        margin-bottom: 20px;
        border-bottom: 2px solid #ddd;
    }

    .admin-form-tab {
        padding: 12px 24px;
        text-decoration: none;
        color: #666;
        font-weight: 600;
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        transition: all 0.2s ease;
    }

    .admin-form-tab:hover {
        color: #3f51b5;
    }

    .admin-form-tab.active {
        color: #3f51b5;
        border-bottom-color: #3f51b5;
    }
</style>

<div class="admin-form-container">

    <h1><?php echo $tpl->get('isEdit') ? 'Editar' : 'Nuevo' ?> Control Administrativo</h1>

    <!-- Tabs de tipo -->
    <div class="admin-form-tabs">
        <a href="<?php echo $tpl->url('admin_control_form', 'tipo', 'aplicador') ?>"
           class="admin-form-tab <?php echo $tpl->get('tipo_form') === 'aplicador' ? 'active' : '' ?>">
            Aplicador
        </a>
        <a href="<?php echo $tpl->url('admin_control_form', 'tipo', 'grupo') ?>"
           class="admin-form-tab <?php echo $tpl->get('tipo_form') === 'grupo' ? 'active' : '' ?>">
            Grupo
        </a>
        <a href="<?php echo $tpl->url('admin_control_form', 'tipo', 'item') ?>"
           class="admin-form-tab <?php echo $tpl->get('tipo_form') === 'item' ? 'active' : '' ?>">
            Item/Actividad
        </a>
    </div>

    <?php
    $tipoForm = $tpl->get('tipo_form');
    $editData = $tpl->get('editData');
    $isEdit = $tpl->get('isEdit');
    $id = $tpl->get('id');

    if ($isEdit && $editData) {
        $url = $tpl->url('admin_control_form', 'action', 'update', 'tipo', $tipoForm, 'id', $id);
    } else {
        $url = $tpl->url('admin_control_form', 'action', 'add', 'tipo', $tipoForm);
    }
    ?>

    <!-- Formulario de Aplicador -->
    <?php if ($tipoForm === 'aplicador'): ?>
        <div class="admin-form-card">
            <div class="admin-form-header">
                <?php echo $isEdit ? 'Editar Aplicador' : 'Nuevo Aplicador' ?>
            </div>
            <div class="admin-form-body">
                <form action="<?php echo $url ?>" method="POST">
                    <input type="hidden" name="tipo_form" value="aplicador">

                    <div class="admin-form-group">
                        <label for="tipo">Tipo de Aplicador</label>
                        <select name="tipo" id="tipo">
                            <option value="trabajador" <?php echo ($editData && $editData['tipo'] === 'trabajador') ? 'selected' : '' ?>>
                                Trabajador
                            </option>
                            <option value="firma" <?php echo ($editData && $editData['tipo'] === 'firma') ? 'selected' : '' ?>>
                                Firma
                            </option>
                        </select>
                        <p class="admin-form-help">
                            <strong>Firma:</strong> Representa a la razon social principal.<br>
                            <strong>Trabajador:</strong> Un empleado individual de la firma.
                        </p>
                    </div>

                    <div class="admin-form-group">
                        <label for="nombre">Nombre *</label>
                        <input type="text" name="nombre" id="nombre"
                               value="<?php echo $editData ? htmlspecialchars($editData['nombre']) : '' ?>"
                               required>
                    </div>

                    <div class="admin-form-group">
                        <label for="usuario_id">Usuario DokuWiki (opcional)</label>
                        <select name="usuario_id" id="usuario_id">
                            <option value="">--- Sin vincular ---</option>
                            <?php foreach ($tpl->get('users') as $nick => $name): ?>
                                <option value="<?php echo htmlspecialchars($nick) ?>"
                                    <?php echo ($editData && $editData['usuario_id'] === $nick) ? 'selected' : '' ?>>
                                    <?php echo htmlspecialchars($name) ?> (<?php echo htmlspecialchars($nick) ?>)
                                </option>
                            <?php endforeach ?>
                        </select>
                        <p class="admin-form-help">Vincula este aplicador con un usuario del sistema para registro automatico.</p>
                    </div>

                    <div class="admin-form-group">
                        <label for="pagina_discusion">Pagina de Discusion (opcional)</label>
                        <input type="text" name="pagina_discusion" id="pagina_discusion"
                               value="<?php echo $editData ? htmlspecialchars($editData['pagina_discusion']) : '' ?>"
                               placeholder="ej: encargos:general">
                        <p class="admin-form-help">Ruta de la pagina wiki con ~~DISCUSSION~~ para extraer registros.</p>
                    </div>

                    <?php if ($isEdit): ?>
                        <div class="admin-form-group">
                            <div class="admin-form-checkbox">
                                <input type="checkbox" name="activo" id="activo"
                                    <?php echo ($editData['activo'] == 1) ? 'checked' : '' ?>>
                                <label for="activo" style="margin-bottom: 0;">Activo</label>
                            </div>
                        </div>
                    <?php endif ?>

                    <div class="admin-form-actions">
                        <button type="submit" class="admin-form-btn admin-form-btn-primary">
                            <?php echo $isEdit ? 'Guardar Cambios' : 'Crear Aplicador' ?>
                        </button>
                        <a href="<?php echo $tpl->url('admin_controls') ?>" class="admin-form-btn admin-form-btn-cancel">
                            Cancelar
                        </a>
                    </div>
                </form>
            </div>
        </div>

    <!-- Formulario de Grupo -->
    <?php elseif ($tipoForm === 'grupo'): ?>
        <div class="admin-form-card">
            <div class="admin-form-header">
                <?php echo $isEdit ? 'Editar Grupo' : 'Nuevo Grupo de Control' ?>
            </div>
            <div class="admin-form-body">
                <form action="<?php echo $url ?>" method="POST">
                    <input type="hidden" name="tipo_form" value="grupo">

                    <div class="admin-form-group">
                        <label for="nombre">Nombre del Grupo *</label>
                        <input type="text" name="nombre" id="nombre"
                               value="<?php echo $editData ? htmlspecialchars($editData['nombre']) : '' ?>"
                               placeholder="ej: Sistema de Calidad"
                               required>
                    </div>

                    <div class="admin-form-group">
                        <label for="descripcion">Descripcion</label>
                        <textarea name="descripcion" id="descripcion"
                                  placeholder="Descripcion opcional del grupo de control..."><?php echo $editData ? htmlspecialchars($editData['descripcion']) : '' ?></textarea>
                    </div>

                    <div class="admin-form-group">
                        <label for="orden">Orden de visualizacion</label>
                        <input type="number" name="orden" id="orden"
                               value="<?php echo $editData ? intval($editData['orden']) : 0 ?>"
                               min="0">
                        <p class="admin-form-help">Los grupos se ordenan de menor a mayor segun este valor.</p>
                    </div>

                    <?php if ($isEdit): ?>
                        <div class="admin-form-group">
                            <div class="admin-form-checkbox">
                                <input type="checkbox" name="activo" id="activo"
                                    <?php echo ($editData['activo'] == 1) ? 'checked' : '' ?>>
                                <label for="activo" style="margin-bottom: 0;">Activo</label>
                            </div>
                        </div>
                    <?php endif ?>

                    <div class="admin-form-actions">
                        <button type="submit" class="admin-form-btn admin-form-btn-primary">
                            <?php echo $isEdit ? 'Guardar Cambios' : 'Crear Grupo' ?>
                        </button>
                        <a href="<?php echo $tpl->url('admin_controls') ?>" class="admin-form-btn admin-form-btn-cancel">
                            Cancelar
                        </a>
                    </div>
                </form>
            </div>
        </div>

    <!-- Formulario de Item -->
    <?php elseif ($tipoForm === 'item'): ?>
        <div class="admin-form-card">
            <div class="admin-form-header">
                <?php echo $isEdit ? 'Editar Item' : 'Nuevo Item/Actividad' ?>
            </div>
            <div class="admin-form-body">
                <form action="<?php echo $url ?>" method="POST">
                    <input type="hidden" name="tipo_form" value="item">

                    <div class="admin-form-group">
                        <label for="grupo_id">Grupo *</label>
                        <select name="grupo_id" id="grupo_id" required>
                            <option value="">--- Seleccionar grupo ---</option>
                            <?php foreach ($tpl->get('grupos') as $grupo): ?>
                                <option value="<?php echo $grupo['id'] ?>"
                                    <?php echo ($editData && $editData['grupo_id'] == $grupo['id']) ? 'selected' : '' ?>>
                                    <?php echo htmlspecialchars($grupo['nombre']) ?>
                                </option>
                            <?php endforeach ?>
                        </select>
                    </div>

                    <div class="admin-form-group">
                        <label for="nombre">Nombre del Item *</label>
                        <input type="text" name="nombre" id="nombre"
                               value="<?php echo $editData ? htmlspecialchars($editData['nombre']) : '' ?>"
                               placeholder="ej: Responsabilidades del Personal"
                               required>
                    </div>

                    <div class="admin-form-group">
                        <label for="ruta_wiki">Ruta Wiki *</label>
                        <input type="text" name="ruta_wiki" id="ruta_wiki"
                               value="<?php echo $editData ? htmlspecialchars($editData['ruta_wiki']) : '' ?>"
                               placeholder="ej: varios:menu:1"
                               required>
                        <p class="admin-form-help">Ruta de la pagina wiki donde estan las tareas del plugin &lt;do&gt;.</p>
                    </div>

                    <div class="admin-form-group">
                        <label for="tipo">Tipo de Item *</label>
                        <select name="tipo" id="tipo">
                            <option value="actividad" <?php echo ($editData && $editData['tipo'] === 'actividad') ? 'selected' : '' ?>>
                                Actividad (cuenta para progreso)
                            </option>
                            <option value="registro" <?php echo ($editData && $editData['tipo'] === 'registro') ? 'selected' : '' ?>>
                                Registro (solo para exportar comentarios)
                            </option>
                        </select>
                        <p class="admin-form-help">
                            <strong>Actividad:</strong> Sus tareas cuentan para el porcentaje de progreso.<br>
                            <strong>Registro:</strong> Solo para acceder a comentarios DISCUSSION, no afecta progreso.
                        </p>
                    </div>

                    <div class="admin-form-group">
                        <label for="orden">Orden</label>
                        <input type="number" name="orden" id="orden"
                               value="<?php echo $editData ? intval($editData['orden']) : 0 ?>"
                               min="0">
                    </div>

                    <?php if ($isEdit): ?>
                        <div class="admin-form-group">
                            <div class="admin-form-checkbox">
                                <input type="checkbox" name="activo" id="activo"
                                    <?php echo ($editData['activo'] == 1) ? 'checked' : '' ?>>
                                <label for="activo" style="margin-bottom: 0;">Activo</label>
                            </div>
                        </div>
                    <?php endif ?>

                    <div class="admin-form-actions">
                        <button type="submit" class="admin-form-btn admin-form-btn-primary">
                            <?php echo $isEdit ? 'Guardar Cambios' : 'Crear Item' ?>
                        </button>
                        <a href="<?php echo $tpl->url('admin_controls') ?>" class="admin-form-btn admin-form-btn-cancel">
                            Cancelar
                        </a>
                    </div>
                </form>
            </div>
        </div>
    <?php endif ?>

    <!-- Enlace de regreso -->
    <div style="margin-top: 20px;">
        <a href="<?php echo $tpl->url('admin_controls') ?>" style="color: #3f51b5; text-decoration: none;">
            &larr; Volver al listado de Control Administrativo
        </a>
    </div>

</div>
