﻿
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SE LOGER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
			

// Sélectionne visuellement les icones de Confort des hotels (classement hotels)
function confort(type,qui,choix)// qui sera this, et choix la valeur de la modalité correspondante au classement
{
	qui = document.getElementById(qui);
	
	if(typeof(classement)!='undefined' && choix==classement)
	{
		classement = 0;
		qui.style.border='';
	}
	else
	{
		classement = choix;
		// On retire la bordure à tous
		if(type == 'H')//  Hôtels
		{
			document.getElementById('confort2000734').style.border=document.getElementById('confort2000735').style.border=document.getElementById('confort2000736').style.border=document.getElementById('confort2000737').style.border='';
		}
		else if(type == 'CAMP')// Campings
		{
			document.getElementById('confort2000742').style.border=document.getElementById('confort2000741').style.border=document.getElementById('confort2000740').style.border=document.getElementById('confort2000739').style.border=document.getElementById('confort2000743').style.border='';
		}
		else if(type == 'MEUB')// Locations de vacances
		{
			document.getElementById('confort2001101').style.border=document.getElementById('confort2001100').style.border=document.getElementById('confort2001099').style.border=document.getElementById('confort2001098').style.border=document.getElementById('confort2001097').style.border='';
		}
		else if(type == 'CH')// Chambres d 'hotes
		{
			document.getElementById('confort2001836').style.border=document.getElementById('confort2000751').style.border=document.getElementById('confort2000750').style.border=document.getElementById('confort2000749').style.border=document.getElementById('confort2000748').style.border='';
		}
		else if(type == 'GES')// Gites d'étapes
		{
			document.getElementById('confort2000766').style.border=document.getElementById('confort2000767').style.border=document.getElementById('confort2000768').style.border=document.getElementById('confort2000769').style.border='';
		}
		else if(type == 'AJ')// Auberges de jeunesse
		{
			document.getElementById('confort2000756').style.border=document.getElementById('confort2000757').style.border=document.getElementById('confort2000758').style.border=document.getElementById('confort2000759').style.border='';
		}
		// On attribue la bordure à qui
		qui.style.border='1px solid black';
	}
		
	document.getElementById('controle_etoile').value = classement;
	//alert(document.getElementById('controle_etoile').value);
}


/* ------------------------- LISTE DES COMMUNES ------------------------- */
// Affiche la liste des communes selon le type du produit
function choix_communes(type,critere,modalite)
{
	AJAX('communes', 'div_communes', '/modules/moteur_lei/seloger/formulaires/liste_communes.php?lg='+lg+'&type='+type+'&commune='+ document.getElementById('commune').value +'&critere='+critere+'&modalite='+modalite,'');
}
// Quand une commune est sélectionnée dans la liste, on copie la valeur du choix dans un champ hidden, qui est utilisé pour lancer la recherche
function attribue_commune()
{
	document.getElementById('commune').value=document.getElementById('select_communes').options[document.getElementById('select_communes').selectedIndex].value;
}
	
	
// Envoi de la requete
function chercher(type,mode,rfrom,rto)
{
	nuage_deselectionne();
	
	if(document.getElementById('itype') == null)
		return false;
	
	// Infos pour la pagination
	chaine = "rfrom="+rfrom+"&rto="+rto+'&dn='+document.getElementById('dn').value+'&itype='+document.getElementById('itype').value;
	//alert(type);

	// Mode de recherche choisi : comptage des résultats ou comptage/affichage des résultats
	if(mode==1)// Compter silencieusement (si erreur, pas de message d'alerte)
		var id_div = 'div_compter_resultats_xsl';
	else if(mode==2)// Afficher les résultats
		//id_div = 'div_contenu_2';
		var id_div = 'div_resultat';
	else// Comptage à la demande "cliquez ici pour recompter" (si erreur, message d'alerte s'afffiche)
		var id_div = 'div_compter_resultats_xsl';
	
	// Parametre  : correspond aux paramètres qui vont construire l'url d'appel
	var parametre;
	parametre = "";
	
	// Type de produit sur laquelle porte la recherche (nomenclature LEI ), passé en paramètre via l'URL
	/*
	Hotels							: 'H'
	Campings						: 'CAMP'
	Locations de vacances		: 'MEUB'
	Chambres d’hôtes			: 'CH'
	Gites d’étapes				: 'GES'
	Villages de vacances		: 'VVF'
	Auberges de jeunesse		: 'AJ'
	Aires de camping-car		: 'ACC'
	Refuges							: 'REF'
	*/
	parametre += "&type="+type;
	
	// Tri selon de nombre de photos
	if(document.getElementById('tri_photos') && document.getElementById('tri_photos').value=='1')
		parametre += "&tri_photos=1";
	
	// Tri selon la réservation en ligne
	if(document.getElementById('tri_reservation') && document.getElementById('tri_reservation').value=='1')
		parametre += "&tri_reservation=1";	
	
	// Tri aléatoire
	if(document.getElementById('tri_aleatoire') && document.getElementById('tri_aleatoire').value=='1')
	{
		if(document.getElementById('session_aleatoire') && document.getElementById('session_aleatoire').value != -1)
			parametre += "&tri_aleatoire=1&session_aleatoire="+document.getElementById('session_aleatoire').value;
		else
			parametre += "&tri_aleatoire=1";
			
		//alert(parametre);	
	}


	// Traductions
	if(lg=='fr')
	{
		var m_calcul_impossible = "Calcul impossible";
		var m_prix1 = "Veuillez saisir un nombre et non pas des lettres dans le prix mini et/ou maxi";
		var m_prix2 = "Votre prix mini est supérieur au prix maxi, veuillez rectifier.";
		var m_adultes1 = "Veuillez saisir un nombre et non pas des lettres dans le nombre d'adulte mini et/ou maxi";
		var m_adultes2 = "Votre nombre d'adulte mini est supérieur au nombre d'adulte maxi, veuillez rectifier.";
	}
	else if(lg=='en')
	{
		var m_calcul_impossible = "Calculation not possible";
		var m_prix1 = "Please enter a number and not letters in the mini and/or maxi tariff";
		var m_prix2 = "Your mini tariff is higher than the maxi tariff, please correct it.";
		var m_adultes1 = "Please enter a number and not letters in the mini and/or maxi tariff";
		var m_adultes2 = "Your mini adult number is higher than the maxi adult number, please correct it.";
	}
	else if(lg=='de')
	{
		var m_calcul_impossible = "Berechnung unmöglich";
		var m_prix1 = "Bitte geben Sie für Mindest- und/oder Höchstzahl an Erwachsenen keine Buchstaben, sondern eine Zahl ein";
		var m_prix2 = "Ihr Mindestpreis ist höher als der Höchstpreis, bitte korrigieren Sie die Eingabe";
		var m_adultes1 = "Bitte geben Sie für Mindest- und/oder Höchstzahl an Erwachsenen keine Buchstaben, sondern eine Zahl ein";
		var m_adultes2 = "Ihre Mindestanzahl an Erwachsenen ist höher als die maximale Anzahl, bitte korrigieren Sie die Eingabe";
	}
	else if(lg=='nl')
	{
		var m_calcul_impossible = "Berekening onmogelijk";
		var m_prix1 = "U wordt verzocht een aantal en géén letters voor het min. en/of max. aantal volwassenen in te voeren.";
		var m_prix2 = "Uw min. prijs is hoger dan de max. prijs, u wordt verzocht dit te corrigeren.";
		var m_adultes1 = "U wordt verzocht een aantal en géén letters voor het min. en/of max. aantal volwassenen in te voeren.";
		var m_adultes2 = "Uw min. aantal volwassenen  is hoger dan het max. aantal volwassenen, u wordt verzocht dit te corrigeren.";
	}	

	/* ------------------------------------------------- DEBUT DES OPTIONS ------------------------------------------------- */
	// DEBUT Options communes à tous les types
	// Nom du produit
	if(document.getElementById('nom')!=null && document.getElementById('nom').value!="")
		parametre +="&nom="+document.getElementById('nom').value;
	if(document.getElementById('tri_nom_produit') && document.getElementById('tri_nom_produit').value=='1')// Tri selon le nom du produit
		parametre += "&tri=produit";

	// Fulltext
	if(document.getElementById('fulltext')!=null && document.getElementById('fulltext').value!="")
	{
		parametre +="&fulltext="+document.getElementById('fulltext').value;
		if(document.getElementById('fulltext_1').checked)
			parametre +="&fulltext_op=1"; // Opérateur fulltext
		else if(document.getElementById('fulltext_2').checked)
			parametre +="&fulltext_op=2"; // Opérateur fulltext
	}


	// Commune
	if(document.getElementById('commune').value!="")
		parametre +="&commune="+document.getElementById('commune').value;
	// Tri selon la commune
	if(document.getElementById('tri_commune') && document.getElementById('tri_commune').value==1)
		parametre += "&tri=commune";
		
	// Micro-region
	if(typeof(microregion)!='undefined' && microregion!=0)
		parametre += "&microregion="+microregion;
		
	// Situation générale
	if(document.getElementById('situation_generale').options[document.getElementById('situation_generale').selectedIndex].value!="")
		parametre +="&situation_generale="+document.getElementById('situation_generale').options[document.getElementById('situation_generale').selectedIndex].value;
	// FIN Options communes à tous les types
		
		
		
	/* --------------------- DEBUT QUEL NIVEAU DE CONFORT --------------------- */
	//Classement : Hôtels, Campings, Locations de vacances, Chambres d’hôtes, Gîtes d’étape, Auberges de jeunesse
	if((type=='H' || type=='CAMP' || type=='MEUB' ||type=='CH' || type=='GES' || type=='AJ') && typeof(classement)!='undefined' && classement!=0)
		parametre += "&classement="+classement;
	// Tri selon le classement du produit
	if(document.getElementById('tri_classement') && document.getElementById('tri_classement').value=='1')
		parametre += "&tri_classement=1";

	// Label gîte de France : Locations de vacances
	if(type == 'MEUB')
	{
		if(document.getElementById('label_gite').options[document.getElementById('label_gite').selectedIndex].value!="")
			parametre +="&label_gite="+document.getElementById('label_gite').options[document.getElementById('label_gite').selectedIndex].value;
	}
	
	// Label Clévacances : Locations de vacances
	if(type == 'MEUB')
	{
		if(document.getElementById('label_clevacances').options[document.getElementById('label_clevacances').selectedIndex].value!="")
			parametre +="&label_clevacances="+document.getElementById('label_clevacances').options[document.getElementById('label_clevacances').selectedIndex].value;
	}

	// Maison individuelle : Locations de vacances
	if(type == 'MEUB')
	{
		if(document.getElementById('maison_individuelle').checked==true)
			parametre += "&maison_individuelle";	
	}

	// Situation détaillée
	if(type == 'MEUB' || type == 'H' || type == 'VVF')
	{
		if(document.getElementById('situation_detaillee').checked==true)
			parametre += "&situation_detaillee";	
	}


	// Chambre ou dortoir : Auberges de jeunesse, Refuges
	if(type == 'AJ' || type=='REF')
	{
		if(document.getElementById('chambre').checked==true)
			parametre += "&chambre";	
		if(document.getElementById('dortoir').checked==true)
			parametre += "&dortoir";	
	}
	/* --------------------- FIN QUEL NIVEAU DE CONFORT --------------------- */



	// DEBUT PRIX MINI / MAXI : Hôtels, Locations de vacances, Chambres d’hôtes, Gites d’étape, Villages de vacances
	if(type == 'H' || type == 'MEUB' || type == 'CH' || type == 'GES' || type=='VVF' || type=='REF')
	{
		var prix_mini,prix_maxi;
		
		prix_mini = document.getElementById('prix_mini').value;
		prix_maxi = document.getElementById('prix_maxi').value;

		prix_mini = prix_mini*1;
		prix_maxi = prix_maxi*1;
		
		if(isNaN(prix_mini) || isNaN(prix_maxi))
		{
				
			//if(mode!=1)
			alert(m_prix1);
			if(isNaN(prix_mini))document.getElementById('prix_mini').value='';
			if(isNaN(prix_maxi))document.getElementById('prix_maxi').value='';
			return false;
		}
			
		if(prix_mini > prix_maxi && prix_maxi!="")
		{
			//if(mode!=1)
			{alert(m_prix2);}
			document.getElementById('nb_resultats').value=m_calcul_impossible;
			return false;
		}
		else
		{
			if(prix_mini!="")
				parametre += "&prix_mini="+prix_mini;
			if(prix_maxi!="")
				parametre += "&prix_maxi="+prix_maxi;
		}
	}
	
	// Tri selon le prix
	if(document.getElementById('tri_prix') && document.getElementById('tri_prix').value=='1')
		parametre += "&tri_prix=1";
	// FIN PRIX MINI / MAXI	
		
		
		
	// DEBUT NOMBRE D'ADULTES : Locations de vacances, gites d’étapes, villages de vacances
	if(type == 'MEUB' || type == 'GES' || type == 'VVF')
	{
		var adultes_mini,adultes_maxi;
		
		adultes_mini = document.getElementById('adultes_mini').value;
		adultes_maxi = document.getElementById('adultes_maxi').value;

		adultes_mini = adultes_mini*1;
		adultes_maxi = adultes_maxi*1;
		if(isNaN(adultes_mini) || isNaN(adultes_maxi))
		{
			//if(mode!=1)
			alert(m_adultes1);
			if(isNaN(adultes_mini))document.getElementById('adultes_mini').value='';
			if(isNaN(adultes_maxi))document.getElementById('adultes_maxi').value='';
			return false;
		}
			
		if(adultes_mini > adultes_maxi && adultes_maxi!="")
		{
			//if(mode!=1)
			alert(m_adultes2);
			return false;
		}
		else
		{
			if(adultes_mini!="")
				parametre += "&adultes_mini="+adultes_mini;
			if(adultes_maxi!="")
				parametre += "&adultes_maxi="+adultes_maxi;
		}
		//alert(parametre);
	}
	
	
	/* ----------------------- DEBUT DISPONIBILITES : Hôtels, Campings, Locations de vacances, Chambre d’hôtes, Villages de vacances, Auberges de jeunesse ----------------------- */	
	if(type=='H' || type=='CAMP' || type=='H' || type=='MEUB' || type=='CH'  || type=='GES' || type=='VVF' || type=='AJ')
	{
		if(verifie_date_calendrier() == false)
		{
			return false;
		}
		transformTxt('date_debut');
		transformTxt('date_fin');

		// La date de début est vide, on la repasse en jj/mm/aaaa
		if(document.getElementById('date_debut').value == "" )
			document.getElementById('date_debut').value = jma;
		// La date de fin est vide, on la repasse en jj/mm/aaaa
		if(document.getElementById('date_fin').value == "" )
			document.getElementById('date_fin').value = jma;		
			
		// La date de début n'est pas égale à " jj/mm/aaa"
		if(document.getElementById('date_debut').value != jma)
		{
			if(document.getElementById('date_fin').value == jma) // La date de fin n'est pas renseignée
			{
				document.getElementById("date_fin").style.backgroundColor="#EC018C";
				document.getElementById("div_suite_date").style.left = "150px";
				document.getElementById("div_suite_date").style.marginTop = "15px";
				document.getElementById("div_suite_date").style.visibility="visible";
				return false;
			}
			parametre += "&date_debut="+document.getElementById('date_debut').value;
		}
		if(document.getElementById('date_fin').value != "" && document.getElementById('date_fin').value != jma)
		{
			parametre += "&date_fin="+document.getElementById('date_fin').value;
		}
		document.getElementById("date_debut").style.backgroundColor="";
		document.getElementById("date_fin").style.backgroundColor="";
		
		// Pour tri des disponibilités
		if(document.getElementById('dispos_libres_uniquement') && document.getElementById('dispos_libres_uniquement').value=='1')// N'affiche que les dispos libres
			parametre += "&dispo_libres_uniquement=1";
		
		if(document.getElementById('njdl') && document.getElementById('njdl').options[document.getElementById('njdl').selectedIndex].value!="0")// L'internautre choisi de filtrer par le nombre de jour de dispos libres
			parametre += "&njdl="+document.getElementById('njdl').options[document.getElementById('njdl').selectedIndex].value;
	}
	/* ----------------------------------------- FIN DISPONIBILITES -----------------------------------------  */		

	
	
	// Location : campings
	if(type == 'CAMP')
	{
		if(document.getElementById('location').options[document.getElementById('location').selectedIndex].value!="")
			parametre +="&location="+document.getElementById('location').options[document.getElementById('location').selectedIndex].value;
	}
	
	

	// Activités de proximité : Campings, Locations de vacances, Chambres d’hôtes, Villages de vacances
	if(type == 'CAMP' || type == 'MEUB' || type == 'CH' || type=='VVF')
	{
		if(document.getElementById('activites_proximite').options[document.getElementById('activites_proximite').selectedIndex].value!="")
			parametre +="&activites_proximite="+document.getElementById('activites_proximite').options[document.getElementById('activites_proximite').selectedIndex].value;
	}	



	// Equipements et prestations
	equip_prest = "";
	param = false;
	// Accès handicapé : Hôtels, Campings, locations de vacances, Chambres d’hôtes, Gîtes d’étape, Villages de vacances, Auberges de jeunesse, Aires de camping-car
	if((type=='H' || type=='CAMP' || type=='MEUB' || type=='CH' || type=='GES' || type=='VVF' || type=='AJ' || type=='ACC') && document.getElementById('acces_handicape').value==1)
	{
		equip_prest += "acces_handicape,";
		param = true;
	}
	// Parking : Hôtel
	if((type=='H') && document.getElementById('parking').value==1)
	{
		equip_prest += "parking,";
		param = true;
	}
	// Restauration : Hôtels, Campings, Villages de vacances, Auberges de jeunesse
	if((type=='H' || type=='CAMP' || type=='VVF' || type=='AJ') && document.getElementById('restauration').value==1)
	{
		equip_prest += "restauration,";
		param = true;
	}
	// Piscine : Hôtels, Campings, Locations de vacances, Chambres d’hôtes, Villages de vacances
	if((type=='H' || type=='CAMP' || type=='MEUB' || type=='CH' || type=='VVF') && document.getElementById('piscine').value==1)
	{
		equip_prest += "piscine,";
		param = true;
	}
	// Tennis : Hôtels, Campings, Locations de vacances, Chambres d’hôtes, Villages de vacances
	if((type=='H' || type=='CAMP' || type=='MEUB' || type=='CH' || type=='VVF') && document.getElementById('tennis').value==1)
	{
		equip_prest += "tennis,";
		param = true;
	}
	// Salle de réunion : Hôtels, Campings, Locations de vacances, Chambres d’hôtes, Villages de vacances
	if((type=='H' || type=='CAMP' || type=='MEUB' || type=='CH' || type=='VVF') && document.getElementById('salle_reunion').value==1)
	{
		equip_prest += "salle_reunion,";
		param = true;
	}
	// Animaux admis : Hôtels, Locations de vacances, Chambres d’hôtes
	if((type=='H' || type=='MEUB' || type=='CH') && document.getElementById('animaux_admis').value==1)
	{
		equip_prest += "animaux_admis,";
		param = true;
	}
	// Moins de 5km chemins de randonnée : Gîtes d’étape
	if((type=='GES') && document.getElementById('chemins_rando').value==1)
	{
		equip_prest += "chemins_rando,";
		param = true;
	}
	
	if(param == true) // On retire la dernière virgule
	{
		longueur = equip_prest.length;
		parametre += "&equip_prest="+equip_prest.substring(0, longueur-1);
	}
	/* ------------------------------------------------- FIN DES OPTIONS ------------------------------------------------- */


	// On montre le div de la liste des résultats
	montre('2');
	
	// On crée la variable locale qui reçoit d'éventuel fonctions javascript à lancer après la mise à jour par AJAX
	var option;
	
	
	if(mode!=2)// On est  en mode Comptage des résultats
	{
		// On affiche la roue d'attente animée pendant que le comptage se fait
		attente_nb(1);

		option = 'if(document.getElementById(\'compter_resultats_xsl\')!=null){document.getElementById(\'nb_resultats\').value=\''+texte1+'\'+document.getElementById(\'compter_resultats_xsl\').value + \''+texte2+'\';if(document.getElementById(\'compter_resultats_xsl\').value > 1)	document.getElementById(\'nb_resultats\').value+=\''+texte3+'\';}attente_nb(0);if(document.getElementById(\'compter_resultats_xsl\')!=null){document.getElementById(\'nb_resultats_haut\').value=document.getElementById(\'compter_resultats_xsl\').value + \''+texte2+'\';if(document.getElementById(\'compter_resultats_xsl\').value > 1)	document.getElementById(\'nb_resultats_haut\').value+=\''+texte3+'\';}';
		// on vérifie que l'élément compter_resultats_xsl existe (il peut ne pas exister si le LEI plante) ; on affiche dans le champ texte nb_resultats le nombre de résultats contenus dans compter_resultats_xsl, selon qu'il y en a plus de 1 ou moins (pour le 's' du pluriel). On masque la roue d'attente animée du comptage ensuite
	}
	else // On est en mode Affichage des résultats
	{
		option = 'if(document.getElementById(\'nb_resultats_xsl\')!=null){document.getElementById(\'nb_resultats\').value=\''+texte1+'\'+document.getElementById(\'nb_resultats_xsl\').value + \''+texte2+'\';if(document.getElementById(\'nb_resultats_xsl\').value > 1)document.getElementById(\'nb_resultats\').value+=\''+texte3+'\';}attente(0);if(document.getElementById(\'nb_resultats_xsl\')!=null){document.getElementById(\'nb_resultats_haut\').value=document.getElementById(\'nb_resultats_xsl\').value + \''+texte2+'\';if(document.getElementById(\'nb_resultats_xsl\').value > 1)document.getElementById(\'nb_resultats_haut\').value+=\''+texte3+'\';}';
		// on vérifie que l'élément nb_resultats_xsl existe (il peut ne pas exister si le LEI plante) ; on affiche dans le champ texte nb_resultats le nombre de résultats contenus dans nb_resultats_xsl, selon qu'il y en a plus de 1 ou moins (pour le 's' du pluriel). On masque la roue d'attente animée ensuite
	}



	//alert('/modules/moteur_lei/seloger/resultats/resultats_inc.php?lg='+lg+'&'+chaine+parametre+'&mode='+mode,option);
	
	AJAX('a',id_div, '/modules/moteur_lei/seloger/resultats/resultats_inc.php?lg='+lg+'&'+chaine+parametre+'&mode='+mode,option);
}


// Fonction d'affichage de la commercialisation pour les locations de vacances
function affichage_commercialisation()
{
	document.getElementById('div_commercialisation').style.display='block';
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FIN SE LOGER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
