function getEvent (index) {
	var eventPropers = tableau[index].split("|")
	return eventPropers[0]	
}
function twoDigits(nombre){
	if (nombre<=9) nombre="0"+nombre;
	return nombre;
}

function isInRange(inc, day, we) {
	var eventPropers = tableau[inc].split("|")
	var isInRange = false;
	if (Number(day)<10) 
		day = "0" + day;
	
	for (var inc=1; inc<eventPropers.length-1; inc++) {
	    var date_debut = "";
	    var date_fin = "";
		var date_in = dan +""+ dm +""+ day;
		var range = eventPropers[inc].split("-");
		for (var incd=1; incd<range.length; incd++) {
			date_debut = range[0];
			date_fin = range[1];
		}
		if (date_debut<=date_in && date_in<=date_fin) {
			isInRange = true;
		}
	}
	return isInRange;	
}

function calendrier(mois,an,jouri,offset) {
nom_mois = new Array
("Janvier","F&eacute;vrier","Mars","Avril","Mai","Juin","Juillet",
"Ao&ucirc;t","Septembre","Octobre","Novembre","D&eacute;cembre");
jour = new Array ("Lu","Ma","Me","Je","Ve","Sa","Di");

var maintenant = new Date(dan,dm-1);
var ce_mois = maintenant.getMonth() + 1;
var cette_annee = maintenant.getYear();
if(cette_annee < 999) cette_annee+=1900;
var ce_jour = maintenant.getDate();
mois = ce_mois;//
an = cette_annee;//
var temps = new Date(an,mois-1);

var Start = temps.getDay();
if(Start > 0) Start--;
else Start = 6;
var Stop = 31;

if(mois==4 ||mois==6 || mois==9 || mois==11 ) --Stop;
if(mois==2) {
 Stop = Stop - 3;
 if(an%4==0) Stop++;
 if(an%100==0) Stop--;
 if(an%400==0) Stop++;
}

document.write('<div align="center"><table border="0" cellpadding="0" cellspacing="0" class="CADRE">');
var entete_mois = nom_mois[mois-1] + " " + an;
inscrit_entete(entete_mois,"TITRE");
document.write('<tr><td align="left" colspan="3"><table border="0" cellpadding="0" cellspacing="0" class="CADRE_CALENDRIER">');


var nombre_jours = 1;
var tr   = new Array();
var cette_semaine = true;

tr[0] = "<tr>" + inscrit_cellule(colone,"ENTETE");
for (var inc=0; inc<tableau.length; inc++)
	tr[inc+1] = "<tr>" + inscrit_cellule(getEvent(inc),"ENTETE");
	
for(var i=0;i<6;i++) {
  for(var j=0;j<=5;j++) {
    if((i==0)&&(j < Start)) {//cellules vides début
	}
    else {
      if(nombre_jours > Stop) {//cellules vides fin semaine
	  }
      else {//cellules semaine
		 tr[0] = tr[0] + inscrit_cellule(jour[j],"ENTETE");
		 for (var inc=0; inc<tableau.length; inc++) {
		 		if (isInRange(inc, nombre_jours)) {
						tr[inc+1] = tr[inc+1] + inscrit_cellule(nombre_jours,"JOUR_SEMAINE_ACTIF");
				} 
				else {
						tr[inc+1] = tr[inc+1] + inscrit_cellule(nombre_jours,"JOUR_SEMAINE");
				}
		}
        nombre_jours++;
        }
      }
    }
    if(nombre_jours > Stop) {
	}
    else {//cellules dimanche
	  tr[0] = tr[0] + inscrit_cellule(jour[j],"ENTETE");
		 for (var inc=0; inc<tableau.length; inc++) {
		 		if (isInRange(inc, nombre_jours)) {
						tr[inc+1] = tr[inc+1] + inscrit_cellule(nombre_jours,"DIMANCHE_ACTIF");
				}
				else {
						tr[inc+1] = tr[inc+1] + inscrit_cellule(nombre_jours,"DIMANCHE");
				}
		}
		nombre_jours++;
    }

  for (var inc=0; inc<tr.length; inc++)
   tr[inc] = tr[inc] + inscrit_cellule("","ENTETE");

  }  
  for (var inc=0; inc<tr.length; inc++)
  	tr[inc] = tr[inc] + "<\/tr>";
	
  for (var inc=0; inc<tr.length; inc++)
   document.write(tr[inc]);
   
document.write('</table></td></tr>');	
document.write('<\/table></div><br><table border="0" cellpadding="1" cellspacing="1"><tr>'+ inscrit_cellule("&nbsp;&nbsp;","JOUR_SEMAINE_ACTIF") + '<td>Réservé</td></tr><tr>' +	inscrit_cellule("&nbsp;&nbsp;","JOUR_SEMAINE") + '<td>Disponible</td></tr></table>');
}

function inscrit_entete(titre_mois,style) {
document.write('<tr>');
document.write('<td class="'+style+'">');
document.write('<a href="'+URLBack+'" class="url"><</a>');
document.write('<\/td>');
document.write('<td class="'+style+'">');
document.write(titre_mois);
document.write('<\/td>');
document.write('<td class="'+style+'">');
document.write('<a href="'+URLNext+'" class="url">></a>');
document.write('<\/td><\/tr>');
}

function inscrit_cellule(contenu,style) {
 var strReturn = "<td class='"+style+"'>"+contenu+"<\/td>";
 return strReturn;
}
