// Fonctions pour la gestion de l'encart "date" de l'étape 1 du formulaire
// sur l'événement "onchange" des options d'une balise select, une fonction est appelée

function create_xhr_object(){
// fonction qui crée un object XMLHttpRequest 

	var xhr_object = null;
		
	if(window.XMLHttpRequest) // Firefox
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else {
		// XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest.\nPour toute réservation, merci de prendre contact à l'adresse info@lpm.be");
		return;
	}
	return xhr_object;
}

function check_month(f) {
//fonction qui intervient quand on sélectionne un mois dans la liste déroulante
	
	var l1    = f.elements["etape_1_date_mois"];
	var l2    = f.elements["etape_1_date_type_sejour"];
	
	var index = l1.selectedIndex; // index de l'élément sélectioné

	if(index < 1){
	// si on a selectionné le 1er item ==> case vide
	
		l2.options.length = 0;
		l2.options[0] = new Option('Sélectionnez votre mois de départ');
	}
	else{
	// si on a sélectionné un mois et une année
	
		// création de l'object XMLHttpRequest
		var xhr_object=create_xhr_object();
		
		xhr_object.onreadystatechange = function (){
		// fonction appellée à chaque état de la connexion
		
			if(xhr_object.readyState == 4 && xhr_object.status == 200){
			// si le stade de la transaction est "terminé" et que le retour se fait sans erreur
			
				document.getElementById('etape_1_date_type_sejour_div').innerHTML = xhr_object.responseText;
				
				if(document.getElementById('etape_1_date_type_sejour').value==-1){
				// s'il n'y a pas de séjour pour ce mois --> affichage de la case jour arrivée et vidage des prix
					document.getElementById('etape_1_date_jour_arrivee_div').innerHTML='<label for="etape_1_date_jour_arrivee">Jour d\'arrivée</label> <select name="etape_1_date_jour_arrivee" id="etape_1_date_jour_arrivee"> <option value="-1">Sélectionnez votre type de séjour</option></select>';
					document.getElementById('etape_1_prix_maison').value='';
					//document.getElementById('etape_1_prix_maison_rappel').value='';
				}
				else{
				// s'il un séjour est trouvé, le choix de type de séjour est déja affiché, il faut afficher le choix de jour d'arrivée
					
					check_type_sejour(document.forms['reservation_etape1']);
				}
				
				//recalcul du prix total
				//affiche_prix_total();
			}
		}
	
		xhr_object.open("POST", "common/form_date_type_db_select.php", true);
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "etape_1_date_mois="+escape(l1.options[index].value);
		xhr_object.send(data);
	}
}

function check_type_sejour(f) {
//fonction qui intervient quand on sélectionne un type de séjour dans la liste déroulante

	var l1    = f.elements["etape_1_date_mois"];
	var l2    = f.elements["etape_1_date_type_sejour"];
	var l3    = f.elements["etape_1_date_jour_arrivee"];
	
	var index_mois = l1.selectedIndex;
	var index_type = l2.selectedIndex;

	/*if(index_type < 1)
	{
		l3.options.length = 0;
		l3.options[0] = new Option('Sélectionnez votre type de séjour');
	}
	else {*/
	
		var xhr_object=create_xhr_object();
		
		xhr_object.onreadystatechange = function (){
		
			if(xhr_object.readyState == 4 && xhr_object.status == 200){
				document.getElementById('etape_1_date_jour_arrivee_div').innerHTML = xhr_object.responseText;
				check_jour_arrivee(document.forms['reservation_etape1']);

				//eval(xhr_object.responseText);
			}
		}
	
		xhr_object.open("POST", "common/form_date_jour_db_select.php", true);
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "etape_1_date_mois="+escape(l1.options[index_mois].value)+"&etape_1_date_type_sejour="+escape(l2.options[index_type].value);
		xhr_object.send(data);
	/*}*/
}

function check_jour_arrivee(f) {
//fonction qui intervient quand on sélectionne un jour d'arrivée  dans la liste déroulante

	var l1    = f.elements["etape_1_date_mois"];
	var l2    = f.elements["etape_1_date_type_sejour"];
	var l3    = f.elements["etape_1_date_jour_arrivee"];
	
	var index_mois = l1.selectedIndex;
	var index_type = l2.selectedIndex;
	var index_jour = l3.selectedIndex;
	
	/*if(index_type < 1)
	{
		l3.options.length = 0;
		l3.options[0] = new Option('Sélectionnez votre type de séjour');
	}
	else {*/
	
		var xhr_object_prix=create_xhr_object(); // prix
		var xhr_object_remarques_h_a=create_xhr_object(); // heure d'arrivée
		var xhr_object_remarques_h_d=create_xhr_object(); // heure de départ
		var xhr_object_remarques_rem=create_xhr_object(); // remarque
		
		xhr_object_prix.onreadystatechange = function (){
		// fonction pour le prix
			if(xhr_object_prix.readyState == 4 && xhr_object_prix.status == 200){

				document.getElementById('etape_1_prix_maison').value=xhr_object_prix.responseText;
				//document.getElementById('etape_1_prix_maison_rappel').value=xhr_object_prix.responseText;
				
				//calcul du prix total
				//affiche_prix_total();
			}
		}
		
		xhr_object_remarques_h_a.onreadystatechange = function (){
		// fonction pour l'heure d'arrivée
			if(xhr_object_remarques_h_a.readyState == 4 && xhr_object_remarques_h_a.status == 200){

				document.getElementById('etape_1_remarques_div_h_a').innerHTML=xhr_object_remarques_h_a.responseText;
			}
		}
		
		xhr_object_remarques_h_d.onreadystatechange = function (){
		// fonction pour l'heure de départ
			if(xhr_object_remarques_h_d.readyState == 4 && xhr_object_remarques_h_d.status == 200){

				document.getElementById('etape_1_remarques_div_h_d').innerHTML=xhr_object_remarques_h_d.responseText;
			}
		}
		
		xhr_object_remarques_rem.onreadystatechange = function (){
		// fonction pour le champs de remarque
			if(xhr_object_remarques_rem.readyState == 4 && xhr_object_remarques_rem.status == 200){

				document.getElementById('etape_1_remarques_div_rem').innerHTML=xhr_object_remarques_rem.responseText;
			}
		}
	
	// prix
		xhr_object_prix.open("POST", "common/form_date_prix_db_select.php", true);
		xhr_object_prix.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "etape_1_date_mois="+escape(l1.options[index_mois].value)+"&etape_1_date_type_sejour="+escape(l2.options[index_type].value)+"&etape_1_date_jour_arrivee="+escape(l3.options[index_jour].value);
		xhr_object_prix.send(data);
		
	// heure d'arrivée
		xhr_object_remarques_h_a.open("POST", "common/form_date_h_a_db_select.php", true);
		xhr_object_remarques_h_a.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "etape_1_date_mois="+escape(l1.options[index_mois].value)+"&etape_1_date_type_sejour="+escape(l2.options[index_type].value)+"&etape_1_date_jour_arrivee="+escape(l3.options[index_jour].value);
		xhr_object_remarques_h_a.send(data);
		
	// heure de départ
		xhr_object_remarques_h_d.open("POST", "common/form_date_h_d_db_select.php", true);
		xhr_object_remarques_h_d.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "etape_1_date_mois="+escape(l1.options[index_mois].value)+"&etape_1_date_type_sejour="+escape(l2.options[index_type].value)+"&etape_1_date_jour_arrivee="+escape(l3.options[index_jour].value);
		xhr_object_remarques_h_d.send(data);
		
	// remarques
		xhr_object_remarques_rem.open("POST", "common/form_date_remarques_db_select.php", true);
		xhr_object_remarques_rem.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		var data = "etape_1_date_mois="+escape(l1.options[index_mois].value)+"&etape_1_date_type_sejour="+escape(l2.options[index_type].value)+"&etape_1_date_jour_arrivee="+escape(l3.options[index_jour].value);
		xhr_object_remarques_rem.send(data);
	/*}*/
}
