Event.observe(window,'load',init);

// Initialisation
function init() {
	Event.observe('form_reservation','submit', reserv);
	if ($('form_reserv') != undefined) Event.observe('form_reserv','submit', date_obligatoire);
	if ($('btn_form_civilite') != undefined) Event.observe('form_civilite','submit', submit_reserv);
	
	//Gestion menu

	
	$$('.sousMenu').each(function(el) {
								  
		Event.observe(el,'mouseover', function(event){
											   	
			//Event.stop(event);								   
			$$('.sousMenu').each(function(el) {
				if(el.down('ul')) el.down('ul').hide();								  
			});	
			
			if(el.className != 'sousMenu') {
				el = $(Event.findElement(event, 'li'));
			}
											   
			if(el.down('ul')) el.down('ul').show();									   
		});	
	});
	
}

// Fonction xhr de base
function xhrCalendrier(date) {
	if ($('menuCalendrier') != undefined) {
		new Ajax.Updater('menuCalendrier', 'xhr/xhr-calendrier_menu.php', {
			asynchronous: true,
			method: "get",
			parameters: "date=" + date,
			onComplete: function() {
				Event.observe('autres_dates','click',autres_dates);
			$$(".day").each(function(el) {
				Event.observe(el, 'click', function(evt) {
					var id = el.id;
					var tab = id.split("_");
					var chambre_choose = tab[0];
					var date_choose = tab[1];
				
					// On va chercher la période
					new Ajax.Request('xhr/xhr-periode.php', {
						method: 'get',
						parameters: 'date='+date_choose,
						onSuccess: function(transport) {
						
							// On décompose la période
							//var tab_date = transport.responsetext.split("/");
							if(transport.responseText == '/') alert('Désolé aucune réservation possible pour ce jour');
							$$(".day").each(function(el2) {
								var id2 = el2.id;
								var tab2 = id2.split("_");
								
								var chambre_choose2 = tab2[0];
								var date_choose2 = tab2[1];
								
								// continue si n'est pas dans la bonne chambre
								if(chambre_choose2 == chambre_choose){									
									if(transport.responseText.match(date_choose2)) {
										var color_temp = el2.getStyle('background-color');
										if (color_temp != "gray") {
											el2.setStyle('background-color:gray;'); 
											$('form_reserv_text').value += "reserv:"+id2;
										}
										else { 
											el2.removeAttribute("style");
											var chaine = $('form_reserv_text').value.replace("reserv:"+id2, '');
											$('form_reserv_text').value = chaine;
										}
									}
								}
							});
						
						}
					});
					/*
					var color_temp = el.getStyle('background-color');
					if (color_temp != "gray") el.setStyle('background-color:gray;'); else el.removeAttribute("style");
					
					if (color_temp != "gray") $('form_reserv_text').value += "reserv:"+id;
					//alert("Chambre : "+chambre_choose+" pour la date : "+date_choose);
					*/
				});
			});
			}
		});
	}
}

// Fonction xhr de base
function xhrJoursCalendrier (date) {
	new Ajax.Updater('affichageCalendrier', 'xhr/xhr-jours_calendrier_menu.php', {
		asynchronous: true,
		method: "get",
		parameters: "date=" + date,
		onComplete: function() {
			Event.observe('autres_dates','click',autres_dates);
			$$(".day").each(function(el) {
				Event.observe(el, 'click', function(evt) {
					var id = el.id;
					var tab = id.split("_");
					var chambre_choose = tab[0];
					var date_choose = tab[1];
				
					// On va chercher la période
					new Ajax.Request('xhr/xhr-periode.php', {
						method: 'get',
						parameters: 'date='+date_choose,
						onSuccess: function(transport) {
						
							// On décompose la période
							//var tab_date = transport.responsetext.split("/");
							if(transport.responseText == '/') alert('Désolé aucune réservation possible pour ce jour');
							$$(".day").each(function(el2) {
								var id2 = el2.id;
								var tab2 = id2.split("_");
								
								var chambre_choose2 = tab2[0];
								var date_choose2 = tab2[1];
								
								// continue si n'est pas dans la bonne chambre
								if(chambre_choose2 == chambre_choose){									
									if(transport.responseText.match(date_choose2)) {
										var color_temp = el2.getStyle('background-color');
										if (color_temp != "gray") {
											el2.setStyle('background-color:gray;'); 
											$('form_reserv_text').value += "reserv:"+id2;
										}
										else { 
											el2.removeAttribute("style");
											var chaine = $('form_reserv_text').value.replace("reserv:"+id2, '');
											$('form_reserv_text').value = chaine;
										}
									}
								}
							});
						
						}
					});
					/*
					var color_temp = el.getStyle('background-color');
					if (color_temp != "gray") el.setStyle('background-color:gray;'); else el.removeAttribute("style");
					
					if (color_temp != "gray") $('form_reserv_text').value += "reserv:"+id;
					//alert("Chambre : "+chambre_choose+" pour la date : "+date_choose);
					*/
				});
			});
		}
	});
	
	new Ajax.Updater('divChoixDate', 'xhr/xhr-choix_mois.php', {
		asynchronous: true,
		method: "get",
		parameters: "date=" + date,
		onComplete: function() {
			Event.observe('autres_dates','click',autres_dates);
		}
	});	
}

function reserv(evt) {
	Event.stop(evt);
	mois = $F('select_mois');
	annee = $F('select_annee');
	var num_mois = getNum(mois);
	window.location="http://www.iledequemenes.fr/page.php?date="+num_mois+"-"+annee;
}

function getNum(mois) {
	switch (mois) {
		case "Janvier" : return "01";break;
		case "Février" : return "02";break;
		case "Mars" : return "03";break;
		case "Avril" : return "04";break;
		case "Mai" : return "05";break;
		case "Juin" : return "06";break;
		case "Juillet" : return "07";break;
		case "Août" : return "08";break;
		case "Septembre" : return "09";break;
		case "Octobre" : return "10";break;
		case "Novembre" : return "11";break;
		case "Décembre" : return "12";break;
	}
}

function ajaxEnvoi (fichier_xhr, receptacle, params) {
	new Ajax.Updater(receptacle, fichier_xhr, {
		asynchronous: true,
		method: "post",
		parameters: params,
		onLoading: function(request) {
			
		},
		onComplete: function(request) {
			
		}
	});	
}
			
function actionXhrForm(valeur, fichier_xhr, receptacle) {
			
	var params = "champ=" + valeur +
				 "&value=" + $F(valeur);						 
	ajaxEnvoi (fichier_xhr, receptacle, params);
}
			
function actionXhrGet(valeur, fichier_xhr, receptacle) {
			
	var params = "&value=" + valeur;						 
	ajaxEnvoi (fichier_xhr, receptacle, params);
}

function autres_dates(evt) {
		Event.stop(evt);
		$('divChoixDate').toggle();
}

function submit_reserv(evt) {
		Event.stop(evt);
		var ch_nom = $F('ch_nom');
		var ch_prenom = $F('ch_prenom');
		var ch_email = $F('ch_email');
		var ch_telephone = $F('ch_telephone');
		var ch_adresse = $F('ch_adresse');
		var ch_code_postal = $F('ch_code_postal');
		var ch_ville = $F('ch_ville');
		
		var nb_ch1 = $F('select_nb_pers_ch1');
		var nb_ch2 = $F('select_nb_pers_ch2');
		var nb_ch3 = $F('select_nb_pers_ch3');
		
		var ch_nb_enfant = $F('ch_nb_enfant');
		var ch_nb_adulte = $F('ch_nb_adulte');
		var ch_commentaire = $F('ch_commentaire');			
		
		var reservations = $F('form_reserv_text');
		
		//CREATION DES VARIABLES DE VERIF
		var saisie,saisie1,saisie2,saisie3;
		var mailok = false;
		var telok = false;
		var codepostal = false;
		
		//VERIF MAIL
		saisie = ch_email.indexOf("@");
		if (saisie!=(-1)) {
			longueur = ch_email.length;
			saisie1 = ch_email.substring(saisie+1,longueur);
			saisie2 = saisie1.indexOf(".");
			longueur = saisie1.length;
			saisie3 = saisie1.substring(saisie2+1,longueur);
			if (saisie2==(-1)) mailok = false;
			else {
				if (saisie3 == "") mailok = false;
				else mailok = true;
			}
		} else mailok = false;
		
		//VERIF TEL
		if (isNaN(ch_telephone) || ch_telephone == "") {
			telok = false;
		} else {
			telok = true;
		}
		
		//VERIF CODE POSTAL
		if (isNaN(ch_code_postal) || ch_code_postal == "") {
			codepostal = false;
		} else {
			codepostal = true;
		}
		
		if (nb_ch1 == 0 & nb_ch2 == 0 & nb_ch3 == 0) {
			$('err_form_civilite').replace('<p id="err_form_civilite">Entrez au moins un occupant dans une chambre</p>');
		} else if (mailok == false) {
			$('err_form_civilite').replace('<p id="err_form_civilite">Erreur dans le mail</p>');
		} else if (telok == false) {
			$('err_form_civilite').replace('<p id="err_form_civilite">Erreur dans le téléphone (ex: 0298020202)</p>');
		} else if (codepostal == false) {
			$('err_form_civilite').replace('<p id="err_form_civilite">Erreur dans le code postal (ex: 29200)</p>');
		} else if (ch_adresse == "") {
			$('err_form_civilite').replace('<p id="err_form_civilite">Entrez votre adresse</p>');
		} else if (ch_ville == "") {
			$('err_form_civilite').replace('<p id="err_form_civilite">Entrez votre ville</p>');
		} else if (ch_nom == "") {
			$('err_form_civilite').replace('<p id="err_form_civilite">Entrez votre nom</p>');
		} else {
			$('err_form_civilite').replace('<p id="err_form_civilite">&nbsp;</p>');
			window.location="http://www.iledequemenes.fr/page_reservation_trait.php?form_reserv_text="+reservations+"&nom="+ch_nom+"&prenom="+ch_prenom+"&email="+ch_email+"&tel="+ch_telephone+"&ch1="+nb_ch1+"&ch2="+nb_ch2+"&ch3="+nb_ch3+"&ch_adresse="+ch_adresse+"&ch_code_postal="+ch_code_postal+"&ch_ville="+ch_ville+"&ch_commentaire="+ch_commentaire+"&ch_nb_enfant="+ch_nb_enfant+"&ch_nb_adulte="+ch_nb_adulte;
		}
}

function date_obligatoire(evt) {
	if ($('form_reserv_text').value == "") {
		Event.stop(evt);
		$('erreur_form_reserv').replace('<span id="erreur_form_reserv">Veuillez choisir une date</span>');
	}
}