// Pour vérifier un formulaire
//
// Dans le input il suffit de mettre verif="yes" pour que le champs soit vérifié
//
// Et si c'est un email il faut rajouter email="true".
// Et si password pass="yes" ( un minimum de 5 caractères ). lpass="5" caractère minimale
// 
// A faire : Un numérique ou une date
//

function check_form2(t,error_msg,submit_action)
{
	form_name=t.form.name	

	fl=document.forms[form_name].elements.length

	error_msg=""
	error_total=0
	for (i=0;i<fl;i++)
	{
			//
			// Mise en cache du nom de l'élement si .txtform n'existe pas (undefined)
			//
			elm_txt=document.forms[form_name].elements[i].name;
			if ( document.forms[form_name].elements[i].txtform!=undefined ) 
			{ 
				elm_txt=document.forms[form_name].elements[i].txtform;
			}
			
			// Si le champs est dans ce mode on verifie:
			// S'il est vide on ne fait rien.
			// S'il n'est pas vide alors on le place a "yes"
			empty_mode=0
			if ( document.forms[form_name].elements[i].verif=="can_be_empty")
			{
				empty_mode=1
				document.forms[form_name].elements[i].verif=="yes"				
			}
			
			//
			// Pour un Champs de type "SELECT-MULTIPLE"
			//
			if ( document.forms[form_name].elements[i].verif=="yes" && document.forms[form_name].elements[i].type=="select-multiple" )
			{
				mylength=document.forms[form_name].elements[i].options.length
				if (mylength==0)
				{
						error_msg=error_msg+" - "+ elm_txt +" (Ne peut pas être vide)\n";
						error_total=error_total+1;															
				}
			}
					
			//
			// Pour un Champs de type "SELECT-ONE"
			//
			else if ( document.forms[form_name].elements[i].verif=="yes" && document.forms[form_name].elements[i].type=="select-one" )
			{
				if ( document.forms[form_name].elements[i].value=="-1" )
				{
						error_msg=error_msg+" - "+ elm_txt +" (Faites un choix)\n";
						error_total=error_total+1;										
				}
			}
			//
			// Pour un Champs de type "FILE"
			//
			else if ( document.forms[form_name].elements[i].verif=="yes" && document.forms[form_name].elements[i].type=="file" )
			{
				if ( document.forms[form_name].elements[i].value=="" )
				{
					if (empty_mode==0)
					{
						// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+"\n";
						error_msg=error_msg+" - "+ elm_txt +"\n";
						error_total=error_total+1;					
					}
				}
				else
				{
					// Pour avoir les extensions valide
					ext=document.forms[form_name].elements[i].ext;
					// alert(ext)
					ext_split=ext.split("-");
					// alert( ext_split.length );
					
					// Pour avoir l'extension du fichier
					file=document.forms[form_name].elements[i].value;
					// alert("file : " + file )
					// Pour avoir le name
					n_image=document.forms[form_name].elements[i].name;					
					// alert("n_image : " + n_image )
					// alert(file)
					file_split=file.split(".");
					// alert( file_split.length );
					
					if ( document.forms[form_name].elements[i].value=="")
					{				
						// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+"\n";
						error_msg=error_msg+" - "+ elm_txt +"\n";
						error_total=error_total+1;
					}
					else
					{
						// ==1 pas d'extension
						// => alors on verifie l'extension du fichier par rapport a celle que l'on désire avoir
						
						if ( file_split.length==1 )
						{
							// error_msg=error_msg+" - "+n_image+" (Nom de fichier incorrect)\n";
							error_msg=error_msg+" - "+ elm_txt +" (Nom de fichier incorrect)\n";
							error_total=error_total+1;							
						}
						else
						{
							sw=0;
							for(i=0;i<ext_split.length;i++)
							{
								// alert("ext_split[i] : "+ext_split[i]+" , file_split[1] : "+file_split[(file_split.length-1)])
								if (ext_split[i]==file_split[(file_split.length-1)] )
								{
									sw=1;
								}
							}	
							
							// alert("sw : "+sw)
							if (sw==0)
							{
								// error_msg=error_msg+" - "+n_image+" (Extension non valide)\n";
								error_msg=error_msg+" - "+ elm_txt +" (Extension non valide)\n";
								error_total=error_total+1;																					
							}
						}
					}
				}				
			}
			//
			// Pour un champs de type password
			//
			else if ( document.forms[form_name].elements[i].verif=="yes" && document.forms[form_name].elements[i].pass=="yes" )
			{
				if ( document.forms[form_name].elements[i].value=="" )
				{
					// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+"\n";
					error_msg=error_msg+" - "+ elm_txt +"\n";
					error_total=error_total+1;					
				}
				else
				{
					lp=document.forms[form_name].elements[i].lpass
					lp=parseInt(lp);
					p=document.forms[form_name].elements[i].value
					if ( p.length<lp )
					{
						// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+" ( Ne Contient pas pas assez de caractère, minimum "+lp+" caractères )\n";
						error_msg=error_msg+" - "+ elm_txt +" ( Ne contient pas assez de caractère ,minimum "+lp+" caractères)\n";
						error_total=error_total+1;																
					}
				}				
			}
			//
			// Pour un champs de type email
			//
			else if ( document.forms[form_name].elements[i].verif=="yes" && document.forms[form_name].elements[i].email=="yes" )
			{
				if ( document.forms[form_name].elements[i].value=="" )
				{
					// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+"\n";
					error_msg=error_msg+" - "+ elm_txt +"\n";
					error_total=error_total+1;					
				}
				else
				{
					p=document.forms[form_name].elements[i].value;					
					f=check_email(p)
															
					if (f==false)
					{
						// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+" ( Doit etre un e-mail )\n";
						error_msg=error_msg+" - "+ elm_txt +" (Doit etre un e-mail)\n";
						error_total=error_total+1;										
					}
				}
			}
			//
			// Pour tout les autres...
			//
			else if ( document.forms[form_name].elements[i].verif=="yes" && document.forms[form_name].elements[i].value=="" )
			{			
				// error_msg=error_msg+" - "+document.forms[form_name].elements[i].name+"\n";
				error_msg=error_msg+" - "+ elm_txt +"\n";
				error_total=error_total+1;
			}
	}
	
	if ( error_msg!="")
	{
			error_head_msg="Attention le champ suivant \nne peut pas être vide:\n\n"
			if ( error_total>1)
			{
					error_head_msg="Attention les champs suivants\nne peut pas être vides:\n\n"
			}
			
			if ( submit_action==1)
			{
				alert(error_head_msg+error_msg)
			}
			else
			{
				return error_head_msg+error_msg;	
			}
	}
	else
	{
		if ( submit_action==1)
		{
			document.forms[form_name]	.submit();
		}
		else
		{
			return true;	
		}
	}	
}

//
// Fonction qui va remettre un champs txt en majuscule
//

function all_uppercase(p)
{
	v=p.value;
	s=p.name;
	n=p.form.name	
	v=v.toUpperCase();

	eval('document.forms.'+n+'.'+s+'.value=v');	
}

//
// Fonction qui va remettre un champs txt en minuscule
//

function all_lowercase(p,f)
{
	v=p.value;
	s=p.name;
	n=p.form.name
	v=v.toLowerCase();

	eval('document.forms.'+n+'.'+s+'.value=v');	
}

//
//
//
function input_capitalize(t)
{
	s=t.value
	// alert(s)
	first_char=s.charAt(0);
	// alert(first_char)
	first_char=first_char.toUpperCase();
	// alert(first_char)
	rest=s.substr(1,(s.length-1))
	rest=rest.toLowerCase();
	t.value=first_char+rest
}

//
// Fonction qui va verifier si une adresse email est correcte.
//

function check_email(p)
{
	z=true;
	pattern = /^([A-Za-z0-9\.\-_]*)(@)([A-Za-z0-9\.\-]*)(\.)([a-z]{2,3})$/;
	//             /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
	var strEmail = p
	bTest = pattern.test(strEmail);

	if (!bTest)
	{
		z=false;
	}

	return z
	// if (z==1) alert('pas bon');
}

