#!/usr/bin/perl
#
  $str = $ENV{"QUERY_STRING"};
  ($np, $mp, $year, $latd, $latm, $lond, $lonm, $alt) = split(/\+/, $str);
#
  $err = 0;
  if ($year eq "") {
    $year = "2000.00"; $latd = "36"; $lond = "136"; $alt = "0.0";
    $latf = ""; $lonf = ""; $dip = ""; $dec = ""; $tf = "00000.0";
  } else {
    $lat = $latd*60. + $latf; $lon = $lond*60. + $lonf;
    $args = sprintf("%.2f:%.1f:%.1f:%.1f", $year, $lat, $lon, $alt);
    if (open(IN, "bin/igrfidf $args |")) {
      $_ = <IN>;
      if (/^OK/) {
        $_ = <IN>; ($year, $latd, $latm, $lond, $lonm, $alt) = split;
        $_ = <IN>; ($dip, $dec, $tf, $ngen) = split;
      } else {
        $err = 1; $msg = $_;
      }
      close(IN);
    } else {
      $err = 1; $msg = "caligrf.cgi: igrfidf start fail.";
    }
  }
  if ($err == 1) {
    print "Content-type: text/html; charset=iso-8859-1\n\n";
####
    $htmlbody =<<EOM;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<link rel="stylesheet" type="text/css" href="/AMXS/amxs.css">
<title>AMXS caligrf</title>
<script type="text/javascript">
<!--
function cancel() {
  location.replace("/AMXS/forms/blank.html");
}
//-->
</script>
</head>
<body bgcolor="ivory" style="margin: 4px 7px;">
<form><font color="red"><b>ERROR:</b></font> &nbsp; &nbsp; &nbsp; &nbsp;
<input type="button" value="OK" onclick="cancel()"><br>
__MESG__
</form>
</body>
</html>
EOM
####
    $htmlbody =~ s/__MESG__/$msg/;
    print $htmlbody;
  } else {
    print "Content-type: text/html; charset=iso-8859-1\n\n";
####
    $htmlbody =<<EOM;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<link rel="stylesheet" type="text/css" href="/AMXS/amxs.css">
<title>Set Dir.Parameter from IGRF Calculation</title>
<script type="text/javascript">
<!--
function calc() {
  args = document.FM.pos1.value + "+" + document.FM.pos2.value + "+" +
         document.FM.year.value + "+" +
         document.FM.latd.value + "+" + document.FM.latm.value + "+" +
         document.FM.lond.value + "+" + document.FM.lonm.value + "+" +
         document.FM.alt.value;
  location.replace("/cgi/AMXS/caligrf.cgi?" + args);
}
function settle() {
  dip = document.FM.dip.value;
  dec = document.FM.dec.value;
  parent.Ftop.document.FM.___1___.value = dip + " " + dec;
  parent.Ftop.document.FM.___2___.value = dip + " " + dec;
  location.replace("/AMXS/forms/blank.html");
}
function cancel() {
  location.replace("/AMXS/forms/blank.html");
}
//-->
</script>
</head>
<body bgcolor="ivory" style="margin: 4px 7px;">
<hr>
<form name="FM">
<b>Calculate IGRF</b> to set direction parameters
&nbsp; &nbsp; &nbsp; <input type="button" value="Cancel" onclick="cancel()">
<br><br>
<table>
  <tr><td align="right">Year: </td>
    <td><input type="text" name="year" tabindex=1 size=7 value="__YEAR__"></td>
    <td rowspan=4 valign="middle"> &nbsp;
      <input type="button" value="> Calc >" onclick="calc()"> &nbsp; </td>
    <td>Result: &nbsp; &nbsp; [Ngen = __NGEN__ ]</td>
    <td rowspan=4 valign="bottom">
      <input type="button" value="OK Set" onclick="settle()"></td></tr>
  <tr><td align="right">Lat.: </td>
    <td><input type="text" name="latd" tabindex=2 size=4 value="__LATD__">
        deg. &nbsp;
        <input type="text" name="latm" tabindex=3 size=5 value="__LATM__">
        min.</td>
    <td align="right"> &nbsp; &nbsp; Inclin.:
        <input type="text" name="dip" readonly size=5 value="__DIP__">
        deg.</td></tr>
  <tr><td align="right">Long.: </td>
    <td><input type="text" name="lond" tabindex=4 size=4 value="__LOND__">
        deg. &nbsp;
        <input type="text" name="lonm" tabindex=5 size=5 value="__LONM__">
        min.</td>
    <td align="right"> &nbsp; &nbsp; Declin.:
        <input type="text" name="dec" readonly size=5 value="__DEC__">
        deg.</td></tr>
  <tr><td align="right">Alt.: </td>
    <td><input type="text" name="alt" tabindex=6 size=6 value="__ALT__"> m</td>
    <td> &nbsp; &nbsp; <small> F = __TFM__ nT</small></td></tr>
</table>
<input type="hidden" name="pos1" value="__POS1__">
<input type="hidden" name="pos2" value="__POS2__">
</form>
</body>
</html>
EOM
    $htmlbody =~ s/__NGEN__/$ngen/; $htmlbody =~ s/__YEAR__/$year/;
    $htmlbody =~ s/__LATD__/$latd/; $htmlbody =~ s/__LATM__/$latm/;
    $htmlbody =~ s/__LOND__/$lond/; $htmlbody =~ s/__LONM__/$lonm/;
    $htmlbody =~ s/__ALT__/$alt/;
    $htmlbody =~ s/__DIP__/$dip/;   $htmlbody =~ s/__DEC__/$dec/;
    $htmlbody =~ s/__TFM__/$tf/;
    $htmlbody =~ s/__POS1__/$np/;   $htmlbody =~ s/__POS2__/$mp/;
    $rstr = sprintf("P%02d", $np);   $htmlbody =~ s/___1___/$rstr/;
    $rstr = sprintf("P%02d", $mp);   $htmlbody =~ s/___2___/$rstr/;
    print $htmlbody;
  }
