<!-- Original:  James Thiele (mailto:jet@eskimo.com) -->
<!-- Modified:  George Todd  -->

var i;
var currentDate  = new Date();
var x = currentDate;
currentDate.setTime(currentDate.getTime() + (currentDate.getTimezoneOffset()*60000));
var blueMoonDate = new Date(96, 1, 3, 16, 15, 0);
var lunarPeriod  = 29*(24*3600*1000) + 12*(3600*1000) + 44.05*(60*1000);
var moonPhaseTime = (currentDate.getTime() - blueMoonDate.getTime()) % lunarPeriod;
var percentRaw = (moonPhaseTime / lunarPeriod);
var time = Math.round((lunarPeriod-moonPhaseTime)/(24*3600*1000));

if (time != 0) {
 document.write("Next full moon is in about ", time, " day");
 if (time > 1) document.write("s");
  if (Math.round(percentRaw * 100) < 25) {
   document.write(", Waning Gibbous (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else if (Math.round(percentRaw * 100) == 25) {
   document.write(", Last Quarter (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else if (Math.round(percentRaw * 100) < 50) {
   document.write(", Waning Crescent (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else if (Math.round(percentRaw * 100) == 50) {
   document.write(", New Moon! (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else if (Math.round(percentRaw * 100) < 75) {
   document.write(", Waxing Crescent (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else if (Math.round(percentRaw * 100) == 75) {
   document.write(", First Quarter (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else if (Math.round(percentRaw * 100) < 100) {
   document.write(", Waxing Gibbous (", Math.round(percentRaw * 100), "% complete)<br />")
  }
  else
  {
  }
}
else
{
 document.write("The Moon is Full!<br />");
}
//  End -->
