<?php
$authApp = 'litigantes';
session_start();
require __DIR__ . '/../../config/auth.php';
require __DIR__ . '/../../../../../config/db2.php';
require __DIR__ . '/../../lib/helpers.php';
$paginaActual = 'litigantes';

$id  = isset($_GET['id']) ? trim($_GET['id']) : null;
if ($id !== null && !perm('litigantes','editar'))  { http_response_code(403); exit('Sin permiso'); }
if ($id === null && !perm('litigantes','agregar')) { http_response_code(403); exit('Sin permiso'); }
$reg = [];
$errores = [];

if ($id !== null) {
    $stmt = $pdo->prepare("SELECT * FROM mrbs_fiscal WHERE fiscal_id=?");
    $stmt->execute([$id]);
    $reg = $stmt->fetch(PDO::FETCH_ASSOC);
    if (!$reg) { header('Location: listarFiscales.php'); exit; }
}

// Próximo ID sugerido al crear
$nextId = null;
if ($id === null) {
    $s = $pdo->query("SELECT MAX(CAST(SUBSTRING(fiscal_id,2) AS UNSIGNED)) FROM mrbs_fiscal");
    $max = (int)$s->fetchColumn();
    $nextId = 'F'.str_pad($max + 1, 3, '0', STR_PAD_LEFT);
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $new_id          = trim($_POST['fiscal_id'] ?? '');
    $nombre          = trim($_POST['nombre'] ?? '');
    $apellido        = trim($_POST['apellido'] ?? '');
    $nombres         = trim($_POST['nombres'] ?? '');
    $nombreEnCalendario = trim($_POST['nombreEnCalendario'] ?? '');
    $mail            = trim($_POST['mail'] ?? '');
    $mail2           = trim($_POST['mail2'] ?? '');
    $telefono        = trim($_POST['telefono'] ?? '');
    $observaciones   = trim($_POST['observaciones'] ?? '');
    $activo          = isset($_POST['activo']) ? 1 : 0;

    if (!$new_id)          $errores[] = 'El ID es obligatorio.';
    if (strlen($new_id)>4) $errores[] = 'El ID no puede superar 4 caracteres.';
    if (!$apellido && !$nombre) $errores[] = 'Ingresá al menos apellido o nombre.';

    if (empty($errores) && $id === null) {
        $ex = $pdo->prepare("SELECT COUNT(*) FROM mrbs_fiscal WHERE fiscal_id=?");
        $ex->execute([$new_id]);
        if ((int)$ex->fetchColumn() > 0) $errores[] = 'Ya existe un fiscal con ese ID.';
    }

    if (empty($errores)) {
        if ($id !== null) {
            $pdo->prepare("UPDATE mrbs_fiscal SET nombre=?,apellido=?,nombres=?,nombreEnCalendario=?,mail=?,mail2=?,telefono=?,observaciones=?,activo=? WHERE fiscal_id=?")
                ->execute([$nombre,$apellido,$nombres,$nombreEnCalendario,$mail,$mail2,$telefono,$observaciones,$activo,$id]);
        } else {
            $pdo->prepare("INSERT INTO mrbs_fiscal (fiscal_id,nombre,apellido,nombres,nombreEnCalendario,mail,mail2,telefono,observaciones,activo) VALUES (?,?,?,?,?,?,?,?,?,?)")
                ->execute([$new_id,$nombre,$apellido,$nombres,$nombreEnCalendario,$mail,$mail2,$telefono,$observaciones,$activo]);
        }
        header('Location: listarFiscales.php?ok=1'); exit;
    }
    $reg = array_merge($reg, $_POST);
}

$v   = fn($k) => htmlspecialchars($reg[$k] ?? '');
$chk = fn($k) => !empty($reg[$k]) ? 'checked' : '';
require __DIR__ . '/../../config/menu.php';
?>
<div class="ph">
  <div><h1><?=$id ? 'Editar Fiscal' : 'Nuevo Fiscal'?></h1>
    <div class="bc"><a href="<?=BASE_URL?>/index.php">Inicio</a> › <a href="listarFiscales.php">Fiscales</a> › <?=$id?'Editar':'Nuevo'?></div>
  </div>
</div>

<?php if ($errores): ?><div class="msg msg-err"><?=implode('<br>',array_map('htmlspecialchars',$errores))?></div><?php endif; ?>

<form method="POST" action="crearFiscal.php<?=$id?'?id='.urlencode($id):''?>">
  <div class="card">
    <div class="sec">Identificación</div>
    <div class="fg">
      <div class="ff">
        <label>ID * <?=$nextId?"<small style='font-weight:normal;color:#2563eb'>(próximo sugerido: $nextId)</small>":''?></label>
        <input type="text" name="fiscal_id" value="<?=$id?htmlspecialchars($id):htmlspecialchars($nextId??'')?>" maxlength="4" required
               <?=$id!==null?'readonly style="background:#f1f5f9"':''?>>
      </div>
      <div class="ff"><label>Apellido</label><input type="text" name="apellido" value="<?=$v('apellido')?>" maxlength="40"></div>
      <div class="ff"><label>Nombres</label><input type="text" name="nombres" value="<?=$v('nombres')?>" maxlength="40"></div>
      <div class="ff"><label>Nombre Corto (grilla)</label><input type="text" name="nombre" value="<?=$v('nombre')?>" maxlength="40"></div>
      <div class="ff sp2"><label>En Calendario</label><input type="text" name="nombreEnCalendario" value="<?=$v('nombreEnCalendario')?>" maxlength="60"></div>
    </div>
  </div>
  <div class="card">
    <div class="sec">Contacto</div>
    <div class="fg">
      <div class="ff"><label>Mail 1</label><input type="email" name="mail" value="<?=$v('mail')?>" maxlength="60"></div>
      <div class="ff"><label>Mail 2</label><input type="email" name="mail2" value="<?=$v('mail2')?>" maxlength="60"></div>
      <div class="ff"><label>Teléfono</label><input type="text" name="telefono" value="<?=$v('telefono')?>" maxlength="15"></div>
      <div class="ff sp3"><label>Observaciones</label><input type="text" name="observaciones" value="<?=$v('observaciones')?>" maxlength="200"></div>
    </div>
    <div style="margin-top:8px">
      <label style="display:flex;align-items:center;gap:6px;font-size:13px">
        <input type="checkbox" name="activo" value="1" <?=$chk('activo')?>> Activo
      </label>
    </div>
  </div>
  <div style="display:flex;gap:8px;margin-top:4px">
    <button type="submit" class="btn btn-p">Guardar</button>
    <a href="listarFiscales.php" class="btn btn-g">Cancelar</a>
  </div>
</form>
</div></body></html>
