function valider(formulaire) {

if (formulaire.name.value == "")
{
formulaire.name.focus();
alert("Vous n'avez pas inscrit votre nom.");
return(false);
}

if (formulaire.address.value == "")
{
formulaire.address.focus();
alert("Vous n'avez pas inscrit votre adresse.");
return(false);
}

Pattern0 = /[^0-9]/
Pattern1 = /[^--z]/
Pattern2 = /[^ -9]/
Pattern3 = /[@]/
Pattern4 = /[.]/

if (Pattern1.test(document.formulaire.email.value) || Pattern3.test(document.formulaire.email.value) == false || Pattern4.test(document.formulaire.email.value) == false)
{
        alert("Vous n'avez pas inscrit votre courriel.");
        formulaire.email.focus();
	return false;
}

if (formulaire.phone.value == "")
{
formulaire.phone.focus();
alert("Vous n'avez pas inscrit votre téléphone.");
return(false);
}
else
{
	if (Pattern2.test(formulaire.phone.value))
	{
		formulaire.phone.focus();
		alert("Inscrivez un numéro de téléphone valide.");
		return(false);
	}
}

if (Pattern1.test(document.formulaire.email.value) || Pattern3.test(document.formulaire.email.value) == false || Pattern4.test(document.formulaire.email.value) == false)
{
        alert("Vous devez entrer une adresse E-Mail valide.");
        formulaire.email.focus();
	return false;
}

	var jourNow = 3;
	var moisNow = 6;
	
	var anNow = 2005;
	var jourDebut = 30;
	var moisDebut = 12;
	var anDebut = 99;
	var jourFin = 30;
	var moisFin = 12;
	var anFin = 99;
	var anArrive = formulaire.arriverAnnee.value;
	var moisArrive = formulaire.arriverMois[formulaire.arriverMois.selectedIndex].value;
	var jourArrive = formulaire.arriverJour[formulaire.arriverJour.selectedIndex].value;

	var anDepart = formulaire.departAnnee.value;
	var moisDepart = formulaire.departMois[formulaire.departMois.selectedIndex].value;
	var jourDepart = formulaire.departJour[formulaire.departJour.selectedIndex].value;
	if ((anArrive == "0") || (anArrive == "") || (Pattern0.test(anArrive)))
	{
		alert("S.V.P. entrez une date d'arrivée.");
		formulaire.arriverAnnee.focus();
		return false;
	}
	if ((anDepart == "0") || (anDepart == "") || (Pattern0.test(anDepart)))
	{
		alert("S.V.P. entrez une date de départ.");
		formulaire.departAnnee.focus();
		return false;
	}
	if ((((eval(anArrive) + 2000) * 10000) + (eval(moisArrive) * 100) + eval(jourArrive)) < ((anNow * 10000) + (moisNow * 100) +jourNow))
	{
		alert("La date d'arrivée que vous avez inscrit est déjà passée. S.V.P. entrez une date d'arrivée égal ou supérieure à celle du jour."); 		
		formulaire.arriverAnnee.focus();
		return false;
	}
	if ((((eval(anDepart) + 2000) * 10000) + (eval(moisDepart) * 100) + eval(jourDepart)) < (((eval(anArrive) + 2000) * 10000) + (eval(moisArrive) * 100) + eval(jourArrive)))
	{
		alert("La date de départ que vous avez inscrit se situe avant votre date d'arrivée. S.V.P. entrez une date de départ supérieure à celle d'arrivée."); 		
		formulaire.departAnnee.focus();
		return false;
	}
	if (((moisArrive == "04") || (moisArrive == "06") || (moisArrive == "09") || (moisArrive == "11")) && (eval(jourArrive) > 30))
	{
		alert("Il n'y a pas 31 jours dans le mois que vous avez sélectionné pour votre date d'arrivée.");
		formulaire.arriverJour.value = "30";
		formulaire.arriverJour.focus();
		return false;	
	}
	if (((moisDepart == "04") || (moisDepart == "06") || (moisDepart == "09") || (moisDepart == "11")) && (eval(jourDepart) > 30))
	{
		alert("Il n'y a pas 31 jours dans le mois que vous avez sélectionné pour votre date de départ.");
		formulaire.departJour.value = "30";
		formulaire.departJour.focus();
		return false;	
	}	
	if ((moisArrive == "02") && (eval(jourArrive) > 28))
	{
		if (eval(anArrive)%4 == 0)
		{
			if (eval(jourArrive) > 29)
			{
				alert("S.V.P. choisir un jour plus petit que 30 si vous avez choisi le mois de février pour date d'arrivée.");
				formulaire.arriverJour.value = "29";
				formulaire.arriverJour.focus();
				return false;	
			}
		}
		else
		{
			alert("S.V.P. choisir un jour plus petit que 29 si vous avez choisi le mois de février pour date d'arrivée.");
			formulaire.arriverJour.value = "28";
			formulaire.arriverJour.focus();
			return false;				
		}
	}
	if ((moisDepart == "02") && (eval(jourDepart) > 28))
	{
		if (eval(anDepart)%4 == 0)
		{
			if (eval(jourDepart) > 29)
			{
				alert("S.V.P. choisir un jour plus petit que 30 si vous avez choisi le mois de février pour date de départ.");
				formulaire.departJour.value = "29";
				formulaire.departJour.focus();
				return false;	
			}
		}
		else
		{
			alert("S.V.P. choisir un jour plus petit que 29 si vous avez choisi le mois de février pour date de départ.");
			formulaire.departJour.value = "28";
			formulaire.departJour.focus();
			return false;
		}
	}
	testLongeur = new String(anArrive);
	if (testLongeur.length == 1)
		formulaire.arriverAnnee.value = "0" + formulaire.arriverAnnee.value;
	testLongeur = anDepart;
	if (testLongeur.length == 1)
		formulaire.departAnnee.value = "0" + formulaire.departAnnee.value;	


	formulaire.txtDateArrivee.value = moisArrive +"/"+ jourArrive +"/"+ "20" + formulaire.arriverAnnee.value +"";
	formulaire.txtDateDepart.value = moisDepart +"/"+ jourDepart +"/"+ "20" + formulaire.departAnnee.value +"";


	if (formulaire.txtDateArrivee.value == formulaire.txtDateDepart.value)
	{
		alert("S.V.P. entrez une date de départ différente de votre date d'arrivée.");
		formulaire.departAnnee.focus();
		return false;
	}

if (formulaire.n_pers.value == "")
{
formulaire.n_pers.focus();
alert("Vous n'avez pas inscrit le nombre de personnes.");
return(false);
}
else
{
	if (Pattern0.test(formulaire.n_pers.value))
	{
		formulaire.n_pers.focus();
		alert("Inscrivez en chiffres le nombre de personnes");
		return(false);
	}
}

if (formulaire.n_ch.value == "")
{
formulaire.n_ch.focus();
alert("Vous n'avez pas inscrit le nombre de chambres.");
return(false);
}
else
{
	if (Pattern0.test(formulaire.n_ch.value))
	{
		formulaire.n_ch.focus();
		alert("Inscrivez en chiffres le nombre de chambres");
		return(false);
	}
}

if (formulaire.n_lits.value == "")
{
formulaire.n_lits.focus();
alert("Vous n'avez pas inscrit le nombre de lits.");
return(false);
}
else
{
	if (Pattern0.test(formulaire.n_lits.value))
	{
		formulaire.n_lits.focus();
		alert("Inscrivez en chiffres le nombre de lits.");
		return(false);
	}
}


return(true);

}
