// Written by James Thiele
// jet@eskimo.com
// http://www.eskimo.com/~jet/javascript/moonphase

function showMoon() {
var height = 1
var size = 20
var i

var currentDate  = new Date()

// Convert it to GMT
	currentDate.setTime(currentDate.getTime() + (currentDate.getTimezoneOffset()*60000))

// Compute length of lunar period -- source: World Almanac
var lunarPeriod  = 29*(24*3600*1000) + 12*(3600*1000) + 44.05*(60*1000)

// NOTE: months, hours, and minutes are 0 based
// var blueMoonDate = new Date(96, 1, 3, 16, 15, 0)
// Make a Date object for time of recent new moon
var blueMoonDate = new Date(Date.UTC(2006, 6, 25, 16, 6) - (lunarPeriod/2))

// Get Date (GMT) for recent full moon

var moonPhaseTime = (currentDate.getTime() - blueMoonDate.getTime()) % lunarPeriod
// alert("Moon phase in days = "+moonPhaseTime/(24*3600*1000))

// Compute various percentages of lunar cycle
var percentRaw = (moonPhaseTime / lunarPeriod)
	// alert("% = "+percentRaw)
var percent    = Math.round(100*percentRaw) / 100
	// alert("% = "+percent)
var percentBy2 = Math.round(200*percentRaw)

var left  = (percentRaw >= 0.5) ? "images/singleblack.gif" : "images/singlewhite.gif"
var right = (percentRaw >= 0.5) ? "images/singlewhite.gif" : "images/singleblack.gif"

document.write("<br><center><div id='moontable'><center>");

	if (percentBy2 > 100) {
		percentBy2 = percentBy2 - 100
		}

	for (i = -(size-1); i < size; ++i) {
		var wid=2*parseFloat(Math.sqrt((size*size)-(i*i)));
		if (percentBy2 != 100)
			document.write ("<img src="+left +" height=1 width="+(wid*((100-percentBy2)/100))+">");
		if (percentBy2 != 0)
			document.write ("<img src="+right+" height=1 width="+(wid*((percentBy2)/100))+">");
		document.write ("<br>");
	} // for

document.write(	"</center></div></center>",
				"<br>",
				"Luna Piena tra circa ",
				Math.round((lunarPeriod-moonPhaseTime)/(24*3600*1000)),
				" giorn",
				Math.round((lunarPeriod-moonPhaseTime)/(24*3600*1000)) != 1 ? "i" : "o",
				"");
}

