﻿function formatDate(jj,mm,aa){
	chaine = String(aa);
	if(mm < 10) chaine += "0";
	chaine += mm;
	if(jj < 10) chaine += "0";
	chaine += jj;
	return chaine;
}

function voir_reservations(annee){
	var tab_res = document.getElementById("ctl00_CPH_contenu_hiddResultat").value.split(";");
	tab_res.pop();
	
	var bissextile = ( (annee % 4) == 0 ) ? true : false ;
	var tJourParMois = new Array (31,bissextile?29:28,31,30,31,30,31,31,30,31,30,31);
	
	for(i=0;i<tab_res.length;i++){
		tab_res[i] = tab_res[i].split(",");
		tab_res[i][0] = tab_res[i][0].split("/");
		tab_res[i][1] = tab_res[i][1].split("/");
		
		var tempJour = tab_res[i][0][0];
		var tempMois = tab_res[i][0][1];
		var tempAnnee= tab_res[i][0][2];			
		var resDeb = formatDate(tempJour,tempMois,tempAnnee);
		var resFin = formatDate(tab_res[i][1][0],tab_res[i][1][1],tab_res[i][1][2]);
		
		do{
			cel = document.getElementById("td" + tab_res[i][2] + resDeb);
			if(cel){
				cel.className = "ch"+tab_res[i][2]+"OQP";
				cel.innerHTML = "r&eacute;serv&eacute;";
			}
			tempJour++;
			if(tempJour > tJourParMois[tempMois-1]){ tempJour = 1; tempMois++; }
			if(tempMois > 12){ tempMois = 1; tempAnnee++; }
			resDeb = formatDate(tempJour,tempMois,tempAnnee);
		}while(resDeb <= resFin);
	}
}

function init_agenda(){
    var today = new Date();
    var mois  = Number(document.getElementById("ctl00_CPH_contenu_hiddMois").value);
    var annee = Number(document.getElementById("ctl00_CPH_contenu_hiddAnnee").value);
    document.getElementById("SEL_mois").options[mois-1].selected = "selected";
    var option_annee;
    for(i=0;i<=2;i++){
	    option_annee = document.createElement("option");
	    option_annee.value = option_annee.text = today.getFullYear()+i;
	    document.getElementById("SEL_annee").add(option_annee);
    }
    document.getElementById("SEL_annee").options[annee-today.getFullYear()].selected = "selected";
    
    document.getElementById("DIV_agenda").innerHTML = agenda(mois-1,annee);
    voir_reservations(annee);
}

function voir_agenda(){
    var mois = document.getElementById("SEL_mois").options[document.getElementById("SEL_mois").selectedIndex].value;
    var annee = document.getElementById("SEL_annee").options[document.getElementById("SEL_annee").selectedIndex].value;
    window.location = "agenda.aspx?mois="+mois+"&annee="+annee;
}

function agenda(mois,annee){
    var choix_mois = mois; // nMois-1 
    var choix_annee = annee;
	var bissextile = ( (choix_annee % 4) == 0 ) ? true : false ; // Il faut faire le test bissextile avant choix_mois-- (!! cf cas janvier !!)
	
    choix_mois--; // On veut afficher un mois avant
    if(choix_mois < 0){
	    choix_mois = 11;
	    choix_annee--;
    }
	
    var premierJourMois = new Date(choix_annee,choix_mois,1);
    var jour_dans_semaine = premierJourMois.getDay();
    var tJours = new Array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
    var tMois = new Array("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");
    var tJourParMois = new Array (31,bissextile?29:28,31,30,31,30,31,31,30,31,30,31);
	
    var maintenant = new Date();
    var jour_today = maintenant.getDate();
    var mois_today = maintenant.getMonth();
    var annee_today = maintenant.getFullYear();
	
    var premierJourMois = jour_dans_semaine;
    var actu_jour_dans_semaine = 1;
    var actu_jour;
    var actu_mois = choix_mois;
    var classeJour;
    var classeMois;
	var idTd; // Partie commune de l'identifiant des TD chambre
    var contenu_agenda; // On stocke tout là dedans
	
    contenu_agenda =  "<table class='tableAnnee' align='center' border='0' cellpadding='0' cellspacing='2'>\n";
    contenu_agenda += "<tr>";
    for(i=1;i<=3;i++){
	    contenu_agenda += "<td width='33%' class='colMois'>\n";
	    contenu_agenda += "<table class='tableMois' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
	    if(i==2) classeMois="nomMoisChoix"; else classeMois="nomMois";
	    contenu_agenda += "<tr><td class='"+classeMois+"' colspan='5'>"+tMois[actu_mois]+" "+choix_annee+"</td></tr>\n";
	    actu_jour_dans_semaine = 1; // Lundi
	    while(actu_jour_dans_semaine != premierJourMois){
		    contenu_agenda += "<tr><td colspan='5' class='vide'>&nbsp;</td></tr>\n";
		    actu_jour_dans_semaine++;
		    if(actu_jour_dans_semaine == 7) actu_jour_dans_semaine = 0;
	    }
	    for(actu_jour = 1 ; actu_jour <= tJourParMois[actu_mois] ; actu_jour++){
			idTd = formatDate(actu_jour,actu_mois+1,choix_annee);
		    classeJour = "jour";
		    if(actu_jour_dans_semaine == 0) classeJour = "dimanche";
		    if(actu_jour == jour_today && actu_mois == mois_today && choix_annee == annee_today) classeJour = "today";
			
		    contenu_agenda += "<tr class='"+classeJour+"' ";
		    contenu_agenda += "onMouseOver=\"javascript:this.className='survol'\" ";
		    contenu_agenda += "onMouseOut=\"javascript:this.className ='"+classeJour+"'\" ";
		    contenu_agenda += "style='cursor:hand;'>";
		    contenu_agenda += "<td class='numJour'>"+actu_jour+"</td>\n";
		    contenu_agenda += "<td class='labelJour'>"+tJours[actu_jour_dans_semaine]+"</td>\n";
		    contenu_agenda += "<td width='33%' id='td1"+idTd+"' class='chambre'>&nbsp;</td>\n";
		    contenu_agenda += "<td width='33%' id='td2"+idTd+"' class='chambre'>&nbsp;</td>\n";
		    contenu_agenda += "<td width='33%' id='td3"+idTd+"' class='chambre'>&nbsp;</td>\n";
		    contenu_agenda += "</tr>\n";
			
		    actu_jour_dans_semaine++;
		    if(actu_jour_dans_semaine == 7) actu_jour_dans_semaine = 0;
	    }
	    contenu_agenda += "</table>\n";
	    contenu_agenda += "</td>\n";
	    premierJourMois = actu_jour_dans_semaine;
	    actu_mois++;
	    if(actu_mois>11){ actu_mois = 0; choix_annee++; }
    }
    contenu_agenda += "</tr>\n";
    contenu_agenda += "</table>\n";
	
    return contenu_agenda;
}

init_agenda(); // Initialisation à l'arrivée sur la page, à défaut de mettre <body onLoad='init_agenda();'>