var monthNamesFR = new Array("Janvier","F&eacute;vrier","Mars","Avril","Mai","Juin",
	"Juillet","Ao&ucirc;t","Septembre","Octobre","Novembre","D&eacute;cembre");

var dayNamesFR = new Array("Lun","Mar","Mer","Jeu","Ven","Sam", "Dim");


var events = new Array(	
	new Array(new Date("March 16, 2012"), "Quiz International", "index.php#quiz2012"),
	new Array(new Date("February 8, 2012"), "Go&ucirc;ter International", "index.php#gouter2012"),
	new Array(new Date("January 19, 2012"), "Conseil d'Administration", ""),	
	new Array(new Date("November 25, 2011"), "Assembl&eacute;e g&eacute;n&eacute;rale", "index.php#ag2011"),
	//new Array(new Date("September 28, 2011"), "Inscriptions cours de langue &agrave; l'AS des Coquets de 18h30 &agrave; 19h30", "cours.php"),
	//new Array(new Date("September 26, 2011"), "Inscriptions cours de langue &agrave; l'AS des Coquets de 18h30 &agrave; 19h30", "cours.php"),
	new Array(new Date("September 11, 2011"), "Village des Associations", "index.php#VillageAsso2011"),
	new Array(new Date("September 8, 2011"), "Conseil d'Administration", ""),
	new Array(new Date("June 18, 2011"), "Fête de la Saint Jean au Centre de Loisirs", "index.php#sj2011"),
	new Array(new Date("June 14, 2011"), "Conseil d'Administration", ""),	
	new Array(new Date("May 9, 2011"), "F&ecirc;te de l'Europe", ""),
	new Array(new Date("March 19, 2011"), "Quiz International", "index.php#quiz2011"),
	new Array(new Date("February 2, 2011"), "Go&ucirc;ter International", "index.php#gouter2011"),
	new Array(new Date("November 17, 2010"), "Assembl&eacute;e g&eacute;n&eacute;rale", "index.php#ag2010"),
	new Array(new Date("October 9, 2010"), "Journ&eacute;e des Villes Jumel&eacute;es", "index.php#jvj"),
	new Array(new Date("September 12, 2010"), "Village des Associations", "index.php#VillageAsso2010"),
	new Array(new Date("June 12, 2010"), "F&ecirc;te de la Saint-Jean", "index.php#sj2010"),
	new Array(new Date("May 9, 2010"), "F&ecirc;te de l'Europe", "index.php#feteeurope2010"),
	
	new Array(new Date("May 17, 2012"), "Jumelage Barsinghausen - Visite &agrave; Barsinghausen", "barsinghausen.php#ascension2012"),
	new Array(new Date("August 26, 2011"), "StadtFest &agrave; Barsinghausen", "barsinghausen.php#stadtfest2011"),
	new Array(new Date("June 2, 2011"), "Jumelage Barsinghausen &agrave; Mont-SaintAignan", "barsinghausen.php#ascension2011"),
	new Array(new Date("May 13, 2010"), "Jumelage Barsinghausen- Visite &agrave; Barsinghausen", "barsinghausen.php#ascension2010"),
	
	new Array(new Date("June 11, 2011"), "F&ecirc;te de Brzeg Bolny", "brzegdolny.php#fetebrzegdolny2011"),
	new Array(new Date("May 13, 2011"), "Jumelage Brzeg Bolny", "brzegdolny.php#brzegdolny2011"),
	
	new Array(new Date("December 18, 2010"), "Jumelage Osica - Concert de Ionel Streba", "osica.php#ionelstreba"),
	new Array(new Date("March 12, 2010"), "Jumelage Osica - Ic&ocirc;nes sur verre de Transylvanie", "osica.php#siebel"),
	
	new Array(new Date("December 28, 2011"), "Mission &agrave; Rouko", ""),
	new Array(new Date("December 11, 2011"), "Jumelage Rouko - Vente de bouteilles d'eau", "rouko.php#eau_juin2011"),
	new Array(new Date("December 11, 2011"), "Mission &agrave; Rouko", "rouko.php#rouko_novembre2011"),
	new Array(new Date("December 1, 2011"), "Jumelage Rouko - Animation pour les a&icirc;n&eacute;s", "rouko.php#bf_fouma_traore"),
	new Array(new Date("November 26, 2011"), "Jumelage Rouko - Vente de bouteilles d'eau", "rouko.php#eau_juin2011"),
	new Array(new Date("Juin 18, 2011"), "Jumelage Rouko - Vente de bouteilles d'eau", "rouko.php#eau_juin2011"),
	new Array(new Date("February 5, 2011"), "Jumelage Rouko - Stage IUFM", "rouko.php#iufm2011"),
	new Array(new Date("December 18, 2010"), "Jumelage Rouko - Vente d'objets d'artisanat burkinab&eacute;s", "rouko.php#artisanat"),
	new Array(new Date("November 24, 2010"), "Mission de reconnaissance &agrave; Rouko", "rouko.php#mission"),
	new Array(new Date("May 6, 2010"), "Visite de nos amis burkinab&eacute;s", "rouko.php#visite"),
	
	new Array(new Date("October 27, 2012"), "Joint Committee Meeting &agrave; Mont-Saint-Aignan", ""),
	new Array(new Date("September 22, 2012"), "Jumelage Edenbridge - Visite &agrave; Edenbridge", ""),
	new Array(new Date("June 9, 2012"), "Jumelage Edenbridge - Visite du ch&acirc;teau de la Roche-Guyon", ""),
	new Array(new Date("June 4, 2012"), "Jumelage Edenbridge - Pram Race", ""),
	new Array(new Date("April 14, 2012"), "Jumelage Edenbridge - Walking week-end + Visite de la chorale Passacaille &agrave; Edenbridge", ""),
	new Array(new Date("October 22, 2011"), "Joint Committee Meeting &agrave; Edenbridge", "edenbridge.php#jcm2011"),
	new Array(new Date("September 23, 2011"), "Jumelage Edenbridge - Le Havre", "edenbridge.php#lehavre"),
	new Array(new Date("June 10, 2011"), "Jumelage Edenbridge - Greenwich", "edenbridge.php#greenwich"),
	new Array(new Date("May 30, 2011"), "Jumelage Edenbridge - Pram Race", "edenbridge.php#pramrace2011"),
	new Array(new Date("March 18, 2011"), "Jumelage Edenbridge - Walking Week-end", "edenbridge.php#wwe2011"),
	new Array(new Date("September 24, 2010"), "Jumelage Edenbridge - Lullingstone", "edenbridge.php#lullinstone"),
	new Array(new Date("June 4, 2010"), "Jumelage Edenbridge - Parc de Cl&egrave;res", "edenbridge.php#cleres")
);

function daysInMonth(iMonth, iYear)
{
	return 32 - new Date(iYear, iMonth, 32).getDate();
}

function showMonth(toShow)
{
	var diff, firstDay, lastDay, day, content, previousMonth, nextMonth, index;
	var tooltip, link;

	// see http://www.w3schools.com/jsref/jsref_obj_date.asp
	// http://javascript.about.com/library/bltut19.htm

	// First day of the month
	firstDay = new Date(toShow.getFullYear(), toShow.getMonth(), 1);
	diff = firstDay.getDay();
	// If this is not Monday we shift to previous Monday
	if (diff == 0)
		firstDay.setDate(firstDay.getDate() - 6);
	else
		firstDay.setDate(firstDay.getDate() - diff + 1);

	// Last day of the month
	lastDay = new Date(toShow.getFullYear(), toShow.getMonth(), daysInMonth(toShow.getFullYear(), toShow.getMonth()));
	diff = lastDay.getDay();
	// If this is not Sunday we shift to next Sunday
	if (diff != 0)
		lastDay.setDate(lastDay.getDate() + 7 - diff);

	previousMonth = new Date();
	previousMonth.setTime(toShow.valueOf());
	previousMonth.setMonth(previousMonth.getMonth() - 1);
	previousMonth.setDate(1);

	nextMonth = new Date();
	nextMonth.setTime(toShow.valueOf());
	nextMonth.setMonth(nextMonth.getMonth() + 1);
	nextMonth.setDate(1);

	content = '<TABLE BORDER="0">';

	content += '<TR>';
	content += '<TD><A href="#" onClick="showMonth(new Date(' + previousMonth.getFullYear() + ', ' + previousMonth.getMonth() + ', 1))"><IMG SRC="left.png" BORDER=0 /></A></TD>';
	content += '<TD colspan="5">' + monthNamesFR[toShow.getMonth()] + ' ' + toShow.getFullYear() + '</TD>';
	content += '<TD><A href="#" onClick="showMonth(new Date(' + nextMonth.getFullYear() + ', ' + nextMonth.getMonth() + ', 1))"><IMG SRC="right.png" BORDER=0 /></A></TD>';
	content += '</TR>';

	content += '<TR>';
	for (index = 0; index < dayNamesFR.length; index++)
	{
		content += '<TH>' + dayNamesFR[index] + '</TH>';
	}
	content += '</TR>';

	day = new Date();
	day.setTime(firstDay.valueOf());
	while (day <= lastDay)
	{
		// Is this date an event?
		for (index = 0; index < events.length; index++)
		{
			if (events[index][0].getFullYear() == day.getFullYear()
				&& events[index][0].getMonth() == day.getMonth()
				&& events[index][0].getDate() == day.getDate())
				break;
		}


		// Monday is the beginning of a new line
		if (day.getDay() == 1)
			content += '<TR>';

		if (day.getMonth() == toShow.getMonth())
			content += '<TD>';
		else
			content += '<TD CLASS="gray">';

		if (index < events.length)
		{
			tooltip = events[index][1];
			link = events[index][2];
			if (link == "")
				link = "#";
			content += '<A HREF="' + link + '" TITLE="' + tooltip + '">';
		}
		content += day.getDate();
		if (index < events.length)
			content += '</A>';

		content += '</TD>';

		// Sunday is the end of a the current line
		if (day.getDay() == 0)
			content += '</TR>';

		day.setDate(day.getDate() + 1);
	}

	content += '</TABLE>';

	document.getElementById('calendar').innerHTML = content;

}

