
var myPhaseName = "";
var forecastImage = new Array();
var moonPhaseIcon = new Image();

function moonPhasePercent( theDate )
{
  var synodic = 29.53058867;
  var msPerDay = 86400000;
  var baseDate = new Date();
  baseDate.setUTCFullYear(2005);
  baseDate.setUTCMonth(4);
  baseDate.setUTCDate(8);
  baseDate.setUTCHours(8);
  baseDate.setUTCMinutes(48);

  var diff = theDate - baseDate;
  var phase = diff / (synodic * msPerDay);
  phase *= 100;
  phase = Math.abs(phase % 100);

  return(phase);
}

function getMoonPhase( language, current )
{
  if ( ( language == "" ) || ( typeof language == "undefined" ) )
    language = "fr";
  var theDate = new Date();
  if ( current == false )
  {
    theDate.setFullYear(document.lunarcalculatorform.mp_year.options[document.lunarcalculatorform.mp_year.selectedIndex].value);
    theDate.setMonth(document.lunarcalculatorform.mp_month.options[document.lunarcalculatorform.mp_month.selectedIndex].value - 1);
    theDate.setDate(document.lunarcalculatorform.mp_day.options[document.lunarcalculatorform.mp_day.selectedIndex].value);
  }

  var phasePercent = moonPhasePercent(theDate);
  if ( language == "fr" )
    var phaseNames = [
    "Nouvelle Lune", "Nouvelle Lune",
    "Premier Croissant", "Premier Croissant", "Premier Croissant", "Premier Croissant",
    "Premier Quartier", "Premier Quartier", "Premier Quartier",
    "Lune Gibbeuse Ascendante", "Lune Gibbeuse Ascendante", "Lune Gibbeuse Ascendante", "Lune Gibbeuse Ascendante", "Lune Gibbeuse Ascendante",
    "Pleine Lune", "Pleine Lune",
    "Lune Gibbeuse Descendante", "Lune Gibbeuse Descendante", "Lune Gibbeuse Descendante", "Lune Gibbeuse Descendante",
    "Dernier Quartier", "Dernier Quartier", "Dernier Quartier",
    "Dernier Croissant", "Dernier Croissant", "Dernier Croissant", "Dernier Croissant",
    "Nouvelle Lune"];
  else
    var phaseNames = [
    "New Moon", "New Moon",
    "Waxing Crescent", "Waxing Crescent", "Waxing Crescent", "Waxing Crescent",
    "First Quarter", "First Quarter", "First Quarter",
    "Waxing Gibbous", "Waxing Gibbous", "Waxing Gibbous", "Waxing Gibbous", "Waxing Gibbous",
    "Full Moon", "Full Moon",
    "Waning Gibbous", "Waning Gibbous", "Waning Gibbous", "Waning Gibbous",
    "Last Quarter", "Last Quarter", "Last Quarter",
    "Waning Crescent", "Waning Crescent", "Waning Crescent", "Waning Crescent",
    "New Moon"];

  thePhase = Math.round(phasePercent * 0.279);
  myPhaseName = phaseNames[thePhase];

  return(thePhase);
}

function calcMoonPhase( language, current )
{
  clearmpresults();

   moonPhaseIcon.src = "images/moon/" + getMoonPhase(language, current) + ".png";

  document.getElementById("moonPhaseImage").innerHTML = "<img src=\"" + moonPhaseIcon.src + "\" border=\"0\" width=\"136\" height=\"136\" title=\"" + myPhaseName + "\" alt=\"\">";

  document.lunarcalculatorform.mp_year.focus();
}

function initMoonPhase( language )
{
  calcMoonPhase(language, false);

  document.lunarcalculatorform.yearstart.focus();
}

// Clear the moon phase results
function clearmpresults( )
{
  document.getElementById("moonPhaseImage").innerHTML = "&nbsp;";
}
