
var message="";
var valeur_retour=true;


window.onload = verifJavascriptActif;


function verifJavascriptActif()
{
	if (document.formulaire) {
		if (document.getElementById('frm_javascript_enabled')) {
			document.getElementById('frm_javascript_enabled').value="true";							
		}
	}
}


function ucwords(nom){
	return nom.substr(0,1).toUpperCase()+nom.substr(1,nom.length);
}


function epurerNomElement(nom){
	
	var chaine = nom.replace("frm_","");
	chaine = chaine.replace("_"," ");
	return ucwords(chaine);
}

function isNumeric(chaine)
{
	var exp = new RegExp("^[0-9-.]*$","g");
	return exp.test(chaine);
}


function isDateFrancaise(chaineDate) { 

	if (chaineDate == "") {
		return false ;
	}

	var ladate = (chaineDate).split("/");
	alert("date : "+ ladate.length);
	if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])) || ladate[0].length < 2 || ladate[1].length < 2 || ladate[2].length < 4) { 
		return false 
	}
	else {
		return true;
	}
} 
	

function verifPassword($pwd) 
{
	if ($pwd.length < 6)
	{
		return false;
	}
	
}
	

function verifChampsTexte(element)
{

	if (element.value == "")
	{
		if (document.getElementById('oblig_'+element.name)) {
			message+="- élément ' "+ epurerNomElement(element.name)+" ' obligatoire : non saisi\r\n";
		}
	}
	else 
	{
		if (element.name.match(/email/) !=null)
		{
			if (!verifFormatEmail(element.value)) {
				message += "- élément ' "+ epurerNomElement(element.name)+" ' : mal formaté\r\n";
			}
			else {
				document.getEementById(element.id).value = document.getEementById(element.id).value.toLowerCase();
			}
		}
		
		if (element.name.match(/telephone/) !=null)
		{ 
			if (element.value.length <10) {
				message += "- élément ' "+ epurerNomElement(element.name)+" ' : doit contenir 10 chiffres\r\n";
			}
			if (!isNumeric(element.value)) {
				message += "- élément ' "+ epurerNomElement(element.name)+" ' : ne doit contenir que des chiffres\r\n";
			}
		}
		
		if (element.name.match(/date/) !=null)
		{
			if (!isDateFrancaise(element.value)) {
				message += "- élément ' "+ epurerNomElement(element.name)+" ' : mal formaté ou erroné\r\n";	
			}
		}	
		
		if (element.name.match(/password/) !=null)
		{
			if (!verifPassword(element.value))
			{
				message += "- élément ' "+ epurerNomElement(element.name)+" ' , obligatoire : pas assez long  ou trop simple\r\n";		
			}
		}
	}
}


function verifListeDeroulante(element)
{
	var is_selected=false;
	
	if (document.getElementById('oblig_'+element.name))
	{
		for (var i=0; i<= element.options.length-1; i++)
		{
			if (element.options[i].selected) {
				is_selected =true;	
				no_rang = i;
			}
		}
		
		if (!is_selected || no_rang=="0") {
			message += "- élément '"+ epurerNomElement(element.name)+"' obligatoire : aucune valeur sélectionnée \r\n";
		}
	}
}

function verifListeRadios(element)
{
	var is_checked =false;
	var liste = document.formu.elements[element.name];
	var nombre = liste.length;
	
	if (document.getElementById('oblig_'+element.name))
	{	
		for (var i=0; i < parseInt(nombre); i++)
		{
			if (liste[i].checked) {
				is_checked=true;
			}
		}
		
		if (!is_checked ) {
			message += "- liste de boutons radio '"+element.name+"' n\'a aucune option sélectionnée \r\n";
		}
	}		
}



function verifListeCheckbox(element)
{
	var is_checked =false;
	var liste = document.formu.elements[element.id];
	var nombre = liste.length;
	
	if (document.getElementById('oblig_'+element.name))
	{	
		for (var i=0; i < parseInt(nombre); i++)
		{
			if (liste[i].checked) {
				is_checked=true;
			}
		}
		
		if (!is_checked ) {
			message += "- liste de cases à cocher '"+element.name+"' n\'a aucune option sélectionnée \r\n";
		}
	}		
}


function verifierFormulaire()
{
	var element;
	for (var i=0; i<=document.formulaire.elements.length-1; i++)
	{
		element = document.formulaire.elements[i];
		if (element.id)
		{ 
			switch (element.type)
			{
				case "text"				:	verifChampsTexte(element);
											break;
										
				case "select-one"		:	verifListeDeroulante(element); 
											break;
				/*						
				case "select-multiple"	:	verifListeDeroulante(element);
											break;
				
				case "radio"			:	verifListeRadios(element);
											break;
											
				case "checkbox"			:	verifListeCheckbox(element);
											break;
											
				case "textarea"			:	verifChampsTexte(element);
											break;
			*/
			}				
		}
	}
	
	if (message != "" ) 
	{
		message_entete = "Eléments dont la saisie est invalide :\r\n\r\n";	
		alert(message_entete+message);	
		message = "Elements dont la saisie est invalide :\r\n\r\n";
		message_entete="";
		return false;
	}
	else
	{	
		return true;
	}

}



