function getMoonAge(year, month, day)	{	
	d = Math.floor(year/20)
	r = year-(d*20) //r is the remainder of (year/20)
	while (r>9)		{	r = r-19		}
	r = r*11
	while (r>29)	{	r = r-30		}
	if (month<3)	{	month = month+2	}
	r = r+month+day
	if (year<100)	{	r = r-4			}
		else		{	r = r-8.3		}
	while(r>29)		{	r = r-30		}
	while(r<0)		{	r = r+30		}
	return r
}
		
function getMoonPhase(moonAge)			{	
	if (moonAge<1) return "New"
	if (moonAge<6) return "Waxing&nbsp;Cresent"
	if (moonAge<9) return "First&nbsp;Quarter"
	if (moonAge<13) return "Waxing&nbsp;Gibbous"
	if (moonAge<16) return "Full"
	if (moonAge<20) return "Waning&nbsp;Gibbous"
	if (moonAge<23) return "Last&nbsp;Quarter"
	if (moonAge<25) return "Waning&nbsp;Cresent"
	if (moonAge<29) return "Waning&nbsp;Cresent"
	if (moonAge<1) return "New"
}

function getMoonPhaseImg(moonAge)	{	
	if (moonAge<1) return "New"
	if (moonAge<5) return "Waxing_Cresent"
	if (moonAge<9) return "First_Quarter"
	if (moonAge<13) return "Waxing_Gibbous"
	if (moonAge<16) return "Full"
	if (moonAge<20) return "Waning_Gibbous"
	if (moonAge<22) return "Last_Quarter"
	if (moonAge<25) return "Waning_Cresent"
	if (moonAge<29) return "Waning_Cresent"
	if (moonAge<30) return "New"
}

monthNames = new Array(13)
monthNames[1]  = "Jan"
monthNames[2]  = "Feb"
monthNames[3]  = "Mar"
monthNames[4]  = "Apr"
monthNames[5]  = "May"
monthNames[6]  = "Jun"
monthNames[7]  = "Jul"
monthNames[8]  = "Aug"
monthNames[9]  = "Sep"
monthNames[10] = "Oct"
monthNames[11] = "Nov"
monthNames[12] = "Dec"
		 
dayNames = new Array(8)
dayNames[1]  = "Sun"
dayNames[2]  = "Mon"
dayNames[3]  = "Tue"
dayNames[4]  = "Wed"
dayNames[5]  = "Thu"
dayNames[6]  = "Fri"
dayNames[7]  = "Sat"
		 
function getLongDate(dateObj)	{	
	theDay = dayNames[dateObj.getDay()+1]
	theMonth = monthNames[dateObj.getMonth()+1]
	theDate = dateObj.getDate()
	return ""+theDay+", "+theMonth+"  "+theDate
}
		
function getNextFull(moonAge)	{	
	currMilSecs = (new Date()).getTime()
	daysToGo = 15 - moonAge
	while(daysToGo<2)	{	daysToGo = daysToGo+29	}
	milSecsToGo = daysToGo*24*60*60*1000
	nextMoonTime = currMilSecs+milSecsToGo
	nextMoonDate = new Date(nextMoonTime)
	return nextMoonDate
}
		
function getNextNew(moonAge)	{	
	currMilSecs = (new Date()).getTime()
	daysToGo = 29 - moonAge
	while(daysToGo<2)	{	daysToGo = daysToGo+29	}
	milSecsToGo = daysToGo*24*60*60*1000
	nextMoonTime = currMilSecs+milSecsToGo
	nextMoonDate = new Date(nextMoonTime)
	return nextMoonDate
}
