/*
Calendrier en popup

Site	: www.phassler.com
Date	: 15/03/2002

Modif by : Magaly CLEMENT
Date 	 : 07/07/2005

*/

var DaysList;
var MonthsList;
var MonthLength = new Array("Mois_longueur_vide",31,29,31,30,31,30,31,31,30,31,30,31);

/* Definition des style du calendrier */
/* Couleur */
var contour_tableau		= '#80ADD6';
var fond_tableau		= '#FEF4D9';
var fond_semaine		= 'LIGHTSTEELBLUE';
var lettre_semaine		= '#005386';
var lettre_jours		= '#005386';
var lettre_moisan		= '#005386';
var jours_selectionne	= 'CORAL';
var jours_actif			= 'RED';
var jours_contours		= '#80ADD6';
var lettre_button		= '#005386';

var calStyle = "<STYLE TYPE=\"text/css\">";
calStyle += ".calTable1 {";
calStyle += "	background-color: "+contour_tableau;
calStyle += "}";
calStyle += ".calTable2 {";
calStyle += "	background-color: "+fond_tableau;
calStyle += "}";
calStyle += ".calcolHeader {";
calStyle += "	background: "+fond_semaine+";";
calStyle += "	font-family: Verdana, Arial, Helvetica, sans-serif;";
calStyle += "	font-size: 9px;";
calStyle += "	font-weight: bold;";
calStyle += "	border:0.5pt solid "+ contour_tableau+";";
calStyle += "	color: "+lettre_semaine;
calStyle += "}";
calStyle += ".calAction {";
calStyle += "	font-family: Verdana, Arial, Helvetica, sans-serif;";
calStyle += "	font-size: 9px;";
calStyle += "	font-weight: bold;";
calStyle += "	color: "+lettre_jours;
calStyle += "}";
calStyle += ".calTdAction {";
calStyle += "   background-color: "+fond_tableau+";";
calStyle += "	font-family: Verdana, Arial, Helvetica, sans-serif;";
calStyle += "	font-size: 9px;";
calStyle += "	font-weight: bold;";
calStyle += "	color: "+lettre_moisan+";";
calStyle += "	border:0.5pt solid "+ jours_contours +";";
calStyle += "	text-align:center";
calStyle += "}";
calStyle += ".calButton {";
calStyle += "	font-family: Verdana, Arial, Helvetica, sans-serif;";
calStyle += "	font-size: 9px;";
calStyle += "	font-weight: bold;";
calStyle += "	color: "+lettre_button;
calStyle += "}";
calStyle += ".calNumSemaine {";
calStyle += "	border: none;";
calStyle += "	font-size: 9px;";
calStyle += "	font-weight: bold;";
calStyle += "	color: "+lettre_semaine;
calStyle += "}";


calStyle += "</STYLE>";

document.write(calStyle);

// Taille de la fenetre
if (navigator.userAgent.indexOf("MSIE") >= 0){
	if (document.body){
	    var maxX = document.body.scrollLeft + document.body.clientWidth;
	    var maxY = document.body.scrollTop  + document.body.clientHeight ;
	}
 }else{
    // AVOIR pour le scroll
   var maxX = window.innerWidth;
   var maxY = window.innerHeight;
}

var xp = 0;
var yp = 0;

/* Ecriture des DIV */
//calhtml = "<DIV onmouseover=\"kill();\" id=\"caleck1\" style=\"position:absolute;z-index:99;visibility:hidden;top:0px;left:0px;width:"+maxX+";height:"+maxY+";\")";
var calhtml = "<DIV onmouseover=\"\" id=\"caleck1\" style=\"z-index:99;display:none;width:"+maxX+";height:"+maxY+";\">";
calhtml += "<TABLE width=100% height=100% border=0><TR><TD></TD></TR></TABLE>";
calhtml += "</DIV>";
calhtml += "<DIV id=\"caleck\" style=\"z-index:100;display:none;\"></DIV>";
document.write(calhtml);

var calflag			= 0;
var calchamp; 		/* nom du champ date a modifie dans la page */
var calskn 			= document.getElementById("caleck").style;
var calskn1			= document.getElementById("caleck1").style;
var calcontent 		= "";
var calHTML 		= "";
var FirstDay 		= 0;
var CalToday 		= new Date();
var CalDay 			= CalToday.getDate();
var CalYear 		= CalToday.getFullYear();
var CalMonth 		= CalToday.getMonth() + 1;
var CurrentCal  	= null;
var CalType			= "jour"; /* Définit si on sélectionne des jours ou des semaines */

/*if (navigator.userAgent.indexOf("MSIE") >= 0){
	var calxpos = "event.x";
	var calypos = "event.y";
}else{
	var calxpos = "e.pageX";
	var calypos = "e.pageY";
}*/

/*if (window.addEventListener){
	window.addEventListener('mousemove', mouseMove,false); //pour FF
} else {
	document.attachEvent('onmousemove', mouseMove); //pour IE
}*/
//document.onmousemove = mouseMove;

/* Function principale appellee par la page HTML*/
/* Parametre : calchamp = le champ date a mettre jour */
/* Parametre : callangue = la langue */
function pop(lechamp, callangue, typevisu){
	if (typevisu){
		CalType = typevisu;
	}
	if (CurrentCal != null){
		kill();
	}
	/* Liste des jours et mois dans la langue demandee francais par defaut */
	if (callangue == 'en'){
	  DaysList = new Array("Jour_Vide", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su");
	  MonthsList = new Array("Mois_Vide", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	} else {
	  DaysList = new Array("Jour_Vide", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim");
	  MonthsList = new Array("Mois_Vide", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
	}
    calchamp = lechamp;
    try{
    	if (document.getElementById){
			var ladate = document.getElementById(calchamp).value;
		} else if (document.all){
			var ladate = document.all[calchamp].value;
		} else if (document.layers){
			var ladate = document.layers[calchamp].value;
		}
		if (CalType == "jour"){
	    	if (ladate.length == 10){
				if (ladate.substring(0,1) == 0)
					CalDay = ladate.substring(1,2);
				else
					CalDay = ladate.substring(0,2);

				if (ladate.substring(3,4) == 0)
			    	CalMonth = ladate.substring(4,5);
				else
		        	CalMonth = ladate.substring(3,5);

		        CalYear = ladate.substr(6,4);
		 	}else{
	        	CalDay = CalDay;
	        	CalMonth = CalMonth;
	        	CalYear = CalYear;
		 	}
		}else if (CalType == "semaine"){
			if (ladate != ""){
				var reg=new RegExp("[ ]+", "g");
				var tableau=ladate.split(reg);
				if (tableau.length == 3){
					var annee = eval(tableau[2]);
					var semaine = eval(tableau[1]);

					// Code récupéré sur http://www.asp-php.net/ressources/bouts_de_code.aspx?id=930
					premier=new Date(annee,0,1);
				    unjour=premier.getDay();
				    if(unjour==0){unjour=7;}
				    if(unjour>4){premieran=0;}else{premieran=-1;}
				   	// 	On crée une date avec les paramètres
				   	testDate=new Date(annee,0,((semaine+premieran)*7));
				   	// Chercher le jour de la semaine
				   	jsem=testDate.getDay();
				   	lundi=new Date(annee,0,((semaine+premieran)*7)+(1-jsem));
					CalDay = lundi.getDate();
					CalMonth = lundi.getMonth()+1;
					CalYear = lundi.getFullYear();
				}
			}
		}

    } catch(exception) {
        CalDay   = CalDay;
        CalMonth = CalMonth;
        CalYear  = CalYear;
    }

	var ChampHtml = document.getElementById(calchamp);
/*	var caleck = document.getElementById("caleck1");
	var calend = caleck.cloneNode(true);*/
	var calend = document.createElement("div");
	calend.id = "caleck1";
	calend.style.zIndex = 99;
	//ChampHtml.parentNode.parentNode.appendChild(calend);

	if (typeof document.body.style.maxHeight != "undefined") {
	  // IE 7, mozilla, safari, opera 9
		ChampHtml.parentNode.appendChild(calend);

	    CalAffiche(calend);

	    calend.style.display = "";
	    
		var calxpos = ChampHtml.offsetLeft;
		var ofParent = ChampHtml.offsetParent.offsetParent;
		while ((ofParent != null)&&(ofParent.nodeName != "BODY")){
			calxpos = calxpos + ofParent.offsetLeft;
			if (ofParent.offsetLeft > 0){
				calxpos += ofParent.offsetLeft;
			}
			ofParent = ofParent.offsetParent;
		}
		calend.style.position = "absolute";
		
		if (navigator.bIsExplorer()){
			var btn = document.getElementById("btn_"+ChampHtml.id);
			
			calend.style.marginLeft = "-"+(ChampHtml.clientWidth + btn.clientWidth) +"px";
			
			calend.style.marginTop = (ChampHtml.clientHeight+5)+"px";
		}else{
			calend.style.left = ChampHtml.offsetLeft+"px";
			calend.style.marginTop = "0.5em";
			calend.style.marginLeft = "0";
		}

		//calend.style.left = calxpos+"px";
	} else {
	  // IE6, et versions antérieures
		ChampHtml.parentNode.parentNode.insertBefore(calend, ChampHtml.parentNode.nextSibling);

	    CalAffiche(calend);

	    calend.style.display = "";
    
		var calxpos = ChampHtml.offsetLeft;
		/*var ofParent = ChampHtml.offsetParent;
		while (ofParent != null){
			calxpos = calxpos + ofParent.offsetLeft;
			ofParent = ofParent.offsetParent;
		}*/
		calend.style.position = "relative";
		calend.style.marginTop = "0em";
		calend.style.left = calxpos+"px";
	}


}

/* Mouvement de la souris */
function mouseMove(e) {
        // AVOIR pour le scroll
	xp = eval(calxpos);
	if (navigator.userAgent.indexOf("MSIE") >= 0)
		yp = eval(calypos)+document.body.scrollTop;
	else
		yp = eval(calypos);
}

/* Teste une annee pour determiner si elle est bissextile ou pas*/
function CalBissextile(yy){
   	if (((yy % 4 == 0) && (yy % 100 != 0)) || (yy % 400 == 0)){ return 29; }
      	else { return 28; }
}

/***********************************
/* Retour de la date selectionnee  *
/***********************************/
function CalSelecteur(obj, semaine){

	calvaleur = document.getElementById("caltd"+obj).value;

	if (calvaleur > 0) {
		if (calvaleur < 10 ){
		 	retjrs = "0"+calvaleur;
		} else {
		 	retjrs = calvaleur;
		}

		if (document.getElementById('Month').value.length < 2){
		 	retmoi = "0" + document.getElementById('Month').value;
		} else {
			retmoi = document.getElementById('Month').value;
		}
		if (document.getElementById){
			if (CalType == "jour"){
				document.getElementById(calchamp).value = retjrs + "/" + retmoi + "/" + document.getElementById('Year').value;
			}else{
				document.getElementById(calchamp).value =  "S. " + semaine + " " + document.getElementById('Year').value;
			}

		} else if (document.all){
			if (CalType == "jour"){
				document.all[calchamp].value = retjrs + "/" + retmoi + "/" + document.getElementById('Year').value;
			}else{
				document.all[calchamp].value =  "S. " + semaine + " " + document.getElementById('Year').value;
			}

		} else if (document.layers){

			document.layers[calchamp].value = retjrs + "/" + retmoi + "/" + document.getElementById('Year').value;

		}

		//alert(document.all[calchamp].value);
		kill();
	}
}

/**************************************************
/* Produit le code HTML qui formera le calendrier *
/**************************************************/
function CalAffiche(calend){
  	/* Recherche si l'annee est bissextile */
  	if (CalMonth == 2){
  		MonthLength[2] = CalBissextile(CalYear);
  	}

  	calHTML = "<TABLE border=\"0\" class=\"calTable1\" cellspacing=\"0\" cellspading=\"0\"><TR><TD >";
  	calHTML += "<TABLE border=\"0\" class=\"calTable2\" ><TR><TD valign=CENTER>";
  	calHTML += "<input type=\"hidden\" id=\"Month\" value=\""+CalMonth+"\">";
  	calHTML += "<input class=\"calAction\" type=\"text\" size=\"10\" id=\"MonthLib\" style=\"text-align:center;cursor:'default'\" value=\""+MonthsList[CalMonth]+"\" READONLY>";
  	calHTML += "<input type=\"button\" value=\"<\" class=calButton onmouseover=\"style.cursor='hand'\" onClick=\"Change(0)\">";
  	calHTML += "<input type=\"button\" value=\">\" class=calButton onmouseover=\"style.cursor='hand'\" onClick=\"Change(1)\">";
  	calHTML += "<input class=calAction type=text id=Year size=5 style=\"text-align:center;cursor:'default'\" value="+CalYear+" READONLY >";
  	calHTML += "<input type=\"button\" value=\"<\" class=calButton onmouseover=\"style.cursor='hand'\" onClick=\"ChangeY(0)\">";
  	calHTML += "<input type=\"button\" value=\">\" class=calButton onmouseover=\"style.cursor='hand'\" onClick=\"ChangeY(1)\"></CENTER></TD></TR>";
  	calHTML += "<TR><TD bgcolor=\""+fond_tableau+"\">";
  	calHTML += "<CENTER><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style='border:0.5pt solid "+contour_tableau+"; border-collapse:collapse'>";
  	calHTML += "<tr align=center>";
	if (CalType == "semaine"){
		calHTML += "<td class=\"calcolHeader\" width=\"23\" style=\"cursor:'default'\">&nbsp;</td>";
	}
  	for (s=1; s<8; s++){
		calHTML += "<td class=\"calcolHeader\" width=\"23\" style=\"cursor:'default'\">" + DaysList[s] + "</td>";
  	}


  	calHTML += "</tr>";

  	a = 0;
  	b = 1;
	//Calcul du premier jour du mois
  	var caldefjour = CalDefDateDay(CalYear,CalMonth,1);
	var actionClick;

  	for (i=(1-caldefjour); i<MonthLength[CalMonth]; i++){
  		//calHTML += CreateLigneCalend(a, i);
  		var numSemaine = 0;
		calHTML += "<tr id=\"calTR"+(a+1)+"\" align=\"center\">";
		if (CalType == "semaine"){
			var tmp_firstDay;
			if (i < 0){
				tmp_firstDay = 0;
			}else{
				tmp_firstDay = i;
			}
			numSemaine = DefSemaineNum(CalYear, CalMonth, tmp_firstDay+1);
			var k = 0;
			var OnContinue = true;
			while ((k < 8)&&(OnContinue)){
				if (!((i+1+k) <= 0)) {
					OnContinue = false;
				}else{
	  				k++;
				}
    		}
    		actionClick = (b+k);
			calHTML += "<td width=\"23\" class=\"calAction\" onClick=\"CalSelecteur("+actionClick+", getElementById('caltdNumSemaine"+a+"').value)\">";
			calHTML += "<input class=\"calNumSemaine\" size=\"1\" type=\"text\" id=\"caltdNumSemaine"+a+"\" value="+numSemaine+" style=\"background: '';cursor:pointer\" readonly=\"readonly\" onmouseover=\"mousesurSemaine("+a+")\" onmouseout=\"mousepassurSemaine("+a+")\">";
			calHTML += "</td>";

		}
		for (j=1; j<8; j++){
			var MouseEvent;
			var width;
			var style;
			if (CalType == "jour"){
				MouseEvent = "onmouseover=\"mousesur("+b+")\" onmouseout=\"mousepassur("+b+")\"";
				width = 23;
				actionClick = b;
			}else{
				MouseEvent = "onmouseover=\"mousesurSemaine("+a+")\" onmouseout=\"mousepassurSemaine("+a+")\"";
				width = 10;
				actionClick += ", +getElementById('caltdNumSemaine"+(a)+"').value";
			}
			calHTML += "<td width=\""+ width +"\" class=\"calAction\" onClick=\"CalSelecteur("+actionClick+")\">";
			if ((i+j) <= 0) {
				calHTML += "<input class=\"calTdAction\" size=\"1\" type=\"text\" id=\"caltd"+b+"\" style=\"border-color:"+fond_tableau+";background:'';cursor:'default'\" value=\"\" READONLY "+MouseEvent+">";
			}else if ((i+j) > MonthLength[CalMonth]) {
				calHTML += "<input class=\"calTdAction\" size=\"1\" type=\"text\" id=\"caltd"+b+"\" style=\"border-color:"+fond_tableau+";background:'';cursor:'default'\" value=\"\" READONLY "+MouseEvent+">";
			} else {
				if (((i+j) == CalDay )&&(CalType == "jour")){
			  		calHTML += "<input class=\"calTdAction\" style=\"background:RED;cursor:'hand'\" size=1 type=text id=\"caltd"+b+"\" value="+(i+j)+" READONLY "+MouseEvent+">";
				}else{
			  		calHTML += "<input class=\"calTdAction\" size=\"1\" type=\"text\" id=\"caltd"+b+"\" value="+(i+j)+" style=\"background: '';cursor:pointer\" READONLY "+MouseEvent+">";
				}
			}
	  		calHTML += "</td>";
	 		b++;
    	}
		calHTML += "</tr>";
		a++;
		i = i + 6;
  	}

  for (aa=a+1;aa<=6;aa++){
	calHTML += "<tr id=\"calTR"+aa+"\" align=center style=\"display:none\">";

	if (CalType == "semaine"){
		calHTML += "<td width=\"20\" class=\"calAction\" onClick=\"CalSelecteur("+actionClick+", getElementById('caltdNumSemaine"+(aa-1)+"').value)\">";
		calHTML += "<input class=\"calNumSemaine\" size=\"1\" type=\"text\" id=\"caltdNumSemaine"+parseInt(aa-1)+"\" value=\"\" style=\"background: '';cursor:pointer\" READONLY onmouseover=\"mousesurSemaine("+(aa-1)+")\" onmouseout=\"mousepassurSemaine("+(aa-1)+")\">";
		calHTML += "</td>";
	}else{
		//calHTML += "<td width=\"23\" class=\"calAction\">";
	}

	for (j=1; j<8; j++){
		if (CalType == "jour"){
			MouseEvent = "onmouseover=\"mousesur("+b+")\" onmouseout=\"mousepassur("+b+")\"";
			width = 23;
			actionClick = b;
		}else{
			MouseEvent = "onmouseover=\"mousesurSemaine("+(aa-1)+")\" onmouseout=\"mousepassurSemaine("+(aa-1)+")\"";
			width = 10;
			actionClick += ", getElementById('caltdNumSemaine"+(aa-1)+"').value";
		}
		calHTML += "<td class=\"calAction\" onClick=\"CalSelecteur(" + actionClick + ")\">";
		calHTML += "<input class=\"calTdAction\" size=\"1\" type=\"text\" id=\"caltd"+b+"\" value=\"\" READONLY "+MouseEvent+"></td>";
	  b++;
        }
	calHTML += "</tr>";
   }

  calHTML += "</table>";
  //calHTML += "</TD></TR></TABLE>";
  calHTML += "</TD></TR>";
  calHTML += "<tr><td align=\"right\">";
  calHTML += "<a href=\"javascript:kill()\" style=\"float : right;display : block;\">Fermer</a>";
  calHTML += "</tr></TABLE>";
  calHTML += "</TD></TR></TABLE>";


    //document.getElementById("caleck").innerHTML = calHTML;
  calend.innerHTML = calHTML;
  CurrentCal = calend;
}

function kill() {
	if (CurrentCal != null){
		CurrentCal.parentNode.removeChild(CurrentCal);
		CurrentCal = null;
	}
	calskn.display = "none";
	calskn1.display = "none";
}

function Change(typ){
	var moi = document.getElementById('Month').value;
	var an  = document.getElementById('Year').value;
	if (typ == 1){
		if ( moi == 12){
			an++;
			CalMonth =1;
			CalYear=an;
		}else{
			moi++;
			CalMonth = moi;
		}
	}else{
		if ( moi == 1){
			an--;
			CalMonth =12;
			CalYear=an;
		}else{
			moi--;
			CalMonth = moi;
		}
	}

	CalAffiche2();
}

function ChangeY(typ){
	var an=document.getElementById('Year').value;

	if (typ == 1){
		an++;
		CalYear=an;
	}else{
		an--;
		CalYear=an;
	}
	CalAffiche2();
}

/* Renvoie le numero du jour de la semaine correspondant a la date requise */
function CalDefDateDay(yy,mm,dd){
	return Math.floor((CalDate2Days(yy,mm,dd)-2) % 7) + 1;
}

/* Transforme la date en nb de jours theoriques */
function CalDate2Days(yy,mm,dd){
	if (mm > 2){
		var bis = Math.floor(yy/4) - Math.floor(yy/100) + Math.floor(yy/400);
		var zy = Math.floor(yy * 365 + bis);
		var zm = (mm-1) * 31 - Math.floor(mm * 0.4 + 2.3);
		return (zy + zm + dd);
	}else{
    	var bis = Math.floor((yy-1)/4) - Math.floor((yy-1)/100) + Math.floor((yy-1)/400);
		var zy = Math.floor(yy * 365 + bis);
		return (zy + (mm-1) * 31 + dd);
	}
}

function mousesurSemaine(numLigne){
	var intDebut = eval(numLigne * 7) + 1;
	for (var i = intDebut; i < intDebut + 7; i++){
		if (document.getElementById("caltd"+i).value != "" ){
		  document.getElementById("caltd"+i).style.background = jours_selectionne;
	 	  document.getElementById("caltd"+i).style.borderColor= jours_contours;
		}else{
		  document.getElementById("caltd"+i).style.background='';
	 	  document.getElementById("caltd"+i).style.borderColor=fond_tableau;
		}
	}
}
function mousepassurSemaine(numLigne){
	var intDebut = eval(numLigne * 7) + 1;
	for (var i = intDebut; i < intDebut + 7; i++){
		/*if (document.getElementById("caltd"+i).value == CalDay ){
			document.getElementById("caltd"+i).style.background=jours_actif;
		}else*/

		if (document.getElementById("caltd"+i).value != "" ){
			document.getElementById("caltd"+i).style.background=fond_tableau;
			document.getElementById("caltd"+i).style.borderColor=jours_contours;
		}else{
			document.getElementById("caltd"+i).style.background=fond_tableau;
			document.getElementById("caltd"+i).style.borderColor=fond_tableau;
		 }
	}

}
function mousesur(lid){
	if (document.getElementById("caltd"+lid).value != "" ){
	  document.getElementById("caltd"+lid).style.background = jours_selectionne;
 	  document.getElementById("caltd"+lid).style.borderColor= jours_contours;
	}else{
	  document.getElementById("caltd"+lid).style.background='';
 	  document.getElementById("caltd"+lid).style.borderColor=fond_tableau;
	}
}
function mousepassur(lid){
	if (document.getElementById("caltd"+lid).value == CalDay ){
		document.getElementById("caltd"+lid).style.background=jours_actif;
	}else if (document.getElementById("caltd"+lid).value != "" ){
		document.getElementById("caltd"+lid).style.background=fond_tableau;
		document.getElementById("caltd"+lid).style.borderColor=jours_contours;
	}else{
		document.getElementById("caltd"+lid).style.background=fond_tableau;
		document.getElementById("caltd"+lid).style.borderColor=fond_tableau;
	 }
}

/* Produit le code HTML qui formera le calendrier */
function CalAffiche2(){
  if (CalMonth == 2)
  	MonthLength[2] = CalBissextile(CalYear);

  document.getElementById("Month").value		= CalMonth;
  document.getElementById("MonthLib").value		= MonthsList[CalMonth];
  document.getElementById("Year").value			= CalYear;

  if (CalDay > MonthLength[CalMonth])
  	CalDay = MonthLength[CalMonth];

  a = 0;
  b = 1;
  // Calcul du premier jour du mois
  caldefjour = CalDefDateDay(CalYear,CalMonth,1);
  for (i=(1-caldefjour); i<MonthLength[CalMonth]; i++){

	var tmp_firstDay;
	if (i < 0){
		 tmp_firstDay = 0;
	}else{
		tmp_firstDay = i;
	}
	var numSemaine = DefSemaineNum(CalYear, CalMonth, tmp_firstDay+1);
	var idTd = "caltdNumSemaine"+a;
	if (document.getElementById(idTd) != null){
		document.getElementById(idTd).value=numSemaine;
	}

	for (j=1; j<8; j++){
		if ((i+j) <= 0){
		   document.getElementById("caltd"+b).style.borderColor=fond_tableau;
		   document.getElementById("caltd"+b).value="";
		   document.getElementById("caltd"+b).style.background=fond_tableau;
		   document.getElementById("caltd"+b).style.cursor='default';
		} else if ((i+j) > MonthLength[CalMonth]){
		   document.getElementById("caltd"+b).style.borderColor=fond_tableau;
		   document.getElementById("caltd"+b).value="";
		   document.getElementById("caltd"+b).style.background=fond_tableau;
		   document.getElementById("caltd"+b).style.cursor='default';
		}else{
 	  	   document.getElementById("caltd"+b).style.borderColor= jours_contours;
		   document.getElementById("caltd"+b).value=(i+j);
		   document.getElementById("caltd"+b).style.cursor='hand';
		   document.getElementById("caltd"+b).style.background=fond_tableau;
		}

		if ((i+j) == CalDay )
		   document.getElementById("caltd"+b).style.background=jours_actif;

	b++;
	}
	a++;
	i = i + 6;
  }


		if ( b > 29){
	    	document.getElementById("calTR5").style.display='';
		}else{
	  		document.getElementById("calTR5").style.display='none';
		}

	  	if ( b > 36){
	  		document.getElementById("calTR6").style.display='';
	  	}else{
	  		document.getElementById("calTR6").style.display='none';
	  	}


  	for (i=b;i<=42;i++){
 		document.getElementById("caltd"+i).style.background=fond_tableau;
		document.getElementById("caltd"+i).value="";
  	}
}

/******************************************************
FONCTION QUI DETERMINE LE NUMERO DE LA SEMAINE EN COURS
******************************************************/
function DefSemaineNum(aaaa, mm, jj)
{
	mMois = mm -1;
//initialisation des variables
//----------------------------
var MaDate = new Date(aaaa,mMois,jj);//date a traiter
var annee = MaDate.getFullYear();//année de la date à traiter

var NumSemaine = 0,//numéro de la semaine

// calcul du nombre de jours écoulés entre le 1er janvier et la date à traiter.
// ----------------------------------------------------------------------------
// initialisation d'un tableau avec le nombre de jours pour chaque mois
ListeMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
// si l'année est bissextile alors le mois de février vaut 29 jours
if (annee %4 == 0 && annee %100 !=0 || annee %400 == 0) {ListeMois[1]=29};
// on parcours tous les mois précédants le mois à traiter
// et on calcul le nombre de jour écoulé depuis le 1er janvier dans TotalJour
var TotalJour=0;
for(cpt=0; cpt<mMois; cpt++){TotalJour+=ListeMois[cpt];}
TotalJour+=jj;

//Calcul du nombre de jours de la première semaine de l'année à retrancher de TotalJour
//-------------------------------------------------------------------------------------
//on initialise dans DebutAn le 1er janvier de l'année à traiter
DebutAn = new Date(annee,0,1);
//on determine ensuite le jour correspondant au 1er janvier
//de 1 pour un lundi à 7 pour un dimanche/
var JourDebutAn;
JourDebutAn=DebutAn.getDay();
if(JourDebutAn==0){JourDebutAn=7};

//Calcul du numéro de semaine
//----------------------------------------------------------------------
//on retire du TotalJour le nombre de jours que dure la première semaine
TotalJour-=8-JourDebutAn;
//on comptabilise cette première semaine
NumSemaine = 1;
//on ajoute le nombre de semaine compléte (sans tenir compte des jours restants)
NumSemaine+=Math.floor(TotalJour/7);
// s'il y a un reste alors le n° de semaine est incrémenté de 1
if(TotalJour%7!=0){NumSemaine+=1};

return(NumSemaine);
}
