<!--
// Coded by: Golddess
// Version:  2.25 August 3, 2005
// Use:      Displays a schedule for airships.
//           Uses some items from mithratime.js
//
// Feel free to copy and display on your website, but please give credit where credit is due
// by mentioning MithraPride as the source and linking back to http://www.mithrapride.org/
// on the page that displays the clock.
//
// Version Update List:
//   2.25: Some things moved over from mithratime.js.
//   2.20: Various tweaks to the functions, hopefully keeping local variables local.
//   2.10: Each column has been seperated into 2 columns, 1 for departure, and 1 for when it will arrive at its destination.
//         So, if an airship has departed but not yet arrived, it will no longer skip to the next arrival but instead display "DEPARTED" in the one column and ETA to its destination in the other.
//         Due to this split, the number of future flights is reduced to 3 to accomodate the extra columns.
//   2.00: Major revision, where it is no longer listed how long it might take you to get from 1 starter city to another starter city with a stop off in Jueno.
//         Instead, departure times and arrival times for the next 4 flights for each city are listed.
//   1.00: The airship schedule is broken apart from the rest of the clock.

// Airship time numbers, used for figuring out the departure schedule
MaxAirship   = ((6 * MinPHour) +  0) * SecPMin;
FromSandy    = ((4 * MinPHour) + 10) * SecPMin;
ToSandy      = ((1 * MinPHour) + 10) * SecPMin;
FromBastok   = ((1 * MinPHour) + 10) * SecPMin;
ToBastok     = ((4 * MinPHour) + 10) * SecPMin;
FromWindurst = ((5 * MinPHour) + 45) * SecPMin;
ToWindurst   = ((2 * MinPHour) + 40) * SecPMin;
FromKazahm   = ((2 * MinPHour) + 40) * SecPMin;
ToKazahm     = ((5 * MinPHour) + 35) * SecPMin;

function printTime() {
  // The current Earth time
  Now = new Date();

  // Calculates the current Earth and Vana'diel time in milliseconds
  eTime = Now.getTime();
  vTime = (eTime + Diff) * VanaToEarth;

  // Formats the current Earth and Vana'diel Time for display
  EarthTxt = CalculateEarthTime(Now);
  VanaTxt  = CalculateVanaTime(vTime);

  // Calculates the Conquest update
  ConqLimit = ConqUpdate(vTime);

  // Airship table arrays
  JEUToWIN = new Array("", "", "", "", "", "");
  JEUToBAS = new Array("", "", "", "", "", "");
  JEUToSND = new Array("", "", "", "", "", "");
  JEUToKZM = new Array("", "", "", "", "", "");
  WINToJEU = new Array("", "", "", "", "", "");
  BASToJEU = new Array("", "", "", "", "", "");
  SNDToJEU = new Array("", "", "", "", "", "");
  KZMToJEU = new Array("", "", "", "", "", "");



  /////////////////////////////////////////////////////////////////////////////
  // Airship Time Table                                                      //
  /////////////////////////////////////////////////////////////////////////////
  JEUToWIN = AirshipTable(  ToWindurst);
  JEUToBAS = AirshipTable(  ToBastok  );
  JEUToSND = AirshipTable(  ToSandy   );
  JEUToKZM = AirshipTable(  ToKazahm  );
  WINToJEU = AirshipTable(FromWindurst);
  BASToJEU = AirshipTable(FromBastok  );
  SNDToJEU = AirshipTable(FromSandy   );
  KZMToJEU = AirshipTable(FromKazahm  );
  /////////////////////////////////////////////////////////////////////////////
  // Airship Time Table                                                      //
  /////////////////////////////////////////////////////////////////////////////



  /////////////////////////////////////////////////////////////////////////////
  // Assigns all other values to the webpage                                 //
  /////////////////////////////////////////////////////////////////////////////
  document.getElementById("VanaBox"      ).innerHTML = VanaTxt;
  document.getElementById("EarthBox"     ).innerHTML = EarthTxt;
  document.getElementById("ConqLimitBox" ).innerHTML = ConqLimit;

  document.getElementById("JEUToWIN1ABox").innerHTML = JEUToWIN[0];
  document.getElementById("JEUToWIN1BBox").innerHTML = JEUToWIN[1];
  document.getElementById("JEUToWIN2ABox").innerHTML = JEUToWIN[2];
  document.getElementById("JEUToWIN2BBox").innerHTML = JEUToWIN[3];
  document.getElementById("JEUToWIN3ABox").innerHTML = JEUToWIN[4];
  document.getElementById("JEUToWIN3BBox").innerHTML = JEUToWIN[5];
  document.getElementById("JEUToBAS1ABox").innerHTML = JEUToBAS[0];
  document.getElementById("JEUToBAS1BBox").innerHTML = JEUToBAS[1];
  document.getElementById("JEUToBAS2ABox").innerHTML = JEUToBAS[2];
  document.getElementById("JEUToBAS2BBox").innerHTML = JEUToBAS[3];
  document.getElementById("JEUToBAS3ABox").innerHTML = JEUToBAS[4];
  document.getElementById("JEUToBAS3BBox").innerHTML = JEUToBAS[5];
  document.getElementById("JEUToSND1ABox").innerHTML = JEUToSND[0];
  document.getElementById("JEUToSND1BBox").innerHTML = JEUToSND[1];
  document.getElementById("JEUToSND2ABox").innerHTML = JEUToSND[2];
  document.getElementById("JEUToSND2BBox").innerHTML = JEUToSND[3];
  document.getElementById("JEUToSND3ABox").innerHTML = JEUToSND[4];
  document.getElementById("JEUToSND3BBox").innerHTML = JEUToSND[5];
  document.getElementById("JEUToKZM1ABox").innerHTML = JEUToKZM[0];
  document.getElementById("JEUToKZM1BBox").innerHTML = JEUToKZM[1];
  document.getElementById("JEUToKZM2ABox").innerHTML = JEUToKZM[2];
  document.getElementById("JEUToKZM2BBox").innerHTML = JEUToKZM[3];
  document.getElementById("JEUToKZM3ABox").innerHTML = JEUToKZM[4];
  document.getElementById("JEUToKZM3BBox").innerHTML = JEUToKZM[5];
  document.getElementById("WINToJEU1ABox").innerHTML = WINToJEU[0];
  document.getElementById("WINToJEU1BBox").innerHTML = WINToJEU[1];
  document.getElementById("WINToJEU2ABox").innerHTML = WINToJEU[2];
  document.getElementById("WINToJEU2BBox").innerHTML = WINToJEU[3];
  document.getElementById("WINToJEU3ABox").innerHTML = WINToJEU[4];
  document.getElementById("WINToJEU3BBox").innerHTML = WINToJEU[5];
  document.getElementById("BASToJEU1ABox").innerHTML = BASToJEU[0];
  document.getElementById("BASToJEU1BBox").innerHTML = BASToJEU[1];
  document.getElementById("BASToJEU2ABox").innerHTML = BASToJEU[2];
  document.getElementById("BASToJEU2BBox").innerHTML = BASToJEU[3];
  document.getElementById("BASToJEU3ABox").innerHTML = BASToJEU[4];
  document.getElementById("BASToJEU3BBox").innerHTML = BASToJEU[5];
  document.getElementById("SNDToJEU1ABox").innerHTML = SNDToJEU[0];
  document.getElementById("SNDToJEU1BBox").innerHTML = SNDToJEU[1];
  document.getElementById("SNDToJEU2ABox").innerHTML = SNDToJEU[2];
  document.getElementById("SNDToJEU2BBox").innerHTML = SNDToJEU[3];
  document.getElementById("SNDToJEU3ABox").innerHTML = SNDToJEU[4];
  document.getElementById("SNDToJEU3BBox").innerHTML = SNDToJEU[5];
  document.getElementById("KZMToJEU1ABox").innerHTML = KZMToJEU[0];
  document.getElementById("KZMToJEU1BBox").innerHTML = KZMToJEU[1];
  document.getElementById("KZMToJEU2ABox").innerHTML = KZMToJEU[2];
  document.getElementById("KZMToJEU2BBox").innerHTML = KZMToJEU[3];
  document.getElementById("KZMToJEU3ABox").innerHTML = KZMToJEU[4];
  document.getElementById("KZMToJEU3BBox").innerHTML = KZMToJEU[5];
  /////////////////////////////////////////////////////////////////////////////
  // Assigns all values to the webpage                                       //
  /////////////////////////////////////////////////////////////////////////////



  setTimeout("printTime()", 1000);
}



function AirshipTable(TheDelay) {
  var vTempTime = vTime;
  var NextDeparture = 0;
  var TheTable = new Array("", "", "", "", "", "");

  NextDeparture = (Math.floor((vTempTime - TheDelay) / MaxAirship) * MaxAirship) + TheDelay + MaxAirship;
  if ((NextDeparture + (120 * SecPMin)) - MaxAirship > vTempTime) {
    NextDeparture -= MaxAirship;
    TheTable[0]    = "DEPARTED";
    TheTable[1]    = CalculateVanaTime(NextDeparture + (120 * SecPMin)) + "<br />(In " + CalculateDelay((NextDeparture + (120 * SecPMin)) - vTempTime) + ")";
  }
  else {
    TheTable[0]    = CalculateVanaTime(NextDeparture                  ) + "<br />(In " + CalculateDelay( NextDeparture                    - vTempTime) + ")";
    TheTable[1]    = CalculateVanaTime(NextDeparture + (120 * SecPMin)) + "<br />(In " + CalculateDelay((NextDeparture + (120 * SecPMin)) - vTempTime) + ")";
  }
  NextDeparture += MaxAirship;
  TheTable[2]    = CalculateVanaTime(NextDeparture                  ) + "<br />(In " + CalculateDelay( NextDeparture                    - vTempTime) + ")";
  TheTable[3]    = CalculateVanaTime(NextDeparture + (120 * SecPMin)) + "<br />(In " + CalculateDelay((NextDeparture + (120 * SecPMin)) - vTempTime) + ")";
  NextDeparture += MaxAirship;
  TheTable[4]    = CalculateVanaTime(NextDeparture                  ) + "<br />(In " + CalculateDelay( NextDeparture                    - vTempTime) + ")";
  TheTable[5]    = CalculateVanaTime(NextDeparture + (120 * SecPMin)) + "<br />(In " + CalculateDelay((NextDeparture + (120 * SecPMin)) - vTempTime) + ")";

  return TheTable;
}

// -->
