/*-----------------------------------------------------------------------------------------------*/
//
// Copyright (c) 2008 Agence Clark (http://www.agence-clark.com)
//
/*-----------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------------------*/
// Init Page
/*-----------------------------------------------------------------------------------------------*/

Event.observe(window, 'load', InitPage, false);
var mouse_dis_over_elm = undefined;
var REGION_UPDATE_FROM_SEARCH = false;
function InitPage(){
	
	
	document.observe('mousemove', function(e){mouse_dis_over_elm = e;Event.stopObserving(e);});

	 
	// Moteur de recherche Home
	cl_tapez_les_premieres_lettres = "Tapez les premières lettres";
	
	
	gereAlert();
	//if($('NomCamping')) $('NomCamping').value = cl_tapez_les_premieres_lettres;
	if($('frm_rech_home')){
		/*Event.observe('NomCamping', 'focus', function(){
			autoCompleteRechHome();
		});*/
		
		autoCompleteRechHomeUI("NomCamping");
		
		if($('Pays'))
		{
			Event.observe($('Pays'),'change',function(){ 
			if( false && $('Pays').value == "" ) {
				$('Region').innerHTML = '<option value="">Toutes les r&eacute;gions</option>';
				$('Ville').innerHTML = '<option value="">Toutes les villes</option>';
			} else {
				GestionLocalisationEvol('Pays',$('Pays'),$('Pays'));
			}
			
			$('IdtCamping').value = '';
			if($('Filtre') != undefined) $('Filtre').selectedIndex = -1;
			});
		}
		Event.observe($('Region'),'change',function(){
			GestionLocalisationEvol('Region',$('Region'),$('Pays'));
			$('NomCamping').value = cl_tapez_les_premieres_lettres;
			$('IdtCamping').value = '';
			if($('Filtre') != undefined) $('Filtre').selectedIndex = -1;
		});
		Event.observe($('Ville'),'change',function(){
			if( $('Ville').value != "" ) {
				GestionLocalisationEvol('Ville',$('Ville'),$('Pays'));
			}
			$('NomCamping').value = cl_tapez_les_premieres_lettres;
			$('IdtCamping').value = '';
			if($('Filtre') != undefined) $('Filtre').selectedIndex = -1;
		});
		//--> fin EVOL
		
		$$('#frm_rech_home select','#frm_rech_home input[type=text]').each(function(e,i){
			if( $('DateDepart').value != "" ) {
				Event.observe(e,'change',function(){ RechHome(); });
			}
		});
		
		/* Patch ByNono */
		Event.observe( $('Ville') ,'change',function(){ RechHome(); });
		Event.observe( $('NbNuit') ,'change',function(){ RechHome(); });
		if($('Filtre') != undefined	) Event.observe( $('Filtre') ,'change',function(){ RechHome(); });
		Event.observe( $('BudgetDe') ,'blur',function(){ RechHome(); });
		Event.observe( $('BudgetA') ,'blur',function(){ RechHome(); });
		Event.observe($('DateDepart'),'change',function(){ RechHome(); });
		Event.observe($('NomCamping'),'blur',function(){ RechHome(); });
		
		Event.observe($('TypeHeberge'),'change',function(){ RechHome(); });
		Event.observe($('Services'),'change',function(){ RechHome(); });
		//Event.observe($('DateDepart'),'focus',function(){ displayCalendar(this,'dd/mm/yyyy',this,false,false); });
	}
	
	
	// Moteur de recherche Int
	if($('frm_rech_int')){
		autoCompleteRechHomeUI("NomCamping");
		
		//--> EVOL : gestion des critï¿½res gï¿½ograhiques
		
		if($('Pays'))
		{
			Event.observe($('Pays'),'change',function(){ 
				GestionLocalisationEvol('Pays',$('Pays'),$('Pays'));
				$('NomCamping').value = cl_tapez_les_premieres_lettres;
				$('IdtCamping').value = '';
				if($('Filtre') != undefined)  $('Filtre').selectedIndex = -1;
			});
		}
		
		if($('Region'))
		{
			Event.observe($('Region'),'change',function(){
				GestionLocalisationEvol('Region',$('Region'),$('Pays'));
				$('NomCamping').value = cl_tapez_les_premieres_lettres;
				$('IdtCamping').value = '';
				if($('Filtre') != undefined) $('Filtre').selectedIndex = -1;
			});
		}
		if($('Ville'))
		{
			Event.observe($('Ville'),'change',function(){
				if( $('Ville').value != "" ) {
					GestionLocalisationEvol('Ville',$('Ville'),$('Pays'));
				}
				$('NomCamping').value = cl_tapez_les_premieres_lettres;
				$('IdtCamping').value = '';
				if($('Filtre') != undefined) $('Filtre').selectedIndex = -1;
			});
		}
		//--> fin EVOL
		//Event.observe($('DateDepart'),'focus',function(){ displayCalendar(this,'dd/mm/yyyy',this,false,false); });
	}
	
	// Criteres de recherche alerte
	if($('liste_alertes')){
		$$('#liste_alertes .selectPays', '#liste_alertes .selectRegion').each(function(e,i){
			if(e.hasClassName('selectPays')){
				var e2 = (e.ancestors()[1]).down('.selectRegion');
				Event.observe(e,'change',function(){ GestionLocalisationAlerte(e, e2); });
			}else{
				var e2 = (e.ancestors()[1]).down('.selectVille');
				Event.observe(e,'change',function(){ GestionLocalisationAlerte(e, e2); });
				
				//alert(e2.value);
				//if() 
				if(e2.value == "") GestionLocalisationAlerte(e, e2);
			}
		});
		/*$$('#liste_alertes form').each(function(e,i){
			
			var inputcamping = e.down('.inputcamping').id;
			
			var divautocomplete = e.down('.autocomplete').id;
			var indicateur = e.down('.indicateur').id;
			
			
			autoCompleteAlerte(inputcamping, divautocomplete, indicateur);
		});*/
		
		if($("altNomCamping_24") != undefined)
		{
			
		//
			autoCompleteAlerte("altNomCamping_24", "autoCompleteAlerte_24", 'indicateur_24');
		}
	}
	else
	{
		if( $('DateDepart') != undefined ) {
			Event.observe($('DateDepart'),'change',function(){ RechHome(); });
		}
	}
	
	// Bt Supp Selection droite
	if($('div_selec')){
		$$('#div_selec a.supp').each(function(e,i){ 
			Event.observe(e,'click',function(){ removeSelecDroite(e); });
		});
	}
	
	// Bt Supp Alerte droite
	if($('div_alerte_log')){
		$$('#div_alerte_log a.supp').each(function(e,i){ 
			Event.observe(e,'click',function(){ removeAlerteDroite(e); });
		});
	}
	if(window.selectionProduit != undefined)
	{		
		window.selectionHash = new Hash();
		for(var a in window.selectionProduit)
		{
			window.selectionHash.set(a, window.selectionProduit[a]);
		}
	}
	
	// Ajouter Selection
	if($('aff_resultats')){
		if(window.selectionHash != undefined)
		{
			$$('#aff_resultats .onglets li.selection a').each(function(e,i){
				var content = e.id.split('-');
				
				var val = window.selectionHash.get("sel_"+content[1]);
				Event.observe(e,'click',function(){ addSelec(e); });
				if(val != undefined)
				{
					//e.setStyle({visibility: "hidden"});
					window.selectionHash.unset("sel_"+content[1]);
					var a = {id: val, elem: e.id};
					window.selectionHash.set("sel_"+content[1], a);
				}
			});
		}
		
		
	}
	// Supprimer Selection
	$$('#aff_resultats .actions_droite .supprimer a').each(function(e){ 
		InitClarkTip(e, 'tip_supp_selec');
		Event.observe(e,'mouseover',function(){ ShowClarkTip(e); });
		Event.observe(e,'mouseout',function(){ HideClarkTip(e); });
		Event.observe(e,'click',function(){
			HideClarkTip(e);
			removeSelec(e);
		});
	});

	
	// Editer
	$$('#liste_alertes .titre li.edit a').each(function(e,i){
		InitClarkTip(e, 'tip_edit_alerte');
		Event.observe(e,'mouseover',function(){ ShowClarkTip(e); });
		Event.observe(e,'mouseout',function(){ HideClarkTip(e); });
	});
	
	// Activer - Desactiver
	$$('#liste_alertes .titre li.actif a').each(function(e,i){
		if(e.readAttribute('title') == cl_app_activer) InitClarkTip(e, 'tip_act_alerte');
		else InitClarkTip(e, 'tip_desac_alerte');
		Event.observe(e,'mouseover',function(){ ShowClarkTip(e); });
		Event.observe(e,'mouseout',function(){ HideClarkTip(e); });
		Event.observe(e,'click',function(){ ChangeEtatAlerte(e); });
	});
	
	// Supprimer Alerte
	$$('#liste_alertes .titre li.supp a').each(function(e,i){
		InitClarkTip(e, 'tip_supp_alerte');
		Event.observe(e,'mouseover',function(){ ShowClarkTip(e); });
		Event.observe(e,'mouseout',function(){ HideClarkTip(e); });	
		Event.observe(e,'click',function(){ 
			if(confirm(cl_app_q_supp_alerte)){
				removeAlerte(e);
			}
		});
	});
	
	
	prepareDistributeur();
	
	// Appels du flash
	//CartePays(1);
	//CarteRegion(1);
	
}

/*-----------------------------------------------------------------------------------------------*/
// Fonctions
/*-----------------------------------------------------------------------------------------------*/
//-- Interaction Carte/Rech Pays --//
var CartePays = function(IdPays){	
	
	/*$$('#Pays option').each(function(e,i){
		if(e.value == IdPays){
			e.selected = "selected";
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegion',{
			parameters: {valeur : IdPays},
			onComplete: function(requester){
				if(requester.responseText != "false"){
					$('Region').update( '<option value="">&nbsp;</option>' + requester.responseText);
					if($('res_rech_home')) RechHome();
					//CarteRegion(1);
				} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
			}});
		 }
	});*/
};
//-- Interaction Carte/Rech Region --//
var CarteRegion = function(_IdRegion){
	
	var corresp = [
		15 , // Nord pas de calais
		5 ,  // Haute normandie
		17 , // Picardie
		9  , // Champagne ardenne
		13 , // Lorraine
		1 ,  // Alsace
		4 ,  // Basse normandie
		22 , // Ile de france
		7 ,  // Bretagne
		16,  // Pays de la loire
		8 ,  // Centre
		6 ,  // Bourgogne
		10 , // Franche compte
		18 , // Poitou charentes
		12 , // Limousin
		3 ,  // Auvergne
		20 , // Rhone alpe
		2 ,  // Aquitaine
		14 , // Midi pyrennees
		11 , // Languedoc-rousillon
		19 , // Provence cote d'azur
		21   // Corse
	] ;
	
	IdRegion = corresp[_IdRegion-1] ;
	
	$$('#Region option').each(function(e,i){
		if(e.value == IdRegion){
			e.selected = "selected";
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVille',{
			parameters: {valeur : IdRegion},
			onComplete: function(requester){
				if(requester.responseText != "false"){
					$('Ville').update( '<option value="">&nbsp;</option>' + requester.responseText);
					if($('res_rech_home')) RechHome();
				} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
			}});
		 }
	});
};


//-- Clark's Tooltip --//
var InitClarkTip = function(e, classe){
	var html = '<div class="clarktip '+classe+'" style="display:none;"><div class="m_clarktip">'+e.readAttribute('title')+'</div></div>';
	e.title = "";
	new Insertion.After(e,html);	
};
var ShowClarkTip = function(e){
	var parent = e.ancestors()[0];
	var tip = parent.down('.clarktip');
	Effect.Appear(tip,{duration:0.3});
};
var HideClarkTip = function(e){
	var parent = e.ancestors()[0];
	var tip = parent.down('.clarktip');
	Effect.Fade(tip,{duration:0.3});
};

var initautoCompleteRechHomeUIVal = "";
var autoCompleteRechHomeUI = function (id){
	
	initautoCompleteRechHomeUIVal = $('NomCamping').value;
	
	new PeriodicalExecuter(function(pe) {
		
		if($(id))
		{
			
			if(initautoCompleteRechHomeUIVal != $(id).value)
			{
				
				initautoCompleteRechHomeUIVal = $(id).value
				
				autoCompleteRechHome();
			}
		}
		
	}.bind(this), 0.5);
}

/*var autoCompleteRechHome = function (){
	new Ajax.Autocompleter("NomCamping", "autoCompleteRechHome", site_url + "plugins/common/_ajax.php?ACT=autoCompleteRechHome", {
	  paramName: "value", 
	  minChars: 3, 
	  indicator: 'indicator',
	  afterUpdateElement : getSelectionCampingHome,
	  parameters : 'pays='+$F('Pays')+'&region='+$F('Region')+'&ville='+$F('Ville')
	});
};*/

//-- AutoCompletion --//
var autoCompleteRechHome = function (){
	//window.console.log("autoCompleteRechHome");	
	new Ajax.Autocompleter("NomCamping", "autoCompleteRechHome", site_url + "plugins/common/_ajax.php?ACT=autoCompleteRechHome", {
	  paramName: "value", 
	  minChars: 2,
	  indicator: 'indicator',
	  afterUpdateElement : getSelectionCampingHome,
	  parameters : 'pays='+$F('Pays')+'&region='+$F('Region')+'&ville='+$F('Ville')
	});
	
	/*new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=autoCompleteRechHome',
	{
		parameters: {value : $('NomCamping').value},
		onComplete: function(requester){
			if(requester.responseText != "false"){
				getSelectionCampingHome(requester.responseText); 
				
				
			} 
		}
	});*/
};
var getSelectionCampingHome = function(text, li) { 
	$('IdtCamping').value = li.id ;
	
	
	
};

//-- AutoCompletion Alerte --//
var autoCompleteAlerte = function (inputcamping, divautocomplete, indicateur){
	
	new Ajax.Autocompleter(inputcamping, divautocomplete, site_url + "plugins/common/_ajax.php?ACT=autoCompleteRechHome", {
	  paramName: "value", 
	  minChars: 3, 
	  indicator: indicateur
	});
};



//-- Gestion Localisation --//
var GestionLocalisation = function(e){
	switch(e.readAttribute('name').toLowerCase()){
		case 'pays' :
			// MAJ Nono - Il faut vider la ville quand on change le pays
			$('Ville').update('<option value="">Toutes les villes</option>');
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegion',
			{
				parameters: {valeur : e.value},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						//$('Region').update( '<option value="">&nbsp;</option>' + requester.responseText);
						$('Region').update(requester.responseText);
						if($('res_rech_home')) RechHome();
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
				}
			});
		break;
		
		case 'region' :
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVille',
			{
				parameters: {valeur : e.value},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						$('Ville').update(requester.responseText);
						if($('res_rech_home')) RechHome();
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
				}
			});
		break;
	}
};

//-- EVOL : Gestion Localisation --//
var GestionLocalisationEvol = function(type, e, p){
	
	if(REGION_UPDATE_FROM_SEARCH) 
	{
		REGION_UPDATE_FROM_SEARCH = false;
		return;
	}
	
	switch(type){
		case 'Pays' : //si un pays est s�lectionn�, il faut mettre � jour regions et villes
			//---> MAJ des R�gions
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegionEvol',
			{
				parameters: {valeur : e.value},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						$('Region').update(requester.responseText);
						if($('res_rech_home')) RechHome(true);
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
				}
			});
			//MAJ des Villes
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVilleDePaysEvol',
			{
				parameters: { valeur : e.value, pays : p.value },
				onComplete: function(requester){
					if(requester.responseText != "false"){
						$('Ville').update(requester.responseText);
						if($('res_rech_home')) RechHome();
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
				}
			});
		break;
		
		case 'Region' : //si une r�gion est s�lectionn�e, il faut mettre � jour pays et villes
			//---> MAJ du Pays
			
			
			var date = $("DateDepart").value;
			
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegionEvol',
			{
				parameters: {valeur : e.value, pays: p.value, date: date},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						var v = $('Region').value;
						$('Region').update(requester.responseText);
						if(v != "")
						{
							$('Region').value = v;
						}
						if($('res_rech_home')) RechHome(true);
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
				}
			});
			//MAJ des Villes
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVilleEvol',
			{
				parameters: {valeur : e.value, pays: p.value, date: date },
				onComplete: function(requester){
					if(requester.responseText != "false"){
						$('Ville').update(requester.responseText);
						if($('res_rech_home')) RechHome(true);
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
				}
			});
		break;
		
		case 'Ville' : //si une ville est s�lectionn�e, il faut mettre � jour pays et r�gions
			//
			if($('Region').value=="")
			{
				new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegionDeVilleEvol',
				{
					parameters: { valeur : e.value, pays : p.value },
					onComplete: function(requester){
						if(requester.responseText != "false"){
							$('Region').update(requester.responseText);
							if($('res_rech_home')) RechHome(true);
						} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
					}
				});
			}	
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationPaysDeVilleEvol',
			{
				parameters: {valeur : e.value},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						$('Pays').update(requester.responseText);
						if($('res_rech_home')) RechHome(true);
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
				}
			});
		break;
		
	}
};
//--> fin EVOL

//-- Gestion Localisation Alerte --//
var GestionLocalisationAlerte = function(e1,e2){
	switch(e1.readAttribute('name').toLowerCase()){
		case 'altpays' : 
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegion',
			{
				parameters: {valeur : e1.value},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						e2.update(requester.responseText);
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
				}
			});
		break;
		
		case 'altregion' :
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVille',
			{
				parameters: {valeur : e1.value},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						e2.update(requester.responseText);
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
				}
			});
		break;
	}
};

var SearchResultsHomeVerous = false; 
//
var RechHome = function(fromRegion) {
	
	//alert(cl_app_insc_nl_err);
	
	if(SearchResultsHomeVerous) return ;
	
	if($('frm_rech_home') && isFutureDate( $('DateDepart').value ) )
	{
		if( $('DateDepart').value != "" ) {
			if($('res_rech_home')) $('res_rech_home').update('<img src="' + site_url + 'images/commun/loading5.gif" alt="" />');
			SearchResultsHomeVerous = true;
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SearchResultsHome',
			{
				parameters: Form.serialize($('frm_rech_home')),
				onComplete: function(requester){
					SearchResultsHomeVerous = false;
					if(requester.responseText != "false" && requester.responseText != "")
					{
						$('res_rech_home').update(requester.responseText);

						//REGION_UPDATE_FROM_SEARCH = true;
						
						if($('frm_rech_home') != undefined || $('frm_rech_int') != undefined)
						{
							var date = $("DateDepart").value;
							new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegionEvol',
							{
								parameters: {valeur : $("Region").value, pays: $("Pays").value, date: date},
								onComplete: function(requester){
									if(requester.responseText != "false"){
										var v = $('Region').value;
										$('Region').update(requester.responseText);
										$('Region').value = v;										
									} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
								}
							});
							
							new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVilleEvol',
								{
									parameters: {valeur : $("Region").value, pays: $("Pays").value, date: date },
									onComplete: function(requester){
										if(requester.responseText != "false"){
											var v = $('Ville').value;
											$('Ville').update(requester.responseText);
											
											$('Ville').value = v;
										} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
									}
								});
						}
						
					} //else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
				}
			});
		}
	}
	else
	{
		if($('frm_rech_home') != undefined || $('frm_rech_int') != undefined)
		{
			var date = $("DateDepart").value;
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegionEvol',
			{
				parameters: {valeur : $("Region").value, pays: $("Pays").value, date: date},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						var v = $('Region').value;
						$('Region').update(requester.responseText);
						if(v != "")
						{
							$('Region').value = v;
						}
						
					} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
				}
			});
			
			new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationVilleEvol',
					{
						parameters: {valeur : $("Region").value, pays: $("Pays").value, date: date },
						onComplete: function(requester){
							if(requester.responseText != "false"){
								var v = $('Ville').value;
								$('Ville').update(requester.responseText);
								
								$('Ville').value = v;
							} else ModalInfo(cl_app_attention, cl_app_insc_nl_err); 
						}
					});
		}
	}
};

//-- MAJ Graphique Selection Droite --//
var MAJSelec = function(type){
	var txt_selec = $('desc_nb_selec').innerHTML;

	// Traitement du nombre de resultats
	var nb_selec = txt_selec.substr(0,txt_selec.indexOf(' '));	
	if(type == "ajout") nb_selec = Number(nb_selec)+1;
	else nb_selec = Number(nb_selec)-1;

	// Affichage du resultat
	$('lien_nb_selec').update(nb_selec);
	if(nb_selec > 1) $('desc_nb_selec').update(nb_selec+' '+cl_app_produits);
	else $('desc_nb_selec').update(nb_selec+' '+cl_app_produit);
	
	// MAJ graphique
	/*$$('#div_selec li').each(function(e,i){ 
		if(i+1 < nb_selec) e.removeClassName('last');
		else e.addClassName('last');
	});*/
	
	return nb_selec;
};
var compSelection = function (e)
{
	
}
//-- Ajout ligne selection droite --//
var addSelec = function(e){
	
	var data = e.id.substr(e.id.lastIndexOf('_')+1).split( '-' );
	var pro_idt = data[0] ;
	var proava_idt = data[1];
	
	if(window.selectionHash != undefined)
	{
		var val = window.selectionHash.set("sel_"+proava_idt, {id: proava_idt, elem: e.id});
		
			//e.setStyle({visibility: "hidden"});
		
	}
	
	// Envoi de la requte ajax.
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=AjoutSelecDroite',
	{
		parameters: {pro_idt: pro_idt, proava_idt: proava_idt},
		onComplete: function(requester){
			if(requester.responseText != "false"){
				
				// L'ajout de selection s'est bien faite
				// On met a jour le cookie en ajoutant le produit				
				var response_content = requester.responseText.split('|');
				
				//alert( response_content[0] );
				
				//on sauvegarde le cookie pour 30 jours
				createCookie( 'TooCampUserSelection' , response_content[0] , 30 ) ;
				
				//alert( readCookie( 'TooCampUserSelection' ) );
				
				new Insertion.Top($$('#div_selec ul')[0], response_content[1]);
				//$("div_selec_ul").innerHTML = response_content[1] + $("div_selec_ul").innerHTML;
				
				var id = "checkbox_"+pro_idt+"-"+proava_idt;
				$("checkbox_"+proava_idt).id = id;
				
				Event.observe($(id),'click',function(){ VerifComparer($(id)); });
				Event.observe($(id),'click',function(){ CheckBeforeCompare($(id)); });
				
				
				//alert("checkbox_"+proava_idt + ", " + pro_idt)
				//checkbox_972421
				MAJSelec("ajout");
				var bt_supp = $$('#selec_'+ proava_idt +' a.supp')[0];
				Event.observe(bt_supp,'click',function(){ removeSelecDroite(bt_supp) });
				
				
				if($('div_selec').getStyle('display') !='block')
				{
					OpenClose('bt_open_selec','div_selec'); 
				}
				ModalInfo(cl_app_attention_selection, cl_app_text_selection);
				
			} else ModalInfo(cl_app_attention_selection, cl_app_text_selection);
		}
	});
	return false;
};

//-- Suppression ligne selection --//
var removeSelec = function(e){
	var fathers = e.ancestors();
	var ligne = fathers[2];
	var num_id = ligne.id.substr(ligne.id.lastIndexOf('_')+1);
	
	
	// Envoi de la requte ajax.
	//new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SuppSelec', Modifi par Nono
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SuppSelecDroite',
	{
		parameters: {num_id: num_id},
		onComplete: function(requester){
		//	if(requester.responseText = "true"){
			if(requester.responseText.indexOf("true") != -1) {
				// Suppression Liste Centre				
		//		Effect.Fade(ligne, { duration:0.3, afterFinish:function(e) {Element.remove(ligne);}});
				// Suppression Liste Droite
		//		$$('#div_selec a.supp').each(function(a_e,a_i){ 
		//			var parent = a_e.parentNode;
		//			var id = parent.id.substr(parent.id.lastIndexOf('_')+1);	
		//			if(num_id == id) removeSelecDroite(a_e);
		//		});
				//sauvegarde du cookie
				
				//"sel_"+content[1]
				
				var response_content = requester.responseText.split('|');
				
				createCookie( 'TooCampUserSelection' , response_content[0] , 30 ) ;
				document.location.reload() ;
			} else ModalInfo(cl_app_attention, cl_app_supp_alerte_droite);
		}
	});
	return false;
};

//-- Suppression ligne selection droite --//
var removeSelecDroite = function(e){
	var id = e.parentNode.id;
	var num_id = id.substr(id.lastIndexOf('_')+1);
	var txt_selec = $('desc_nb_selec').innerHTML;
	
	if(window.selectionHash != undefined)
	{
		var val = window.selectionHash.get("sel_"+num_id);
		if(val != undefined && val.elem != undefined)
		{
			//$(val.elem).setStyle({visibility: "visible"});
		}
	}
	
	//window.console.log(num_id + ", " + val);
	
	//alert(num_id + ", " + val)
	// Envoi de la requte ajax.
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SuppSelecDroite',
	{
			parameters: {num_id: num_id},
			onComplete: function(requester){
				//if(requester.responseText == "true"){
				if(requester.responseText.indexOf("true") != -1) {
					//sauvegarde du cookie
					var response_content = requester.responseText.split('|');
					createCookie( 'TooCampUserSelection' , response_content[0] , 30 ) ;
					
					// Disparition de la ligne
					Effect.Fade($(id), { duration:0.3, afterFinish:function(e) {
						Element.remove($(id));
						var nb_selec = MAJSelec("supp");
					} });
				}
				else ModalInfo(cl_app_attention, cl_app_supp_selec_droite);
			}
		}
	);
	return false;
};

//-- Moteur de recherche Home --//
var CheckBeforeCompare = function( checkbox ) {
	
	var data = checkbox.id.substr(checkbox.id.lastIndexOf('_')+1).split( '-' );
	var pro_idt = data[0] ;
	var proava_idt = data[1];
	
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=CheckBeforeCompare',
	{
		parameters: { pro_idt: pro_idt , proava_idt: proava_idt , etat: checkbox.checked ? '1' : '0' },
		onComplete: function( requester ){
			if( requester.responseText != "false"){
				// Rien a faire ici :)
			}
			else {
				ModalInfo(cl_app_attention, cl_app_comp_max_pro);
				//ModalInfo(cl_app_attention, cl_app_insc_nl_err);
				checkbox.checked = false ;
			}
		}
	});
};



//-- Change Activer/Desactiver Alerte --//
var ChangeEtatAlerte = function(e){
	var img = e.down();
	var src = img.readAttribute('src');
	src = src.substr(0,src.lastIndexOf('/')+1);
	var action = 'activer';
	var parent = e.ancestors()[0];
	var tip = parent.down('.clarktip');
	
	//AA : le 15/10/08, pour rcuprer l'idt de l'alerte concerne par le changement d'tat.
	var grandparent = parent.ancestors()[0];
	var arrieregrandparent = grandparent.ancestors()[0];
	var arrierearrieregrandparent = arrieregrandparent.ancestors()[0];
	var ale_idt = arrierearrieregrandparent.alerteIdt.value;

	if(e.hasClassName('on')) action = 'desactiver';
	
	// Envoi de la requte ajax.
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=ChangeAlerte',
	{
		parameters: {action: action, alerte: ale_idt},
		onComplete: function(requester){
			if(requester.responseText == "true"){
				if(e.hasClassName('on')){
					e.removeClassName('on');
					tip.removeClassName('tip_desac_alerte');
					tip.addClassName('tip_act_alerte');
					tip.down('.m_clarktip').update(cl_app_activer);
					img.src = src+'desactiver.gif';
				}else{
					e.addClassName('on');
					tip.removeClassName('tip_act_alerte');
					tip.addClassName('tip_desac_alerte');
					tip.down('.m_clarktip').update(cl_app_desactiver);
					img.src = src+'activer.gif';
				}
			}
			else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
		}
	});
};

//-- Suppression ligne alerte --//
var removeAlerte = function(e){
	var fathers = e.ancestors();
	var ligne = fathers[4];
	var num_id = ligne.id.substr(ligne.id.lastIndexOf('_')+1);
	
	//AA : le 15/10/08, pour rcuprer l'idt de l'alerte concerne par le changement d'tat.
	var parent = e.ancestors()[0];
	var grandparent = parent.ancestors()[0];
	var arrieregrandparent = grandparent.ancestors()[0];
	var arrierearrieregrandparent = arrieregrandparent.ancestors()[0];
	var ale_idt = arrierearrieregrandparent.alerteIdt.value;
	
	// Envoi de la requte ajax.
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SuppAlerte',
	{
		parameters: {num_id: num_id, alerte:ale_idt},
		onComplete: function(requester){
			if(requester.responseText = "true"){
				// Suppression Liste Centre
				Effect.Fade(ligne, { duration:0.3, afterFinish:function(e) {Element.remove(ligne);}});
				// Suppression Liste Droite
				$$('#div_alerte_log a.supp').each(function(a_e,a_i){ 
					var parent = a_e.parentNode;
					var id = parent.id.substr(parent.id.lastIndexOf('_')+1);	
					if(num_id == id) removeAlerteDroite(a_e);
				});				
			} else ModalInfo(cl_app_attention, cl_app_supp_alerte_droite);
		}
	});
	return false;
};

//-- Suppression ligne alerte droite --//
var removeAlerteDroite = function(e){
	var id = e.parentNode.id;
	var num_id = id.substr(id.lastIndexOf('_')+1);
	var txt_selec = $('desc_nb_alerte').innerHTML;
	// Envoi de la requte ajax.
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SuppAlerteDroite',
	{
			parameters: {num_id: num_id},
			onComplete: function(requester){
				if(requester.responseText == "true"){
					// Disparition de la ligne
					Effect.Fade($(id), { duration:0.3, afterFinish:function(e) {
						Element.remove($(id));
						// Traitement du nombre de resultats
						var nb_selec = txt_selec.substr(0,txt_selec.lastIndexOf(' '));	
						nb_selec = Number(nb_selec)-1;
						// Affichage du resultat
						$('lien_nb_alerte').update(nb_selec);
						if(nb_selec > 1){
							$('desc_nb_alerte').update(nb_selec+' '+cl_app_alertes);
							if($('nb_alerte_detail')) $('nb_alerte_detail').update(nb_selec+' '+cl_app_alertes);
						}else{
							$('desc_nb_alerte').update(nb_selec+' '+cl_app_alerte);
							if($('nb_alerte_detail')) $('nb_alerte_detail').update(nb_selec+' '+cl_app_alerte);
						}
						// MAJ graphique
						$$('#div_alerte_log li').each(function(e,i){ 
							if(i+1 < nb_selec) e.removeClassName('last');
							else e.addClassName('last');
						});
					} });
				}
				else ModalInfo(cl_app_attention, cl_app_supp_alerte_droite);
			}
		}
	);
	return false;
};


/*-----------------------------------------------------------------------------------------------*/
// Verification de formulaires
/*-----------------------------------------------------------------------------------------------*/
//-- Inscription Newsletter Droite --//
var frmInscNL = function() {
	var valeur = $('frm_insc_nl').email_insc_nl.value;
	if(valeur == '' || valeur == $('frm_insc_nl').email_insc_nl.defaultValue || !checkMail(valeur) )
	{
		ModalInfo(cl_app_attention, cl_app_mail_nl_error );
		return false;
	}
	else{
		// Envoi de la requte ajax.
		new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=InscNL',
		{
				parameters: Form.serialize($('frm_insc_nl')),
				onComplete: function(requester){
					if(requester.responseText == "ok_insc") 
					{
						$('infotextnews').update(cl_app_insc_nl_ok);
						$('infotextnews').className = 'infotextnews_msg';
						$('formtextnews').update("");
					}
					else if(requester.responseText == "ok_des") 
					{
						
						$('infotextnews').update(cl_app_des_nl_ok);
						$('infotextnews').className = 'infotextnews_msg';
						$('formtextnews').update("");
					}
					else
					{
						$('ajax_insc_nl_ok').update('<div class="formtextnews"><div class="boxnewsletter">'+cl_app_insc_nl_err+'</div></div>');						
					}
				}
			}
		);
		return false;
	}
};

/*====================*/
// Clic Pub
/*====================*/
var saveClickPub = function(dis){
	// Envoi de la requte ajax.
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=registerClicPub',
	{
			parameters: {dis:dis},
			onComplete: function(requester){
			}
		}
	);
}


function setCookie(c_name,value, expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);

//alert(exdate.toGMTString());


document.cookie=c_name+ "=" +escape(value)+


((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
//if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  
  alert(c_name +", " + document.cookie);
  
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
	return "";
}
var alert_lien = "";
var gereAlert = function()
{
	
	if($("email_mini_alert") == undefined) return;
	$("email_mini_alert").observe('keydown', function(ev){
		if (ev.keyCode == 13) 
		{
			Event.stop(ev);
			frmInscAlertes();
		}
	});
	
	/*var nb_recherche = parseInt (getCookie("nb_visite_recherche"));
	
	
	if((nb_recherche+"") == "NaN") nb_recherche = 0;
	
	var old = nb_recherche; 
	
	if(search_page) nb_recherche ++;*/
	
	//setCookie("nb_visite_recherche", nb_recherche, 365);
	
	//alert(search_page + ", " + visite)
	//alert("search_page: " + search_page + ", visite: " + nb_recherche + ", " + old);
	
	if(search_page) 
	{
		new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=GetSearchCount',
		{
			parameters: {},
			onComplete: function(requester){
				if(requester.responseText != "false"){
					
					var a = parseInt (requester.responseText)
					
					if(a == 2)
					{
						new PeriodicalExecuter(function(pe) {
							pe.stop();
							openAlert();}, 1);
					}
				}  
			}
		});
	}
	
	//visite = 0.0;
	
	alert_lien = $("box_alert_plus").href;
	$("box_alert_maxbudget").value = cl_budjet_max;
		
	//if(nb_recherche == 2 && search_page) openAlert();
	
	changeDateAlert();
	
	if(alert_opt != undefined)
	{
		var o = false;
		for(var i = 0; i <3; i ++ )
		{
			if(alert_opt[i] != "")
			{
				$(alert_opt[i]).checked = true;
				o = true;
			}
		}
		if(o)
		{
			$("opt_div_plus").setStyle({"display": "block"});
		}
	}
	
	//openAlert();
	//$("box_alert").setStyle({"display": "block"});
	//$("box_alert_titre").innerHTML = $("box_alert_titre").innerHTML;
}
var alert_opened = false;
var viewport_w = -1;

var setAlertPostion = function()
{
	var s = document.viewport.getWidth();
	if(s != viewport_w)
	{
		viewport_w = s;
		var w = (s -  $("box_alert").getWidth()) / 2;
		$("box_alert").setStyle({"left": w+"px"});
	}
}

var openAlert = function()
{	
	
	if(!alert_opened)
	{
		alert_opened = true;
		new PeriodicalExecuter(function(pe) {
			setAlertPostion();
		}, 0.25);
	}
	
	setAlertPostion();
	if($('box_alert_mailalert').value == "") $('box_alert_mailalert').value=cl_votre_email;

	$("box_alert").setStyle({"display": "block"});
	$("alert_mini").setStyle({"display": "none"});
	$("alert_create").setStyle({"display": "block"});
	
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=RechLocalisationRegionEvol',
	{
		parameters: {},
		onComplete: function(requester){
			if(requester.responseText != "false"){
				$('alert_region').update(requester.responseText);
				
			}; 
		}
	});
	
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=AlertDates&t=1',
			{
				parameters: {},
				onComplete: function(requester){
					if(requester.responseText != "false"){
						$('alert_date').update(requester.responseText);
						changeDateAlert();
						changeAlertEmail();
						changeRegionAlert();
						if($("altBudgetA_24") != undefined)
						{
							if($("box_alert_maxbudget")!= undefined) 
							{
								$("box_alert_maxbudget").value= $("altBudgetA_24").value+"€";
								onBlurBudget();
							}
						}
					}; 
				}
			});
	
	//$("box_alert_titre").innerHTML = $("box_alert_titre").innerHTML;
}

var closeAlert = function()
{
	$("box_alert").setStyle({"display": "none"});
	$("alert_mini").setStyle({"display": "block"});
}

var changeAlertEmail = function() 
{
	var valeur = $('box_alert_mailalert').value;
	var v = "";
	var region = $('alert_region').value;
	
	if(region != "")
	{
		
		v = "&altRegion="+region;
	}
	
	if(valeur != '' && valeur != cl_votre_email)
	{
		v += "&email="+valeur;		
	}
	
	var date = $('alert_date').value;
	if(date != '')
	{
		v += "&altDateDepart="+date.gsub("/", "-");
	}
	
	var budget = $('box_alert_maxbudget').value;
	if(budget == cl_budjet_max) budget = "";
	budget = budget.gsub("€", "");
	
	if(budget != '')
	{
		v+="&altBudgetA="+budget;
	}
	
	
	
	$("box_alert_plus").href= $("box_alert_plus").href= site_url + "alertes-location_11.php?ACT=CreateAlert"+v;
}

var onBlurBudget = function()
{
	var budget = $('box_alert_maxbudget').value;
	if(budget != cl_budjet_max) 
	{
		budget = budget.gsub("€", "");
		//budget = budget.gsub(" ", "");
		var p = parseInt(budget);
		
		//alert(p + "budget: " + budget);
		p = p + "";
		if(p == "NaN")
		{
			budget = cl_budjet_max;
		}
		else
		{
			budget = p + " €"; 
		}
		//var 
	}
	$('box_alert_maxbudget').value = budget;
}

var createAlert = function()
{
	
	var email = $('box_alert_mailalert').value;
	onBlurBudget();
	
	//alert(email + ", " + cl_votre_email)
	if(email == '' || email == cl_votre_email || !checkMail(email) )
	{
		ModalInfo(cl_app_attention, cl_app_mail_nl_error );
		return false;
	}
	
	
	var region = $('alert_region').value;
	//alert(region + ", " + cl_app_destination_error)
	/*if(region == '')
	{
		ModalInfo(cl_app_attention, cl_app_destination_error);
		return false;
	}*/
	
	var budget = $('box_alert_maxbudget').value;
	if(budget == cl_budjet_max) budget = "";
	
	budget = budget.gsub("€", "");
	
	var date = $('alert_date').value;
	
	//alert(email + ",\n "+region + ",\n "+budget + ",\n "+date + "\n " )
	
	//http://lokapi.localhost/alertes-campings_11.php?ACT=AddAlerte
	
	var v = "altEmail="+email+ "&altDateDepart="+date+"&altRegion="+region+"&altBudgetA="+budget;
	$("alert_create").setStyle({"display": "none"});
	
	closeAlert();
	
	new Ajax.Request( site_url + 'alertes-location_11.php?ACT=AddAlerte',
			{
				parameters: {altEmail: email, altDateDepart: date, altRegion: region, altBudgetA: budget},
				onComplete: function(requester){
					
					
					//closeAlert();
					
					$("alert_create").setStyle({"display": "bloc"});
					 
				}
			});
	
}

var frmInscAlertes = function() {
	
	var valeur = $('email_mini_alert').value;
	if(valeur == '' || !checkMail(valeur) )
	{
		ModalInfo(cl_app_attention, cl_app_mail_nl_error );
		return false;
	}
	
	
	$("box_alert_mailalert").value = valeur;
	var v = "";
	var region = $('alert_region').value;
	if(region != "")
	{
		
		v += "&altRegion="+region;
	}
	
	if(valeur != '' && valeur != cl_votre_email)
	{
		v += "&email="+valeur;		
	}
	
	$("box_alert_plus").href= $("box_alert_plus").href= site_url + "alertes-location_11.php?ACT=CreateAlert"+v;
	
	openAlert();
};

var changeRegionAlert = function()
{
	if($("Region") != undefined)
	{
		var d = $("Region").value;
		if(d != undefined)
		{
			
			var l = $("alert_region").options.length;
			
			for(var i = 0; i < l; i ++)
			{
				
				 if($("alert_region").options[i].value == d) 
				 {
					 $("alert_region").selectedIndex  = i;break;
				 }
			}
			
		}
	}

}

var changeDateAlert = function()
{
	if($("DateDepart") != undefined)
	{
		var d = $("DateDepart").value;
		if(d != undefined)
		{
			d = d.split("/");
			d[0] = "00";
			var date = d[0] + "/"+ d[1]+"/"+d[2];
			var l = $("alert_date").options.length;
			//alert(date + ", " +  $("alert_date").options + ", " + $("alert_date").options.length);
			for(var i = 0; i < l; i ++)
			{
				 if($("alert_date").options[i].value == date) 
				 {
					 $("alert_date").selectedIndex  = i;break;
				 }
			}
		}
	}

}



var list_dist_id_done = {};
var mouse_dis_over = true;

var prepareDistributeur = function()
{
	
	

	//window.console.log(Prototype.Browser);
	for(var i = 0; i < list_dist_id.length ; i ++)
	{
		
		onUpdateDistImage(list_dist_id[i]);
	}
	if($("btn_form_submit"))
	{
		if (Prototype.Browser.IE || Prototype.Browser.Gecko)
		{
			$("btn_form_submit").setStyle({"marginTop": "10px" });
			if(Prototype.Browser.Gecko) $("btn_form_submit").setStyle({"marginBottom": "20px" });
			else $("btn_form_submit").setStyle({"marginBottom": "5px" });
		}
		else $(btn_form_submit).setStyle({"marginTop": "10px"});
	}
		
}
var onUpdateDistImage = function(id)
{
	if($("distributeur_logo_"+id) == undefined) return;
	if(list_dist_id_done[id] != undefined) return;
	list_dist_id_done[id] = true;
	var h = (Math.floor((list_dist_height - $("distributeur_logo_"+id).getHeight())/2))+"px";
	
	//$("distributeur_logo_"+id).setStyle({"marginTop": h});
	$("distributeur_logo_"+id).setStyle({"marginTop": h});
	
	$("dis-"+id).width = $("distributeur_logo_"+id).getWidth() + 2;
	$("dis-"+id).dep = 0; 
	if(id == last_image_dist_id)
	{
		
		new PeriodicalExecuter(function(pe) {
			pe.stop();
			$("distributeur_displayer").setStyle({"width": list_dist_width+"px"});
			$("distributeur_displayer").setStyle({"marginLeft": "0px"});
			list_dist_id.reverse();
			new PeriodicalExecuter(function(pe) {
	 			//pe.stop();
	 			try
	 			{
		 			if( mouse_dis_over_elm != undefined && mouse_dis_over_elm.findElement("#distributeur_displayer" ) == undefined) mouse_dis_over = false;
			 		else mouse_dis_over = true;
		 			if(!mouse_dis_over || mouse_dis_over_elm == undefined)
		 			{		
		 	 			var el = $("distributeur_displayer").down();
						if((-el.dep) < el.width)
						{
							el.dep -= 1.5;
		 	 				$("distributeur_displayer").setStyle({"marginLeft": Math.floor(el.dep)+"px"});
						}
						else
						{
							el.dep = 0;
		 	 				$("distributeur_displayer").setStyle({"marginLeft": "0px"});
							el.remove();
		 	 				$("distributeur_displayer").insert(el);
						}
		 			}				
	 			}
	 			catch(e){}

	 		}, 0.04);
			
		}, 2);
		
		//alert($("distributeur_displayer").firstDescendant());
		
	}
}