
function verifietout()
{

	
	var i = 0;
	
	while (document.formulaire.elements[i] != null)
	{
		if (!(verifiechamps(document.formulaire.elements[i].value, document.formulaire.elements[i].name)))
		{return 0;}
		i++;
	}
	//if (!(sta_sexe_chk)){alert("Veuillez cocher le champ civilité"); document.formulaire.sta_sexe[1].focus();return (0);}
	return 1;
}

function verifiechamps(valeur, champs)
{
	var txt = "";
	var type = "";
	var nbmin = -1;
	switch(champs)
	{
		case "nom": txt = "Votre nom"; type = "txt"; nbmin = 1; break; 
		case "prenom": txt = "Votre prénom"; type = "txt"; nbmin = 1; break; 
		case "adresse": txt = "Votre adresse"; type = "pno"; nbmin = 1; break;
		case "cp": txt= "Votre code postal"; type = "num"; nbmin = 1; break;
		case "tel": txt = "Votre téléphone";  type = "num"; nbmin = 1; break;
		
		case "cv": txt = "Votre CV"; type = "pno"; nbmin = 1; break;
		case "motiv": txt = "Votre lettre de motivation"; type = "pno"; nbmin = 1; break;
		case "mail": txt = "votre adresse de courriel"; type = "mail"; nbmin = 1; break;
		
	}	
	if(nbmin != -1) {return (verifiechampspecifique( valeur, champs, txt, type, nbmin));}
	else{return 1;}
	 
	
	
}

function verifiechampspecifique( valeur, champs, titre, type, nbmin)
{
	longueur = valeur.length ;
	
	
	if(nbmin && (longueur < nbmin ))
	{
		if(nbmin == 1) {alert("Le champ "+titre+" est obligatoire");}
		else {alert("Il manque "+eval(nbmin-longueur)+"  caratère(s) dans "+titre);}
		eval ("document.formulaire."+champs+".focus()");
		eval ("document.formulaire."+champs+".select()");
		return (0);	 
	}
	
	switch(type)
	{
		case 'txt': 
		case 'num':
		case 'mail':
			eval("result = verif"+type+"(valeur, nbmin);");
			break;
		default: return 1; break;
	}
	if(result[0])
	{
		alert(result[0]+" caratère(s) non valide(s) dans "+titre);
		eval ("document.formulaire."+champs+".focus()");
		eval ("document.formulaire."+champs+".value =\""+result[1]+"\"");
		eval ("document.formulaire."+champs+".select()");
		return (0);
	}
	return 1;
}
function verifmail(a)
{
	var test=0;
	var sortie="";
	
	if (a==""){return (Array(0, a))};
	testm = false ;
	for (var j=0 ; j<(a.length) ; j++)
	{
		c = a.charAt(j);
		if (c =='@'&&j!= 0)
		{
			if (j<(a.length-4))
			{
				for (var k=j ; k<(a.length-2) ; k++)
				{
					if (a.charAt(k)=='.') testm = true;
				}
			}
		}
		else
		{ 
			if (c != "." && c != "-")
			{
				texte = c+" " ;
				expression1 = (/\w.+/i); //tous les caractères - les spéciaux + les chiffres
				if(!(expression1.test(texte))){test++;c="";}
			}
		}
		sortie = sortie + c;
	}
	if (testm==false) alert('Votre adresse e-mail est incorrecte.');
	else if (test) return(Array(test, sortie)); 
	return (Array(0, a));
}
function veriftxt(a)
{
	var test=0;
	var sortie = "" ;
	var c="";
	var texte="";
	var expression1="";
	var expression2="";
	var j=0;
	
	for ( j=0 ; j<(a.length) ; j++)
	{
		c = a.charAt(j);
		if( (c != " ")&&(c != "-")) 
		{
			texte = StringStripAccents(c+" ") ;
			expression1 = (/\w.+/i); //tous les caractères - les spéciaux + les chiffres
			expression2 = (/\s.+/i);
			if((!(expression1.test(texte)))||(expression2.test(texte))){test++;c=" ";}
		}
		sortie = sortie + c; 
	}
	return(Array(test, sortie));
}

	
function verifnum(a)
{
	var test = 0;
	var cout ;
	var sortie = "" ;
	var c="";
	var expression2;
	
	for (var j=0 ; j<(a.length) ; j++)
	{
		c = a.charAt(j);
		expression2 = (/\d/);
		if(!(expression2.test(c))){test++; c="0";} 
		sortie = sortie + c; 
	}
	return(Array(test, sortie));
}

function StringStripAccents (s)
{
	var sNoAccent = new String

	// Tables des accents

	var sFrom	= "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñœ"; 
	var sTo		= "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNno"; 

	// Pour chaque caractère

	var i, j
	var c

	for (i = 0; i < s.length; i ++)
	{
		// On compare le caractère courant à ceux de la table
	
		c = s.charAt (i)
		j = 0
	
		while ((j < sFrom.length) && (c != sFrom.charAt (j)))
		{
			j ++
		}
		
		// Est-ce que le caractère est accentué ?
		
		if (j != sFrom.length)
		{
			// Oui, on le retire
		
			sNoAccent = sNoAccent + sTo.charAt (j)
		}
		else
		{
			sNoAccent = sNoAccent + c
		}
	}
	
	// Retourne la chaîne sans les caractères accentués
	
	return (sNoAccent)
}