<table width="100%" cellspacing=0 cellpadding=2>
    <tr> 
        <th class="darkheader" valign="top" width="80"> Orbit ID </th>
        <th class="darkheader" valign="top" width="80"> q<br>(AU) </th>
        <th class="darkheader" valign="top" width="80"> a<br>(AU) </th>
        <th class="darkheader" valign="top" width="80"> e </th>
        <th class="darkheader" valign="top" width="80"> i<br>(deg) </th>
        <th class="darkheader" valign="top" width="80"> node<br>(deg) </th>
        <th class="darkheader" valign="top" width="80"> arg_peri<br>(deg) </th>
        <th class="darkheader" valign="top" width="80"> time_peri<br>(MJD) </th>
        <th class="darkheader" valign="top" width="80"> h<sub>V</sub> </th>
        <th class="darkheader" valign="top" width="80"> epoch<br>(MJD) </th>
        <th class="darkheader" valign="top"> Residual<br>(arcsec) </th>
        <th class="darkheader" valign="top"> Arc Length<br>(days) </th>
% $numcols = 11; if ($showdets) { $numcols = 12;
        <th class="darkheader" valign="top"> Detections </th>
% }
    </tr>

% foreach my $orb (@{$orbs}) {
    <tr>
        <td align="center"> <% $orb->orbitId %> </td>
        <td align="center"> <% sprintf "%.4f", $orb->q %> </td>
        <td align="center"> <% $orb->e < 1 ? sprintf "%.3f", $orb->q / (1 - $orb->e) : 'N/A' %> </td>
        <td align="center"> <% sprintf "%.3f", $orb->e %> </td>
        <td align="center"> <% sprintf "%.3f", $orb->i %> </td>
        <td align="center"> <% sprintf "%.4f", $orb->node %> </td>
        <td align="center"> <% sprintf "%.4f", $orb->argPeri %> </td>
        <td align="center"> <% sprintf "%.4f", $orb->timePeri %> </td>
        <td align="center"> <% sprintf "%.2f", $orb->hV %> </td>
        <td> <% sprintf "%.6f", $orb->epoch %> </td>
        <td align="center"> <% sprintf "%.3f", $orb->residual %> </td>
        <td align="center"> <% sprintf "%.2f", $orb->arcLength_days %> </td>
% if ($showdets) {
%   if ($objectName) {
        <td> <a href="detections.orb?objectName=<% $objectName %>">Detections</a></td>
%   }
%   else {
        <td> &nbsp; </td>
%   }
% }

% if ($orb->covariance) {
% @c = map { sprintf "%.6f", $_ } @{$orb->covariance};
  <tr>
  <td colspan=<% $numcols %>>
  <b>Covariance Matrix</b>

  <table>
  <tr> <td align="center">&nbsp;</td> <td align="center">e</td> <td align="center">q</td> <td align="center">T<sub>p</sub></td> <td align="center">node</td> <td align="center">argPeri</td> <td align="center">i</td> </tr>
  <tr> <td align="left">e</td><td align="right"><% $c[0] %></td><td align="right"><% $c[1] %></td><td align="right"><% $c[3] %></td><td align="right"><% $c[6] %></td><td align="right"><% $c[10] %></td><td align="right"><% $c[15] %></td></tr>
  <tr> <td align="left">q</td><td align="right"><% $c[1] %></td><td align="right"><% $c[2] %></td><td align="right"><% $c[4] %></td><td align="right"><% $c[7] %></td><td align="right"><% $c[11] %></td><td align="right"><% $c[16] %></td></tr>
  <tr> <td align="left">T<sub>p</sub></td><td align="right"><% $c[3] %></td><td align="right"><% $c[4] %></td><td align="right"><% $c[5] %></td><td align="right"><% $c[8] %></td><td align="right"><% $c[12] %></td><td align="right"><% $c[17] %></td></tr>
  <tr> <td align="left">node</td><td align="right"><% $c[6] %></td><td align="right"><% $c[7] %></td><td align="right"><% $c[8] %></td><td align="right"><% $c[9] %></td><td align="right"><% $c[13] %></td><td align="right"><% $c[18] %></td></tr>
  <tr> <td align="left">argPeri</td><td align="right"><% $c[10] %></td><td align="right"><% $c[11] %></td><td align="right"><% $c[12] %></td><td align="right"><% $c[13] %></td><td align="right"><% $c[14] %></td><td align="right"><% $c[19] %></td></tr>
  <tr> <td align="left">i</td><td align="right"><% $c[16] %></td><td align="right"><% $c[17] %></td><td align="right"><% $c[18] %></td><td align="right"><% $c[19] %></td><td align="right"><% $c[20] %></td><td align="right"><% $c[20] %></td></tr>
  </table>

  </td>
  </tr>
% }
    </tr>
% }
</table>

<%args>
$orbs => undef
$orbitId => undef
$objectName => undef
$showdets => 0
</%args>

<%init>
my $inst = $m->notes('INST');
my $numcols;
my @c;
use PS::MOPS::DC::Orbit;
# If orbs specified, it's a list of orbit objects.  
if ($orbitId) {
    $orbs = [ modco_retrieve($inst, orbitId => $orbitId) ];
}
</%init>
