// fonctions de vérification de la saisie d'un formulaire



function IsEmail(txt_email) {
	var verif = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,4}$/;
	if (verif.exec(txt_email))
		return true;
}



function IsTel(txt_tel) {
	var verif = /^\+?[0-9]([0-9 \.])+$/;
	if (verif.exec(txt_tel))
		return true;
}

function IsEntier(txt) {
	var verif = /^\+?([0-9])+$/;
	if (verif.exec(txt))
		return true;
}



function IsNotEmpty(champ) {
	//alert("#"+document.getElementById(champ).value);
	if (document.getElementById(champ).value.length>0)
		return true;
}

function IsEmpty(champ) {
	if (document.getElementById(champ).value.length==0)
		return true;
}



function valideMail(fldmail,msgmail)
{
	//champ_mail = document.getElementById('email');
	//texte = document.getElementById('mailobligatoire');
	champ_mail = document.getElementById(fldmail);
	texte = document.getElementById(msgmail);
	//alert(champ_mail.value);
	if (IsEmail(champ_mail.value)) 
	{
		champ_mail.style.border="2px solid #00ff00";
		texte.style.color="#00ff00";
		texte.innerHTML="OK";
	}
	else
	{
		champ_mail.style.border="2px solid #ff0000";
		texte.style.color="#ff0000";
		texte.innerHTML="champ obligatoire";
	}
}


function valideTel(fldtel,mestel,obligatoire)
{
	//champ_tel = document.getElementById('fldtel');
	//texte = document.getElementById('telobligatoire');
	champ_tel = document.getElementById(fldtel);
	texte = document.getElementById(mestel);
	//alert(champ_mail.value);
	if (IsTel(champ_tel.value)) 
	{
		champ_tel.style.border="2px solid #00ff00";
		texte.style.color="#00ff00";
		//texte.innerHTML="OK";
	}
	else if(obligatoire)
	{
		champ_tel.style.border="2px solid #ff0000";
		texte.style.color="#ff0000";
		texte.innerHTML="&nbsp;&nbsp;&nbsp;champ obligatoire";
	}
	else
	{
		// on affiche seulement si du texte est tappé
		if(champ_tel.value.length>0)
		{
			champ_tel.style.border="2px solid #ff0000";
			texte.style.color="#ff0000";
			//texte.innerHTML="KO";
		}
		// sinon on remet le champ normal
		else
		{
			champ_tel.style.border="1px solid #000000";
			//texte.innerHTML="&nbsp;";
		}
	}
}

function verifMail()
{
	txt_mail = document.getElementById('email').value;
	if (!txt_mail) 
	{
		alert("Vous devez saisir votre e-mail");
		return(false);
	}
	if (!IsEmail(txt_mail)) 
	{
		alert("E-mail non valide");
		return(false);
	}
	return(true);
}

function verifLeMail()
{
	txt_mail = document.getElementById('email').value;
	if (!txt_mail) 
	{
		alert("Vous devez saisir l\047e-mail");
		return(false);
	}
	if (!IsEmail(txt_mail)) 
	{
		alert("E-mail non valide");
		return(false);
	}
	return(true);
}

function verifMails(id,msg)
{
	txt_mail = document.getElementById(id).value;
	if (!txt_mail) 
	{
		alert("Vous devez saisir l\047e-mail "+msg);
		return(false);
	}
	if (!IsEmail(txt_mail)) 
	{
		alert("l\047e-mail "+msg+" n\047est pas valide");
		return(false);
	}
	return(true);
}





function verifTel()
{
	txt_tel = document.getElementById('telephone').value;
	if (!txt_tel) 
	{
		alert("Vous devez saisir votre num\351ro de t\351l\351phone");
		return(false);
	}
	if (!IsTel(txt_tel)) 
	{
		alert("T\351l\351phone non valide");
		return(false);
	}
	return(true);
}

function verifFax()
{
	txt_tel = document.getElementById('fax').value;
	if (!txt_tel) 
	{
		alert("Vous devez saisir votre num\351ro de fax");
		return(false);
	}
	if (!IsTel(txt_tel)) 
	{
		alert("Fax non valide");
		return(false);
	}
	return(true);
}



function verifNumber(elem,nom)
{
	txt_tel = document.getElementById(elem).value;
	if (!txt_tel) 
	{
		alert("Vous devez saisir votre "+nom);
		return(false);
	}
	if (!IsTel(txt_tel)) 
	{
		//alert("T\351l\351phone non valide");
		alert(nom+" non valide");
		return(false);
	}
	return(true);
}


function switch_controle()
{
	div_mail_ok = document.getElementById('mail_ok');
	div_tel_ok = document.getElementById('tel_ok');
	div_mail_ko = document.getElementById('mail_ko');
	div_tel_ko = document.getElementById('tel_ko');
	texte = document.getElementById('text_mail');
	coche = document.getElementById('nomail');
	
	if (div_mail_ok.style.display=="block")
	{
		div_mail_ok.style.display="none";
		div_mail_ko.style.display="block";
		div_tel_ok.style.display="block";
		div_tel_ko.style.display="none";
		texte.innerHTML="d&eacute;cochez cette case si vous poss&eacute;dez un e-mail.";
		coche.checked=1;
	}
	else 
	{
		div_mail_ok.style.display="block";
		div_mail_ko.style.display="none";
		div_tel_ok.style.display="none";
		div_tel_ko.style.display="block";
		texte.innerHTML="cochez cette case si vous n'avez pas d'e-mail.";
		coche.checked=0;
	}
	
}


// recherche de motif dans une chaine
function testRVB(str,r,v,b)
{
	//var verif = /^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,4}$/;
	var verif = "/rgb\("+r+"/";//, "+v+", "+b+"\)/";
	var res = str.search(verif);
	alert(str+' / '+verif+' => '+res);
}


function occurrence(str, motif) 
{
    var exp=new RegExp(motif,"");
	//alert(str+' / '+motif+' => '+exp.test(str));
	return (exp.test(str));
}


// fonction retournant le message si on reconnait le motif dans la chaine
function verifOccurrence(str, motif, message)
{
	
	if (occurrence(str,motif))
	{
		alert(message);
		return(true);
	}
	else 
		return(false);
}


function formIsOk()
{
	if (getNavigateur()=='IE')
		pattern="#ff0000";
	else pattern="255, 0, 0";

	if 
	( 
		(
			document.getElementById('mail_ok').style.display=="block" && 
			(
				!(
				(document.getElementById('telephone_off').value.length>0 && verifOccurrence(document.getElementById('telephone_off').style.border, pattern, "T\351l\351phone non valide")) || 
				(document.getElementById('portable').value.length>0 && verifOccurrence(document.getElementById('portable').style.border, pattern, "Portable non valide")) || 
				(document.getElementById('fax').value.length>0 && verifOccurrence(document.getElementById('fax').style.border, pattern, "Fax non valide")) || 
				(document.getElementById('codepostal').value.length>0 && verifOccurrence(document.getElementById('codepostal').style.border, pattern, "Code postal non valide")) 
				) && verifMail()
			)
		) || 
		(
			document.getElementById('tel_ok').style.display=="block" && 
			(
				!(
				(document.getElementById('telephone_on').value.length>0 && verifOccurrence(document.getElementById('telephone_on').style.border, pattern, "T\351l\351phone non valide")) || 
				(document.getElementById('portable').value.length>0 && verifOccurrence(document.getElementById('portable').style.border, pattern, "Portable non valide")) || 
				(document.getElementById('fax').value.length>0 && verifOccurrence(document.getElementById('fax').style.border, pattern, "Fax non valide")) || 
				(document.getElementById('codepostal').value.length>0 && verifOccurrence(document.getElementById('codepostal').style.border, pattern, "Code postal non valide")) 
				) && verifNumber('telephone_on','T\351l\351phone')
			)
		)
	)
	//return(true);
	return (true);
	else return(false);

}



function formAboIsOk()
{
	if (getNavigateur()=='IE')
		pattern="#ff0000";
	else pattern="255, 0, 0";

	if (verifMail())
		return (true);
	else return(false);

}


// vérifie l'extension d'un fichier uploadé
// inclusion nécessaire ihm.js (fonction getExtension)
// champ : id du champ type file
// listeExt : liste des extensions autorisées
function verifFileExtension(champ,listeExt)
{
	filename = document.getElementById(champ).value.toLowerCase();
	fileExt = getExtension(filename);
	for (i=0; i<listeExt.length; i++)
	{
		if ( fileExt == listeExt[i] ) return (true);
	}
	return(false);
}



