/*
Par défaut tous les champs sont vérifiés et se doivent d'être remplis.
Le champ contenant l'adresse email doit obligatoirement s'appeler name="email" pour obtenir la vérification avancée
Les champs précisés dans nameToIgnore ne sont pas vérifiés. (écrire les uns à la suite des autres et les séparer par des virgules ,)
*/

/* Exemple : var nameToIgnore = "prenom,email,fax,telephone"; */

function verification(f,nameToIgnore)
{
	var tabIgnoredName = nameToIgnore.split(",");
	var chaine = "";
	var bool = true;
	for (i=0 ; i<= f.elements.length-1 ; i++)
	{
		// On ignore les boutons de type reset et submit
		if(f.elements[i].type == 'reset' || f.elements[i].type == 'submit')
			continue;
		
		// On ne vérifie pas les champs spécifiés dans le second paramètre
		if(tabIgnoredName.indexOf(f.elements[i].name) != -1)
		{
			chaine += f.elements[i].name+"="+escape(f.elements[i].value)+"&";
			continue;
		}
		
		if(f.elements[i].type == 'radio')
		{
			if(f.elements[i].checked)
				chaine += f.elements[i].name+"="+escape(f.elements[i].value)+"&";
			continue;
		}
				
		if(f.elements[i].type == 'checkbox')
		{
			if(f.elements[i].checked)
				chaine += f.elements[i].name+"=oui&";
			else
				chaine += f.elements[i].name+"=non&";
			continue;
		}
		
		if(f.elements[i].name == 'email')
		{
			if(!verifMail(f.elements[i].value))
			{
				f.elements[i].style.borderColor = '#FF0000';
				document.getElementById('erreur').innerHTML = '<font color="red">Merci de saisir un email valide</font>';
				bool = false;
			}
			else
				f.elements[i].style.borderColor = '#00FF00';
		}
		else
		{
			if(f.elements[i].value.length == 0)
			{
				f.elements[i].style.borderColor = '#FF0000';
				document.getElementById('erreur').innerHTML = '<font color="red">Merci de renseigner les champs signalés en rouge</font>';
				bool = false;
			}
			else
				f.elements[i].style.borderColor = '#00FF00';
		}
		chaine += f.elements[i].name+"="+escape(f.elements[i].value)+"&";
	}
	if(bool)
	{
		ajax('include/php/sendMail.php',chaine,'formulaire'); // Envoi du message
		document.getElementById('btnEnvoyer').disabled = true;
		document.getElementById('btnAnnuler').disabled = true;
	}
	return false;
}

function verifMail(email)
{
	var verif = /^[a-zA-Z0-9]+[a-zA-Z0-9._-]*@[a-zA-Z0-9]+[a-zA-Z0-9.-]*\.[a-zA-Z]{2,4}$/;
	if (verif.exec(email) == null)
		return false;
	else
		return true;
}

var myGlobalHandlers = {
	onCreate: function()
		{
			document.getElementById('erreur').innerHTML = '<div class="center"><img src="include/images/chargement.gif"/></div>';
			Element.show('erreur');
		},
	onComplete: function()
		{
			if(Ajax.activeRequestCount == 0)
				Element.hide('erreur');
		}
};

function ajax(fichier,parametres,div)
{
	Ajax.Responders.register(myGlobalHandlers);
	new Ajax.Request(fichier, {
		method: 'post',
		asynchronous: 'true',
		parameters : parametres,
		onComplete: function(x)
		{
			if(x.responseText.charAt(0) == "V")
				document.getElementById(div).innerHTML = x.responseText;
			else
			{
				alert(x.responseText);
				document.getElementById('btnEnvoyer').disabled = false;
				document.getElementById('btnAnnuler').disabled = false;
			}
		}
	});
}
