// JavaScript Document
var	prenom;
var	prenomStatus;
var	nom;
var	nomStatus;
var	ldn;
var	ldnStatus;
var	pays;
var	paysStatus;
var	tel;
var	telStatus;
var	gsm;
var	gsmStatus;
var	adresse;
var	adresseStatus;
var	adressesuite;
var	adressesuiteStatus;
var	ville;
var	villeStatus;
var	cp;
var	cpStatus;
var	ddn0;
var	ddn1;
var	ddn2;
var	ddnStatus;
var	pp;
var	ppStatus;
var	np;
var	npStatus;
var	nip;
var	nipStatus;
var	login;
var	loginStatus;
var	mdp;
var	mdpStatus;
var	cmdp;
var	cmdpStatus;
var	email;
var	emailStatus;
var fichier;
var fichierStatus;
var nat;
var perm;

function init(){
cacheDom();
nom.focus();
}

function de(n){
	if(document.getElementById)
		return document.getElementById(n);
	else if (document.all)
		return document.all[ n ];
	else if (document.layers)
		return document.layers[ n ]
}



function cacheDom(){

	prenom=de("prenom");
	prenomStatus=de("prenomStatus");
	nom=de("nom");
	nomStatus=de("nomStatus");
	ldn=de("ldn");
	ldnStatus=de("ldnStatus");
	pays=de("pays");
	paysStatus=de("paysStatus");
	tel=de("tel");
	telStatus=de("telStatus");
	gsm=de("gsm");
	gsmStatus=de("gsmStatus");
	adresse=de("adresse");
	adresseStatus=de("adresseStatus");
	adressesuite=de("adressesuite");
	adressesuiteStatus=de("adressesuiteStatus");
	ville=de("ville");
	villeStatus=de("villeStatus");
	cp=de("cp");
	cpStatus=de("cpStatus");
	ddn0=de("ddn0");
	ddn1=de("ddn1");
	ddn2=de("ddn2");
	ddnStatus=de("ddnStatus");
	pp=de("pp");
	ppStatus=de("ppStatus");
	np=de("np");
	npStatus=de("npStatus");
	nip=de("nip");
	nipStatus=de("nipStatus");
	login=de("login");
	loginStatus=de("loginStatus");
	mdp=de("mdp");
	mdpStatus=de("mdpStatus");
	cmdp=de("cmdp");
	cmdpStatus=de("cmdpStatus");
	email=de("email");
	emailStatus=de("emailStatus");
	fichier=de("permis");
	fichierStatus=de("permisStatus");
	nat=de("nat");
	perm=de("perm");

}
function check_fichier(){
if(nat.value==0 || perm.value==1)
return true;
	
	if(!fichier.value=="")
		{
		   ext = recup_extension(fichier.value);// on appelle la fonction de récupération de l'extension et on récupere l'extension
   
             if(ext==".jpg"||ext==".pdf"||ext==".png"||ext==".bmp"||ext==".doc")
			 {
				setSuccess(fichierStatus,"");
			 return true;
			 }
		else
			{
			setError(fichierStatus,"Format jpg, png, pdf, bmp, doc");
			return false;
			}
		
		}
	else{
		setError(fichierStatus,"Obligatoire");
		return false;}
}

function setSuccess(o,m){
	o.innerHTML="<span class=\"success_msg\">"+m+"</span>";
	o.className="success";
}


function setError(o,m){
	o.innerHTML="<span class=\"error_msg\">"+m+"</span>";
	o.className="error";
}

function check_nom(){
	if(!nom.value=="")
		{
		setSuccess(nomStatus,"");
		return true;
		}
	else{
		setError(nomStatus,"Obligatoire");
		return false;}
}

function check_prenom(){
	check_nom();
	if(!prenom.value=="")
		{
		setSuccess(prenomStatus,"");
		return true;
		}
	else{
		setError(prenomStatus,"Obligatoire");
		return false;}
}


function check_ddn(x){
check_prenom();

	switch (x)
	{
	case "0":
	var exp=new RegExp("[0-3]{1}[0-9]{1}");
	if(!ddn0.value=="")
		{
		 if(exp.test(ddn0.value))
		 	{
		 	if(ddn0.value>31)
				{
				setError(ddnStatus,"Invalide");	
				return false;
				}
			else
				{
				setSuccess(ddnStatus,"");
				return true;
				}
			}
		else
			{
			setError(ddnStatus,"Invalide");	
			return false;
			}
		}
	else
		{
		if(ddn1.value=="" && ddn2.value=="")
			setError(ddnStatus,"Obligatoire");	
		else
			setError(ddnStatus,"Incomplète");	
		return false;
		}
	
	case "1":
	if(check_ddn('0'))
	{
	var exp=new RegExp("[0-1]{1}[0-9]{1}");
	if(!ddn1.value=="")
		{
		 if(exp.test(ddn1.value))
		 	{
		 	if(ddn1.value>12)
				{
				setError(ddnStatus,"Invalide");	
				return false;
				}
			else
				{
				check_ddn('0');
				return true;
				}
			}
		else
			{
			setError(ddnStatus,"Invalide");	
			return false;
			}
		}
		setError(ddnStatus,"Incomplète");
		return false;
	}
	else
		return false;
	case "2":
	if(check_ddn('1'))
	{
	var exp=new RegExp("[1-2]{1}[0-9]{1}[0-9]{1}[0-9]{1}");
	if(!ddn2.value=="")
		{
		 if(exp.test(ddn2.value))
		 	{if(ddn2.value<1901)
				{
				setError(ddnStatus,"Invalide");	
				return false;
				}
			else
			check_ddn('1');
			return true;
			}
		else
			{
			setError(ddnStatus,"Invalide");	
			return false;
			}
		}
	else
		{
		setError(ddnStatus,"Incomplête");
		return false;
		}
	}
	else
	return false;
	}
}

function check_ldn(){
	check_ddn('2');
	if(!ldn.value=="")
		{
		setSuccess(ldnStatus,"");
		return true;
		}
	else{
		setError(ldnStatus,"Obligatoire");
		return false;}
}

function check_pays(){
	check_ldn();
	if(!pays.value=="")
		{
		setSuccess(paysStatus,"");
		return true;
		}
	else{
		setError(paysStatus,"Obligatoire");
		return false;}
}

function check_nationalite()
{
	check_pays();
}


function check_tel(){
	check_nationalite();
	var exp=new RegExp("[0][0-9]{9}");
	if(!tel.value=="")
		{
		if (exp.test(tel.value))
			{
			setSuccess(telStatus,"");
			return true;
			}
		else
			{
			setError(telStatus,"Invalide");
			return false;
			}
		}
	else{
		if(gsm.value!="")
			{
			setSuccess(telStatus,"");
			return true;
			}
		else
			{
			setError(telStatus,"Obligatoire");
			return false;
			}
	}
}

function check_gsm(){
check_nationalite();
	var exp=new RegExp("[0][6][0-9]{8}");
	if(!gsm.value=="")
		{
		if (exp.test(gsm.value))
			{
			setSuccess(gsmStatus,"");
			return true;
			}
		else
			{
			setError(gsmStatus,"Invalide");
			return false;
			}
		}
	else{
		if(tel.value!="")
			{
			setSuccess(gsmStatus,"");
			return true;
			}
		else
			{
			setError(gsmStatus,"Obligatoire");
			return false;}
			}	
	}


function check_adresse(x){
check_tel();
check_gsm();
if(x!='0')
	if(!adresse.value=="")
		{
		setSuccess(adresseStatus,"");
		return true;
		}
	else{
		setError(adresseStatus,"Obligatoire");
		return false;}
}

function check_ville(){
		check_cp();
	if(!ville.value=="")
		{
		setSuccess(villeStatus,"");
		return true;
		}
	else{
		setError(villeStatus,"Obligatoire");
		return false;}
}

function check_cp(){
	check_adresse();
	var exp=new RegExp("[0-9]{5}");
	if(!cp.value=="")
		{
		if (exp.test(cp.value))
			{
			setSuccess(cpStatus,"");
			return true;
			}
		else
			{
			setError(cpStatus,"Invalide");
			return false;
			}
		}
	else{
		setError(cpStatus,"Obligatoire");
		return false;}
}

/*
function check_ppinit(){
	check_cp();
	if(pp.value=="")
		{
		setSuccess(ppStatus,"");
		return true;
		}
	else{
		setError(ppStatus,"Le prénom du parrain est Obligatoire");
		setError(nipStatus,"Le numéro d'identifiant du parrain est Obligatoire");
		return false;}
}*/


function check_pp(){
	check_aem();

if(np.value!="" && pp.value!="")
		{
		setSuccess(npStatus,"");
		setSuccess(ppStatus,"");
		return true;
		}
	else{
		if(np.value=="" && pp.value=="")
		{
		setSuccess(npStatus,"");
		setSuccess(ppStatus,"");
		return true;
		}
		
		if(np.value!="" || pp.value!="")
		{
		if(np.value!="")
			setError(ppStatus,"Obligatoire");
		if(pp.value!="")
			setError(npStatus,"Obligatoire");
			
		return false;
		}
		
		
		}
}

/*
function check_np(){
	check_pp();
	if(np.value=="" && pp.value=="")
		{
		setSuccess(npStatus,"");
		return true;
		}
	else{
		setError(npStatus,"Le prénom du parrain est Obligatoire");
		return false;}
}
*/
function check_nip(){
	check_pp();
	
if(np.value!="" && pp.value!="" && nip.value!="")
	{
	setSuccess(npStatus,"");
	setSuccess(ppStatus,"");
	setSuccess(nipStatus,"");
	return true;
	}
else{
	if(np.value=="" && pp.value=="" && nip.value=="")
		{
		setSuccess(npStatus,"");
		setSuccess(ppStatus,"");
		setSuccess(nipStatus,"");
		return true;
		}
	
	if(np.value!="" || pp.value!="" || nip.value!="")
		{
			if(np.value=="")
				setError(npStatus,"Obligatoire");
			else
				setSuccess(npStatus,"");
			if(pp.value=="")
				setError(ppStatus,"Obligatoire");
			else
				setSuccess(ppStatus,"");
			if(nip.value=="")
				setError(nipStatus,"Obligatoire");
			else
				setSuccess(nipStatus,"");

	
		return false;
		}
	}
		
}

function check_login(){
	check_nip();
	if(!login.value=="")
		{
		if(login.value.length<6)
			{
			setError(loginStatus,"6 caractères minimum");
			return false;
			}
		else
			{
			setSuccess(loginStatus,"");
			return true;
			}
		}
	else{
		setError(loginStatus,"Obligatoire");
		return false;}
}

function check_mdp(){
	check_login();
	if(!mdp.value=="")
		{
		if(mdp.value.length<6)
			{
			setError(mdpStatus,"6 caractères minimum");
			return false;
			}
		else
			{
			setSuccess(mdpStatus,"");
			return true;
			}
		}
	else{
		setError(mdpStatus,"Obligatoire");
		return false;}
}

function check_cmdp(){
	check_mdp();
	if(!cmdp.value=="")
		{
		if(cmdp.value!=mdp.value)
			{
			setError(cmdpStatus,"Les mots de passe ne sont pas identiques");
			return false;
			}
		else
			{
			setSuccess(cmdpStatus,"");
			return true;
			}
		}
	else{
		setError(cmdpStatus,"Obligatoire");
		return false;}
}

function check_aem(){
		check_ville();
	
	var filter=/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!email.value=="")
		{
		if(filter.test(email.value))
			{
			setSuccess(emailStatus,"");
			return true;
			}
		else
			{
			setError(emailStatus,"Invalide");
			return false;
			}
		}
	else{
		setError(emailStatus,"Obligatoire");
		return false;}
}

function recup_extension(fichier) // fonction de récupération extension fichier
   {
         if (fichier!="")// si le champ fihier n'est pas vide
         {
            nom_fichier=fichier;// on récupere le chemin complet du fichier
            nbchar = nom_fichier.length;// on compte le nombre de caractere que compose ce chemin
            extension = nom_fichier.substring(nbchar-4,nbchar); // on récupere les 4 derniers caracteres
            extension=extension.toLowerCase(); //on uniforme les caracteres en minuscules au cas ou cela aurait été écris en majuscule...
            return extension; // on renvoi l'extension vers la fonction appelante
         }
   }

function check_all(){
check_nom();
check_prenom();
check_ddn('2');
check_ldn();
check_pays();
check_tel();
check_gsm();
check_adresse();
check_ville();
check_cp();
check_aem();
check_pp();
check_nip();
check_login();
check_mdp();
check_cmdp();
check_fichier();


if(check_nom()&&check_prenom()&&check_ddn('2')&&check_ldn()&&check_pays()&&check_tel()&&check_gsm()&&check_adresse()&&check_ville()&&check_cp()&&check_aem()&&check_pp()&&check_nip()&&check_login()&&check_mdp()&&check_cmdp()&& check_fichier())
	return true;
		else
	
	return false;
	

}
