/** Grise les listes déroulantes du moteur de recherche **/
function grise_recherche()
{
	getId('ajax_loader').style.visibility = 'visible';
	getId('recherche_pays').disabled = true;
	getId('recherche_region').disabled = true;
	getId('recherche_station').disabled = true;
	getId('station_residence').disabled = true;
}

/** Dégrise les listes déroulantes du moteur de recherche **/
function degrise_recherche()
{
	getId('recherche_pays').disabled = false;
	getId('recherche_region').disabled = false;
	getId('recherche_station').disabled = false;
	getId('station_residence').disabled = false;
	getId('ajax_loader').style.visibility = 'hidden';
}

/** Temporise le dégrisage des listes déroulantes du moteur de recherche **/
function clear_recherche()
{
	setTimeout("degrise_recherche()", 500);
}

/** Construit le lien du 'action' et envoie le formulaire dans le cas ou une résidence est selectionnée dans la liste **/
function valid_recherche(element, nom_region, nom_station)
{
	if (element.selectedIndex != 0)
	{
		loading();
		var val = element.value; //nrsh + cholo + cidho
		var nrsh = val.substr(0, 6); //code_station
		var espace = nrsh.indexOf(' ', 0); //repère l'emplacement du premier espace dans le code_station
		if (espace != -1 && espace < 6) nrsh = nrsh.substr(0, espace); //Si un espace est trouvé et si le code_station fait moins de 6 cractères, on supprime les espaces en trop dans le code_station
		var cholo = val.substr(6, 1); //code_hebergement
		var cidho = val.substr(7, 4); //code_logement
		getId('form_recherche').action = 'vacances-location-mer-montagne,logements-' + nom_region + ',' + nom_station + '-' + nrsh + '-' + cholo + '-' + cidho + '-residence.html#residence';
		getId('form_recherche').submit();
	}
}

/** Cache/montre la liste des checkboxes pour affiner la recherche **/
function click_affiner()
{
	if (getId('cache_affiner').value == 0)
	{
		getId('cache_affiner').value = 1;
		getId('montrer_cacher').src = 'site/media/recherche/plus.gif';
		hide_element('affiner');
	}
	else if (getId('cache_affiner').value == 1)
	{
		getId('cache_affiner').value = 0;
		getId('montrer_cacher').src = 'site/media/recherche/moins.gif';
		show_element('affiner');
	}
}

/** Cache un élément avec 'display' **/
function show_element(id)
{
	getId(id).style.display = "block";
}

/** Montre un élément avec 'display' **/
function hide_element(id)
{
	getId(id).style.display = "none";
}

/** Cache un élément avec 'visible' **/
function show_element_visible(id)
{
	getId(id).style.visibility = "visible";
}

/** Montre un élément avec 'visible' **/
function hide_element_visible(id)
{
	getId(id).style.visibility = "hidden";
}

/** Switch entre les checkboxes promo et coup de coeur (comme si c'était des radios) **/
function checkboxes(type)
{
	if(type == 'promo')
	{
		getId('form_recherche').promo_cdc.value = 'D';
		getId('form_recherche').cdc.checked = false;
	}
	else if(type == 'cdc')
	{
		getId('form_recherche').promo_cdc.value = 'S';
		getId('form_recherche').promo.checked = false;
	}
	if(getId('form_recherche').promo.checked == false && getId('form_recherche').cdc.checked == false) getId('form_recherche').promo_cdc.value = '';
}

/** Cache le block des dates **/
function hide_dates()
{
	getId('li_date_depart').style.display = 'none';
	getId('li_date_fin').style.display = 'none';
}

/** Montre le block des dates **/
function show_dates()
{
	getId('li_date_depart').style.display = 'block';
	getId('li_date_fin').style.display = 'block';
}

/** Active/désactive la recherche en temps réel - ANCIENNE VERSION **/
// function hide_show_dates(cal_debut, cal_fin)
// {
	// verif_init_marche();
	
	// if(getId('temps_reel').checked == true) // Recherche hors temps réel
	// {
		// getId('label_hors_temps_reel').className = 'type_vacances_selected';
		
		// getId('li_date_depart').className = 'dates_hidden_espace';
		// getId('li_date_fin').className = 'dates_hidden';
		// getId('li_nb_adultes').className = 'dates_hidden_espace';
		// getId('li_nb_enfants').className = 'dates_hidden';
		
		// getId('temps_reel').value = 'non';
		
		// getId('calendrier_debut_img').src = 'site/media/calendrier/calendrier_desaturated.gif';
		// getId('calendrier_fin_img').src = 'site/media/calendrier/calendrier_desaturated.gif';
		
		/*
		cal_debut.killCal(getId('calendrier_debut_container')); // Methode pour désactiver le onclick sur le champ input de la date
		cal_fin.killCal(getId('calendrier_fin_container')); // Methode pour désactiver le onclick sur le champ input de la date
		
		Mise à vide des onclicks des éléments en rapport avec le calendrier
		if(navigator.appName == 'Microsoft Internet Explorer') getId('calendrier_debut_container').onclick = getId('onclick_infobulle_hors_temps_reel').onclick;
		else getId('calendrier_debut_container').onfocus = getId('onclick_infobulle_hors_temps_reel').onfocus;
		if(navigator.appName == 'Microsoft Internet Explorer') getId('calendrier_fin_container').onclick = getId('onclick_infobulle_hors_temps_reel').onclick;
		else getId('calendrier_fin_container').onfocus = getId('onclick_infobulle_hors_temps_reel').onfocus;
		*/
		// getId('calendrier_debut_img').onclick = getId('onclick_infobulle_hors_temps_reel').onfocus;
		// getId('calendrier_fin_img').onclick = getId('onclick_infobulle_hors_temps_reel').onfocus;
		
		// getId('calendrier_debut_img').title = '';
		// getId('calendrier_fin_img').title = '';
		
		// getId('calendrier_debut_container').disabled = true;
		// getId('calendrier_fin_container').disabled = true;
		// getId('nb_adultes').disabled = true;
		// getId('nb_enfants').disabled = true;
	// }
	// else // Recherche temps réel
	// {
		// getId('label_hors_temps_reel').className = 'type_vacances';
		
		// getId('li_date_depart').className = 'espace';
		// getId('li_date_fin').className = '';
		// getId('li_nb_adultes').className = 'espace';
		// getId('li_nb_enfants').className = '';
		
		// getId('temps_reel').value = 'oui';
		
		// getId('calendrier_debut_img').src = 'site/media/calendrier/calendrier.gif';
		// getId('calendrier_fin_img').src = 'site/media/calendrier/calendrier.gif';
		
		/*
		cal_debut.resurrectCal(getId('calendrier_debut_container')); // Methode pour réactiver le onclick sur le champ input de la date
		cal_fin.resurrectCal(getId('calendrier_fin_container')); // Methode pour réactiver le onclick sur le champ input de la date
		
		Réstauration des onclicks des éléments en rapport avec le calendrier
		if(navigator.appName == 'Microsoft Internet Explorer') getId('calendrier_debut_container').onclick = getId('onclick_input_date_debut').onclick;
		else getId('calendrier_debut_container').onfocus = getId('onclick_input_date_debut').onfocus;
		if(navigator.appName == 'Microsoft Internet Explorer') getId('calendrier_fin_container').onclick = getId('onclick_input_date_fin').onclick;
		else getId('calendrier_fin_container').onfocus = getId('onclick_input_date_fin').onfocus;
		*/
		// getId('calendrier_debut_img').onclick = getId('onclick_img_date_debut').onclick;
		// getId('calendrier_fin_img').onclick = getId('onclick_img_date_fin').onclick;
		
		// getId('calendrier_debut_img').title = getId('onclick_img_date_debut').title;
		// getId('calendrier_fin_img').title = getId('onclick_img_date_fin').title;
		
		// getId('calendrier_debut_container').disabled = false;
		// getId('calendrier_fin_container').disabled = false;
		// getId('nb_adultes').disabled = false;
		// getId('nb_enfants').disabled = false;
	// }
// }

/** Active/désactive la recherche en temps réel **/
function hide_show_dates(cal_debut, cal_fin, elem)
{
	// verif_init_marche();
	if(verif_init_marche(elem) == false) return false;
	
	if(getId('temps_reel').checked == true) // Recherche temps réel
	{
		getId('label_hors_temps_reel').className = 'type_vacances_selected';
		
		getId('li_date_depart').className = 'espace';
		getId('li_date_fin').className = '';
		getId('li_nb_adultes').className = 'espace';
		getId('li_nb_enfants').className = '';
		
		getId('temps_reel').value = 'oui';
		
		getId('calendrier_debut_img').src = 'site/media/calendrier/calendrier.gif';
		getId('calendrier_fin_img').src = 'site/media/calendrier/calendrier.gif';
		
		getId('calendrier_debut_img').onclick = getId('onclick_img_date_debut').onclick;
		getId('calendrier_fin_img').onclick = getId('onclick_img_date_fin').onclick;
		
		getId('calendrier_debut_img').title = getId('onclick_img_date_debut').title;
		getId('calendrier_fin_img').title = getId('onclick_img_date_fin').title;
		
		getId('calendrier_debut_container').disabled = false;
		getId('calendrier_fin_container').disabled = false;
		getId('nb_adultes').disabled = false;
		getId('nb_enfants').disabled = false;
	}
	else // Recherche hors temps réel
	{
		getId('label_hors_temps_reel').className = 'type_vacances';
		
		getId('li_date_depart').className = 'dates_hidden_espace';
		getId('li_date_fin').className = 'dates_hidden';
		getId('li_nb_adultes').className = 'dates_hidden_espace';
		getId('li_nb_enfants').className = 'dates_hidden';
		
		getId('temps_reel').value = 'non';
		
		getId('calendrier_debut_img').src = 'site/media/calendrier/calendrier_desaturated.gif';
		getId('calendrier_fin_img').src = 'site/media/calendrier/calendrier_desaturated.gif';
		
		getId('calendrier_debut_img').onclick = getId('onclick_infobulle_hors_temps_reel').onfocus;
		getId('calendrier_fin_img').onclick = getId('onclick_infobulle_hors_temps_reel').onfocus;
		
		getId('calendrier_debut_img').title = '';
		getId('calendrier_fin_img').title = '';
		
		getId('calendrier_debut_container').disabled = true;
		getId('calendrier_fin_container').disabled = true;
		getId('nb_adultes').disabled = true;
		getId('nb_enfants').disabled = true;
	}
	
	// alert(getId('temps_reel').value);
}

/** Construit/déplace et affiche l'infobulle du moteur de recherche **/
function ouvrir_infobulle_hors_temps_reel(conteneur, msg, pos)
{
	// if(navigator.appName == 'Microsoft Internet Explorer' && conteneur.id.substring((conteneur.id.lastIndexOf('_') + 1)) == 'container')
	// {
		// var cal = eval('date_' + conteneur.id.substring((conteneur.id.indexOf('_') + 1), conteneur.id.lastIndexOf('_')) + '_cal');
		// cal.hide();
	// }
	
	if(navVersion() == '6') pos = 'b'; // patch pour que l'infobulle ne passes pas sous les selects avec IE6 (solution : afficher l'infobulle en bas ^^)
	
	if(getId('infobulle_hors_temps_reel'))
	{
		var infobulle = getId('infobulle_hors_temps_reel');
		
		infobulle.innerHTML = msg;
		
		infobulle.style.display = 'block';
		
		if(pos == 'h') infobulle.style.top = getTop(conteneur) - infobulle.offsetHeight + 'px'; // getTop est une fonction fournie par le calendrier
		else infobulle.style.top = getTop(conteneur) + conteneur.offsetHeight + 'px'; // getTop est une fonction fournie par le calendrier
		infobulle.style.left = getLeft(conteneur) + 0 + 'px'; // getLeft est une fonction fournie par le calendrier
	}
	else
	{
		var infobulle = document.createElement('div');
		infobulle.setAttribute('id', 'infobulle_hors_temps_reel');
		
		getId('li_checkbox_hors_temps_reel').appendChild(infobulle);
		
		infobulle.innerHTML = msg;
		
		infobulle.style.display = 'block';
		
		if(pos == 'h') infobulle.style.top = getTop(conteneur) - infobulle.offsetHeight + 'px'; // getTop est une fonction fournie par le calendrier
		else infobulle.style.top = getTop(conteneur) + conteneur.offsetHeight + 'px'; // getTop est une fonction fournie par le calendrier
		infobulle.style.left = getLeft(conteneur) + 0 + 'px'; // getLeft est une fonction fournie par le calendrier
	}
}

/** Cache l'infobulle du moteur de recherche **/
function hide_infobulle_hors_temps_reel()
{
	if(getId('infobulle_hors_temps_reel')) getId('infobulle_hors_temps_reel').style.display = 'none';
}

/** Construit le lien du 'action' pour les recherches hors temps réel **/
function ecrire_lien()
{
	if(getId('temps_reel').checked == true) // Recherche temps réel
	{
		var radios_type_vac = getId('radio_type_vac').getElementsByTagName('input');
		for(var i = 0; i < radios_type_vac.length; i++) if(radios_type_vac[i].checked == true) var type_vac = radios_type_vac[i].value;
		
		var pays = getId('recherche_pays').value;
		var region = getId('recherche_region').value;
		var station = getId('recherche_station').value;
		
		var criteres = '';
		var radios_affiner = getId('affiner').getElementsByTagName('input');
		for(var i = 0; i < radios_affiner.length; i++)
		{
			if(radios_affiner[i].checked == true)
			{
				if(criteres != '') criteres += '_';
				criteres += radios_affiner[i].value;
			}
		}
		
		var lien = 'vacances-reservation-sejour-tourisme-location,recherche-' + type_vac + '-' + pays + '-' + region;
		if(station != '') lien += '-' + station;
		lien += '-1';
		if(criteres != '') lien += '-' + criteres.toLowerCase();
		lien += '.html';
		
		// alert(lien);
		getId('form_recherche').action = lien;
	}
}

/** Graissage du bouton radio sélectionné **/
function style_radio_selected(id)
{
	var tab_temps_reel = new Array('temps_reel', 'hors_temps_reel');
	
	getId('label_'+id).className = 'type_vacances_selected';
	
	for (var i = 0; i < tab_temps_reel.length; i++)
	{
		if (tab_temps_reel[i] != id)
		{
			getId('label_'+tab_temps_reel[i]).className = 'type_vacances';
		}
	}
}