//fonction DonnerFocus
function DonnerFocus(nom)
{
	document.forms[0].elements[nom].focus();
	document.forms[0].elements[nom].select();
}

//fonction servant à vérifier que le format de la date est correct jj/mm/yyyy****************************************
function verifdate(d) {
  var dateaverifier=d
  // rangement de la date dans des variables
  if (dateaverifier.substring(0,1)=="0"){
         var j=parseInt(dateaverifier.substring(1,2));
      }
      else {
         var j=parseInt(dateaverifier.substring(0,2));
      }
      if (dateaverifier.substring(3,4)=="0"){
         var m=parseInt(dateaverifier.substring(4,5));
      }
      else {
         var m=parseInt(dateaverifier.substring(3,5));
         }
      var a=parseInt(dateaverifier.substring(6,10));
   //si la longueur est différent de 10 , problème
     if (dateaverifier.length != 10) {
         return false;
   }
   //les caratères / ne sont pas aux endroits attendus
   else {
      if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
         return false;
      }
   }
   //l'année n'est pa un chiffre
   if (isNaN(a)) {
      return false;
    }
   //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
     if ((isNaN(m))||(m<1)||(m>12)) {
      return false;
    }
   //test si il s'agit d'une année bissextile pour accepter le 29/02
   if (((a % 4)==0 && (a % 100)!=0) || (a % 400)==0){
         if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))) {
            return false;
        }
   }
    else {
         if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>28)))){
         return false;
      }
   }
   return true;
}

//script pour les champs des cours qui ne sont pas compatibles
function Activer()
{
	window.document.form1.option.disabled=false;
}
	
function Desactiver()
{
	window.document.form1.option.disabled=true;
	window.document.form1.option.checked=false;
}
	
//script de vérification de renseignement de formulaire	
function verif_form(form1)
	{
	if(document.form1.adressemail.value=='')
		{
		alert('Le champ "e-mail" doit être renseigné !');
		document.form1.adressemail.style.background='red';
		document.form1.adressemail.style.color='white';
		document.form1.adressemail.focus();
		return false;
		}
	else if(document.form1.adressemail.value.indexOf('@') == -1)
		{
		alert('Le champ "e-mail" n\'est pas valide !');
		document.form1.adressemail.style.background='red';
		document.form1.adressemail.style.color='white';
		document.form1.adressemail.focus();
		return false;
		}
	else if(document.form1.message.value=='') 
		{ 
		alert('Le champ "message" doit être renseigné !');//message 
		document.form1.message.style.background='red'; 
		document.form1.message.style.color='white'; 
		document.form1.message.focus();//redirection du curseur 
		return false;
		}
//fonction de comparaison de date
//déclaration des variables qui récupéres le contenu des champs_dates
	var datearrivee = document.form1.Date_arrivee.value;
	var datefin = document.form1.Date_depart.value;
		//vérification du format de la date
		if (datearrivee!="")
			{
				var rfocus="Date_arrivee";
			}
			//verifier si le champs d'arriver est au bon format
			if (!verifdate(datearrivee))
				{
					alert ("Votre date d'arrivée n'est pas au bon format JJ/MM/YYYY ou incorrecte");DonnerFocus(rfocus);
					return false;
				}
			
		if (datefin!="")
			{
				var rfocus="Date_depart";
			}
			//verifier si le champs d'arriver est au bon format
			if (!verifdate(datefin))
				{
					alert ("Votre date de départ n'est pas au bon format JJ/MM/YYYY ou incorrecte");
					DonnerFocus(rfocus);
					return false;
				}
		//si les champs arrivee ou depart sont vide je fais une alert
		if (datearrivee=="")
			{
				alert ("Le champ Arrivée est vide");
				return false;
			}
		else
			{
				if (datefin=="")
					{
						alert ("Le champ Départ est vide !");
						return false;
					}
			}
		
		//on répartie la date d'arrivee dans un tableau
		var deb = new Array(3);
			if (datearrivee.substring(0,1)=="0")
				{
					deb[1]=parseInt(datearrivee.substring(1,2));
				}
			else
				{
					deb[1]=parseInt(datearrivee.substring(0,2));
				}
					if (datearrivee.substring(3,4)=="0")
						{
							deb[2]=parseInt(datearrivee.substring(4,5));
						}
					else
						{
							deb[2]=parseInt(datearrivee.substring(3,5));
						}
			deb[3]=parseInt(datearrivee.substring(6,10));
				
		//on repartie la date de fin dans une variable tableau
		finsej = new Array(3);
			if (datefin.substring(0,1)=='0')
				{
					finsej[1]=parseInt(datefin.substring(1,2));
				}
			else
				{
					finsej[1]=parseInt(datefin.substring(0,2));
				}
				if (datefin.substring(3,4)=='0')
					{
						finsej[2]=parseInt(datefin.substring(4,5));
					}
				else
					{
						finsej[2]=parseInt(datefin.substring(3,5));
					}	
				finsej[3]=parseInt(datefin.substring(6,10));
		
//******************************COMPARAISON DES DATES************************************************************************
if (deb[3]>finsej[3])
{
		alert ('L\'année de départ ne peut pas être inférieur à l\'année d\'arrivé.');
		DonnerFocus(rfocus);
		return false;
		}
		else if ((deb[3]==finsej[3]) && (deb[2]>finsej[2]))
		{
		alert ('Le mois de départ ne peut pas être inférieur au mois d\'arrivé.');
		DonnerFocus(rfocus);
		return false;
		}
		else if ((deb[3]==finsej[3]) && (deb[2]==finsej[2]) && (deb[1]>finsej[1]))
		{
		alert ('Le jour de départ ne peut pas être inférieur au jour d\arrivée.');
		DonnerFocus(rfocus);
		return false;
		}
}
