// Easy Website Events - Version 2.0
// Easy Website Events (EWE) is a free, open source calendar/upcoming events script for your website.
// For the original version, licensing information, and support go to http://www.easywebsiteevents.com
// Written by Gavin Rehkemper - http://www.gavinrehkemper.com
// January 25, 2008
//
// 
// LICENSE: This script and source code has been distributed freely by it's creator, Gavin Rehkemper. Please see http://www.easywebsiteevents.com for more information.
//




// ********** DO NOT MODIFY THIS SECTION. SKIP DOWN 15 LINES TO "DATABASE OF EVENTS"
function MultiDimensionalArray(iRows,iCols)
{
var i;
var j;
   var a = new Array(iRows);
   for (i=0; i < iRows; i++) {
       a[i] = new Array(iCols);
       for (j=0; j < iCols; j++) {
           a[i][j] = "";
       }
   }
   return(a);
}
// must make the sizes one larger than needed because we're not using index zero for clarity.
var calArr = MultiDimensionalArray(13,32);

// ********** DATABASE OF EVENTS - below here up until "End Database" is editable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// this is how many days that are not empty will print, if they're in the window of dates (set below).
var count = 5;
// maxcount is the "window" of dates that we're willing to check (this prevents and infinite loop if there are less thatn the number of 'count' days in the database
var maxcount = 15;

// January ~~~~~~~~
calArr[1][1] = "";
calArr[1][2] = "";
calArr[1][3] = "";
calArr[1][4] = "";
calArr[1][5] = "";
calArr[1][6] = "";
calArr[1][7] = "";
calArr[1][8] = "";
calArr[1][9] = "";
calArr[1][10] = "";
calArr[1][11] = "";
calArr[1][12] = "";
calArr[1][13] = "";
calArr[1][14] = "";
calArr[1][15] = "";
calArr[1][16] = "";
calArr[1][17] = "";
calArr[1][18] = "";
calArr[1][19] = "";
calArr[1][20] = "";
calArr[1][21] = "";
calArr[1][22] = "";
calArr[1][23] = "";
calArr[1][24] = "";
calArr[1][25] = "";
calArr[1][26] = "";
calArr[1][27] = "";
calArr[1][28] = "";
calArr[1][29] = "";
calArr[1][30] = "";
calArr[1][31] = "";

// February ~~~~~~~~
calArr[2][1] = "";
calArr[2][2] = "";
calArr[2][3] = "";
calArr[2][4] = "";
calArr[2][5] = "";
calArr[2][6] = "";
calArr[2][7] = "";
calArr[2][8] = "";
calArr[2][9] = "";
calArr[2][10] = "";
calArr[2][11] = "";
calArr[2][12] = "";
calArr[2][13] = "";
calArr[2][14] = "";
calArr[2][15] = "";
calArr[2][16] = "";
calArr[2][17] = "";
calArr[2][18] = "";
calArr[2][19] = "";
calArr[2][20] = "";
calArr[2][21] = "";
calArr[2][22] = "";
calArr[2][23] = "";
calArr[2][24] = "";
calArr[2][25] = "";
calArr[2][26] = "";
calArr[2][27] = "";
calArr[2][28] = "";
calArr[2][29] = ""; // Only for leap years!

// March ~~~~~~~~
calArr[3][1] = "";
calArr[3][2] = "";
calArr[3][3] = "";
calArr[3][4] = "";
calArr[3][5] = "";
calArr[3][6] = "";
calArr[3][7] = "";
calArr[3][8] = "";
calArr[3][9] = "";
calArr[3][10] = "";
calArr[3][11] = "";
calArr[3][12] = "";
calArr[3][13] = "";
calArr[3][14] = "";
calArr[3][15] = "";
calArr[3][16] = "";
calArr[3][17] = "";
calArr[3][18] = "";
calArr[3][19] = "";
calArr[3][20] = "";
calArr[3][21] = "";
calArr[3][22] = "";
calArr[3][23] = "";
calArr[3][24] = "";
calArr[3][25] = "";
calArr[3][26] = "";
calArr[3][27] = "";
calArr[3][28] = "";
calArr[3][29] = "";
calArr[3][30] = "";
calArr[3][31] = "";

// April ~~~~~~~~
calArr[4][1] = "";
calArr[4][2] = "";
calArr[4][3] = "";
calArr[4][4] = "";
calArr[4][5] = "";
calArr[4][6] = "";
calArr[4][7] = "";
calArr[4][8] = "";
calArr[4][9] = "";
calArr[4][10] = "";
calArr[4][11] = "";
calArr[4][12] = "";
calArr[4][13] = "";
calArr[4][14] = "";
calArr[4][15] = "";
calArr[4][16] = "";
calArr[4][17] = "";
calArr[4][18] = "";
calArr[4][19] = "";
calArr[4][20] = "";
calArr[4][21] = "";
calArr[4][22] = "";
calArr[4][23] = "";
calArr[4][24] = "";
calArr[4][25] = "";
calArr[4][26] = "";
calArr[4][27] = "";
calArr[4][28] = "";
calArr[4][29] = "";
calArr[4][30] = "";

// May ~~~~~~~~
calArr[5][1] = "";
calArr[5][2] = "";
calArr[5][3] = "";
calArr[5][4] = "";
calArr[5][5] = "";
calArr[5][6] = "";
calArr[5][7] = "";
calArr[5][8] = "";
calArr[5][9] = "";
calArr[5][10] = "";
calArr[5][11] = "";
calArr[5][12] = "";
calArr[5][13] = "";
calArr[5][14] = "";
calArr[5][15] = "";
calArr[5][16] = "";
calArr[5][17] = "";
calArr[5][18] = "";
calArr[5][19] = "";
calArr[5][20] = "";
calArr[5][21] = "";
calArr[5][22] = "";
calArr[5][23] = "";
calArr[5][24] = "";
calArr[5][25] = "";
calArr[5][26] = "";
calArr[5][27] = "";
calArr[5][28] = "";
calArr[5][29] = "";
calArr[5][30] = "";
calArr[5][31] = "";

// June ~~~~~~~~
calArr[6][1] = "";
calArr[6][2] = "";
calArr[6][3] = "";
calArr[6][4] = "";
calArr[6][5] = "";
calArr[6][6] = "";
calArr[6][7] = "";
calArr[6][8] = "";
calArr[6][9] = "";
calArr[6][10] = "";
calArr[6][11] = "";
calArr[6][12] = "";
calArr[6][13] = "";
calArr[6][14] = "";
calArr[6][15] = "";
calArr[6][16] = "";
calArr[6][17] = "";
calArr[6][18] = "";
calArr[6][19] = "";
calArr[6][20] = "";
calArr[6][21] = "";
calArr[6][22] = "";
calArr[6][23] = "";
calArr[6][24] = "";
calArr[6][25] = "";
calArr[6][26] = "";
calArr[6][27] = "";
calArr[6][28] = "";
calArr[6][29] = "";
calArr[6][30] = "";

// July ~~~~~~~~
calArr[7][1] = "";
calArr[7][2] = "";
calArr[7][3] = "";
calArr[7][4] = "";
calArr[7][5] = "";
calArr[7][6] = "";
calArr[7][7] = "";
calArr[7][8] = "";
calArr[7][9] = "";
calArr[7][10] = "";
calArr[7][11] = "";
calArr[7][12] = "";
calArr[7][13] = "";
calArr[7][14] = "";
calArr[7][15] = "";
calArr[7][16] = "";
calArr[7][17] = "";
calArr[7][18] = "";
calArr[7][19] = "";
calArr[7][20] = "";
calArr[7][21] = "";
calArr[7][22] = "";
calArr[7][23] = "";
calArr[7][24] = "";
calArr[7][25] = "";
calArr[7][26] = "";
calArr[7][27] = "";
calArr[7][28] = "";
calArr[7][29] = "";
calArr[7][30] = "";
calArr[7][31] = "";

// August ~~~~~~~~
calArr[8][1] = "";
calArr[8][2] = "";
calArr[8][3] = "";
calArr[8][4] = "";
calArr[8][5] = "";
calArr[8][6] = "";
calArr[8][7] = "";
calArr[8][8] = "";
calArr[8][9] = "";
calArr[8][10] = "";
calArr[8][11] = "";
calArr[8][12] = "";
calArr[8][13] = "";
calArr[8][14] = "";
calArr[8][15] = "";
calArr[8][16] = "";
calArr[8][17] = "";
calArr[8][18] = "";
calArr[8][19] = "";
calArr[8][20] = "";
calArr[8][21] = "";
calArr[8][22] = "";
calArr[8][23] = "";
calArr[8][24] = "";
calArr[8][25] = "";
calArr[8][26] = "";
calArr[8][27] = "";
calArr[8][28] = "";
calArr[8][29] = "";
calArr[8][30] = "";
calArr[8][31] = "";

// September ~~~~~~~~
calArr[9][1] = "";
calArr[9][2] = "";
calArr[9][3] = "";
calArr[9][4] = "";
calArr[9][5] = "";
calArr[9][6] = "";
calArr[9][7] = "";
calArr[9][8] = "";
calArr[9][9] = "";
calArr[9][10] = "";
calArr[9][11] = "";
calArr[9][12] = "";
calArr[9][13] = "";
calArr[9][14] = "";
calArr[9][15] = "";
calArr[9][16] = "";
calArr[9][17] = "";
calArr[9][18] = "";
calArr[9][19] = "";
calArr[9][20] = "";
calArr[9][21] = "";
calArr[9][22] = "";
calArr[9][23] = "";
calArr[9][24] = "";
calArr[9][25] = "";
calArr[9][26] = "";
calArr[9][27] = "";
calArr[9][28] = "";
calArr[9][29] = "";
calArr[9][30] = "";

// October ~~~~~~~~
calArr[10][1] = "";
calArr[10][2] = "";
calArr[10][3] = "";
calArr[10][4] = "";
calArr[10][5] = "";
calArr[10][6] = "";
calArr[10][7] = "";
calArr[10][8] = "";
calArr[10][9] = "";
calArr[10][10] = "";
calArr[10][11] = "";
calArr[10][12] = "";
calArr[10][13] = "";
calArr[10][14] = "";
calArr[10][15] = "";
calArr[10][16] = "";
calArr[10][17] = "";
calArr[10][18] = "";
calArr[10][19] = "";
calArr[10][20] = "";
calArr[10][21] = "";
calArr[10][22] = "";
calArr[10][23] = "";
calArr[10][24] = "";
calArr[10][25] = "";
calArr[10][26] = "";
calArr[10][27] = "";
calArr[10][28] = "";
calArr[10][29] = "";
calArr[10][30] = "";
calArr[10][31] = "";

// November ~~~~~~~~
calArr[11][1] = "";
calArr[11][2] = "";
calArr[11][3] = "";
calArr[11][4] = "";
calArr[11][5] = "";
calArr[11][6] = "";
calArr[11][7] = "";
calArr[11][8] = "";
calArr[11][9] = "";
calArr[11][10] = "";
calArr[11][11] = "";
calArr[11][12] = "";
calArr[11][13] = "";
calArr[11][14] = "";
calArr[11][15] = "";
calArr[11][16] = "";
calArr[11][17] = "";
calArr[11][18] = "";
calArr[11][19] = "";
calArr[11][20] = "";
calArr[11][21] = "";
calArr[11][22] = "";
calArr[11][23] = "";
calArr[11][24] = "";
calArr[11][25] = "";
calArr[11][26] = "";
calArr[11][27] = "";
calArr[11][28] = "";
calArr[11][29] = "";
calArr[11][30] = "";

// December ~~~~~~~~
calArr[12][1] = "";
calArr[12][2] = "";
calArr[12][3] = "";
calArr[12][4] = "";
calArr[12][5] = "";
calArr[12][6] = "";
calArr[12][7] = "";
calArr[12][8] = "";
calArr[12][9] = "";
calArr[12][10] = "";
calArr[12][11] = "";
calArr[12][12] = "";
calArr[12][13] = "";
calArr[12][14] = "";
calArr[12][15] = "";
calArr[12][16] = "";
calArr[12][17] = "";
calArr[12][18] = "";
calArr[12][19] = "";
calArr[12][20] = "";
calArr[12][21] = "";
calArr[12][22] = "";
calArr[12][23] = "";
calArr[12][24] = "";
calArr[12][25] = "";
calArr[12][26] = "";
calArr[12][27] = "";
calArr[12][28] = "";
calArr[12][29] = "";
calArr[12][30] = "";
calArr[12][31] = "";



// ********** END DATABASE OF EVENTS> DO NOT MODIFY BELOW HERE! ~~~~~~~~~~~
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//Get full date, get month (number), get day (number
now = new Date();
month = now.getMonth();
day = now.getDate();

// correct the month  because in JavaScript the arrays of months start with zero.
month = month + 1;

// check for leap year.
year = now.getYear();
leapYear = 0;
if ((year%4) == 0) {
	leapYear = 1;
}

while ((count > 0) && (maxcount > 0)) {
	if(calArr[month][day] != "") {
	document.write(calArr[month][day] +"<br />");
	count = count - 1;
	}

	// if we're at the last day of the month, (including checks for leap year, from the flag above)
	if ((((month=="1")||(month=="3")||(month=="5")||(month=="7")||(month=="8")||(month=="10")||(month=="12"))&&(day=="31"))||(((month=="4")||(month=="6")||(month=="9")||(month=="11"))&&(day=="30")) || ((leapYear == "0") && ((month=="2") && (day=="28"))) || ((leapYear == "1") && ((month=="2") && (day=="29")))) {
	
		// if we're in december (month==12), then go to january. If not, simply add one to the month. Then make day=1.
		if (month=="12") {
			month = 1;
		}
		else
		{
			month = month + 1;
		}
		
		day = 1;
	} else {
		day = day + 1;
	}
	maxcount = maxcount - 1;
}
