/**** SEARCH RESULTS.JS ****/

function changeSearchPage(index)
{

	document.getElementById("search_page_pagination").value = index;
}

function submitPagination(index)
{
	document.getElementById("pagePagination").value=index;
	document.getElementById("paginationForm").submit();
	return false;
}

function chooseProposal( sFormName, sBlockID )
{
	
    var nProposalIndex = getDOMInputValue( 'proposal_index_' + sBlockID );
   // setInputValue( 'proposal_index_' +sBlockID , sProposalIndex, sFormName );
    if( !nProposalIndex )
    {
    	if(document.getElementById("erreur_reservation") && document.getElementById("erreur_reservation").value != "")
    	{
    		var erreur = document.getElementById("erreur_reservation").value;
    		alert(erreur);
    	}
    	return false;
    }
    setInputValue( 'proposal_index', nProposalIndex, sFormName );

	

    if(document.getElementById("lien_reservation") && document.getElementById("lien_reservation").value != "")
    {	
		var lien = document.getElementById("lien_reservation").value;
	
				
		submitDisplayForm('search_pagination', 'reservation_content', 'chooseProposalForReview', 'ignore_token', null, null, null, lien, null, null);	
    }
    
    return false;
}

 
function submit_back_form(session)
{
	document.getElementById('session_name').value = session;
	document.getElementById('back_form').submit();	
}



function changeSearchHebergement(idType,type)
{
	if(document.getElementById('center_search_form_etab'))
	{
		
		var tabOptions = document.getElementById('center_search_form_etab').options;
		for(var i = 0; i < tabOptions.length; i++)
		{		
			if(tabOptions[i].value == idType)
			{		
				tabOptions[i].selected = "selected";
				document.getElementById("center_search_form_etab_input").value = type;
				document.getElementById("center_search_form_etab_input_"+tabOptions[i].value).className="selected";
			}
			else
			{
				document.getElementById("center_search_form_etab_input_"+tabOptions[i].value).className="";
			}
		}
		
	}
}
		
function add_param_destination(destination)
{	
	if(document.getElementById("param_destinations"))
	{
		var found = false;
		var strDestinations = document.getElementById("param_destinations").value;
		document.getElementById("param_destinations").value = "";
		var reg=new RegExp("[,]+", "g");
		var aDestinations =strDestinations.split(reg);
		
		//On verifie si la destination est dans la liste	
		for (var i=0; i<aDestinations.length; i++) {
 				
			if(aDestinations[i] != destination)
			{
				//On ajoute les autres destinations
				if(document.getElementById("param_destinations").value != "")
				{
					document.getElementById("param_destinations").value += ",";	
				}
				document.getElementById("param_destinations").value += aDestinations[i];	
	 					
			}
			else
			{
				//On l'a trouvée
				found = true;
				
			}
		}
		
		//Si pas trouvée, on l'ajoute
		if(!found)
		{
			if(document.getElementById("param_destinations").value != "")
			{
				document.getElementById("param_destinations").value += ",";	
			}
			document.getElementById("param_destinations").value += destination;
		}		
		
		
	}
	
	if (jQuery.browser.msie) {
		
		if(document.getElementById('search_form_theme_codes_'+destination))
		{
			
			if(document.getElementById('search_form_theme_codes_'+destination).checked  == true)
			{	
				document.getElementById('search_form_theme_codes_'+destination).checked = false;
			}	
			else
			{
				document.getElementById('search_form_theme_codes_'+destination).checked= true;	
			}
		}
	
	};
	
}

function add_other_parameters()
{
	if(document.getElementById("date_dep").value != "")
	{
		document.getElementById("param_date_depart").value = document.getElementById("date_dep").value;
	}	
	
	if(document.getElementById("nb_night").value != "")
	{
		document.getElementById("param_nombre_nuits").value = document.getElementById("nb_night").value;
	}	
	
	if(document.getElementById("nb_adults").value != "")
	{
		document.getElementById("param_nombre_adultes").value = document.getElementById("nb_adults").value;
	}	
	
	if(document.getElementById("nb_kids").value != "")
	{
		document.getElementById("param_nombre_enfants").value = document.getElementById("nb_kids").value;
	}
	
	if(document.getElementById("recherche_region").value != "")
	{
		document.getElementById("param_plus_criteres").value = 1;
		document.getElementById("param_region").value = document.getElementById("recherche_region").value;
	}
	else
	{
		document.getElementById("param_plus_criteres").value = 0;
		document.getElementById("param_region").value = "";
	}
	
	if(document.getElementById("recherche_station").value != "")
	{
		document.getElementById("param_plus_criteres").value = 1;
		document.getElementById("param_station").value = document.getElementById("recherche_station").value;
	}
	else
	{
		document.getElementById("param_plus_criteres").value = 0;
		document.getElementById("param_station").value = "";
	}
	
	if(document.getElementById("search_form_etab").value != "")
	{
		document.getElementById("param_plus_criteres").value = 1;
		document.getElementById("param_etablissement").value = document.getElementById("search_form_etab").value;
	}
	else
	{
		document.getElementById("param_plus_criteres").value = 0;
		document.getElementById("param_etablissement").value = "";
	}
}

function valid_cgv()
{	

	if (jQuery.browser.msie) {
		
	if(document.getElementById('salescondition'))
	{
		
		if(document.getElementById('salescondition').checked  == true)
		{	
			document.getElementById('salescondition').checked = false;
		}	
		else
		{
			document.getElementById('salescondition').checked= true;	
		}
	}
	
	};
}

function set_param_last_minutes(id_form,id_date,id_nb_nuit)
{
    //alert(date);
    //alert(nb_nuit);
    //document.getElementById(id_date).id =  "pdd";
    document.getElementById(id_date).name =  "pdd";
    //document.getElementById(id_nb_nuit).id =  "pn";
    document.getElementById(id_nb_nuit).name =  "pn";
    document.getElementById(id_form).action = 'search_result.php';
    document.getElementById(id_form).submit();
    
    //window.location.href = 'search_result.php?pdd='+date+'&pn='+nb_nuit;
}

function recherche_hebergement(etab,heber,offer)
{
	
	
	if(document.getElementById("search_form") && document.getElementById("addHiddenFields"))
	{
		
		document.getElementById("search_form_period_categories").value=offer;
		document.getElementById("search_form_etab").value=etab;
		document.getElementById("addHiddenFields").innerHTML += "<input type=\"hidden\" name=\"search_form_room_type\" value=\""+heber+"\"/>";
		document.getElementById("addHiddenFields").innerHTML += "<input type=\"hidden\" name=\"searchType\" value=\"1\"/>";
				
	}
}



function detect_browser(id_form)
{
	
	if(document.getElementById(id_form))
	{
		
		
		
		if(jQuery.browser.msie && jQuery.browser.version < 7)
		{
	
			document.getElementById(id_form).innerHTML += '<input type="hidden" name="browser" value="IE6" />';
		}
		else
		{
			if(jQuery.browser.msie)
			{
		
				document.getElementById(id_form).innerHTML += '<input type="hidden" name="browser" value="IE7" />';
			}
			else
			{
		
				document.getElementById(id_form).innerHTML += '<input type="hidden" name="browser" value="" />';			
			}
		}
	}	
	
	
}

function refresh_filters()
{
	//On recupere les filtres à partir des champs param
	if(document.getElementById('param_destinations').value != "")
	{
		document.getElementById('filtre_destination').value = document.getElementById('param_destinations').value;
	}
	
	if(document.getElementById('param_region').value != "")
	{
		document.getElementById('filtre_region').value = document.getElementById('param_region').value;
	}
	
	if(document.getElementById('param_station').value != "")
	{
		document.getElementById('filtre_station').value = document.getElementById('param_station').value;
	}
	
	
	//On vérifie la cohérence des champs de recherche avec les filtres
	filter_search();
}

function add_destination_filter(id_destination)
{
	
	//On verifie si la destination est dans la liste	
	var aFilters = document.getElementById('filtre_destination').value.split(',');
	var found = false;
	document.getElementById('filtre_destination').value = '';
	
	for(i = 0; i < aFilters.length; i++)
	{
		if(aFilters[i]	!= id_destination)
		{
			if(document.getElementById('filtre_destination').value != '')
			{
				document.getElementById('filtre_destination').value += ',';
			}
			document.getElementById('filtre_destination').value += aFilters[i];	
		}
		else
		{
			found = true;	
		}
	}
	if(!found)
	{
		//On ajoute le nouveau filtre destination
		if(document.getElementById('filtre_destination').value != "")
		{
			document.getElementById('filtre_destination').value += ",";
		}
		document.getElementById('filtre_destination').value += id_destination;
	}
	
	
	
	
	//On vérifie la cohérence des champs de recherche avec les filtres
	filter_search();
}

function add_region_filter(id_region)
{
	//On change le filtre region
	document.getElementById('filtre_region').value = id_region;
	
	//On vérifie la cohérence des champs de recherche avec les filtres
	filter_search();
}

function add_station_filter(id_station)
{
	//On change le filtre station
	document.getElementById('filtre_station').value = id_station;
		
	//On vérifie la cohérence des champs de recherche avec les filtres
	filter_search();
}

//Fonction utilisée pour filtrer les paramètres de recherche en fonction des paramètres englobants
function filter_search()
{
	var destinations = '';
	if(document.getElementById('filtre_destination') && document.getElementById('filtre_destination') != '')
	{
		destinations = document.getElementById('filtre_destination');
	}
	
	var regions = '';
	if(document.getElementById('filtre_region') && document.getElementById('filtre_region') != '')
	{
		regions = document.getElementById('filtre_region');
	}
	
	var stations = '';
	if(document.getElementById('filtre_station') && document.getElementById('filtre_station') != '')
	{
		stations = document.getElementById('filtre_station');
	}
	
	
	$.ajax({   
 		type: "POST",   
 		data: "destinations="+document.getElementById("filtre_destination").value+"&regions="+document.getElementById("filtre_region").value+"&stations="+document.getElementById("filtre_station").value,    
 		url: "ajax/ajax_refresh_search.php",   
 		success: function(msg){ 
 			
 			
 			var tableau=msg.split('|');
	 		if(tableau[1] != "ko"){
	 			
	 			//Vide la liste des regions
 				while ( document.getElementById('regions').options.length > 0) {
    					
    					document.getElementById('regions').options[0] = null;
				}
	 			
	 			//Assignation de la liste des regions 			
	 			var regions = tableau[1].split('####');
	 			for(var i=0; i < regions.length; i++) {
	 			
	 				var region = regions[i].split('##');
	 				
		   			var oOption = document.createElement("OPTION");
		   			oOption.text= region[1];
		   			
		   			if(region[0] != "")
		   			{
		   				oOption.value= region[0];	
		   			}
		   			else
		   			{
		   				oOption.value= '';
		   			}
		   			
		   			
		   			if(region[0] == tableau[2])
		   			{
		   				oOption.selected=true;
		   			}
		   			
		   			if(jQuery.browser.msie)
		   			{	   			
		   				document.getElementById('regions').add(oOption);
		   			}
		   			else
		   			{
		   				document.getElementById('regions').appendChild(oOption);
		   			}
				}

	 			//Regeneration du code JQUERY de la region
	 			document.getElementById('regions_input').parentNode.removeChild(document.getElementById('regions_input'));
		 		document.getElementById('regions_container').parentNode.removeChild(document.getElementById('regions_container')); 			
		 		$('#regions').selectbox({ containerClass: 'selectbox-wrapper etablist'});
	 			
	 			//Assignation du filtre region
	 			document.getElementById('filtre_region').value = tableau[2];
		 			
	 			//Changement de l'input region (le nom et sa valeur)
 				document.getElementById('recherche_region').name = 'search_form_theme_codes_' + tableau[2];
 				document.getElementById('recherche_region').value= tableau[2];
 				
 				
 				//Vide la liste des stations
 				while ( document.getElementById('stations').options.length > 0) {
    					
    					document.getElementById('stations').options[0] = null;
				}
 				
 				//Assignation de la liste des stations
	 			var stations = tableau[3].split('####');
	 			for(var i=0; i < stations.length; i++) {
	 			
	 				var station = stations[i].split('##');
	 				
		   			var oOption = document.createElement("OPTION");
		   			oOption.text= station[1];
		   			
		   			if(station[0] != "")
		   			{
		   				oOption.value= station[0];	
		   			}
		   			else
		   			{
		   				oOption.value= '';
		   			}
		   			
		   			if(station[0] == tableau[4])
		   			{
		   				oOption.selected=true;
		   			}
		   			
		   			if(jQuery.browser.msie)
		   			{
		   				document.getElementById('stations').add(oOption);
		   			}
		   			else
		   			{
		   				document.getElementById('stations').appendChild(oOption);
		   			}
				}	 				
	 				
 				//Regeneration du code JQUERY de la station
	 			document.getElementById('stations_input').parentNode.removeChild(document.getElementById('stations_input'));
	 			document.getElementById('stations_container').parentNode.removeChild(document.getElementById('stations_container')); 			
	 			$('#stations').selectbox({ containerClass: 'selectbox-wrapper etablist'});
 			
	 			//Assignation du filtre station
	 			document.getElementById('filtre_station').value = tableau[4];
	 				
	 			//Changement de l'input station (le nom et sa valeur)
	 			document.getElementById('recherche_station').name = 'search_form_theme_codes_' + tableau[4];
	 			document.getElementById('recherche_station').value= tableau[4];	
 				
 				
 				//Vide la liste des etablissements
 				while ( document.getElementById('search_form_etab').options.length > 0) {
    					
    					document.getElementById('search_form_etab').options[0] = null;
				}
 				
	 			//Assignation de la liste des etablissements	 			
	 			var etablissements = tableau[5].split('####');
	 			for(var i=0; i < etablissements.length; i++) {
	 			
	 				var etablissement= etablissements[i].split('##');
	 				
		   			var oOption = document.createElement("OPTION");
		   			oOption.text= etablissement[1];
		   			
		   			if(etablissement[0] != "")
		   			{
		   				oOption.value= etablissement[0];	
		   			}
		   			else
		   			{
		   				oOption.value= '';
		   			}
		   			
		   			if(jQuery.browser.msie)
		   			{
		   				document.getElementById('search_form_etab').add(oOption);
		   			}
		   			else
		   			{
		   				document.getElementById('search_form_etab').appendChild(oOption);
		   			}
				}	 
	 			
 				//Regeneration du code JQUERY de l'etablissement
 				document.getElementById('search_form_etab_input').parentNode.removeChild(document.getElementById('search_form_etab_input'));
 				document.getElementById('search_form_etab_container').parentNode.removeChild(document.getElementById('search_form_etab_container')); 			
 				$('#search_form_etab').selectbox({ containerClass: 'selectbox-wrapper etablist', maxChar: '27'});
 			
	 			
	 		}
 		
 		} 
 	});
}	

/**** FIN SEARCH RESULTS.JS ****/

/**** INIT .JS ****/
try {
	document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}
	
/**** FIN INIT .JS ****/

/**** ALL.JS ****/
$(document).ready(function() {
	if (jQuery.browser.msie && jQuery.browser.version < 7) {
		$('#menubar_hl li').hover( function(){
			$(this).addClass('shover'); 
		}, function() {
			$(this).removeClass('shover'); 
		});
	};
	
	// modification des selectbox
	// left
	$('#nb_night').selectbox();
	//$('#nb_adults').selectbox({ containerClass: 'selectbox-wrapper nb_adults'}); 
	//$('#nb_kids').selectbox({ containerClass: 'selectbox-wrapper nb_kids'}); 
	//$('#th_activities').selectbox();
	//$('#regions').selectbox({ containerClass: 'selectbox-wrapper etablist'});
	$('#stations').selectbox({ containerClass: 'selectbox-wrapper etablist'});
	$('#formule').selectbox();
	$('#search_geo_pays').selectbox();
	//$('#search_form_etab').selectbox({ containerClass: 'selectbox-wrapper etablist', maxChar: '27'});
	//$('#flexibility').selectbox();
	
	// contact
	if($('.form').length) 
	{
		$('#select_pays').selectbox();
		$('#theme_demande').selectbox();
	}
	// modification des boutons radio
	//$("#search_form").cssCheckbox();
	$(".bloc_resultat_annonce").cssCheckbox();
	
	// create datePicker
	$('.date-pick').datePicker({ clickInput: 'true' });
	
	// Prepare and hide element to preserve functionality w/out javascript enable
	// when page is loading : (because of Webkit)
	$('.more_crit_fieldset').hide();
	$('.switch_crit a:first').toggle(); 
	$('.choix_recherche_geo img:first').toggle(); 
	$('.choix_recherche_geo img:last').toggle(); 
	
	$('.switch_crit a').click(function(e){
		e.preventDefault(); // return false
		$('.switch_crit a').toggle(); 
		$('.more_crit_fieldset').toggle('fast');
	});
	
	// switch geo_search
	$('.choix_recherche_geo img').click(function(e){
		e.preventDefault(); // return false
		$('.choix_recherche_geo img').toggle(); 
		$('.link_recherche_geo').toggle();
	});

	// tooltip mouseover on .tooltip elements
	tooltip();
	
	// inputValue
	textInputDynamicValue('input[@type=text]','value');
	
	if($('.nos_offres').length)
	{
		$('.nos_offres').hover( function(){
			if($('a', this).length){ $(this).addClass('shover'); }
		}, function() {
			if($('a', this).length){ $(this).removeClass('shover'); }
		});
		$('.nos_offres').click(function(){
			if($('a', this).length)
			{
				$(this).find("a").click();
    			window.location=$(this).find("a").attr("href");
			}
			return false;
	});
	}
	
	if($('#center dl.offerList').length)
	{
		$('#center dl.offerList').hover( function(){
			$(this).addClass('shover'); 
		}, function() {
			$(this).removeClass('shover'); 
		});
		$('#center dl.offerList').click(function(){
    	window.location=$(this).find("a.bookNow").attr("href");return false;
	});
	}
	
});

/* FUNCTIONS */
this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 20;
		yOffset = -25;		
		// these 2 variable determine popup's distance from the cursor
	/* END CONFIG */		
	$("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};

/**/
function textInputDynamicValue (input_selector, text_to_use, def_class) {
	if (text_to_use == undefined) text_to_use = 'title';
	if (def_class == undefined) def_class = 'dvDefault';
	var dynamic_value = [];
	$(input_selector).each(function(j) {
		switch (text_to_use) {
			case 'title' :
				dynamic_value[j] = $(this).attr('title');
				break;
			case 'value' :
				dynamic_value[j] = $(this).attr('value');
				break;
			default :
				dynamic_value[j] = text_to_use;
		}
		$(this).attr('value', dynamic_value[j]).addClass(def_class)
		.focus(function() {
			if (this.value == dynamic_value[j]) {
				this.value = '';
				$(this).removeClass(def_class);
			}
		})
		.blur(function() {
			if (this.value == '') {
				this.value = dynamic_value[j];
				$(this).addClass(def_class);
			};
		});
	});
};
/**** FIN ALL.JS ****/

/**** SCRIPT .JS ****/

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// verifie la validite d'un email
function validemail(champ)
{	
	var email = document.getElementById(champ);
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email.value)) 
	{
	 	alert(get_trad_champ("email"));
		email.focus
		return false;
	}
	else
	{
		return true;
	}
}



// verifie les champs obligatoire d'un formulaire
valider_formulaire = function () {
	var tab = valider_formulaire.arguments;

	taille = tab.length;

	for (i=0;i<taille;i++) {
		if (tab[i]=="email") {
			if (!validemail(tab[i])) {
				return 0; 
			}
		}else{
			if ((document.formulaire.elements[tab[i]].value=="") || (document.formulaire.elements[tab[i]].value==" ")) {
				str_temp = tab[i].replace(/_/g," ");
				alert(get_trad_champ(str_temp));
				return 0; 
			}
		}
	}
	
	document.formulaire.submit();
}

function empechechar()
{
	if( event.keyCode < 48 || event.keyCode > 57 )
 	{ 
 		alert(get_trad_champ("numeric") );
   		event.returnValue = false;
   	}
}

// fonction qui fait apparaitre le sablier sur soumission de formulaire un peu long..

// Variable témoin de la validation effectuée ou pas
var deja = 0;

function valider(nom_form) {
	
	// Si on n'a pas déjà validé
	
	if ( deja == 0 ) {

		// On marque qu'on valide
		deja = 1;
					
		// On affecte le style 'sablier' au corps de la page
		document.body.className = 'sablier';
		
		// On lance la soumission du formulaire
		eval('document.'+nom_form+'.submit()');
	} 
}

function show_sablier()
{
	document.body.className = 'sablier';
}


// verifie les champs obligatoire d'un formulaire
verif_formulaire_nom = function () {
	var tab = verif_formulaire_nom.arguments;
	var nom_form = "formulaire";
	
	taille = tab.length;

	if (taille>0)
	{
		nom_form = tab[0];
	}	

	for (i=1;i<taille;i++) {
		if (tab[i]=="email") {
			if (!validemail(tab[i])) {
				return 0; 
			}
		}else{
	
			if ((document.getElementById(tab[i]).value=="")  || (document.getElementById(tab[i]).value==" ")) {
				//str_temp = tab[i].replace(/_/g," ");
				str_temp = tab[i];
				alert(get_trad_champ(str_temp));
				return 0; 
			}
		}
	}
	
	return true
}

// Verifie la validite d'un email
function valide_mail_generique ( nameForm, champ ) {
	
	var email = document.forms[nameForm].elements[champ];
		
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if ( !filter.test(email.value) ) {
		
	 	alert(get_trad_champ("email"));
		email.focus();
		return false;
	}
	else {
		return true;
	}
}

//--------------------------------------------
// Pour ne permettre que la saisie de chiffre
//-----------------------------------------------
function OnlyNumber(e)
{
	// if aEvent is null, means the Internet Explorer event model,
	// so get window.event.
	var IE5 = false;
	
	if (!e) var e = window.event;
	if (e.keyCode) { IE5= true; code = e.keyCode;}
	else if (e.which) code = e.which ;
	
	//test du code
	if (code < 48 || code > 57)
	{
		if(IE5) e.returnValue = false;
		else e.preventDefault();
	}
} 

//--------------------------------------------
// Check whether string s is empty.
//--------------------------------------------
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isNotEmpty(s)
{
	return (!(isEmpty(s)));
}

//--------------------------------------------
///check whether a element is not empty
//--------------------------------------------
function isNotEmptyElement(id_element,id_element_err)
{		
	val = document.getElementById(id_element).value;		
	if(isNotEmpty(val))
	{
		document.getElementById(id_element_err).style.display = "none";
		return true;
	}
	else
	{
		document.getElementById(id_element_err).style.display = "block";
		return false;
	}	
}

//--------------------------------------------
//check whether a checkbos is checked
//--------------------------------------------
function checkIsRadioChecked(name,nb_elements,id_element_err)
{	
	for(i=0 ; i < nb_elements ; i++)
	{
		if( document.getElementsByName(name)[i].checked == true	)
		{
			document.getElementById(id_element_err).style.display = "none";
			return true;						
		}
		
	}
	document.getElementById(id_element_err).style.display = "block";
	return false;
}


//--------------------------------------------
//check is a list not 
//--------------------------------------------
function checkListIsNotEmptyElement(id_element, value_default,id_element_err)
{		
	//si ce n'est pas un element vide, on affiche le champ span avec la classe span hint true
	if (document.getElementById(id_element).value!= value_default &&  document.getElementById(id_element).value !='' )
	{				
		document.getElementById(id_element_err).style.display = "none";		
		return true;		
	}
	else
	{	
		document.getElementById(id_element_err).style.display = "block";
		return false;
	}	
}

//--------------------------------------------
//check the email format 
//--------------------------------------------
function checkEmailFormat(id_element,id_element_err)
{	
	var email = document.getElementById(id_element);	
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email.value)) 
	{
	 	email.focus
	 	document.getElementById(id_element_err).style.display = "block";	
		return false;
	}
	else
	{
		document.getElementById(id_element_err).style.display = "none";	
		return true;
	}
}


//-----------------------------------------
// check whether the element length >=  nb
//--------------------------------------
function checkElementMinLength(id_element,id_element_err,nb_length)
{
	val = document.getElementById(id_element).value;
	
	if(val.length >= nb_length )
	{
		document.getElementById(id_element_err).style.display = "none";	
		return true;
	}
	else
	{
		document.getElementById(id_element_err).style.display = "block";	
		return false;
	}
}


// Verifie les champs obligatoire d'un formulaire
valider_formulaire_generique = function () {
	var tab = valider_formulaire_generique.arguments;

	taille = tab.length;

	if ( taille > 0 ) {

		nameForm = tab[0];
		
		for ( i = 1; i < taille; i++ ) {
			
			if ( tab[i] == "email" ) {
				if ( !valide_mail_generique( nameForm, tab[i] ) ) {
					return false; 
				}
			}
			else {
				if ( ( document.forms[nameForm].elements[tab[i]].value.trim() == "" ) ) {				
					alert ( get_trad_champ( tab[i] ) );				
					document.forms[nameForm].elements[tab[i]].focus();
					return false; 
				}
			}
		}
		
		return true;
		
	}
	else {
		return false;
	}
}

// Verifie la validité du champ email du bloc newsletter
function checkEmailNewsletter ( nameForm,sRedirectionOk,sRedirectionKo,sWebUser ) {
	if ( valider_formulaire_generique(nameForm, 'email') ) 
	{
				var url_news = "http://www.madamevacances.com/reservation/cgi/clickbooking.cgi?actions=register&tokens=ignore_token&webuser="	 + sWebUser + "&redirect_ok=" + sRedirectionOk + "&redirect_ko=" + sRedirectionKo + "&emaillogin=" + encodeURI(document.getElementById('email').value)  + "&password=news&Nom=&Prenom=&stat_NEWS_combo=1" ;
				document.location.href = url_news;				
	}
	else {
		return false;
	}
}

// Verifie la validité du champ email du bloc newsletter
function checkEmailDemandeMagazine ( nameForm ) {
	if ( valider_formulaire_generique(nameForm, 'email') ) {
		document.forms[nameForm].submit();
	}
	else {
		return false;
	}
}

// Imprime la page
function printPage() {
	window.print();
}

// Modifie les input hidden en fonction de la region choisie
function changeRegion(code) {
	
	document.getElementById("recherche_region").value = code;
	document.getElementById("recherche_region").name = "search_form_theme_codes_" + code;
}

// Modifie les input hidden en fonction de la thematique choisie
function changeThematique(code) {
	
	document.getElementById("recherche_thematique").value = code;
	document.getElementById("recherche_thematique").name = "search_form_theme_codes_" + code;
	
	document.getElementById("thematique").value = code;
}

// Modifie les input hidden en fonction de la station
function changeStation(code) {
	
	document.getElementById("recherche_station").value = code;
	document.getElementById("recherche_station").name = "search_form_theme_codes_" + code;
}


//----------------------------------------------------------
//---specifique formulaire de contact
function contactFormSubmit()
{
	//controle des champs obligatoires 
	result1 = checkIsRadioChecked('civilite', 3, 'err_civ');
	result2 = isNotEmptyElement('nom','err_nom');
	result3 = isNotEmptyElement('prenom','err_prenom');
	result4 = isNotEmptyElement('adresse','err_adresse');
	result5 = isNotEmptyElement('cp','err_cp');
	result6 = isNotEmptyElement('ville_contact','err_ville');
	result7 = checkListIsNotEmptyElement('select_pays',0,'err_pays');		
	result8 = isNotEmptyElement('email_contact','err_email');		
	result9 = checkListIsNotEmptyElement('theme_demande',0,'err_theme_demande');		
	result10 = isNotEmptyElement('demande','err_demande');		
	result11 = checkEmailFormat("email_contact",'err_email_incorrect');
	if(document.getElementById('tel_dom').value!= "" ) result12 = checkElementMinLength("tel_dom","err_tel_dom_long",7);
	else document.getElementById('err_tel_dom_long').style.display = "none";
	if(document.getElementById('tel_mobile').value!= "" ) result13 = checkElementMinLength("tel_mobile","err_tel_mobile_long",7);
	else document.getElementById('err_tel_mobile_long').style.display = "none";
	
					
	/*for(i=1;i<=11;i++)
	{
		res = 'result' + i ; 
		alert( 'i : '+ i + eval(res));
	}*/

	//submit contact form
	if(result1 && result2 && result3 && result4 && result5 && result6 && result7 && result8 && result9 && result10 && result11)
	{		
		document.getElementById("form_contact").submit();
	}
}

//-----------------------------------------------------------------
//--specifique nos offres
function searchOffreSubmit(code_groupe_periode)
{
	document.getElementById('search_form_period_categories').value=code_groupe_periode;	
	document.getElementById('id_submit_search_form').onclick();	
}



/****** RESULTS .JS ******/
$(document).ready(function() {
	// hover sur les resultats de recherche
	$(".bloc_resultat_annonce div").hide();

	$(".bloc_resultat_annonce").hoverIntent({
		sensitivity: 7, // number = sensitivity threshold (must be 1 or higher)
		interval: 100,   // number = milliseconds of polling interval
		over: blocResultDown , // function = onMouseOver callback (required)
		timeout: 300,   // number = milliseconds delay before onMouseOut function call
		out: blocResultUp    // function = onMouseOut callback (required)
	});
	
	// fonctionnement FAQ
	$(".faq_rep p").hide();
	$(".faq_rep h4").click(function(){
		$(this).next("p").slideToggle("slow")
		.siblings("p:visible").slideUp("slow");
		$(this).toggleClass("active");
		$(this).siblings("h4").removeClass("active");
	});	
	$(".faq_top5 a").click(function(){
		var faqID = $(this).attr("rel");
		$("h4[id='" + faqID + "']").toggleClass("active").next("p").slideToggle("slow")
		.siblings("p:visible").slideUp("slow");
	});
});

function blocResultDown() {			
	$(this).find('>div').slideToggle("normal");
	$(this).toggleClass("active");
};
function blocResultUp() {			
	$(this).find('>div').slideToggle("normal");
	$(this).toggleClass("active");
};


/**** FIN SCRIPT .JS ****/

/**** HOME .JS ******/

$(document).ready(function() {
	
	// links on different element
	$('.encart_special dl,.encart_coupcoeur ul li,.encart_listoffre dl,.encart_listoffre2 dl,.encart_minutes dl').click(function(){
    	window.location=$(this).find("a").attr("href");return false;
	});
	$('.encart_special dl dd a,.encart_listoffre dl dd a,.encart_listoffre2 dl dd a,.encart_minutes dl a,.encart_listoffre3 dl dd a').hide();

//the property lenght used here to check if 'last_minutes' exists

if ($('#last_minutes').length)
{    
    $("#last_minutes").load("ajax/ajax_dernieres_minutes.php", function() { 
		$('.encart_minutes dl').click(function(){
	    	window.location=$(this).find("a").attr("href");return false;
		});
		$('.encart_minutes dl a').hide();
	}); 
}

//encart_listoffre3_type_destination
//the property lenght used here to check if 'encart_listoffre3_type_destination' exists
if ($('#encart_listoffre3_type_destination').length)
{    
    //alert(document.location);
    $("#encart_listoffre3_type_destination").load("ajax/ajax_type_destination_offres.php", function() { 
		$('.encart_listoffre3 dl').click(function(){
	    	window.location=$(this).find("a").attr("href");return false;
		});
		$('.encart_listoffre3 dl a').hide();
	}); 
}


//encart_listoffre3_thematique
//the property lenght used here to check if 'encart_listoffre3_thematique' exists
if ($('#encart_listoffre3_thematique').length)
{    
    //alert(document.location);
    $("#encart_listoffre3_thematique").load("ajax/ajax_thematique_offres.php", function() { 
		$('.encart_listoffre3 dl').click(function(){
	    	window.location=$(this).find("a").attr("href");return false;
		});
		$('.encart_listoffre3 dl a').hide();
	}); 
}

//encart_listoffre3_destination
//the property lenght used here to check if 'encart_listoffre3_destination' exists
if ($('#encart_listoffre3_destination').length)
{    
    //alert(document.location);
    $("#encart_listoffre3_destination").load("ajax/ajax_destination_offres.php", function() { 
		$('.encart_listoffre3 dl').click(function(){
	    	window.location=$(this).find("a").attr("href");return false;
		});
		$('.encart_listoffre3 dl a').hide();
	}); 
}


//encart_listoffre3_etablissement
//the property lenght used here to check if 'encart_listoffre3_etablissement' exists
if ($('#encart_listoffre3_etablissement').length)
{    
    //alert(document.location);
    $("#encart_listoffre3_etablissement").load("ajax/ajax_etablissement_offres.php", function() { 
		$('.encart_listoffre3 dl').click(function(){
	    	window.location=$(this).find("a").attr("href");return false;
		});
		$('.encart_listoffre3 dl a').hide();
	}); 
}


});


/**** FICHES .JS ****/
$(document).ready(function() {
	
	// links on different element
	$('.encart_listoffre3 dl').click(function(){
    	window.location=$(this).find("a").attr("href");return false;
	});
	$('.encart_listoffre3 dl dd a').hide();
	// modification des selectbox// center
	$('#center_search_form_etab').selectbox({ containerClass: 'selectbox-wrapper center_search_form_etab', maxChar: '26'});
	$('#center_nb_night').selectbox();
	$('#center_nb_adults').selectbox({ containerClass: 'selectbox-wrapper center_nb_adults'});
	$('#center_nb_kids').selectbox({ containerClass: 'selectbox-wrapper center_nb_kids'});
	$('#center_nb_baby').selectbox({ containerClass: 'selectbox-wrapper center_nb_baby'});

	// fonctionnement Vos services en ligne
	$("#hbgt_pannel_slide div").hide();
	$("#hbgt_pannel_slide h4").eq(0).addClass("active");
	$("#hbgt_pannel_slide div").eq(0).show();

	$(".#hbgt_pannel_slide h4").click(function(){
		$(this).next("div").slideToggle("slow")
		.siblings("div:visible").slideUp("slow");
		$(this).toggleClass("active");
		$(this).siblings("h4").removeClass("active");
	});	
	
	// fonctionnement Vos services en ligne
	$("#hbgt_pannel_slide2 h4").eq(0).addClass("active");

	$(".#hbgt_pannel_slide2 h4").click(function(){
		$(this).next("div").slideToggle("slow")
		.siblings("div:visible").slideUp("slow");
		$(this).toggleClass("active");
		$(this).siblings("h4").removeClass("active");if (jQuery.browser.msie && jQuery.browser.version < 8) { $(".#hbgt_pannel_slide2 img").toggle(); }
	});	
	if ( $('#carousel_basic') ) {
		$('#carousel_basic').jcarousel({
				scroll: 1, //avance d'un item a chaque fois		
				initCallback: mycarousel_initCallback
	    });
	}
	if (jQuery.browser.msie && jQuery.browser.version < 7) { }
	else {
		if ( $('.jcarousel-item') ) {
			$(".jcarousel-item a img").hoverIntent({
				sensitivity: 7, // number = sensitivity threshold (must be 1 or higher)
				interval: 100,   // number = milliseconds of polling interval
				over: growupImg , // function = onMouseOver callback (required)
				timeout: 0,   // number = milliseconds delay before onMouseOut function call
				out: growdownImg    // function = onMouseOut callback (required)
			});		
		}
	};
});

// Slider Conseil
window.onload = function(){ 
	if ( $('.news_slider') ) {
		$(".news_slider").accessNews(); 
	}
}

function growupImg() {			
	if (jQuery.browser.msie && jQuery.browser.version < 7) {}
	else {
		$(this).animate({width: "150px", height: "115px", marginLeft:"-10px", marginTop: "0px"});
	}
};
function growdownImg() {			
	if (jQuery.browser.msie && jQuery.browser.version < 7) {}
	else {
		$(this).animate({width: "110px", height: "85px", marginLeft:"10px", marginTop: "10px"});
	};
};

function mycarousel_initCallback(carousel){
	jQuery('#carousel_basic-next').bind('click', function() {
        carousel.next();
        return false;
    });
    jQuery('#carousel_basic-prev').bind('click', function() {
        carousel.prev();
        return false;
    });
};

//Gestion du click sur l'onglet saison de la fiche etablissement
function set_etablissement_saison(saison,id_etab)
{
	if(saison == 'ete')
	{
		if(document.getElementById('lien_saison_hiver'))
		{
			document.getElementById('lien_saison_hiver').className = 'season_hiver season_off';
		}
		
		if(document.getElementById('lien_saison_hiver'))
		{
			document.getElementById('lien_saison_ete').className = 'season_ete season_on';
		}
		
		if(document.getElementById('swf_img_diapo_hiver'))
		{
			document.getElementById('swf_img_diapo_hiver').style.display = 'none';	
		}
		
		if(document.getElementById("session_diapo_ete").value != "")
		{
			var flashvars = {};
			flashvars.saison 					= document.getElementById("session_diapo_ete").value;
			flashvars.id_etablissement = id_etab;
			var params = {};
			params.wmode = "transparent";
			var attributes = {};
			swfobject.embedSWF("flash/diapo_panorama.swf", "swf_img_diapo_ete", "281", "253", "8", false, flashvars, params, attributes);
		}
		
		if(document.getElementById('points_forts_hiver'))
		{
			document.getElementById('points_forts_hiver').style.display = 'none';
		}
		if(document.getElementById('points_forts_ete'))
		{
			document.getElementById('points_forts_ete').style.display = 'block';
		}
		
		if(document.getElementById('descriptif_hiver'))
		{
			document.getElementById('descriptif_hiver').style.display = 'none';
		}
		if(document.getElementById('descriptif_ete'))
		{
			document.getElementById('descriptif_ete').style.display = 'block';
		}
		
		if(document.getElementById('description_conseil_hiver'))
		{
			document.getElementById('description_conseil_hiver').style.display = 'none';
		}
		if(document.getElementById('description_conseil_ete'))
		{
			document.getElementById('description_conseil_ete').style.display = 'block';
		}
		
		if(document.getElementById('selection_conseil_hiver'))
		{
			document.getElementById('selection_conseil_hiver').style.display = 'none';
		}
		if(document.getElementById('selection_conseil_ete'))
		{
			document.getElementById('selection_conseil_ete').style.display = 'block';
		}

		if(document.getElementById('offres_ete'))
		{
			document.getElementById('offres_ete').style.display = 'block';
		}
		if(document.getElementById('offres_hiver'))
		{
			document.getElementById('offres_hiver').style.display = 'none';
		}
		
	}
	
	if(saison == 'hiver')
	{
		if(document.getElementById('lien_saison_hiver'))
		{
			document.getElementById('lien_saison_hiver').className = 'season_hiver season_on';
		}
		if(document.getElementById('lien_saison_ete'))
		{
			document.getElementById('lien_saison_ete').className = 'season_ete season_off';
		}
		if(document.getElementById('swf_img_diapo_ete'))
		{
			document.getElementById('swf_img_diapo_ete').style.display = 'none';	
		}
		
		if(document.getElementById("session_diapo_hiver").value != "")
		{
			var flashvars = {};
			flashvars.saison = document.getElementById("session_diapo_hiver").value;
			flashvars.id_etablissement	= id_etab;
			var params = {};
			params.wmode = "transparent";
			var attributes = {};
			swfobject.embedSWF("flash/diapo_panorama.swf", "swf_img_diapo_hiver", "281", "253", "8", false, flashvars, params, attributes);
		}
		if(document.getElementById('points_forts_hiver'))
		{
			document.getElementById('points_forts_hiver').style.display = 'block';
		}
		if(document.getElementById('points_forts_ete'))
		{
			document.getElementById('points_forts_ete').style.display = 'none';
		}
		if(document.getElementById('descriptif_hiver'))
		{
			document.getElementById('descriptif_hiver').style.display = 'block';
		}
		if(document.getElementById('descriptif_ete'))
		{
			document.getElementById('descriptif_ete').style.display = 'none';
		}
		
		if(document.getElementById('description_conseil_hiver'))
		{
			document.getElementById('description_conseil_hiver').style.display = 'block';
		}
		if(document.getElementById('description_conseil_ete'))
		{
			document.getElementById('description_conseil_ete').style.display = 'none';
		}
		
		if(document.getElementById('selection_conseil_hiver'))
		{
			document.getElementById('selection_conseil_hiver').style.display = 'block';
		}
		if(document.getElementById('selection_conseil_ete'))
		{
			document.getElementById('selection_conseil_ete').style.display = 'none';
		}

		if(document.getElementById('offres_hiver'))
		{
			document.getElementById('offres_hiver').style.display = 'block';
		}
		if(document.getElementById('offres_ete'))
		{
			document.getElementById('offres_ete').style.display = 'none';
		}

		
	}
		
}

//Gestion du click sur l'onglet saison de la fiche destination
function set_destination_saison(saison,id_dest)
{
	if(saison == 'ete')
	{
		if(document.getElementById('lien_saison_hiver'))
		{
			document.getElementById('lien_saison_hiver').className = 'season_hiver season_off';
		}
		if(document.getElementById('lien_saison_ete'))
		{
			document.getElementById('lien_saison_ete').className = 'season_ete season_on';
		}
		
		if(document.getElementById('swf_img_diapo_hiver'))
		{
			document.getElementById('swf_img_diapo_hiver').style.display = 'none';	
		}
		
		if(document.getElementById("session_diapo_ete").value != "")
		{
			var flashvars = {};
			flashvars.saison = document.getElementById("session_diapo_ete").value;
			flashvars.id_destination	= id_dest;
			var params = {};
			params.wmode = "transparent";
			var attributes = {};
			swfobject.embedSWF("flash/diapo.swf", "swf_img_diapo_ete", "281", "253", "8", false, flashvars, params, attributes);
		}
		
		if(document.getElementById('descriptif_hiver'))
		{
			document.getElementById('descriptif_hiver').style.display = 'none';
		}
		if(document.getElementById('descriptif_ete'))
		{
			document.getElementById('descriptif_ete').style.display = 'block';
		}
		
		if(document.getElementById('temoignage_ete'))
		{
			document.getElementById('temoignage_ete').style.display = 'block';
		}
		if(document.getElementById('temoignage_hiver'))
		{
			document.getElementById('temoignage_hiver').style.display = 'none';
		}
		
		if(document.getElementById('avoir_afaire_hiver'))
		{
			document.getElementById('avoir_afaire_hiver').style.display = 'none';
		}
		if(document.getElementById('avoir_afaire_ete'))
		{
			document.getElementById('avoir_afaire_ete').style.display = 'block';
		}
		
		if(document.getElementById('activites_hiver'))
		{
			document.getElementById('activites_hiver').style.display = 'none';
		}
		if(document.getElementById('activites_ete'))
		{
			document.getElementById('activites_ete').style.display = 'block';
		}
		
		
		
		
		
	}
	
	if(saison == 'hiver')
	{
		if(document.getElementById('lien_saison_hiver'))
		{
			document.getElementById('lien_saison_hiver').className = 'season_hiver season_on';
		}
		if(document.getElementById('lien_saison_ete'))
		{
			document.getElementById('lien_saison_ete').className = 'season_ete season_off';
		}
		
		if(document.getElementById('swf_img_diapo_ete'))
		{
			document.getElementById('swf_img_diapo_ete').style.display = 'none';	
		}
		
		if(document.getElementById("session_diapo_hiver").value != "")
		{
			var flashvars = {};
			flashvars.saison = document.getElementById("session_diapo_hiver").value;
			flashvars.id_destination	= id_dest;
			var params = {};
			params.wmode = "transparent";
			var attributes = {};
			swfobject.embedSWF("flash/diapo.swf", "swf_img_diapo_hiver", "281", "253", "8", false, flashvars, params, attributes);
		}
		
		if(document.getElementById('descriptif_hiver'))
		{
			document.getElementById('descriptif_hiver').style.display = 'block';
		}
		if(document.getElementById('descriptif_ete'))
		{
			document.getElementById('descriptif_ete').style.display = 'none';
		}
		
		if(document.getElementById('temoignage_ete'))
		{
			document.getElementById('temoignage_ete').style.display = 'none';
		}
		if(document.getElementById('temoignage_hiver'))
		{
			document.getElementById('temoignage_hiver').style.display = 'block';
		}
		
		if(document.getElementById('avoir_afaire_hiver'))
		{
			document.getElementById('avoir_afaire_hiver').style.display = 'block';
		}
		if(document.getElementById('avoir_afaire_ete'))
		{
			document.getElementById('avoir_afaire_ete').style.display = 'none';
		}
		
		if(document.getElementById('activites_hiver'))
		{
			document.getElementById('activites_hiver').style.display = 'block';
		}
		if(document.getElementById('activites_ete'))
		{
			document.getElementById('activites_ete').style.display = 'none';
		}
		
	}
		
}


//tracking dolist 

function setBase64Str(str){
  base64Str = str;
  base64Count = 0;
}
function readBase64(){
  if (!base64Str) return END_OF_INPUT;
  if (base64Count >= base64Str.length) return END_OF_INPUT;
  var c = base64Str.charCodeAt(base64Count) & 0xff;
  base64Count++;
  return c;
}
function encodeBase64(str){
  setBase64Str(str);
  var result='';
  var inBuffer=new Array(3);
  var lineCount=0;
  var done=false;
  while (!done && (inBuffer[0]=readBase64())!=END_OF_INPUT){
      inBuffer[1]=readBase64();
      inBuffer[2]=readBase64();
      result+=(base64Chars[ inBuffer[0] >> 2 ]);
      if (inBuffer[1]!=END_OF_INPUT){
        result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
        if (inBuffer[2] != END_OF_INPUT){
          result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
          result += (base64Chars [inBuffer[2] & 0x3F]) ;
        } else {
          result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
          result += ('=');
          done = true;
        }
      } else {
        result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
        result += ('=');
        result += ('=');
        done = true;
      }
      lineCount += 4;
      if (lineCount >= 76){
        result += ('\n');
        lineCount = 0;
      }
  }
  return result;
}
