// Boucle de validation
function validateForm(form) {
	var retour = true;
	var tab_erreur = new Array();
	var str_erreur ="";
	var oInput = "";
	var oTextarea = "";
	//document.getElementById("message_erreur").innerHTML = "";
	//document.getElementById("message_erreur").style.display='none';

	var oInput = document.getElementById(form).getElementsByTagName("INPUT");
	for(var i=0;i<oInput.length;i++){
		//alert(oInput[i].name);
		if(document.getElementById('label_'+oInput[i].id)){
			document.getElementById('label_'+oInput[i].id).style.color = '#000000';
		}
		switch(oInput[i].className){
			case "required_text":
			//alert(" dans switch "+oInput[i].name +"="+ oInput[i].value);
			if(!isNotEmpty(oInput[i].value)){
				//			oEm[i].innerHTML = "&nbsp;&raquo; Le champ est obligatoire";
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oInput[i].id;
				tab_obj_type['type'] = 'text';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			case "required_email":
			if(!isEMailAddr(oInput[i].value)){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oInput[i].id;
				tab_obj_type['type'] = 'email';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			case "required_number":
			if(!isNumber(oInput[i].value)){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oInput[i].id;
				tab_obj_type['type'] = 'number';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			case "required_pourcent":
			if((oInput[i].value>100) || (!isNotEmpty(oInput[i].value))){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oInput[i];
				tab_obj_type['type'] = 'pourcent';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			
			case "required_six_chiffres":
			//alert("ok");
			if((strlen(oInput[i].value)!=6) || (!isNotEmpty(oInput[i].value)) || (!isNumber(oInput[i].value))){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oInput[i];
				tab_obj_type['type'] = 'six_chiffres';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			
		}
	}
	var oTexarea = document.getElementById(form).getElementsByTagName("TEXTAREA");
	for(var i=0;i<oTexarea.length;i++){
		document.getElementById('label_'+oTexarea[i].id).style.color = '#000000';
		switch(oTexarea[i].className){
			case "required_text":
			//alert(" dans switch "+oInput[i].name +"="+ oInput[i].value);
			if(!isNotEmpty(oTexarea[i].value)){
				//			oEm[i].innerHTML = "&nbsp;&raquo; Le champ est obligatoire";
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oTexarea[i].id;
				tab_obj_type['type'] = 'text';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			case "required_email":
			if(!isEMailAddr(oTexarea[i].value)){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oTexarea[i].id;
				tab_obj_type['type'] = 'email';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			case "required_number":
			if(!isNumber(oTexarea[i].value)){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oTexarea[i].id;
				tab_obj_type['type'] = 'number';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
			case "required_pourcent":
			if((oTexarea[i].value>100) || (!isNotEmpty(oTexarea[i].value))){
				var tab_obj_type = new Array();
				tab_obj_type['obj'] = oTexarea[i].id;
				tab_obj_type['type'] = 'pourcent';
				tab_erreur.push(tab_obj_type);
				retour = false;
			}
			break;
		}
	}
	var nom;
	for(var i=0;i<tab_erreur.length;i++){
		nom = tab_erreur[i]['obj'].name;
		var oLabel = document.getElementById(form).getElementsByTagName("LABEL");
		for(var indice=0;indice<oLabel.length;indice++){
			if(oLabel[indice].htmlFor == nom){
				myid = new String(oLabel[indice].htmlFor);
				rExp = /:/gi;
				results = myid.replace(rExp, "");
				myid = new String(results);

				champ = oLabel[indice].innerHTML;
				champ = champ.substring(0,(champ.length-1));
				rExp = "*";
				myString = new String(oLabel[indice].innerHTML);
				results = myString.replace(rExp, "");
				rExp = /:/gi;
				myString = new String(results);
				champ = myString.replace(rExp, "");
				switch(tab_erreur[i]['type']){
					case "text":
					str_erreur += '<a href=\'javascript:;\' class=\'alert_info\' onclick=\'setfocus("'+nom+'")\'>- Le champ <b>"'+champ+'"</b> doit &ecirc;tre renseign&eacute;</a> <br>';
					//				str_erreur += '- Le champ <b>"'+champ+'"</b> doit &ecirc;tre renseign&eacute;<br>';
					break;
					case "email":
					str_erreur += '<a href=\'javascript:;\' class=\'alert_info\' onclick=\'setfocus("'+nom+'")\'> - Le champ <b>"'+champ+'"</b> doit contenir un email </a><br>';
					break;
					case "number":
					str_erreur += '<a href=\'javascript:;\' class=\'alert_info\' onclick=\'setfocus("'+nom+'")\'> - Le champ <b>"'+champ+'"</b> doit contenir un nombre</a><br>';
					break;
					case "pourcent":
					str_erreur += '<a href=\'javascript:;\' class=\'alert_info\' onclick=\'setfocus("'+nom+'")\'> - Le champ <b>"'+champ+'"</b> doit contenir un nombre entre 0 et 100</a><br>';
					break;
					case "six_chiffres":
					str_erreur += '<a href=\'javascript:;\' class=\'alert_info\' onclick=\'setfocus("'+nom+'")\'> - Le champ <b>"'+champ+'"</b> doit contenir 6 chiffres</a><br>';
					break;
					
				}
			}
		}
		//document.getElementById("message_erreur").innerHTML = str_erreur;
		//document.getElementById("message_erreur").style.display='block';
		//alert(document.getElementById('label_'+tab_erreur[i]['obj']));
		document.getElementById('label_'+tab_erreur[i]['obj']).style.color = '#FF0000';
		//tab_erreur[i]['obj'].style.border = '2px solid red';

	}
	return retour;
}
// Verifie si un champ a bien ete renseigne
function isNotEmpty(str) {
	var re = /.+/;
	return(str.match(re));
}

// Verifie si l'adresse e-mail est valide
function isEMailAddr(str) {
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	return(str.match(re));
}

//Verifie si un champ ne contient que des chiffres
function isNumber(str) {
	if(str==""){
		return false;
	}else{
		var re = /^[-]?\d*\.?\d*$/;
		str = str.toString();
		//alert(str);
		return(str.match(re));
	}
}
function soumettre_contact () {
	// si pas d'arbo
	/*if ( getElementsByClassName('tree') ){

	};*/
	// déterminer dans quel est l onglet on se trouve
	if( validateForm('form_contact') ){
		document.form_contact.submit();
	}
}