
// Full moon dates should be in chronological order in the format mm/dd/yyyy
// This script has all the full moon dates thru 2011.
var fullmoonDates = new Array(
"01/30/2010", "02/28/2010", "03/30/2010", "04/28/2010", "05/27/2010", "06/26/2010", "07/26/2010", "08/24/2010", 
		"09/23/2010", "10/23/2010", "11/21/2010", "12/21/2010", "01/19/2011", "02/18/2011", "03/19/2011", "04/18/2011", 
		"05/17/2011", "06/15/2011", "07/15/2011", "08/13/2011", "09/12/2011", "10/12/2011", "11/10/2011", "12/10/2011"
);

// Number of Milliseconds in day
var MILLISECONDS_IN_A_DAY = 1000 * 60 * 60 * 24;


function renderMessage(msg1, msg2, msg3, countFrom)
{
	var today = new Date();
	var todayStr = (today.getMonth()  + 1)+ '/' + today.getDate() + '/' + today.getFullYear();
	var todayTime = new Date(todayStr).getTime();
	var dateExist = false;
	
	for (var i = 0; i < fullmoonDates.length; i++) {
		var fullmoonDateTime = new Date(fullmoonDates[i]).getTime();
		if (fullmoonDateTime < todayTime) continue;
		if (fullmoonDateTime == todayTime) {
			document.write(msg1);
			dateExist = true;
			break;
		}
		var days = (fullmoonDateTime  - todayTime) / MILLISECONDS_IN_A_DAY;
		if(countFrom) days = countFrom - days;
		if (days == 1) {
			document.write(msg3.replace(/%days%/g, number_format(days))); 
			dateExist = true;
			break;
		}
		if (days > 1) {
			document.write(msg2.replace(/%days%/g, number_format(days)));
			dateExist = true;
			break;
		}
	}
	if (!dateExist) {
		document.write("No future dates available in the list!");
	}
}
	
function number_format(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	num = Math.floor(num/100).toString();
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num);
}

