function isEmail0(tmp_str)
{
        var new_msg = true;
        var int_pos = 0;
        var inputStr = tmp_str.toString();
	var chaine_deb, chaine_milieu, chaine_fin, c1;
        int_pos = inputStr.indexOf("@",int_pos);
	int_pos_point = inputStr.lastIndexOf(".",inputStr.length);
	c1 = inputStr.slice(int_pos_point+1, inputStr.length);
        if( (int_pos > 0) && (int_pos_point > 1+int_pos) && ((c1.length > 1) && (c1.length < 5)) )
        {
		chaine_deb = inputStr.substring(0,int_pos);
		chaine_milieu = inputStr.substring(int_pos+1,int_pos_point);
		var regularexpression = new RegExp("[^a-zA-Z0-9_.^-]");
		if (regularexpression.test(chaine_deb) == 1)
		{ new_msg = false; }
		else 
		{
			if (regularexpression.test(chaine_milieu) == 1)
			{ new_msg = false; }
			else 
			{
				chaine_fin = inputStr.substring(int_pos_point+1,inputStr.length);
				var regularexpression = new RegExp("[^a-z]");
				if (regularexpression.test(chaine_fin) == 1)
				{ new_msg = false; }
			}
		}
        }
        else
        {
                new_msg = false;
    	}
        return (new_msg);
}

function isNom(tmp_str)
{
  	//test nom:
	var chaine=tmp_str;
	var testchar_ok=true; var testchar_no;
	var motif_ok=/[A-Z a-z- 0-9 ]/;
	var motif_no=/[_,?;:!§%*&"#'{}()/|`+]/;
	testchar_ok=motif_ok.test(chaine);
	testchar_no=motif_no.test(chaine);
	if(testchar_no==true) testchar_ok=false
	return testchar_ok;
}

function isText(tmp_str)
{
	//test si le champ est vide:
	var chaine=tmp_str;
	var testchar_ok=true; var testchar_no;
	//****CODE QUI SUPPRIME LES DOUBLES ESPACES*****//
			 cle= /(  ){1,}/;
	         reg = new RegExp(cle);
         	chaine = chaine.replace(reg,"");
	//****FIN CODE QUI SUPPRIME LES DOUBLES ESPACES*****//
	if((chaine==" ")||(chaine=="")) 
	{
	testchar_ok=false
	}
	return testchar_ok;
}

function isEmail(tmp_str)
{
	//test e-mail:
	var chaine=tmp_str;
	var testchar_ok=true; var testchar_no;
	var motif_ok=/[a-z0-9_.-]*(@)[a-z0-9_-]{1,}[.][a-z]{2,}/;
	var motif_no=/[,?;:!§%*&"#'{}()|`+/]/;
	testchar_ok=motif_ok.test(chaine);
	testchar_no=motif_no.test(chaine);
	//if(testchar_no==true) testchar_ok=false
	return testchar_ok;
}

function isNumber(tmp_str)
{
	//test e-mail:
	var chaine=tmp_str;
	var testchar_ok=true; var testchar_no;
	var motif_ok=/[0-9]{1,}/;
	var motif_no=/[a-zA-Z,?;:@!§%*&"#'{}()|`+/]/;
	testchar_ok=motif_ok.test(chaine);
	testchar_no=motif_no.test(chaine);
	if(testchar_no==true) testchar_ok=false
	return testchar_ok;
}

function isTelephone(tmp_str)
{
	//test telephone:
	var chaine=tmp_str;
	var testchar_ok=true; var testchar_no;
	var motif_ok=/[0-9]{9,15}/;
	var motif_no=/[,?;:!§%*&"#'{}()|`+/]/;
	testchar_ok=motif_ok.test(chaine);
	testchar_no=motif_no.test(chaine);
	if(testchar_no==true) testchar_ok=false
	return testchar_ok;
}

function isNaissance(tmp_str)
{
	//test de naissance:
	var chaine=tmp_str;
	var testchar_ok=true; var testchar_no;
	//var motif_ok=/[0-9]{2}(-)[0-9]{2}(-)[0-9]{4}/;
	var motif_ok=new RegExp("[0-9]{2}(-)[0-9]{2}(-)[0-9]{4}","g");
	var motif_no=/[A-Za-z_?;:!§%*&"#'{}|`+]/;
	testchar_ok=motif_ok.test(chaine);
	//testchar_no=motif_no.test(chaine);
	//if(testchar_no==true) testchar_ok=false
	return testchar_ok;
}

function valBoutonRadio(radioGrp)
{
//recupere la valeur du bouton radio selectionné	
		for (var i=0; i<radioGrp.length; i++) {
			if (radioGrp[i].checked) {
				return radioGrp[i].value;
			}
		} 		
		return false;
};

function check_form(f)
{
	var complete = true;
    var message = "Veuillez corriger le formulaire.\t\t\r\n";
	var message_complete ="Merci. Le formulaire va être envoyé";

	if (f.sujet.value=="local")
	{
		if(valBoutonRadio(f.type_bien)==false) 	{ complete=false; message += "* Veuillez choisir un type de bien svp \n" }
		if(isNumber(f.surface_minimum.value)==false) 	{ complete=false; message += "* Veuillez spécifier une surface minimum svp \n" }
		if(isNumber(f.surface_maximum.value)==false) 	{ complete=false; message += "* Veuillez spécifier une surface maximum svp \n" }
		if( (isNumber(f.surface_minimum.value))&&(isNumber(f.surface_maximum.value))&&(parseInt(f.surface_minimum.value)>parseInt(f.surface_maximum.value)) ) 	{ complete=false; message += "* Veuillez vérifier les valeurs de surface svp \n" }
		if( (valBoutonRadio(f.disponibilite)==false) || ( (valBoutonRadio(f.disponibilite)=="à partir de")&&(isNaissance(f.disponibilite_date.value)==false) ) ) 	{ complete=false; message += "* Veuillez spécifier une disponibilité svp \n" }
		if( (valBoutonRadio(f.localisation)==false) || ( (valBoutonRadio(f.localisation)=="Autre:")&&(isText(f.localisation_autre.value)==false) ) ) 	{ complete=false; message += "* Veuillez spécifier une localisation svp \n" }
		if(isText(f.nom_prenom.value)==false) 	{ complete=false; message += "* Veuillez mentionner votre nom svp \n" }
		if(isEmail(f.email.value)==false) 	{ complete=false; message += "* Veuillez mentionner votre adresse mail svp \n" }
		if(isTelephone(f.telephone.value)==false) 	{ complete=false; message += "* Veuillez mentionner votre numero de telephone svp \n" }
		message_complete="";
	};
	
	if (f.sujet.value=="newsletter")
	{
		if(isEmail(f.email.value)==false) 	{ complete=false; message += "* Veuillez entrer un email svp \n" }
		message_complete="";
	};
	
	if (f.sujet.value=="divers")
	{
		if(isText(f.nom.value)==false) 				{ complete=false; message += "* Veuillez entrer un nom svp \n" }
		if(isEmail(f.email.value)==false) 			{ complete=false; message += "* Veuillez entrer un email svp \n" }
		if(f.email.value!=f.email_confirm.value) 	{ complete=false; message += "* Veuillez confirmer correctement votre email svp \n" }
		if(isText(f.message.value)==false)			{ complete=false; message += "* Veuillez ecrire un message svp \n" }
	};
	
	if (f.sujet.value=="mariage")
	{
		if(isText(f.nom.value)==false) 				{ complete=false; message += "* Veuillez entrer le nom du demandeur svp \n" }
		if(isNaissance(f.naissance2.value)==false) 	{ complete=false; message += "* la date de naissance doit être de la forme '01-12-2006' svp \n" }
		if(isText(f.lieu_naissance.value)==false) 	{ complete=false; message += "* Veuillez entrer le lieu de naissance du demandeur svp \n" }
		if(isText(f.adresse.value)==false) 			{ complete=false; message += "* Veuillez entrer l'adresse du demandeur svp \n" }
		if(isTelephone(f.telephone.value)==false) 	{ complete=false; message += "* Veuillez entrer un numero de téléphone valide svp \n" }
		if(isText(f.civilite.value)==false) 		{ complete=false; message += "* Veuillez choisir la civilité du demandeur svp \n" }
		if(isText(f.type_acte.value)==false) 		{ complete=false; message += "* Veuillez choisir le type d'acte svp \n" }	
		if(isText(f.nom_epoux.value)==false) 		{ complete=false; message += "* Veuillez entrer le nom et prénom de l'époux svp \n" }
		if(isText(f.nom_epouse.value)==false) 		{ complete=false; message += "* Veuillez entrer le nom et prénom de l'épouse svp \n" }
		if(isNaissance(f.mariage.value)==false) 	{ complete=false; message += "* la date du mariage doit être de la forme '01-12-2006' svp \n" }
		if(isText(f.parents_epoux.value)==false) 	{ complete=false; message += "* Veuillez entrer le nom et prénom des parents de l'époux svp \n" }
		if(isText(f.parents_epouse.value)==false) 	{ complete=false; message += "* Veuillez entrer le nom et prénom des parents de l'épouse svp \n" }
	
	};
	
	if (f.sujet.value=="naissance")
	{
		if(isText(f.nom.value)==false) 							{ complete=false; message += "* Veuillez entrer le nom du demandeur svp \n" }
		if(isNaissance(f.naissance_demandeur.value)==false) 	{ complete=false; message += "* la date de naissance du demandeur doit être de la forme '01-12-2006' svp \n" }
		if(isText(f.lieu_naissance.value)==false) 				{ complete=false; message += "* Veuillez entrer le lieu de naissance du demandeur svp \n" }
		if(isText(f.adresse.value)==false)			 			{ complete=false; message += "* Veuillez entrer l'adresse du demandeur svp \n" }
		if(isTelephone(f.telephone.value)==false) 				{ complete=false; message += "* Veuillez entrer un numero de téléphone valide svp \n" }
		if(isText(f.civilite.value)==false) 					{ complete=false; message += "* Veuillez choisir la civilité du demandeur svp \n" }
		if(isText(f.type_acte.value)==false) 					{ complete=false; message += "* Veuillez choisir le type d'acte svp \n" }	
		if(isText(f.nom_titulaire.value)==false) 				{ complete=false; message += "* Veuillez entrer le nom et prénom du titulaire de l'acte svp \n" }
		if(isNaissance(f.naissance_titulaire.value)==false) 	{ complete=false; message += "* la date de naissance du titulaire doit être de la forme '01-12-2006' svp \n" }
		if(isText(f.pere_titulaire.value)==false)			 	{ complete=false; message += "* Veuillez entrer le nom et prénom du père du titulaire de l'acte svp \n" }
		if(isText(f.mere_titulaire.value)==false) 				{ complete=false; message += "* Veuillez entrer le nom et prénom de la mère du titulaire de l'acte svp \n" }
	
	};
	
	if (f.sujet.value=="deces")
	{
		if(isText(f.nom_defunt.value)==false) 					{ complete=false; message += "* Veuillez entrer le nom du défunt svp \n" }
		if(isNaissance(f.date_deces.value)==false) 				{ complete=false; message += "* la date de décès du défunt doit être de la forme '01-12-2006' svp \n" }
		if(isText(f.lieu_deces.value)==false) 					{ complete=false; message += "* Veuillez entrer le lieu de décès du défunt svp \n" }
		if(isText(f.adresse_demandeur.value)==false)			{ complete=false; message += "* Veuillez entrer l'adresse du demandeur svp \n" }
		if(isText(f.nom_demandeur.value)==false)			 	{ complete=false; message += "* Veuillez entrer le nom du demandeur svp \n" }
		if(isTelephone(f.telephone_demandeur.value)==false) 	{ complete=false; message += "* Veuillez entrer un numero de téléphone valide svp \n" }
	
	};
	
	if (f.sujet.value=="tags")
	{
		if(isText(f.nom.value)==false) 				{ complete=false; message += "* Veuillez entrer un nom svp \n" }
		if(isText(f.message.value)==false)			{ complete=false; message += "* Veuillez spécifier l'emplacement du tag svp \n" }
		if(isText(f.type_batiment.value)==false)	{ complete=false; message += "* Veuillez sélectionner le type de bâtiment svp \n" }	
	};
	
	if (f.sujet.value=="elus")
	{
		if(isText(f.nom.value)==false) 				{ complete=false; message += "* Veuillez entrer un nom svp \n" }
		if(isText(f.prenom.value)==false) 			{ complete=false; message += "* Veuillez entrer un prénom svp \n" }
		if(isText(f.adresse.value)==false) 			{ complete=false; message += "* Veuillez entrer une adresse svp \n" }
		if(isText(f.codepostal.value)==false)		{ complete=false; message += "* Veuillez spécifier un code postal svp \n" }
		if(isText(f.ville.value)==false)			{ complete=false; message += "* Veuillez spécifier votre ville svp \n" }	
		if(isText(f.pays.value)==false)				{ complete=false; message += "* Veuillez préciser le pays svp \n" }	
		if(isEmail(f.email.value)==false) 			{ complete=false; message += "* Veuillez entrer un email valide svp \n" }
		if(isText(f.equipe.value)==false)			{ complete=false; message += "* Veuillez choisir l'élu à contacter svp \n" }
		if(isText(f.message.value)==false)			{ complete=false; message += "* Veuillez détailler votre message svp \n" }	
	};
	
	if (f.sujet.value=="maire")
	{
		if(isText(f.nom.value)==false) 				{ complete=false; message += "* Veuillez entrer un nom svp \n" }
		if(isText(f.prenom.value)==false) 			{ complete=false; message += "* Veuillez entrer un prénom svp \n" }
		if(isEmail(f.email.value)==false) 			{ complete=false; message += "* Veuillez entrer un email valide svp \n" }
		if(isText(f.message.value)==false)			{ complete=false; message += "* Veuillez détailler votre message svp \n" }	
	};
	
	if(complete)
	{
		if(message_complete!="") alert(message_complete);
		//return true;
		f.submit();
	}
	else
	{
		alert(message);
		return false;
	};

}

window.addEvent('domready', function() {

	  if($('form_naissance')) {  $('verif_naissance').addEvent('click', function(event) {		frm=$('form_naissance');	check_form(frm); }); };
	  if($('form_mariage')) {  $('verif_mariage').addEvent('click', function(event) {		frm=$('form_mariage');	check_form(frm); });	};
	  if($('form_deces')) {  $('verif_deces').addEvent('click', function(event) {		frm=$('form_deces');	check_form(frm); });	};  
	  if($('form_local')) {  $('verif_local').addEvent('click', function(event) {		frm=$('form_local');	check_form(frm); });	};  

});
