// Script proposé par Marcus Eric - V1 : 2005
// V2 : 08/2006

// Enleve le '0' des nb < 10

function ConvNum(tabDeDate) 
{
	for (i=0; i<tabDeDate.length; i++)
		tabDeDate[i] = (tabDeDate[i].charAt(0)=='0')?tabDeDate[i].charAt(1):tabDeDate[i];
return tabDeDate;
}



// Retourne true si valeur_date est postérieure à la date du jour

function DateFuture(valeur_date)
{
	var tabDate = valeur_date.split('/');
	var datAujourdhui = new Date();
	tabDate = ConvNum(tabDate);
	if (valeur_date.length > 0)
	{ 
		var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0]));
		if (datTest_Date <= datAujourdhui) 
			return false;
	}
	return true;
}



// Retourne 1 si valeur_date1 < valeur_date2
// 0 si valeur_date1 = valeur_date2
// -1 si valeur_date1 > valeur_date2

function Compare_Dates(valeur_date1, valeur_date2)
{
	var tabDate1 = valeur_date1.split('/');
	tabDate1 = ConvNum(tabDate1);
	var datTest_Date1 = new Date(parseInt(tabDate1[2]), parseInt(tabDate1[1])-1, parseInt(tabDate1[0]));
	var tabDate2 = valeur_date2.split('/');
	tabDate2 = ConvNum(tabDate2);
	var datTest_Date2 = new Date(parseInt(tabDate2[2]), parseInt(tabDate2[1])-1, parseInt(tabDate2[0]));
	var nbjours = (datTest_Date2 - datTest_Date1) / (1000 * 60 * 60 * 24); // date exprimée en ms
	// si mois !=juillet et mois != Aout et (document.formulaire.type_de_location.value != Camping) alors min séjour = 2nuits
	var MinSejour = 7;
	if ((document.formulaire.type_de_location.value != "Camping")&&(parseInt(tabDate2[1])!= 7)&&(parseInt(tabDate2[1])!= 8))
		MinSejour = 2;
	if(nbjours<=0)
	{
		alert('La date de départ doit être supérieure à la date d\'arrivée'); 
		//document.formulaire.date_depart.focus();
	}
	else
	{
		if (nbjours<MinSejour)
		{
			alert('Séjour minimum: '+MinSejour+' nuits'); 
			//document.formulaire.date_depart.focus();
		}
	}
	return (nbjours>=MinSejour)?"1":(nbjours<=0)?"-1":"0";
}


// Vérifie le format d une date saisie

function Verif_Date(valeur_date)
{ 
	var tabDate = valeur_date.split('/');
	tabDate = ConvNum(tabDate);
	var datTest_Date = new Date(parseInt(tabDate[2]), parseInt(tabDate[1])-1, parseInt(tabDate[0]));
	if (valeur_date.length>10)
	{ 
		alert('Ne dois pas dépasser 10 caractères.');
		return false;
	}
	for (i=0; i<valeur_date.length; i++)
	{ 
		if (valeur_date.charAt(i) == ' ')
		{ alert("La date ne doit pas contenir d\'espaces.");
		  return false;
		}
	}
	if (valeur_date.length > 0)
	{ 
		if ((parseInt(tabDate[0]) != datTest_Date.getDate()) || (parseInt(tabDate[1]) != parseInt(datTest_Date.getMonth())+1))
		{ 
			alert("Veuillez saisir la date au format 'J/M/AAAA' ou JJ/MM/AAAA.\n\nex : 6/6/2004 ou 06/06/2004");
			return false;
		}
		if ((tabDate[2].length != 4) || (parseInt(tabDate[2]) < 1980) || (parseInt(tabDate[2]) > 2099))
		{ 
			alert("Veuillez saisir l'année sur 4 chiffres.\n\nElle doit être comprise entre 1980 et 2099.");
			return false;
		}
	}
	if (!DateFuture(valeur_date)) 
	{
		alert('La date doit être postérieure à la date du jour.');
		return false;
	}
	return true;
}


function ControleDates() 
{
	var strMsg='';
	if (Verif_Date(document.formulaire.date_arrivee.value) && Verif_Date(document.formulaire.date_depart.value)) 
	{		
		switch (Compare_Dates(document.formulaire.date_arrivee.value, document.formulaire.date_depart.value)) 
		{
			case "-1" : //alert('La date de départ doit être supérieure à la date d\'arrivée'); 
						document.formulaire.date_depart.focus();
						return false;
						break;
			case "0"  : //alert('Séjour minimum: 7 nuits'); 
						document.formulaire.date_depart.focus();
						return false;
						break;
			case "1"  : //alert('OK:\nSéjour supérieur à 7 jours '); 
						return true;
						break;
			default   : alert('Comparaison impossible');
						document.formulaire.date_arrivee.focus();
						return false;
						break;
		}
		
	}
	else 
	{
	document.formulaire.date_arrivee.focus();
	return false;
	}
}

function verification()
{
 if(document.formulaire.nom.value == "")  {
   alert("Veuillez entrer votre nom svp");
   document.formulaire.nom.focus();
   return false;
  }
 else
 if(document.formulaire.prenom.value == "") {
   alert("Veuillez entrer votre prenom svp");
   document.formulaire.prenom.focus();
   return false;
  }
 else
 if(document.formulaire.telephone.value == "") {
   alert("Veuillez entrer votre numéro de téléphone svp");
   document.formulaire.telephone.focus();
   return false;
  }
 else
 if(document.formulaire.email.value == "") {
   alert("Veuillez entrer votre adresse electronique svp");
   document.formulaire.email.focus();
   return false;
  }
 else
 if(document.formulaire.email.value.indexOf('@') == -1) {
   alert("Adresse electronique incorrecte");
   document.formulaire.email.focus();
   return false;
  }
 else
 if(document.formulaire.date_arrivee.value == "") 
 {
   alert("Veuillez entrer une date d'arrivée svp");
   document.formulaire.date_arrivee.focus();
   return false;
 }
 else
 if(document.formulaire.date_depart.value == "") 
 {
   alert("Veuillez entrer une date de départ svp");
   document.formulaire.date_depart.focus();
   return false;
 }
 else
 if(!ControleDates()) return false;
return true
}

