var login_min = "3";
var login_max = "20";
var pass_min = "5";
var pass_max = "20";
var reg_pass = "^[a-zA-Z0-9_]{"+ pass_min + "," + pass_max + "}$";
var reg_mail = "^['a-zA-Z.0-9_-]+@[a-zA-Z0-9-\.]{2,}[.][a-zA-Z\.-]{2,20}$";
var reg_date = "^([0-9]{2})/([0-9]{2})/([0-9]{4})$";
function regmail(){
	try{
		return new RegExp(reg_mail,"g");
	}catch(nerr){}
}
function regpass(){
	try{
		return new RegExp(reg_pass,"g");
	}catch(nerr){}
}
function regdate(){
	try{
		return new RegExp(reg_date,"g");
	}catch(nerr){}
}
function valide_form(f){
	try{
		var mess="";
		for(var i=0;i<f.elements.length;i++){
			var el=f.elements[i];
			var toverif			=	el.getAttribute("veriftype");
			var obligatoire		=	el.getAttribute("obligatoire");
			var lib				=	el.getAttribute("lib");
			var val;
			var nullval;
			if(el.tagName.toLowerCase()=="select"){
				val	=	el.options[el.selectedIndex].value;
				nullval="null";
			}else{
				val =	el.value;
				nullval="";
			}
			if(val==nullval){
				if(obligatoire==true||obligatoire=="true"){
					mess += "Le champ \"" + lib + "\" est obligatoire ! Merci de le renseigner\n";
				}else{

				}
			}else{
				if(toverif!=null){
					switch(toverif){
						case "pass_master":
							val2 = $(el.id + "2").value;
							mess += val==val2?"":"Les 2 mots de passe ne correspondent pas\n\n";
						case "pass":
						case "password":
						case "passe":
						case "mot de passe":
						case "pwd":
						case "password":
							mess += regpass().test(val)?"":"Veuillez indiquer un mot de passe valide\n\nLe Mot de Passe doit faire entre "+pass_min+" et "+pass_max+" caractères\nLes caractères autorisés sont [a-z] [0-9] _\n\n";
							break;
						case "email":
						case "mail":
						case "e-mail":
							mess += regmail().test(val)?"":"Veuillez indiquer une adresse e-Mail valide pour le champ \"" + lib + "\"\n\n";
							break;
						case "date":
							mess += regdate().test(val)?"":"Veuillez indiquer une date valide (jj/mm/AAAA) pour le champ \"" + lib + "\"\n\n";
							break;
						case "text":
							break;
						case "number":
						case "nombre":
						case "num":
						case "numerique":
						case "numeric":
						case "timestamp":
							mess += isNumeric(val)?"":"Le champ \"" + lib + "\" doit être un nombre !\n";
							break;
					}
				}
			}
		}
		if(mess==""){
			return true;
		}else{
			alert(mess);
			return false;
		}
	}catch(nerr){
		alert(nerr);
		return false;
	}
}