


var mois = new Array("Janvier","Février","Mars","Avril",
"Mai","Juin","Juillet","Aout","Septembre","Octobre",
"Novembre","Décembre");

/*Periodes : 
	0->Basse,
	1->Moyenne
	2->Haute
	3->très haute
*/

var couleurs = new Array("#00FF00","#FFFF00","#FF9966","#FF0000");


function AfficheCalendrier()
{
	var dt = new Date();
	var nMonth = dt.getMonth();
	var nAnnee = dt.getFullYear();
	dt = new Date( 	nAnnee, nMonth, 1);
	
		
	document.write("<table><TR>");
	for ( nMois = 0; nMois<12; nMois++ )
	{
		document.write("<TD>");
		AfficheMois(dt);
		document.write("</TD>");
		dt = new Date ( dt.getTime()+40*24*60*60*1000 );
		nMonth = dt.getMonth();
		nAnnee = dt.getFullYear();
		dt = new Date(nAnnee,nMonth, 1);
		if ( nMois < 11 && (dt.getMonth()+1)%2 == 0 )
			document.write("</TR><TR>");

	}
	document.write("</TR></TABLE>");
		
		
}	

function AfficheMois ( dateDebut )
{
	//Trouve le type de période de démarrage
	var nTypePeriodeEnCours = -1;
	var nIndexPeriode = -2;
	var dtNextPeriode = new Date();
	while ( true )
	{
		nIndexPeriode+=2;
		if ( nIndexPeriode < periodes.length )
		{
			var dtPeriode = new Date(Date.parse(periodes[nIndexPeriode]));
			if ( dtPeriode <= dateDebut )
				nTypePeriodeEnCours = parseInt(periodes[nIndexPeriode+1]);
			else
			{
				dtNextPeriode = dtPeriode;
				break;
			}
		}
		else
		{
			nTypePeriodeEnCours = 0;
			break;
		 }
	}
	var nMois = dateDebut.getMonth();
	//Table du mois
	document.write("<table bgcolor='#FFFFFFFF' width='140' height='150'>");
	//Titre
	document.write("<TR><TD align='center'><font size='2' face='Times New Roman'>");
	document.write(mois[dateDebut.getMonth()]+" "+dateDebut.getFullYear());
	document.write("</TD></TR>");
	//tableau des jours
	document.write("<TR><TD><TABLE>");
	var jours = new Array("L","M","M","J","V","S","D");
	document.write("<TR>");
	for ( nJour = 0; nJour <7; nJour++ )
	{
		document.write("<TD align='center'><font size='2' face='Times new Roman'>");
		document.write(jours[nJour]);
		document.write("</TD>");
	}
	document.write("</TR>");
	
	var dateAff = dateDebut;
	document.write("<TR>");
	
	var nStart = dateAff.getDay();
	for ( nJour = 1; nJour < nStart; ++nJour )
	{
		document.write("<TD/>");
	}

	
	var reservationsDuMois = new Array(31);
	for (nTmp = 1; nTmp <= 31; nTmp++ )
		reservationsDuMois[nTmp] = -1

	var dtFinMois = new Date ( dateDebut.getTime()+31*24*60*60*1000 );
	for ( nReser = 0; nReser < reservations.length;nReser+=3 )
	{
		var dtDebut = new Date(Date.parse ( reservations[nReser]));
		var dtFin = new Date(Date.parse ( reservations[nReser+1]));

		if ( dtDebut <= dtFinMois && dtFin >= dateDebut )
		{
			while ( dtDebut <= dtFin )
			{
				if ( dtDebut.getMonth() == nMois )
					reservationsDuMois[dtDebut.getDate()] = parseInt(reservations[nReser+2]);
				dtDebut = new Date(dtDebut.getTime()+24*60*60*1000);
				
			}
		}
	}
		


	

	while (dateAff.getMonth()==nMois)
	{
		var couleur = couleurs[nTypePeriodeEnCours];
		if ( reservationsDuMois[dateAff.getDate()]==1)
			couleur = "#FF66FF";

		if ( reservationsDuMois[dateAff.getDate()]==0)
			couleur = "#777D7E";
		document.write("<TD align='center' bgcolor='"+couleur+"'><font size='2' face='Times New Roman' >");
		document.write(dateAff.getDate());
		document.write("</TD>");		
		dateAff = new Date(dateAff.getTime()+24*60*60*1000);
		if ( dateAff.getDay() == 1  && dateAff.getMonth()==nMois)
		{
			document.write("</TR><TR>");
		}
		if ( dateAff >= dtNextPeriode )
		{
			nTypePeriodeEnCours = parseInt(periodes[nIndexPeriode+1]);
			nIndexPeriode+=2;
			if ( nIndexPeriode < periodes.length )
			{
				dtNextPeriode = new Date(Date.parse(periodes[nIndexPeriode]));
			}
			else
				dtNextPeriode = new Date(2030,1,1);
			
			
		}
	}
	document.write("</TR>");	
	
	//Fin du tableau des jours
	document.write("</table></td></tr>");

	//Fin de la table
	document.write("</table>");	

}

AfficheCalendrier();
