///////////////////////////////////////////////////////////////////
// Controle qu'un champ obligatoire du formulaire est bien rempli
// --> renvoie true si le champ est saisi
// Sinon : message d'alerte + focus sur le champ, renvoie false
///////////////////////////////////////////////////////////////////
function IsEmpty(el, el_name)
{
if (el.value == null || el.value.length < 1)
	{
	alert("Vous n'avez pas rempli le champ " + el_name);
	el.focus();
	return true;
	}
return false;
}

///////////////////////////////////////////////////////////////////
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
///////////////////////////////////////////////////////////////////
     
function CheckDate(d, d_name) 
{
      var separateur="/"; // separateur entre jour/mois/annee
      var j=(d.value.substring(0,2));
      var m=(d.value.substring(3,5));
      var a=(d.value.substring(6));
      var ok=1;
      
      if ((d.value.length != 10) && (ok == 1))
		{
		alert("La " + d_name + " n'est pas correcte."); 
		ok = 0;
		}

      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) )
		{
		alert("Le jour de la " + d_name + " n'est pas correct."); 
		ok = 0;
		}
      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) 
		{
                alert("Le mois de la " + d_name + " n'est pas correct."); 
		ok = 0;
		}
      if ( ((isNaN(a)) || (a < 1900)) && (ok==1) ) 
		{
         	alert("L'année de la " + d_name + " n'est pas correcte."); 
		ok=0;
      		}
      
	if ( ((d.value.substring(2,3)!=separateur)||(d.value.substring(5,6)!=separateur)) && (ok==1) ) 
		{
         	alert("Les séparateurs de la " + d_name + " doivent être des "+separateur); 
		ok=0;
      		}
      
	if (ok==1) 
		{
		var current_date = new Date();
         	var d2=new Date(a,m-1,j);
         	j2=d2.getDate();
         	m2=d2.getMonth()+1;
         	a2=d2.getFullYear();
         	
         	if ( (j!=j2)||(m!=m2)||(a!=a2) ) 
			{
            		alert("La " + d_name + " " + d.value + " n'existe pas !");
            		ok=0;
         		}
		else
			if ((d2 > current_date) )
				{
				alert("La " + d_name + " doit être inférieure à la date du jour !");
            			ok=0;
         			} 
      		}
      if (ok == 0)
	{
	d.focus();
	return false;
	}
       return true;
   }

function CheckEmail(mail,mail_name,obl)
{
var posa = mail.value.indexOf("@");
var posp = mail.value.lastIndexOf(".");

      if (mail.value.length > 0)
	if ((posa > 0) && (posp >0) && (posp > posa)) 
	        return true; 
      	else
		{
		alert ("Le champ " + mail_name + " n'est pas valide");
		mail.focus();
		return false;
		}
      else 
	if (obl == 1)
	{
         alert("Le champ " + mail_name + " est obligatoire !");
	 mail.focus();
         return false;
      	}
	else
		return true;
   }

///////////////////////////////////////////////////////////////////
// Cette fonction vérifie le (111)123-4567
///////////////////////////////////////////////////////////////////
function CheckTel(tel,lib)
{
var numtel, ind, tel1, tel2;
numtel = tel.value;
if (tel.value.length < 1 )
	{
	alert("Le champ " + lib + " est obligatoire !");
	tel.focus();
	return false;
	}
if (tel.value.indexOf("(") != 0 || tel.value.indexOf(")") !=4 || tel.value.indexOf("-")!= 8 || tel.value.length !=13)
	{
	alert("Le champ " + lib + " n'est pas valide. Le format doit être (111)111-1111");
	tel.focus();
	return false;
	}
ind = tel.value.substring(1,4);
tel1 = tel.value.substring(5,8);
tel2 = tel.value.substring(9,13);
if (isNaN(ind) || isNaN(tel1) || isNaN(tel2))
	{
	alert("Le champ " + lib + " n'est pas valide. Le format doit être (111)111-1111");
	tel.focus();
	return false;
	}


return true;
      
   }

function CheckCP(cp,libcp)
{
var chainealpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

if (IsEmpty(cp,libcp))
	return false;

while (cp.value.indexOf(" ") >= 0)
	cp.value = cp.value.substr(0,cp.value.indexOf(" ")) + cp.value.substr(cp.value.indexOf(" ")+1,cp.value.length);

if (cp.value.length != 6)
	{
	alert("Le Champ " + libcp + " n'est pas valide");
	cp.focus();
	return false;
	}

for(i=0; i < cp.value.length; i++)
	{
	switch (i%2)
		{
		case 0 :
			if (chainealpha.indexOf(cp.value.charAt(i).toUpperCase()) < 0)
				{
				alert("Le Champ " + libcp + " n'est pas valide");
				cp.focus();
				return false;
				}
			break;
		default :
			if (isNaN(cp.value.charAt(i)))
				{
				alert("Le Champ " + libcp + " n'est pas valide");
				cp.focus();
				return false;
				}
		}	
		
	}
	
return true;
 
}




