function PeriodeDispoMoteur(tabdispos, an)
	{
	//je rajoute cette condition sinon ça plante avec option évasion
	if (document.resa_moteur.type_dest)
		{
		if ((document.resa_moteur) 
		&& (document.getElementById('type_dest').value=="parc" 
		&& (document.getElementById('pa_id') && document.getElementById('pa_id').value != "_THA")))
			{
			document.getElementById('attention').innerHTML="";
			//alert("type dest : "+document.getElementById('type_dest').value);
			/* 	Fonction créee sur l'exemple de perioddispomoteur pour bloquer ou pas le bouton lancer la recherche dans le moteur de dispo et le forfait loisir
			Michel 09/2008   */
			var Date_Deb = document.resa_moteur.Date_Deb.value;	
			var tab_date = Date_Deb.split('/');
			var ja = tab_date[0];
			var ma = tab_date[1];
			var aa = tab_date[2];
			
			if (aa)
				{
				var an=aa;
				var mnthArray = new Array(31 ,28 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31);		
				var dateDeb = new Date(Number(aa), Number(ma)-1, Number(ja));
				var dateFin = new Date(dateDeb);
				var nbjoursparc = document.resa_moteur.nbjparc.value;
				var nbNuitsSejour = document.resa_moteur.nb_nuit.value;	
				var ind = 0;
				var indTabdeb = 0;
				var indTabfin = 0;
				var bissextile = 0;
				// Variables permettant d'enregistrer les valeurs de la liste déroulante qui sert à choisir le jour d'entrée au parc
				var string = '<span class=\'moteur_tit_input\'>Date entr&eacute;e Parc</span><br>';
				string += "<div><select name=\"dateEntreeParc\" id=\"dateEntreeParc\" class=\"table-input3\" onchange=\"joursem('dateEntreeParc'); recupSelecdateEntreeParc(this.value);\">";
				var jours_consecutifs=0;
				// permet de savoir si on a changé d'année ou pas.
				// si on change d'année on devra tester les jours d'ouverture du parc selon la variable i-nbj_ann
				var chgt_annee=0;
				
				//verif que l'année est pas bissextile
				if (eval(an%4)==0)
					{
					if (eval(an%100)==0) {if (eval(an%400)==0) {bissextile=1;} else {bissextile=0;}} else {bissextile=1;}
					}
				else
					{
					bissextile=0;
					}
				
				//alert(bissextile);
				
				if (bissextile) {mnthArray[1] = 29;} else {mnthArray[1] = 28;}
				
				for (i=0; i < ((ma*1)-1); i=(i+1)%12) {ind += mnthArray[i];}
				
				ja=eval(ja);
				//ind=debut mois de depart
				indTabdeb=eval(parseInt(ind)+parseInt(ja))-1;
				indTabfin=eval(parseInt(indTabdeb)+parseInt(nbNuitsSejour));
				
				//alert('indTabdeb' + indTabdeb + '\n indTabfin' + indTabfin+ '\n nbNuitsSejour' + nbNuitsSejour);
				var cpt=0;
				var cpt_consecutif=0;
	
				if ( (document.getElementById('type_dest').value=="parc")&&(document.getElementById('type').value=="classique") )
					{
					// Si on vient du moteur de dispo, on initialise la variable nbjoursparcs à 1 par défaut.
					nbjoursparc=1;
					}
				
				// je parcours la sejour choisi. Si je trouve un 2 le parc est ouvert sinon il est fermé 
				// je declare une variable a 0 qui s'increment si le parc est fermé 
				// Prevoir pour les années bissextiles(Logiquement c'est OK)
				for (i=indTabdeb ; i<=indTabfin; i++)
					{
					// je regarde si je change d'année pour changer de calendrier
					if (bissextile) {var nbj_an = 365;} else {var nbj_an = 364;}
					
					// Si on change d'année, je prends le calendrier suivant
					if ((i > nbj_an)&&(chgt_annee==0))
						{
						an = eval(an)+1;
						chgt_annee++;
						}					
						
					//alert(eval("disposParc"+an)+"\n"+an);
					
					var tabdispos= (eval("disposParc" + an));	
				
					if (chgt_annee==0) 
						{
						j=i;
						indTabfinSuiv=indTabfin;
						}
					else 
						{
						j=i-nbj_an-1;
						indTabfinSuiv=indTabfin-nbj_an-1;
						}
				
					// variable représentant l'année, utilisée dans la 2eme boucle qui vérifie si les jours suivants sont ouverts
					var an2=aa;
					
					// Si le parc est ouvert...
					if (tabdispos[j] == 2) 
						{
						// On vérifie si le parc est ouvert les jours suivant le jour que l'on est en train d'étudier
						// On utilise la variable nbjoursparc pour savoir si les jours suivants sont ouverts ou non							
						// ..., je compte ce jour
						cpt++;

						jours_consecutifs=0;
						
						var chgt_annee2=0;
							
						for (k=j; k<=indTabfinSuiv ; k++)
							{
							// Boucle sur les jours suivants pour savoir si le nombre de jours d'entrée au parc est suffisant 
							// En fonction du nombre de jours restants pour le séjour et des jours ouvrables au sein du parc								
								
							// Si on change d'année, je prends le calendrier suivant
							if ((k > nbj_an)&&(chgt_annee2==0))
								{
								an2 = eval(an2)+1;
								chgt_annee2++;
								}	
								
							var tabdispos2= (eval("disposParc" + an2));	
								
							// Gestion du changement d'année. 
							// On fait les tests d'ouverture du parc sur la variable L - (le nb de jours de l'année précédente)
							if (chgt_annee2==0) {l=k;} else {l=k-nbj_an-1;}

							if (tabdispos2[l] == 2) {jours_consecutifs++;} else {jours_consecutifs=0;}
							
							//alert(dateNbJour(i+1,an));
							if (jours_consecutifs>=nbjoursparc)
								{
								// Si le nombre de jour d'entrées au parc est atteint, cela veut dire que le client peut entrer dans le parc,
								// le jour correspondant à i : le jour sur lequel on est au niveau de la première bloucle For.
								// Alors on enregistre dans la variable string, la valeur du jour à afficher dans le champ DateEntreeParc
								string+='<option value='+dateNbJour(j+1,an,an2)+'>'+dateNbJour(j+1,an,an2)+'</option>';
								// On sort de la boucle lorsque l'on a entré la valeur du jour dans la liste déroulante des jours d'entrées au parc
								break;
								}
							} // Fin boucle For 2
						}
					else
						{
						// Si le parc est fermé, je repars à zéro
						cpt = 0;
						}
			
					// Si le total jour ouvert est plus grand que le totale jour consécutif ouvert, je récupère la valeur
					if (cpt > cpt_consecutif)
						{
						cpt_consecutif = cpt;
						}
					} // Fin boucle FOR
	
				if (cpt_consecutif < nbjoursparc) 	
					{ 
					document.resa_moteur.searchButton.disabled = false;
					
					// On efface la liste déroulante présentant les différents jours d'entrées possible au parc
					if (document.getElementById('type_dest').value=="parc")
						{
						if (document.getElementById('dateEntree')!=null)
							{
							document.getElementById('dateEntree').innerHTML = "";
							document.resa_moteur.searchButton.disabled = true;
							}
						
						// On affiche le texte correspondant à la fermeture du parc pour la période sélectionnée
						document.getElementById('attention').innerHTML="<br />Le Parc étant fermé durant toute la partie du séjour, la réservation ne peut aboutir...";
						}
					}
				else
					{
					string+='</select>';
					string+='&nbsp;<font color=\'#565D36\' face=\'Arial, Helvetica, sans-serif\'><span id=\'dateEntreeParc_Div\' ></span></font></div>';
					if (document.getElementById('type_dest').value=="parc")
						{
							// On affiche la liste déroulante des jours d'entrées possible au parc(variable DateEntree dans le formulaire)
							if (document.getElementById('dateEntree')!=null)
								{document.getElementById('dateEntree').innerHTML = string; joursem('dateEntreeParc');}
							// On efface le texte ecrit dans le formulaire concernant la "NON possibilité" d'effectuer une recherche
							document.getElementById('attention').innerHTML="";
							if (LimiteDate())
								{document.resa_moteur.searchButton.disabled = true;}
							else {document.resa_moteur.searchButton.disabled = false;}
							//document.getElementById('attention').innerHTML="";
						}
					}
				} // Fin de la première boucle FOR
			}
		else
			{
			document.resa_moteur.searchButton.disabled = false; 
			document.getElementById('attention').innerHTML="";
			return false;
			}
		}
	else{
		document.resa_moteur.searchButton.disabled = true; 
		document.getElementById('attention').innerHTML="<br />Vous devez d'abord sélectionner une destination !";
		}
	}

function LimiteDate()
	{
	var dateRetour = document.resa_moteur.date_Fin.value;
	var dateDepart = document.resa_moteur.Date_Deb.value;
	
	if (dateRetour != "" && document.resa_moteur.tmp_star_3)
		{
		var star3 = document.resa_moteur.tmp_star_3;
		var star4 = document.resa_moteur.tmp_star_4;
		var dateDebPeriode;
		var dateFinPeriode;
		
		if (star3.checked == true)
			{
			var dateDebPeriode = document.resa_moteur.dateDebPeriode3.value;	
			var dateFinPeriode = document.resa_moteur.dateFinPeriode3.value;	
			}
		else if (star4.checked == true)
			{
			var dateDebPeriode = document.resa_moteur.dateDebPeriode4.value;	
			var dateFinPeriode = document.resa_moteur.dateFinPeriode4.value;	
			}
		
		var tab_R = dateRetour.split('/');
		var tab_D = dateDepart.split('/');
		var tab_DebPeriode = dateDebPeriode.split('-');
		var tab_FinPeriode = dateFinPeriode.split('-');
		
		var dR = new Date(Number(tab_R[2]), Number(tab_R[1])-1, Number(tab_R[0]));
		var dD = new Date(Number(tab_D[2]), Number(tab_D[1])-1, Number(tab_D[0]));
		var DebPeriode = new Date(Number(tab_DebPeriode[0]), Number(tab_DebPeriode[1])-1, Number(tab_DebPeriode[2]));
		var FinPeriode = new Date(Number(tab_FinPeriode[0]), Number(tab_FinPeriode[1])-1, Number(tab_FinPeriode[2]));
		
		var DebAff = tab_DebPeriode[2]+" "+tab_DebPeriode[1]+" "+tab_DebPeriode[0];
		var FinAff = tab_FinPeriode[2]+" "+tab_FinPeriode[1]+" "+tab_FinPeriode[0];
		
		var cond_date = 0;
		
		// Si le date de retour est avant la date de début de période
		if (dR < DebPeriode)
			{
			//alert("false1");
			}
		// Si le date de retour est entre la date de début et la date de fin de période
		else if (dR > DebPeriode && dR < FinPeriode)
			{
			// Si la date de départ est avant la date de début de période
			if (dD < DebPeriode)
				{
				//alert("false");	
				}
			// Si la date de départ est aprés la date de début de période
			else
				{
				//alert("true");		
				
				cond_date ++;
				}
			}
		else if (dR > FinPeriode)
			{
			//alert("false");	
			}
		
		if (cond_date == 0)
			{
			document.resa_moteur.searchButton.disabled = true; 
			document.getElementById('attention').innerHTML="<br />Les dates de votre séjour ne correspondent pas à la \npériode de validité du forfait ("+DebAff+"/"+FinAff+")";
			return true;
			//alert("Les dates de votre séjour ne correspondent pas à la \npériode de validité du forfait ("+DebAff+"/"+FinAff+")");
			}
		else
			{
			//alert("test");
			document.resa_moteur.searchButton.disabled = false; 
			document.getElementById('attention').innerHTML="";
			return false;
			}
		
		//alert(dR+"\n "+dateRetour+"\n \n"+dD+"\n "+dateDepart+"\n \n"+DebPeriode+"\n "+dateDebPeriode+"\n \n"+FinPeriode+"\n "+dateFinPeriode);
		}
	}
	//  }   En trop?????

function bissextile(annee)
	{
		return ((annee % 400 == 0) || ((annee % 100 != 0) && (annee % 4 == 0)));
	}

function dateNbJour(date,annee,annee2)
{
	// Fonction permettant de retourner la date d'un jour en fonction du numéro de jour de l'année.
	// Ex: en paramètre date=33, annee=2008 --> Retourne "02/02/2008"
	var ja = 0;
	var ma = 0;
	var aa = parseInt(annee);
	if (bissextile(annee))
		{
			var mnthArray = new Array(31 ,29 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31);	
			var nbj_an=365;
		}
	else {
			var mnthArray = new Array(31 ,28 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31);
			var nbj_an=364;
		 }
	

	var i=1;
	var ind=date;

	while (ind > parseInt(mnthArray[i-1]))
		{
			ind -= parseInt(mnthArray[i-1]);	
			i++;
			//alert("i : "+i+" et ind : "+ind);
		}
	// on gère l'ajout du 0 pour les dates < 10 (ex: 1/2/2008 --> 01/02/2008
	if(ind<10) {ind="0"+ind;}
	if(i<10) {i="0"+i;}
	
	return(""+ind+"/"+i+"/"+annee);
}

function veriflogincli()
{
	if ( (!document.getElementById('Client_Nom')) && (!document.getElementById('Client_Prenom')) )
		{
			//document.getElementById('suggestions_moteur').style.display = "block";
			document.getElementById('attention').innerHTML='<br />Désolé ! <br/>Ce moteur de recherche de disponibilité n\'est disponible que pour les personnes connectées.<br/>Pour vous inscrire veuillez <a href="../../../acces_club/inscription.php" target="iframe" style="color:#FF0000;">cliquez ici</a><br/>';
			document.resa_moteur.searchButton.disabled = true;
		}
}

function recupSelecdateEntreeParc(d)
	{
	document.getElementById('dateEntreeParc2').value = d;
	}