/***************************************/
/* Nom du script : calendar_fonc v1.0  */
/* Date de création: 12/11/2003        */
/***************************************/
ddeb = window.document;
dfin = window.document;
drech = window.document;

aujourdhui = new Date();
aujourdhuiJ = aujourdhui.getDate();			//Jour contractuel
aujourdhuiM = aujourdhui.getMonth()+1;		//Mois contractuel
aujourdhuiA = aujourdhui.getFullYear();		//Année contractuellle

cejourdeb = null;
cejourfin = null;
cemoisdeb = null;
cemoisfin = null;
cemoisenvdeb = null;
cemoisenvfin = null;
cetandeb = null;
cetanfin = null;
datepasse= null;
cejourrech = null;
cemoisrech = null;
cemoisenvrech = null;
cetanrech = null;

firstUsedeb = false;							//Deja une utilisation avec selection de date (o/n)
firstUsefin = false;							//Deja une utilisation avec selection de date (o/n)
firstUserech = false;

navdeb=false;									//Mode navigation (o/n)
navfin=false;									//Mode navigation (o/n)
navrech=false;									//Mode navigation (o/n)
navencoursdeb=false;							//Navigation en cours (o/n)
navencoursfin=false;							//Navigation en cours (o/n)
navencoursrech=false;							//Navigation en cours (o/n)
nodeVisibledeb=false;							//Visibilité du node TABLE (0/n)
nodeVisiblefin=false;
nodeVisiblerech=false;							//Visibilité du node TABLE (0/n)

moisSelectdeb=aujourdhuiM;						//Mois selectionné
anSelectdeb=aujourdhuiA;						//Année selectionnée
moisSelectfin=aujourdhuiM;						//Mois selectionné
anSelectfin=aujourdhuiA;
moisSelectrech=aujourdhuiM;						//Mois selectionné
anSelectrech=aujourdhuiA;						//Année selectionnée

function fDrawTabledeb(){
	//Def. styles DIV id=ECRAN
	with(ddeb.getElementById('ecrandeb').style) {
		position = 'absolute';
		width = '182px';
		height = '191px';
		left = '720px';
		top = '320px';
	}

	//Structure HTML du tableau Calendrier
	tbHTML = "<table id='tbCal' bgcolor='#000000'>"
	+ "<tr><td class='libelle_caseagenda'></td><td align='center' class='libelle_caseagenda' id='lannee' colspan='5'></td><td align='center' class='libelle_caseagenda'><a href='#' onClick='fEraseTabledeb(this,true);' title='Fermer'><img src='"+js_reporga+"/images/c_bd.gif' border='0' /></a></td></tr>"
	+ "<tr valign='middle'><td class='libelle_caseagenda' align='center'><a href='#' onClick='fCalendrierdeb(moisdeb-=1,true)' title='Mois précédent'><img src='"+js_reporga+"/images/c_mp.gif' border='0' /></a></td><td id='lemoisdeb' class='libelle_caseagenda' colspan='5'></td><td align='center' class='libelle_caseagenda'><a href='#' border='0' onClick='fCalendrierdeb(moisdeb+=1,true)' title='Mois suivant'><img src='"+js_reporga+"/images/c_ms.gif' border='0' /></a></td></tr>"
	+ "<tr><td class='entete_caseagenda'>L</td><td class='entete_caseagenda'>M</td><td class='entete_caseagenda'>M</td><td class='entete_caseagenda'>J</td><td class='entete_caseagenda'>V</td><td class='entete_caseagenda'>S</td><td class='entete_caseagenda'>D</td></tr>" 
	+ "<tr><td class='caseagenda' id='0'></td><td class='caseagenda' id='1'></td><td class='caseagenda' id='2'></td><td class='caseagenda' id='3'></td><td class='caseagenda' id='4'></td><td class='caseagenda' id='5'></td><td class='caseagenda' id='6'></td></tr>"
	+ "<tr><td class='caseagenda' id='7'></td><td class='caseagenda' id='8'></td><td class='caseagenda' id='9'></td><td class='caseagenda' id='10'></td><td class='caseagenda' id='11'></td><td class='caseagenda' id='12'></td><td class='caseagenda' id='13'></td></tr>"
	+ "<tr><td class='caseagenda' id='14'></td><td class='caseagenda' id='15'></td><td class='caseagenda' id='16'></td><td class='caseagenda' id='17'></td><td class='caseagenda' id='18'></td><td class='caseagenda' id='19'></td><td class='caseagenda' id='20'></td></tr>"
	+ "<tr><td class='caseagenda' id='21'></td><td class='caseagenda' id='22'></td><td class='caseagenda' id='23'></td><td class='caseagenda' id='24'></td><td class='caseagenda' id='25'></td><td class='caseagenda' id='26'></td><td class='caseagenda' id='27'></td></tr>"
	+ "<tr><td class='caseagenda' id='28'></td><td class='caseagenda' id='29'></td><td class='caseagenda' id='30'></td><td class='caseagenda' id='31'></td><td class='caseagenda' id='32'></td><td class='caseagenda' id='33'></td><td class='caseagenda' id='34'></td></tr>" 
	+ "<tr><td class='caseagenda' id='35'></td><td class='caseagenda' id='36'></td><td class='caseagenda' id='37'></td><td class='caseagenda' id='38'></td><td class='caseagenda' id='39'></td><td class='caseagenda' id='40'></td><td class='caseagenda' id='41'></td></tr>"
	+ "</table>";

	ddeb.getElementById('ecrandeb').innerHTML	= tbHTML;	// Ecriture du tableau dans le DIV id=ecran

	eTBL = ddeb.getElementById('tbCal');				// Element TABLE id=tbCal
	cTR = eTBL.getElementsByTagName('tr');			// Collection des TR de la TABLE

	cTD = new Array();								// Collection des TD ligne par ligne
	for (i = 0; i < cTR.length; i++){
		cTD[i] = cTR[i].getElementsByTagName('td');
	}

	//Def. style TABLE
	with(eTBL.style) {
		width = '182px';
		height = '191px';
		bgcolor = '#ffffff';
		borderStyle = 'solid';
		borderWidth = '2px'
		borderColor = '#226680';
		borderCollapse = 'collapse';
		fontFamily = 'sans-serif';
		fontSize = '12px';
	}
	
	//Def. style TABLE : TR 2
	with(cTR[1].style) {
		height = '20px';
		borderSpacing = '0px';
		padding = '0px';
		fontSize = '16px';
		fontWeight = 'bold'
		textAlign = 'center';
		verticalAlign = 'middle';
	}
	
	//Def. style TABLE : TR 3 --> TR 9
	for (i=2;i<9;i++) {
		with(cTR[i].style) {
			height = '20px';
			borderSpacing = '0px';
			padding = '0px';
			fontSize = '11px';
			textAlign = 'center';
			verticalAlign = 'middle';	
		}
		//Def. style TABLE : TDs : TR_3 --> TR_9
		for (j=0;j<7;j++){
			with(cTD[i].item(j).style) {
				width = '20px';
				height = '20px';
				borderSpacing = '0px';
				padding = '0px';
			}
		}
	}
}


function fDrawTablefin(){
	//Def. styles DIV id=ECRAN
	with(dfin.getElementById('ecranfin').style) {
		position = 'absolute';
		width = '182px';
		height = '191px';
		left = '720px';
		top = '360px';
	}

	//Structure HTML du tableau Calendrier
	tbHTML = "<table id='tbCal' bgcolor='#000000'>"
	+ "<tr><td class='libelle_caseagenda'></td><td align='center' class='libelle_caseagenda' id='lannee' colspan='5'></td><td align='center' class='libelle_caseagenda'><a href='#' onClick='fEraseTablefin(this,true);' title='Fermer'><img src='"+js_reporga+"/images/c_bd.gif' border='0' /></a></td></tr>"
	+ "<tr valign='middle'><td class='libelle_caseagenda' align='center'><a href='#' onClick='fCalendrierfin(moisfin-=1,true)' title='Mois précédent'><img src='"+js_reporga+"/images/c_mp.gif' border='0' /></a></td><td id='lemoisfin' class='libelle_caseagenda' colspan='5'></td><td align='center' class='libelle_caseagenda'><a href='#' border='0' onClick='fCalendrierfin(moisfin+=1,true)' title='Mois suivant'><img src='"+js_reporga+"/images/c_ms.gif' border='0' /></a></td></tr>"
	+ "<tr><td class='entete_caseagenda'>L</td><td class='entete_caseagenda'>M</td><td class='entete_caseagenda'>M</td><td class='entete_caseagenda'>J</td><td class='entete_caseagenda'>V</td><td class='entete_caseagenda'>S</td><td class='entete_caseagenda'>D</td></tr>" 
	+ "<tr><td class='caseagenda' id='0'></td><td class='caseagenda' id='1'></td><td class='caseagenda' id='2'></td><td class='caseagenda' id='3'></td><td class='caseagenda' id='4'></td><td class='caseagenda' id='5'></td><td class='caseagenda' id='6'></td></tr>"
	+ "<tr><td class='caseagenda' id='7'></td><td class='caseagenda' id='8'></td><td class='caseagenda' id='9'></td><td class='caseagenda' id='10'></td><td class='caseagenda' id='11'></td><td class='caseagenda' id='12'></td><td class='caseagenda' id='13'></td></tr>"
	+ "<tr><td class='caseagenda' id='14'></td><td class='caseagenda' id='15'></td><td class='caseagenda' id='16'></td><td class='caseagenda' id='17'></td><td class='caseagenda' id='18'></td><td class='caseagenda' id='19'></td><td class='caseagenda' id='20'></td></tr>"
	+ "<tr><td class='caseagenda' id='21'></td><td class='caseagenda' id='22'></td><td class='caseagenda' id='23'></td><td class='caseagenda' id='24'></td><td class='caseagenda' id='25'></td><td class='caseagenda' id='26'></td><td class='caseagenda' id='27'></td></tr>"
	+ "<tr><td class='caseagenda' id='28'></td><td class='caseagenda' id='29'></td><td class='caseagenda' id='30'></td><td class='caseagenda' id='31'></td><td class='caseagenda' id='32'></td><td class='caseagenda' id='33'></td><td class='caseagenda' id='34'></td></tr>" 
	+ "<tr><td class='caseagenda' id='35'></td><td class='caseagenda' id='36'></td><td class='caseagenda' id='37'></td><td class='caseagenda' id='38'></td><td class='caseagenda' id='39'></td><td class='caseagenda' id='40'></td><td class='caseagenda' id='41'></td></tr>"
	+ "</table>";

	dfin.getElementById('ecranfin').innerHTML	= tbHTML;	// Ecriture du tableau dans le DIV id=ecran

	eTBL = dfin.getElementById('tbCal');				// Element TABLE id=tbCal
	cTR = eTBL.getElementsByTagName('tr');			// Collection des TR de la TABLE

	cTD = new Array();								// Collection des TD ligne par ligne
	for (i = 0; i < cTR.length; i++){
		cTD[i] = cTR[i].getElementsByTagName('td');
	}

	//Def. style TABLE
	with(eTBL.style) {
		width = '182px';
		height = '191px';
		bgcolor = '#ffffff';
		borderStyle = 'solid';
		borderWidth = '2px'
		borderColor = '#226680';
		borderCollapse = 'collapse';
		fontFamily = 'sans-serif';
		fontSize = '12px';
	}
	
	//Def. style TABLE : TR 2
	with(cTR[1].style) {
		height = '20px';
		borderSpacing = '0px';
		padding = '0px';
		fontSize = '16px';
		fontWeight = 'bold'
		textAlign = 'center';
		verticalAlign = 'middle';
	}
	
	//Def. style TABLE : TR 3 --> TR 9
	for (i=2;i<9;i++) {
		with(cTR[i].style) {
			height = '20px';
			borderSpacing = '0px';
			padding = '0px';
			fontSize = '11px';
			textAlign = 'center';
			verticalAlign = 'middle';	
		}
		//Def. style TABLE : TDs : TR_3 --> TR_9
		for (j=0;j<7;j++){
			with(cTD[i].item(j).style) {
				width = '20px';
				height = '20px';
				borderSpacing = '0px';
				padding = '0px';
			}
		}
	}
}

function fDrawTablerech(){
	//Def. styles DIV id=ECRAN
	with(ddeb.getElementById('ecranrech').style) {
	}

	//Structure HTML du tableau Calendrier
	tbHTML = "<table id='tbCal' bgcolor='#000000'>"
	+ "<tr valign='middle'><td class='libelle_caseagenda' align='center'><a href='#' onClick='fCalendrierrech(moisrech-=1,true)' title='Mois précédent'><img src='"+js_reporga+"/images/c_mp.gif' border='0' /></a></td><td id='lemoisrech' class='libelle_caseagenda' colspan='3'><td align='center' class='libelle_caseagenda' id='lannee' colspan='2'></td></td><td align='center' class='libelle_caseagenda'><a href='#' border='0' onClick='fCalendrierrech(moisrech+=1,true)' title='Mois suivant'><img src='"+js_reporga+"/images/c_ms.gif' border='0' /></a></td></tr>"
	+ "<tr><td class='entete_caseagenda'>L</td><td class='entete_caseagenda'>M</td><td class='entete_caseagenda'>M</td><td class='entete_caseagenda'>J</td><td class='entete_caseagenda'>V</td><td class='entete_caseagenda'>S</td><td class='entete_caseagenda'>D</td></tr>" 
	+ "<tr><td class='caseagenda' id='0'></td><td class='caseagenda' id='1'></td><td class='caseagenda' id='2'></td><td class='caseagenda' id='3'></td><td class='caseagenda' id='4'></td><td class='caseagenda' id='5'></td><td class='caseagenda' id='6'></td></tr>"
	+ "<tr><td class='caseagenda' id='7'></td><td class='caseagenda' id='8'></td><td class='caseagenda' id='9'></td><td class='caseagenda' id='10'></td><td class='caseagenda' id='11'></td><td class='caseagenda' id='12'></td><td class='caseagenda' id='13'></td></tr>"
	+ "<tr><td class='caseagenda' id='14'></td><td class='caseagenda' id='15'></td><td class='caseagenda' id='16'></td><td class='caseagenda' id='17'></td><td class='caseagenda' id='18'></td><td class='caseagenda' id='19'></td><td class='caseagenda' id='20'></td></tr>"
	+ "<tr><td class='caseagenda' id='21'></td><td class='caseagenda' id='22'></td><td class='caseagenda' id='23'></td><td class='caseagenda' id='24'></td><td class='caseagenda' id='25'></td><td class='caseagenda' id='26'></td><td class='caseagenda' id='27'></td></tr>"
	+ "<tr><td class='caseagenda' id='28'></td><td class='caseagenda' id='29'></td><td class='caseagenda' id='30'></td><td class='caseagenda' id='31'></td><td class='caseagenda' id='32'></td><td class='caseagenda' id='33'></td><td class='caseagenda' id='34'></td></tr>" 
	+ "<tr><td class='caseagenda' id='35'></td><td class='caseagenda' id='36'></td><td class='caseagenda' id='37'></td><td class='caseagenda' id='38'></td><td class='caseagenda' id='39'></td><td class='caseagenda' id='40'></td><td class='caseagenda' id='41'></td></tr>"
	+ "</table>";

	drech.getElementById('ecranrech').innerHTML	= tbHTML;	// Ecriture du tableau dans le DIV id=ecran

	eTBL = drech.getElementById('tbCal');				// Element TABLE id=tbCal
	cTR = eTBL.getElementsByTagName('tr');			// Collection des TR de la TABLE

	cTD = new Array();								// Collection des TD ligne par ligne
	for (i = 0; i < cTR.length; i++){
		cTD[i] = cTR[i].getElementsByTagName('td');
	}

	//Def. style TABLE
	with(eTBL.style) {
		width = '182px';
		height = '191px';
		bgcolor = '#ffffff';
		borderStyle = 'solid';
		borderWidth = '2px'
		borderColor = '#dddddd';
		borderCollapse = 'collapse';
		fontFamily = 'sans-serif';
		fontSize = '12px';
	}
	
	//Def. style TABLE : TR 2
	with(cTR[0].style) {
		height = '20px';
		bgcolor = '#ffffff';
		borderSpacing = '0px';
		padding = '0px';
		fontSize = '16px';
		fontWeight = 'bold'
		textAlign = 'center';
		verticalAlign = 'middle';
	}
	
	//Def. style TABLE : TR 3 --> TR 9
	for (i=1;i<8;i++) {
		with(cTR[i].style) {
			height = '20px';
			borderSpacing = '0px';
			padding = '0px';
			fontSize = '11px';
			textAlign = 'center';
			verticalAlign = 'middle';	
		}
		//Def. style TABLE : TDs : TR_3 --> TR_9
		for (j=0;j<7;j++){
			with(cTD[i].item(j).style) {
				width = '20px';
				height = '20px';
				borderSpacing = '0px';
				padding = '0px';
			}
		}
	}
}

function calendrierdeb() {
	//Si le calendrier n'est pas affiché
	if (!nodeVisibledeb) {
		// Si il y a eu précédement une selection de date
		//on insère le clone de tabNode.
		if (firstUsedeb){
			ddeb.getElementById('ecrandeb').appendChild(tabNodeCopydeb);
			nodeVisibledeb = true;		//Le node est affiché donc visible

		// Sinon, on dessine la table et on passe au remplissage du calendrier
		} else {
			fDrawTabledeb();		//Affichage du tableau
			fCalendrierdeb();		//Remplissage
		}
	}
}

function calendrierfin() {
	//Si le calendrier n'est pas affiché
	if (!nodeVisiblefin) {
		// Si il y a eu précédement une selection de date
		//on insère le clone de tabNode.
		if (firstUsefin){
			dfin.getElementById('ecranfin').appendChild(tabNodeCopyfin);
			nodeVisiblefin = true;		//Le node est affiché donc visible
		// Sinon, on dessine la table et on passe au remplissage du calendrier
			} else {
			fDrawTablefin();		//Affichage du tableau
			fCalendrierfin();		//Remplissage			
		}
	}
}

function calendrierrech() {
    fDrawTablerech();		//Affichage du tableau
    fCalendrierrech();		//Remplissage
}

function fCalendrierdeb(pmoisdeb,navdeb) {
	tMoisdeb = new Array('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
	dNow = new Date();			//Récupération de la date courante
	if (navdeb && !navencoursdeb){								//Si mode navigation enclenché et qu'il n'y à pas de navigation en cours
		tabNodedeb = ddeb.getElementById('ecrandeb').firstChild;		//Préserver le node avec le valeurs précédentes
		tabNodeCopydeb = tabNodedeb.cloneNode(true);				//Puis le cloner
		navencoursdeb=true;									//La navigation est en cours
	}

	//Navigation du calendrier
	if (pmoisdeb == null) {
		moisdeb = dNow.getMonth();		//Mois courant
		andeb = dNow.getFullYear();	//Année courante
	} else {
		if (pmoisdeb<0){
			andeb = dNow.getFullYear(dNow.setFullYear(andeb-1));
			moisdeb = dNow.getMonth(dNow.setMonth(11));
		} else if (pmoisdeb>11){
			andeb = dNow.getFullYear(dNow.setFullYear(andeb+1));
			moisdeb = dNow.getMonth(dNow.setMonth(0));
		} else {
			andeb = dNow.getFullYear(dNow.setFullYear(andeb));
			moisdeb = dNow.getMonth(dNow.setMonth(pmoisdeb));
		}
	}
	//Affichage des informations Mois et Année
	ddeb.getElementById('lemoisdeb').innerHTML = tMoisdeb[moisdeb];		//Affichage du mois
	ddeb.getElementById('lannee').innerHTML = andeb;				//Affichage de l'année

	ijourdeb = 1;					//Initialisation de l'index du premiser jour du mois
	dNow.setDate(ijourdeb);		//Initialisation du jour du mois à l'index

	//Effacer le contenu de toutes les cellule du calendrier (de id=0 à id=41)
	for(i=0;i<42;i++) {
		ddeb.getElementById(i).innerHTML = "";
	}

	//Correlation entre le 1er jour du mois, le jour de la semaine correspondant
	//et la cellule du tableau correspondante
	switch (dNow.getDay()) {
		case 0 : id = 6; break;
		case 1 : id = 0; break;
		case 2 : id = 1; break;
		case 3 : id = 2; break;
		case 4 : id = 3; break;
		case 5 : id = 4; break;
		case 6 : id = 5; break;
	}

	//Ecriture des dates pour le mois (remplissage du tableau avec les date)
	while(moisdeb == dNow.getMonth()) {
		ddeb.getElementById(id).innerHTML = "<a href='#' class='miniagenda' onClick='fEraseTabledeb(this,false);'>" + dNow.getDate() + "</a>";

		if (ijourdeb == aujourdhuiJ && moisdeb == aujourdhuiM-1 && andeb == aujourdhuiA) {
			//Si le date est la date contractuelle
			with(ddeb.getElementById(id).firstChild.style){
				width = "18px";
				backgroundColor = "#ffffff";
				color = "#295174";
				borderStyle = "solid";
				borderColor = "#295174";
				borderWidth = "1px";
				textDecoration = "none";
			}
		} else if (ijourdeb == Number(cejourdeb) && moisdeb == moisSelectdeb && andeb == anSelectdeb) {
			//Si le date est celle du jour dernièrement selectionné
			with(ddeb.getElementById(id).firstChild.style){
				color = "#FF0000";
				textDecoration = "none";
			}
		} else {
			//Pour toutes les autres dates
			with(ddeb.getElementById(id).firstChild.style){
				color = "#226680";
				textDecoration = "none";
			}
		}

		ijourdeb++;
		id++;
		dNow.setDate(ijourdeb);		//Jour suivant
	}
}

function fCalendrierfin(pmoisfin,navfin) {
	tMoisfin = new Array('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
	dNow = new Date();			//Récupération de la date courante
	if (navfin && !navencoursfin){								//Si mode navigation enclenché et qu'il n'y à pas de navigation en cours
		tabNodefin = dfin.getElementById('ecranfin').firstChild;		//Préserver le node avec le valeurs précédentes
		tabNodeCopyfin = tabNodefin.cloneNode(true);				//Puis le cloner
		navencoursfin=true;									//La navigation est en cours
	}
	//Navigation du calendrier
	if (pmoisfin == null) {
		moisfin = dNow.getMonth();		//Mois courant
		anfin = dNow.getFullYear();	//Année courante
	} else {
		if (pmoisfin<0){
			anfin = dNow.getFullYear(dNow.setFullYear(anfin-1));
			moisfin = dNow.getMonth(dNow.setMonth(11));
		} else if (pmoisfin>11){
			anfin = dNow.getFullYear(dNow.setFullYear(anfin+1));
			moisfin = dNow.getMonth(dNow.setMonth(0));
		} else {
			anfin = dNow.getFullYear(dNow.setFullYear(anfin));
			moisfin = dNow.getMonth(dNow.setMonth(pmoisfin));
		}
	}
	//Affichage des informations Mois et Année
	dfin.getElementById('lemoisfin').innerHTML = tMoisfin[moisfin];		//Affichage du mois
	dfin.getElementById('lannee').innerHTML = anfin;				//Affichage de l'année

	ijourfin = 1;					//Initialisation de l'index du premiser jour du mois
	dNow.setDate(ijourfin);		//Initialisation du jour du mois à l'index

	//Effacer le contenu de toutes les cellule du calendrier (de id=0 à id=41)
	for(i=0;i<42;i++) {
		dfin.getElementById(i).innerHTML = "";
	}

	//Correlation entre le 1er jour du mois, le jour de la semaine correspondant
	//et la cellule du tableau correspondante
	switch (dNow.getDay()) {
		case 0 : id = 6; break;
		case 1 : id = 0; break;
		case 2 : id = 1; break;
		case 3 : id = 2; break;
		case 4 : id = 3; break;
		case 5 : id = 4; break;
		case 6 : id = 5; break;
	}

	//Ecriture des dates pour le mois (remplissage du tableau avec les date)
	while(moisfin == dNow.getMonth()) {
		dfin.getElementById(id).innerHTML = "<a class='miniagenda' href='#' onClick='fEraseTablefin(this,false);'>" + dNow.getDate() + "</a>";

		if (ijourfin == aujourdhuiJ && moisfin == aujourdhuiM-1 && anfin == aujourdhuiA) {
			//Si le date est la date contractuelle
			with(dfin.getElementById(id).firstChild.style){
				width = "18px";
				backgroundColor = "#ffffff";
				color = "#295174";
				borderStyle = "solid";
				borderColor = "#295174";
				borderWidth = "1px";
				textDecoration = "none";
			}
		} else if (ijourfin == Number(cejourfin) && moisfin == moisSelectfin && anfin == anSelectfin) {
			//Si le date est celle du jour dernièrement selectionné
			with(dfin.getElementById(id).firstChild.style){
				color = "#FF0000";
				textDecoration = "none";
			}
		} else {
			//Pour toutes les autres dates
			with(dfin.getElementById(id).firstChild.style){
				color = "#226680";
				textDecoration = "none";
			}
		}

		ijourfin++;
		id++;
		dNow.setDate(ijourfin);		//Jour suivant
	}
}

function fCalendrierrech(pmoisrech,navrech) {
	tMoisrech = new Array('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
	dNow = new Date();			//Récupération de la date courante
	if (navrech && !navencoursrech){								//Si mode navigation enclenché et qu'il n'y à pas de navigation en cours
		tabNoderech = drech.getElementById('ecranrech').firstChild;		//Préserver le node avec le valeurs précédentes
		tabNodeCopyrech = tabNoderech.cloneNode(true);				//Puis le cloner
		navencoursrech=true;									//La navigation est en cours
	}

	//Navigation du calendrier
	if (pmoisrech == null) {
		moisrech = dNow.getMonth();		//Mois courant
		anrech = dNow.getFullYear();	//Année courante
	} else {
		if (pmoisrech<0){
			anrech = dNow.getFullYear(dNow.setFullYear(anrech-1));
			moisrech = dNow.getMonth(dNow.setMonth(11));
		} else if (pmoisrech>11){
			anrech = dNow.getFullYear(dNow.setFullYear(anrech+1));
			moisrech = dNow.getMonth(dNow.setMonth(0));
		} else {
			anrech = dNow.getFullYear(dNow.setFullYear(anrech));
			moisrech = dNow.getMonth(dNow.setMonth(pmoisrech));
		}
	}
	//Affichage des informations Mois et Année
	drech.getElementById('lemoisrech').innerHTML = "<a href='#' class='moisagenda' onClick='fValidMoisrech(this);'>" + tMoisrech[moisrech]; + "</a>";		//Affichage du mois
	drech.getElementById('lannee').innerHTML = anrech;				//Affichage de l'année

	ijourrech = 1;					//Initialisation de l'index du premiser jour du mois
	dNow.setDate(ijourrech);		//Initialisation du jour du mois à l'index

	//Effacer le contenu de toutes les cellule du calendrier (de id=0 à id=41)
	for(i=0;i<42;i++) {
		drech.getElementById(i).innerHTML = "";
	}

	//Correlation entre le 1er jour du mois, le jour de la semaine correspondant
	//et la cellule du tableau correspondante
	switch (dNow.getDay()) {
		case 0 : id = 6; break;
		case 1 : id = 0; break;
		case 2 : id = 1; break;
		case 3 : id = 2; break;
		case 4 : id = 3; break;
		case 5 : id = 4; break;
		case 6 : id = 5; break;
	}

	//Ecriture des dates pour le mois (remplissage du tableau avec les date)
	while(moisrech == dNow.getMonth()) {
		drech.getElementById(id).innerHTML = "<a href='#' class='miniagenda' onClick='fValidTablerech(this);'>" + dNow.getDate() + "</a>";

		if (ijourrech == aujourdhuiJ && moisrech == aujourdhuiM-1 && anrech == aujourdhuiA) {
			//Si le date est la date contractuelle
			with(drech.getElementById(id).firstChild.style){
				width = "18px";
				backgroundColor = "#ffffff";
				color = "#295174";
				borderStyle = "solid";
				borderColor = "#295174";
				borderWidth = "1px";
				textDecoration = "none";
			}
		} else if (ijourrech == Number(cejourrech) && moisrech == moisSelectrech && anrech == anSelectrech) {
			//Si le date est celle du jour dernièrement selectionné
			with(drech.getElementById(id).firstChild.style){
				color = "#FF0000";
				textDecoration = "none";
			}
		} else {
			//Pour toutes les autres dates
			with(drech.getElementById(id).firstChild.style){
				color = "#226680";
				textDecoration = "none";
			}
		}

		ijourrech++;
		id++;
		dNow.setDate(ijourrech);		//Jour suivant
	}
}

function fEraseTabledeb(objdeb,btnfermerdeb){
	if(btnfermerdeb) {
		//Gestion du node Table id=tbCal si fermeture avec bouton Fermer
		//
		//Efface le node Table
		ddeb.getElementById('ecrandeb').removeChild(ddeb.getElementById('ecrandeb').firstChild);

		//Si une date a été selectionnée antérieurement
		if(firstUsedeb){
			andeb = dNow.getFullYear(dNow.setFullYear(anSelectdeb));	//Initialisation de l'année à l'année selectionnée pour la prochaine navigation
			moisdeb = dNow.getMonth(dNow.setMonth(moisSelectdeb));	//Initialisation du compteur de mois au mois selectionné pour la prochaine navigation
			navencoursdeb=false;				//Plus de navigation en cours
			navdeb=false;						//Desactivation du mode navigation
			nodeVisibledeb = false;			//Le node est supprimé donc invisible
		}
	} else {
	//Gestion du node Table id=tbCal si fermeture avec click sur une date
	//
	//Met en rouge la date choisie
	//obj.style.color = '#FF0000';

	//A partir de maintenant on considère qu'une première utilisation 
	//du calendrier avec sélection de date a été faite.
	firstUsedeb=true;

	//Mémorise le mois et l'année selectionnés
	moisSelectdeb = moisdeb;
	anSelectdeb = andeb;

	//Affichage de la date choisie dans le formulaire
	cejourdeb = objdeb.innerHTML;
	cejourdeb = (cejourdeb<10)? "0"+cejourdeb : cejourdeb;
	cemoisdeb = ((moisdeb+1)<10)? "0"+(moisdeb+1) : (moisdeb+1);
	cetandeb = andeb;
	if (cemoisdeb==aujourdhuiM) cemoisenvdeb=aujourdhuiM; //gère le 0 en plus pour retrouver le jour
	else cemoisenvdeb=cemoisdeb;
	//datepass = cejour + "/" + cemoisenv + "/" + andeb;
	datepass = cejourdeb + "-" + cemoisenvdeb + "-" + andeb;
	passedatedeb(datepass);
	//Gestion du node Table id=tbCal
	tabNodedeb = ddeb.getElementById('ecrandeb').firstChild;									//Preserve le node Table
	tabNodeCopydeb = tabNodedeb.cloneNode(true);											//Clone le node Table
	ddeb.getElementById('ecrandeb').removeChild(ddeb.getElementById('ecrandeb').firstChild);	//Efface le node Table
	navdeb=false;						//On est plus en mode Navigation.
	navencoursdeb=false;				//Il n'y a plus de navigation en cours.
	nodeVisibledeb = false;			//Le node est supprimé donc invisible
	andeb = dNow.getFullYear(dNow.setFullYear(anSelectdeb));	//Initialisation de l'année à l'année selectionnée pour la prochaine navigation
	moisdeb = dNow.getMonth(dNow.setMonth(moisSelectdeb));	//Initialisation du compteur de mois au mois selectionné pour la prochaine navigation
	}
}

function fEraseTablefin(objfin,btnfermerfin){
	if(btnfermerfin) {
		//Gestion du node Table id=tbCal si fermeture avec bouton Fermer
		//
		//Efface le node Table
		dfin.getElementById('ecranfin').removeChild(dfin.getElementById('ecranfin').firstChild);

		//Si une date a été selectionnée antérieurement
		if(firstUsefin){
			anfin = dNow.getFullYear(dNow.setFullYear(anSelectfin));	//Initialisation de l'année à l'année selectionnée pour la prochaine navigation
			moisfin = dNow.getMonth(dNow.setMonth(moisSelectfin));	//Initialisation du compteur de mois au mois selectionné pour la prochaine navigation
			navencoursfin=false;				//Plus de navigation en cours
			navfin=false;						//Desactivation du mode navigation
			nodeVisiblefin = false;			//Le node est supprimé donc invisible
		}
	} else {
	//Gestion du node Table id=tbCal si fermeture avec click sur une date
	//Met en rouge la date choisie
	//obj.style.color = '#FF0000';

	//A partir de maintenant on considère qu'une première utilisation 
	//du calendrier avec sélection de date a été faite.
	firstUsefin=true;

	//Mémorise le mois et l'année selectionnés
	moisSelectfin = moisfin;
	anSelectfin = anfin;

	//Affichage de la date choisie dans le formulaire
	cejourfin = objfin.innerHTML;
	cejourfin = (cejourfin<10)? "0"+cejourfin : cejourfin;
	cemoisfin = ((moisfin+1)<10)? "0"+(moisfin+1) : (moisfin+1);
	cetanfin = anfin;
	if (cemoisfin==aujourdhuiM) cemoisenvfin=aujourdhuiM; //gère le 0 en plus pour retrouver le jour
	else cemoisenvfin=cemoisfin;
	//datepass = cejour + "/" + cemoisenv + "/" + anfin;
	datepass = cejourfin + "-" + cemoisenvfin + "-" + anfin;
	passedatefin(datepass);
	//Gestion du node Table id=tbCal
	tabNodefin = dfin.getElementById('ecranfin').firstChild;									//Preserve le node Table
	tabNodeCopyfin = tabNodefin.cloneNode(true);											//Clone le node Table
	dfin.getElementById('ecranfin').removeChild(dfin.getElementById('ecranfin').firstChild);	//Efface le node Table
	navfin=false;						//On est plus en mode Navigation.
	navencoursfin=false;				//Il n'y a plus de navigation en cours.
	nodeVisiblefin = false;			//Le node est supprimé donc invisible
	anfin = dNow.getFullYear(dNow.setFullYear(anSelectfin));	//Initialisation de l'année à l'année selectionnée pour la prochaine navigation
	moisfin = dNow.getMonth(dNow.setMonth(moisSelectfin));	//Initialisation du compteur de mois au mois selectionné pour la prochaine navigation
	}
}

function fValidTablerech(objrech)
{
	//Gestion du node Table id=tbCal si fermeture avec click sur une date
	//
	//Met en rouge la date choisie
	//obj.style.color = '#FF0000';

	//A partir de maintenant on considère qu'une première utilisation 
	//du calendrier avec sélection de date a été faite.
	firstUserech=true;

	//Mémorise le mois et l'année selectionnés
	moisSelectrech = moisrech;
	anSelectrech = anrech;

	//Affichage de la date choisie dans le formulaire
	cejourrech = objrech.innerHTML;
	cejourrech = (cejourrech<10)? "0"+cejourrech : cejourrech;
	cemoisrech = ((moisrech+1)<10)? "0"+(moisrech+1) : (moisrech+1);
	cetanrech = anrech;
	if (cemoisrech==aujourdhuiM) cemoisenvrech=aujourdhuiM; //gère le 0 en plus pour retrouver le jour
	else cemoisenvrech=cemoisrech;
	datepass = cejourrech + "-" + cemoisenvrech + "-" + anrech;
	passedaterech(datepass);
}

function fValidMoisrech(objrech)
{
    firstUserech=true;
	moisSelectrech = moisrech;
	anSelectrech = anrech;
	cemoisrech = ((moisrech+1)<10)? "0"+(moisrech+1) : (moisrech+1);
	cetanrech = anrech;
	if (cemoisrech==aujourdhuiM) cemoisenvrech=aujourdhuiM; //gère le 0 en plus pour retrouver le jour
	else cemoisenvrech=cemoisrech;
	datepass = cemoisenvrech + "-" + anrech;
    if (datepass.length==6) datepass="0"+datepass;
	passemoisrech(datepass);
}
