function validerFormulaire()
{	
	var champValide = true;
	// Champs obligatoires à remplir dans le formulaire
	var champObligatoire = new Array ('entreprise','nom','prenom','courriel','telephone','nbrePersonnes','nbreChambres');

	// Alertes des champs obligatoires à remplir dans le formulaire
	var alertChampObligatoire = new Array ( );
	alertChampObligatoire[0] = 'Veuillez remplir le champ "Entreprise"';
	alertChampObligatoire[1] = 'Veuillez remplir le champ "Nom"';
	alertChampObligatoire[2] = 'Veuillez remplir le champ "Prénom"';
	alertChampObligatoire[3] = 'Veuillez remplir le champ "Courriel"';
	alertChampObligatoire[4] = 'Veuillez remplir le champ "Téléphone"';
	alertChampObligatoire[5] = 'Veuillez remplir le champ "Nombre de personne(s)"';
	alertChampObligatoire[6] = 'Veuillez remplir le champ "Nombre de chambre(s)"';
	
	// On vérifie si les champs obligatoires sont remplis dans le formulaire
	for (i=0 ; i < champObligatoire.length ; i ++)
	{
		if (document.forms[0][champObligatoire[i]].value == "" || document.forms[0][champObligatoire[i]].value == " ")
		{
			alert (alertChampObligatoire[i]);
			document.forms[0][champObligatoire[i]].focus();
			champValide = false;
			break;
		}
	}
	
	if (champValide == true)
	{
		var comparaison = comparerDate();

		if (comparaison != false)
		{
			// On vérifie si le courriel est valide
			var courriel = validerCourriel (document.forms[0].courriel.value);		
			if (courriel != 0)
			{
				alert ('Veuillez entrer une adresse de courriel valide dans le champ "Courriel"');
				document.forms[0].courriel.focus();					
				document.forms[0].courriel.select();
			}
			else
			{
				document.forms[0].submit();					
			}
		}
	}
}

function validerNombre(champ)
{
	if (isNaN(document.forms[0][champ].value) && document.forms[0][champ].value != "" && document.forms[0][champ].value != " ")
	{
		alert ("Veuillez entrer un chiffre valide");	
		document.forms[0][champ].focus();
		document.forms[0][champ].value = "";
	}
}

function changerDate(champ,jour,mois,annee)
{
	var date = new Date();
	if (champ == "arrivee")
	{
		document.forms[0].dateArrivee.selectedIndex = jour - 1;
		document.forms[0].moisArrivee.selectedIndex = mois - 1;
		document.forms[0].anneeArrivee.selectedIndex = annee;
	}
	else
	{
		document.forms[0].dateDepart.selectedIndex = jour - 1;
		document.forms[0].moisDepart.selectedIndex = mois - 1;
		document.forms[0].anneeDepart.selectedIndex = annee;	
	}
}

// Tableau donnant le nombre de journées par mois
var nbreJoursMois = new Array();
nbreJoursMois[0] = 31;
nbreJoursMois[1] = 28;
nbreJoursMois[2] = 31;
nbreJoursMois[3] = 30;
nbreJoursMois[4] = 31;
nbreJoursMois[5] = 30;
nbreJoursMois[6] = 31;
nbreJoursMois[7] = 31;
nbreJoursMois[8] = 30;
nbreJoursMois[9] = 31;
nbreJoursMois[10] = 30;
nbreJoursMois[11] = 31;
	
// Fonction qui valide l'existence de la date sélectionnée par rapport au mois et l'année sélectionné
function validerDate(champ,date,mois,annee)
{
	// Si la date choisie est supérieure au nombre de jours existants dans ce mois...
	if (date > nbreJoursMois[mois - 1])
	{
		// S'il s'agit d'une année bisextile et que le mois choisi est février...
		if ((mois == 2) && (annee % 4 == 0))
		{
			if (date > 29)
			{
				document.forms[0]["date" + champ].selectedIndex = 0;
				document.forms[0]["mois" + champ].selectedIndex = parseInt(mois);				
			}			
		}
		else
		{
			document.forms[0]["date" + champ].selectedIndex = 0;
			document.forms[0]["mois" + champ].selectedIndex = parseInt(mois);
		}	
	}
}

// Fonction qui compare et analyse la date d'arrivée et de départ
function comparerDate()
{	
	var valide = true;

	var aujourdhui = new Date();
	var minute = 60*1000;
	var heure = minute * 60;
	var journee = heure * 24;

	var dateArrivee = new Date((parseInt(document.forms[0].moisArrivee.options[document.forms[0].moisArrivee.selectedIndex].value)).toString()  + "/" + parseInt(document.forms[0].dateArrivee.options[document.forms[0].dateArrivee.selectedIndex].value).toString()+  "/" + parseInt(document.forms[0].anneeArrivee.options[document.forms[0].anneeArrivee.selectedIndex].value).toString());
    var dateDepart = new Date((parseInt(document.forms[0].moisDepart.options[document.forms[0].moisDepart.selectedIndex].value)).toString() + "/" + parseInt(document.forms[0].dateDepart.options[document.forms[0].dateDepart.selectedIndex].value).toString() + "/"  +  parseInt(document.forms[0].anneeDepart.options[document.forms[0].anneeDepart.selectedIndex].value).toString());
	var comparaison = (dateArrivee - aujourdhui)/journee ;

	// Si la date d'arrivée est inférieure à la date d'aujourd'hui...
	if (comparaison < -1)
	{
		alert ("La date d'arrivée doit être supérieure ou égale à la date d'aujourd'hui");
		document.forms[0].dateArrivee.focus();
		valide = false;
    }
    else 
	{
		if (dateDepart <= dateArrivee)
		{
			alert("La date de départ doit être supérieure à la date d'arrivée");
			document.forms[0].dateDepart.focus();
			valide = false;
		}
    }
	return valide;	
}