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

$id = (int)($_GET['id'] ?? 0);
if (!$id) { header('Location: listarAgenda.php'); exit; }

// ── Cargar agendamiento + AA ──────────────────────────────────────────────────
$stmt = $pdo->prepare("
    SELECT ag.*,
           aa.cuij_principal, aa.otros_cuijs, aa.imputados, aa.delitos,
           aa.estado_imputado, aa.vencimiento_pp_actual, aa.fecha_auto_apertura,
           aa.testigos_aa, aa.testigos_fiscalia, aa.testigos_querella, aa.testigos_defensa,
           aa.duplicidad_plazos, aa.jornadas_en_aa, aa.jornadas_agregadas_juez,
           aa.tipo_tribunal, aa.medidas_juzgado_familia, aa.prioridad,
           aa.estado AS estado_aa, aa.id AS aa_id,
           jPte.nombre AS presidente_nombre,
           jV1.nombre  AS vocal_1_nombre,
           jV2.nombre  AS vocal_2_nombre
    FROM agj_agendamientos ag
    JOIN agj_autos_apertura aa ON ag.aa_id = aa.id
    LEFT JOIN mrbs_juez jPte ON ag.presidente_id = jPte.juez_id
    LEFT JOIN mrbs_juez jV1  ON ag.vocal_1_id    = jV1.juez_id
    LEFT JOIN mrbs_juez jV2  ON ag.vocal_2_id    = jV2.juez_id
    WHERE ag.id = ? AND ag.deleted_at IS NULL
");
$stmt->execute([$id]);
$ag = $stmt->fetch();
if (!$ag) { header('Location: listarAgenda.php?msg=No+encontrado'); exit; }

// ── Litigantes del AA ────────────────────────────────────────────────────────
$lits = cargar_litigantes_aa($pdo, $ag['aa_id']);

// ── PP al debate ─────────────────────────────────────────────────────────────
$dias_pp_debate = null;
if ($ag['vencimiento_pp_actual'] && $ag['debate_desde'] && $ag['estado_imputado'] === 'Preso') {
    $venc = new DateTime($ag['vencimiento_pp_actual']);
    $deb  = new DateTime($ag['debate_desde']);
    $dias_pp_debate = (int)$deb->diff($venc)->days * ($venc >= $deb ? 1 : -1);
}

// ── Colores de estado ────────────────────────────────────────────────────────
$ec = ['Programado'=>'#7c3aed','Agendado'=>'#0891b2','Realizado'=>'#16a34a','Suspendido'=>'#d97706','Cancelado'=>'#dc2626'];
$ce = $ec[$ag['estado']] ?? '#64748b';

$paginaActual = 'agenda';
require __DIR__ . '/../../config/menu.php';
?>
<div class="ph">
  <div>
    <h1>📅 Agendamiento #<?= $id ?></h1>
    <div class="bc">
      <a href="listarAgenda.php">Agenda</a> ·
      <a href="../autos/verAuto.php?id=<?= $ag['aa_id'] ?>">Ver AA</a> · Ver agendamiento
    </div>
  </div>
  <div style="display:flex;gap:6px;flex-wrap:wrap">
    <a href="editarAgendamiento.php?id=<?= $id ?>" class="btn btn-w">✏️ Editar</a>
    <a href="../autos/verAuto.php?id=<?= $ag['aa_id'] ?>" class="btn btn-g">← Ver AA</a>
    <a href="listarAgenda.php" class="btn btn-g">← Agenda</a>
  </div>
</div>

<?php if (isset($_GET['msg'])): ?>
  <div class="msg msg-ok"><?= htmlspecialchars($_GET['msg']) ?></div>
<?php endif; ?>

<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px">

<!-- ── Columna izquierda ─────────────────────────────────────────────────── -->
<div>

<div class="card">
  <div class="sec">Estado del Agendamiento</div>
  <div style="display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px">
    <span style="background:<?= $ce ?>20;color:<?= $ce ?>;padding:4px 14px;border-radius:12px;font-size:14px;font-weight:700">
      <?= htmlspecialchars($ag['estado']) ?>
    </span>
    <?= badgeCondicion($ag['condicion']) ?>
    <span style="background:#e2e8f0;color:#475569;padding:2px 10px;border-radius:10px;font-size:12px">
      <?= htmlspecialchars($ag['sub_condicion']) ?>
    </span>
    <span style="background:#f1f5f9;color:#475569;padding:2px 10px;border-radius:10px;font-size:12px">
      <?= htmlspecialchars($ag['turno'] ?? '—') ?>
    </span>
  </div>
  <?php if ($ag['tramite']): ?>
    <p style="font-size:13px;color:#475569"><?= htmlspecialchars($ag['tramite']) ?></p>
  <?php endif; ?>
</div>

<div class="card">
  <div class="sec">Fechas del Debate</div>
  <table style="width:100%;table-layout:auto;font-size:13px">
    <?php
    $hoy = date('Y-m-d');
    $en_curso = $ag['debate_desde'] && $ag['debate_hasta']
             && $ag['debate_desde'] <= $hoy && $ag['debate_hasta'] >= $hoy;
    ?>
    <tr>
      <td style="width:180px;font-weight:600;color:#475569">Debate desde</td>
      <td>
        <strong><?= fmtFecha($ag['debate_desde']) ?></strong>
        <?= $en_curso ? ' <span style="background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:8px;font-size:11px">🔴 EN CURSO</span>' : '' ?>
        <?php if ($ag['debate_desde_original'] && $ag['debate_desde_original'] !== $ag['debate_desde']): ?>
          <br><small style="color:#94a3b8;text-decoration:line-through"><?= fmtFecha($ag['debate_desde_original']) ?> (original)</small>
        <?php endif; ?>
      </td>
    </tr>
    <tr><td style="font-weight:600;color:#475569">Debate hasta</td><td><?= fmtFecha($ag['debate_hasta']) ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Fallo</td><td><?= fmtFecha($ag['fecha_fallo']) ?></td></tr>
    <tr>
      <td style="font-weight:600;color:#475569">Fin bloqueo fundamentos</td>
      <td>
        <?= fmtFecha($ag['fecha_fin_bloqueo']) ?>
        <?php if ($ag['fecha_fin_original'] && $ag['fecha_fin_original'] !== $ag['fecha_fin_bloqueo']): ?>
          <br><small style="color:#94a3b8;text-decoration:line-through"><?= fmtFecha($ag['fecha_fin_original']) ?> (original)</small>
        <?php endif; ?>
      </td>
    </tr>
    <?php if ($ag['debate_desde'] && $ag['debate_hasta']): ?>
    <tr>
      <td style="font-weight:600;color:#475569">Duración debate</td>
      <td>
        <?php
        $d1 = new DateTime($ag['debate_desde']);
        $d2 = new DateTime($ag['debate_hasta']);
        $dur = $d1->diff($d2)->days + 1;
        echo $dur . ' día' . ($dur != 1 ? 's' : '') . ' corridos';
        ?>
      </td>
    </tr>
    <?php endif; ?>
  </table>
</div>

<div class="card">
  <div class="sec">Jornadas y Parámetros</div>
  <table style="width:100%;table-layout:auto;font-size:13px">
    <tr><td style="width:180px;font-weight:600;color:#475569">Jornadas</td><td><?= $ag['jornadas'] ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Jornadas extras</td><td><?= $ag['jornadas_extras'] ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Día pre-alegatos</td><td><?= $ag['dia_pre_alegatos'] ? 'Sí' : 'No' ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Testigos Fiscalía</td><td><?= (int)$ag['testigos_fiscalia'] ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Testigos Querella</td><td><?= (int)$ag['testigos_querella'] ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Testigos Defensa</td><td><?= (int)$ag['testigos_defensa'] ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Duplicidad plazos</td><td><?= $ag['duplicidad_plazos'] ? 'Sí' : 'No' ?></td></tr>
    <?php if ($ag['apoyo_oam']): ?>
    <tr><td style="font-weight:600;color:#475569">Apoyo OAM</td><td><?= htmlspecialchars($ag['apoyo_oam']) ?></td></tr>
    <?php endif; ?>
  </table>
</div>

</div><!-- col izq -->

<!-- ── Columna derecha ───────────────────────────────────────────────────── -->
<div>

<div class="card" style="background:#f0f4ff;border-color:#bfdbfe">
  <div class="sec" style="color:#1e40af;border-color:#bfdbfe">Auto de Apertura</div>
  <table style="width:100%;table-layout:auto;font-size:13px">
    <tr><td style="width:140px;font-weight:600;color:#475569">CUIJ</td>
        <td><strong><?= htmlspecialchars($ag['cuij_principal']) ?></strong>
        <?php if ($ag['otros_cuijs']): ?>
          <br><small style="color:#94a3b8"><?= htmlspecialchars($ag['otros_cuijs']) ?></small>
        <?php endif; ?>
        </td></tr>
    <tr><td style="font-weight:600;color:#475569">Imputados</td><td><?= htmlspecialchars($ag['imputados']) ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Est. imputado</td><td><?= badgeEstadoImp($ag['estado_imputado']) ?></td></tr>
    <?php if ($ag['estado_imputado'] === 'Preso' && $ag['vencimiento_pp_actual']): ?>
    <tr>
      <td style="font-weight:600;color:#475569">PP actual</td>
      <td>
        <?= fmtFecha($ag['vencimiento_pp_actual']) ?>
        <?php if ($dias_pp_debate !== null): ?>
          <br><small style="color:<?= $dias_pp_debate < 0 ? '#dc2626' : ($dias_pp_debate < 30 ? '#d97706' : '#16a34a') ?>;font-weight:600">
            <?= $dias_pp_debate < 0 ? '⚠️ Ya vencida al debate' : $dias_pp_debate . 'd restantes al inicio del debate' ?>
          </small>
        <?php endif; ?>
      </td>
    </tr>
    <?php endif; ?>
    <?php if ($ag['medidas_juzgado_familia']): ?>
    <tr><td style="font-weight:600;color:#dc2626">Medidas familia</td><td style="color:#dc2626">⚠️ Sí</td></tr>
    <?php endif; ?>
    <tr><td style="font-weight:600;color:#475569">Tipo tribunal</td><td><?= htmlspecialchars($ag['tipo_tribunal'] ?? '—') ?></td></tr>
    <tr><td style="font-weight:600;color:#475569">Prioridad</td>
        <td><?php $p = (int)$ag['prioridad']; $pc = $p >= 700 ? '#dc2626' : ($p >= 350 ? '#d97706' : '#16a34a'); ?>
            <span style="color:<?= $pc ?>;font-weight:700"><?= $p ?></span></td></tr>
  </table>
</div>

<div class="card">
  <div class="sec">Tribunal del Debate</div>
  <table style="width:100%;table-layout:auto;font-size:13px">
    <tr>
      <td style="width:140px;font-weight:600;color:#475569;background:#e0e7ff">Presidente</td>
      <td style="background:#e0e7ff"><strong><?= htmlspecialchars($ag['presidente_nombre'] ?? '—') ?></strong></td>
    </tr>
    <tr>
      <td style="font-weight:600;color:#475569;background:#ede9fe">Vocal 1</td>
      <td style="background:#ede9fe"><?= htmlspecialchars($ag['vocal_1_nombre'] ?? '—') ?></td>
    </tr>
    <tr>
      <td style="font-weight:600;color:#475569;background:#f5f3ff">Vocal 2</td>
      <td style="background:#f5f3ff"><?= htmlspecialchars($ag['vocal_2_nombre'] ?? '—') ?></td>
    </tr>
    <?php if ($ag['tribunal_original']): ?>
    <tr>
      <td style="font-weight:600;color:#475569">Original</td>
      <td style="color:#64748b;font-size:12px"><?= htmlspecialchars($ag['tribunal_original']) ?></td>
    </tr>
    <?php endif; ?>
  </table>
</div>

<div class="card">
  <div class="sec">Partes Litigantes</div>
  <table style="width:100%;table-layout:auto;font-size:13px">
    <?php foreach ([
      'Fiscal'      => 'Fiscal/es',
      'Defensor'    => 'Defensor/es',
      'Querellante' => 'Querellante/s',
    ] as $rol => $label): ?>
    <tr>
      <td style="width:120px;font-weight:600;color:#475569;vertical-align:top"><?= $label ?></td>
      <td>
        <?php if (!empty($lits[$rol])) {
          foreach ($lits[$rol] as $l) echo htmlspecialchars($l['nombre']) . '<br>';
        } else { echo '<span style="color:#94a3b8">—</span>'; } ?>
      </td>
    </tr>
    <?php endforeach; ?>
  </table>
</div>

</div><!-- col der -->
</div><!-- grid -->

<!-- ── Línea de tiempo visual ────────────────────────────────────────────── -->
<?php if ($ag['debate_desde'] && $ag['fecha_fin_bloqueo']): ?>
<div class="card">
  <div class="sec">Línea de tiempo</div>
  <?php
    $hitos = array_filter([
      'Inicio debate'      => $ag['debate_desde'],
      'Fin debate'         => $ag['debate_hasta'],
      'Fallo'              => $ag['fecha_fallo'],
      'Fin bloqueo'        => $ag['fecha_fin_bloqueo'],
    ]);
    $fechas_ord = array_values($hitos);
    $labels_ord = array_keys($hitos);
    sort($fechas_ord);
    $f_min = $fechas_ord[0];
    $f_max = end($fechas_ord);
    $rango = max(1, (new DateTime($f_min))->diff(new DateTime($f_max))->days);
  ?>
  <div style="position:relative;height:40px;background:#e2e8f0;border-radius:6px;margin:8px 0 24px">
    <!-- Barra debate -->
    <?php
      $left_d  = (new DateTime($f_min))->diff(new DateTime($ag['debate_desde']))->days / $rango * 100;
      $width_d = max(1, (new DateTime($ag['debate_desde']))->diff(new DateTime($ag['debate_hasta']))->days / $rango * 100);
    ?>
    <div style="position:absolute;top:8px;height:24px;left:<?= $left_d ?>%;width:<?= $width_d ?>%;background:#2563eb;border-radius:4px;opacity:.8" title="Debate"></div>
    <!-- Hitos -->
    <?php foreach ($hitos as $lbl => $fecha):
      $pos = (new DateTime($f_min))->diff(new DateTime($fecha))->days / $rango * 100;
      $color = $lbl==='Fallo'?'#16a34a':($lbl==='Fin bloqueo'?'#d97706':'#2563eb');
    ?>
    <div style="position:absolute;top:0;left:calc(<?= $pos ?>% - 1px);width:2px;height:40px;background:<?= $color ?>"></div>
    <div style="position:absolute;top:44px;left:<?= $pos ?>%;transform:translateX(-50%);font-size:10px;color:#475569;white-space:nowrap">
      <?= $lbl ?><br><?= fmtFecha($fecha) ?>
    </div>
    <?php endforeach; ?>
  </div>
  <div style="height:40px"></div><!-- espacio para labels -->
</div>
<?php endif; ?>

</div></body></html>
