/*************************
*     Script général     *
**************************/

//Variables initiales
var jDebutOraux = 2;	//Jour du début des oraux en juin
var jFinOraux = 8;		//Jour de fin des oraux en juillet
var maxNuits = 3;		//Nombre de nuits réservables max

var d = new Date();
var j = d.getDate();
var m = d.getMonth();
var mois = new Array();
mois[5] = "Juin";
mois[6] = "Juillet";

//Détermine le contenu du select "arrive"
function majArrivee(jour, mois) {
	var arrive = '<select name="arrive" id="arrive">';
	
	if((mois==5) && (jour>=jDebutOraux)) {					//JUIN
		for(var i=jour; i<31; i++) {
			arrive += "<option value='"+i+"/5'>"+i+" Juin</option>";
		}
		
		for(var i=1; i<jFinOraux; i++) {
			arrive += "<option value='"+i+"/6'>"+i+" Juillet</option>";
		}	
	} else if((mois==6) && (jour<=jFinOraux)) {				//JUILLET
		for(var i=jour; i<jFinOraux; i++) {
			arrive += "<option value='"+i+"/6'>"+i+" Juillet</option>";
		}
	} else {	
		for(var i=jDebutOraux; i<31; i++) {
			arrive += "<option value="+i+"/5>"+i+" Juin</option>";
		}
		
		for(var i=1; i<jFinOraux; i++) {
			arrive += "<option value='"+i+"/6'>"+i+" Juillet</option>";
		}						
	}
	
	arrive += '</select>';
	$('arriveS').innerHTML = arrive;
} 

//Met à jour le contenu du select "depart"
function majDepart(jArrive, mArrive) {
	var depart = '<select name="depart" id="depart">';
	
	if(mArrive==5) {
		if(jArrive<30) {
			for(var i=jArrive+1; i<31; i++) {
				depart += "<option value='"+i+"/"+mArrive+"'>"+i+" Juin</option>";
			}
		} 
		for(var i=1; i<jFinOraux+1; i++) {
			depart += "<option value='"+i+"/"+(mArrive+1)+"'>"+i+" Juillet</option>";
		}
	} else {
		for(var i=jArrive+1; i<jFinOraux+1; i++) {
			depart += "<option value='"+i+"/"+mArrive+"'>"+i+" Juillet</option>";
		}
	}
	
	depart += '</select>';
	$('departS').innerHTML = depart;
	
	//Recharge la fonction pour IE
	jQuery('#depart').change(function() {
		majNuits(parseInt($('arrive').value.split('/')[0]), parseInt($('arrive').value.split('/')[1]), parseInt($('depart').value.split('/')[0]), parseInt($('depart').value.split('/')[1]));
	});
}

//Met à jour les valeurs des nuits 
function majNuits(jArrive, mArrive, jDepart, mDepart) {
	var nuit = "<label>Hébergement</label> :<br />";
	var depasse = false;
	
	//Le même mois
	if((mArrive==mDepart) && (jArrive<jDepart)) {
		if((jDepart-jArrive)<=maxNuits) {
			finBoucle = jDepart-jArrive;
		} else {
			finBoucle = maxNuits;
			depasse = true;
		}
		
		for(var i=0; i<finBoucle; i++) {
			nuit += '<input type="checkbox" name="nuits[]" value="'+(jArrive+i)+'/'+mArrive+'" checked /> Nuit '+(i+1)+' <i>('+(jArrive+i)+' '+mois[mArrive]+')</i>';
			nuit += '<input type="checkbox" name="mangers[]" value="'+(jArrive+i)+'/'+mArrive+'" style="margin-left: 30px;" checked /> Repas du soir<br />';
		}
	}
	
	//Deux mois différents
	else {
		if((30-jArrive)>=maxNuits) {	//Ex: 25 Juin - 3 Juillet
			finBoucle = maxNuits;
			depasse = true;
			
			for(var i=0; i<finBoucle; i++) {
				nuit += '<input type="checkbox" name="nuits[]" value="'+(jArrive+i)+'/'+mArrive+'" checked /> Nuit '+(i+1)+' <i>('+(jArrive+i)+' '+mois[mArrive]+')</i>';
				nuit += '<input type="checkbox" name="mangers[]" value="'+(jArrive+i)+'/'+mArrive+'" style="margin-left: 30px;" checked /> Repas du soir<br />';
			}
		} else {
			finBoucleJuin = 31-jArrive;
			if((finBoucleJuin+jDepart)>maxNuits) {
				finBoucleJuillet = maxNuits-finBoucleJuin;
				depasse = true;
			} else {
				finBoucleJuillet = jDepart-finBoucleJuin;
			}
			
			for(var i=0; i<finBoucleJuin; i++) {
				nuit += '<input type="checkbox" name="nuits[]" value="'+(jArrive+i)+'/'+mArrive+'" checked /> Nuit '+(i+1)+' <i>('+(jArrive+i)+' '+mois[mArrive]+')</i>';
				nuit += '<input type="checkbox" name="mangers[]" value="'+(jArrive+i)+'/'+mArrive+'" style="margin-left: 30px;" checked /> Repas du soir<br />';
			}
			
			for(var i=0; i<finBoucleJuillet; i++) {
				nuit += '<input type="checkbox" name="nuits[]" value="'+(i+1)+'/'+mDepart+'" checked /> Nuit '+(i+1+finBoucleJuin)+' <i>('+(i+1)+' '+mois[mDepart]+')</i>';
				nuit += '<input type="checkbox" name="mangers[]" value="'+(i+1)+'/'+mDepart+'" style="margin-left: 30px;" checked /> Repas du soir<br />';
			}
		}
		
	}
	
	if(depasse) {
		nuit += '<i>Si tu souhaites rester plus de 3 nuits, adresse toi au pôle hébergement</i>';
	}
	
	$('nuits').innerHTML = nuit;
}

//Vide le contenu d'un champ si sa valeur est celle par défaut
function remplace(e, txt) {
	if(e.value==txt) {
		e.value = "";
	}
}

//Colore une ligne sur deux des tableaux
function coulTable(coulPaire, coulImpaire) {
	var table = document.getElementsByTagName('table');
	for(var i=0; i<table.length; i++) {
		var lignes = table[i].getElementsByTagName('tr');
		for(var j=0; j<lignes.length; j++) {
			if(j%2==0) {
				lignes[j].style.backgroundColor = coulPaire;
			} else {
				lignes[j].style.backgroundColor = coulImpaire;
			}
		}
	}
}

jQuery(document).ready(function () {
	//Colore une ligne sur deux des tableaux
	coulTable('#dfA3dc', '#FFF');
	
	//Lance le slider
	jQuery("#slider").easySlider({
		auto: true,
		continuous: true,
		nextId: "slider1next",
		prevId: "slider1prev"
	});
	
	//Initialise les select départ et arrivée (en fonction de la date)
	majArrivee(j, m);
	
	if((m>=5) && (j>=jDebutOraux)) {
		majDepart(j,m);
	} else {
		majDepart(2,5);
	}
	
	majNuits(parseInt($('arrive').value.split('/')[0]), parseInt($('arrive').value.split('/')[1]),parseInt($('depart').value.split('/')[0]), parseInt($('depart').value.split('/')[1]));
		
	//Update le select de départ lors de la modification du select d'arrivée
	jQuery('#arrive').change(function() { 
		majDepart(parseInt($('arrive').value.split('/')[0]), parseInt($('arrive').value.split('/')[1]));
		majNuits(parseInt($('arrive').value.split('/')[0]), parseInt($('arrive').value.split('/')[1]),parseInt($('depart').value.split('/')[0]), parseInt($('depart').value.split('/')[1]));
	});
	
	//Update les nuits réservées lors de la modif du select de départ ou d'arrivée
	jQuery('#depart').change(function() {
		majNuits(parseInt($('arrive').value.split('/')[0]), parseInt($('arrive').value.split('/')[1]), parseInt($('depart').value.split('/')[0]), parseInt($('depart').value.split('/')[1]));
	});
});

