// JavaScript Document
var regExpEmpty=/^$/g; //chaine vide
//----------------------------------------------------------------------------
//Les deux fonction suivantes servent à identifier si une chaine de caractère est compatible ou non avec une expression régulière passée en paramètre
function matchRegularExpression(valeur, regularExpression)
{
	var resultat = valeur.match(regularExpression);
	if(resultat!=null && resultat.length==1) return true;
	else return false;
}
//----------------------------------------------------------------------------
function doesntMatchRegularExpression(valeur, regularExpression)
{
	if(matchRegularExpression(valeur, regularExpression)) return false;
	else return true;
}
// Verification d'adresse mail =============================
function bonmail(mailteste)
{
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]­{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

	if(reg.test(mailteste))
	{
		return(true);
	}
	else
	{
		return(false);
	}
}
//----------------------------------------------------------------------------
/*
les fonctions de contrôle suivantes prennent toutes comme argument la valeur de l'attribut "value" d'un champ de formulaire de type "text" ou "password"
*/
function isEmpty(valeur)
{
	return matchRegularExpression(valeur, regExpEmpty);
}

function isNotEmpty(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpEmpty);
}

//----------------------------------------------------------------------------
function validerFormulaire(typ,dest)
	{
	var bValid;
	var msg='';
	var obj;
	bValid = true;
//----------------------------------------------------------------------------
	if (typ == 'A')
		{
		var objForm = document.admin;
		if ((bValid) && isEmpty(objForm.nom.value))
			{ bValid = false;	obj = objForm.nom; msg = 'Vous devez entrer le Nom de la personne devenant administrateur';}
		if ((bValid) && isEmpty(objForm.prenom.value))
			{ bValid = false;	obj = objForm.prenom; msg = 'Vous devez entrer le Prénom de la personne devenant administrateur';}
		if ((bValid) && isEmpty(objForm.login.value))
			{ bValid = false;	obj = objForm.login; msg = 'Un login est obligatoire pour la personne devenant administrateur';}
		if ((bValid) && isEmpty(objForm.password.value))
			{ bValid = false;	obj = objForm.password; msg = 'Un password est obligatoire pour la personne devenant administrateur';}

		}
//----------------------------------------------------------------------------
	if (typ == 'C')
		{
		var objForm = document.concert;
		var dateconcert = objForm.jour.value+'/'+objForm.mois.value+'/'+objForm.an.value;
		if(ComparerDates(objForm.datedujour.value,dateconcert)==1)
			{ bValid = false;	obj = objForm.jour; msg = 'La date entrée ('+dateconcert+') est erronée car antérieure à la date du jour ('+objForm.datedujour.value+').';}
		if ((bValid) && isEmpty(objForm.salle.value))
			{ bValid = false;	obj = objForm.salle; msg = 'Vous devez entrer le Nom de la salle où se déroulera le concert';}
		if ((bValid) && isEmpty(objForm.cp.value))
			{ bValid = false;	obj = objForm.cp; msg = 'Vous devez entrer le code postal ou au moins le département';}
		if ((bValid) && isEmpty(objForm.ville.value))
			{ bValid = false;	obj = objForm.ville; msg = 'Vous devez saisir le nom de la ville où se déroulera le concert';}
		if ((bValid) && isEmpty(objForm.heures.value))
			{ bValid = false;	obj = objForm.heures; msg = 'Préciser l\'heure est obligatoire...';}
		}
//----------------------------------------------------------------------------
	if (typ == 'contact')
		{//champs communs et de l'onglet général
		var objForm = document.message;
		if ((bValid) && isEmpty(objForm.adrmail.value))
			{ bValid = false;	obj = objForm.adrmail; msg = 'Vous devez entrer votre adresse mail svp....';}
		if ((bValid) && isEmpty(objForm.nom.value))
			{ bValid = false;	obj = objForm.nom; msg = 'Vous devez entrer votre nom svp....';}
		if ((bValid) && bonmail(objForm.adrmail.value)==false)
			{ bValid = false;	obj = objForm.adrmail; msg = 'Le format de l\'adresse mail entrée est invalide. Veuillez vérifier svp....';}
		}
//----------------------------------------------------------------------------
	if (typ == 'contactpro')
		{//champs communs et de l'onglet général
		var objForm = document.message;
		if ((bValid) && isEmpty(objForm.adrmail.value))
			{ bValid = false;	obj = objForm.adrmail; msg = 'Vous devez entrer votre adresse mail svp....';}
		if ((bValid) && isEmpty(objForm.nom.value))
			{ bValid = false;	obj = objForm.nom; msg = 'Vous devez entrer votre nom svp....';}
		if ((bValid) && bonmail(objForm.adrmail.value)==false)
			{ bValid = false;	obj = objForm.adrmail; msg = 'Le format de l\'adresse mail entrée est invalide. Veuillez vérifier svp....';}
		}
//----------------------------------------------------------------------------
	if (typ == 'commande')
		{//champs communs et de l'onglet général
		var objForm = document.commande;
		if ((bValid) && isEmpty(objForm.somme.value))
			{ bValid = false;	obj = objForm.somme; msg = 'Votre commande est vide...elle ne peut être prise en compte. Chosissez un ou plusieurs articles, leur taille et la quantité désirée.';}
		if ((bValid) && isEmpty(objForm.nom.value))
			{ bValid = false;	obj = objForm.nom; msg = 'Vous devez entrer votre nom svp....';}
		if ((bValid) && isEmpty(objForm.prenom.value))
			{ bValid = false;	obj = objForm.prenom; msg = 'Vous devez entrer votre prénom svp....';}
		if ((bValid) && isEmpty(objForm.adresse.value))
			{ bValid = false;	obj = objForm.adresse; msg = 'Vous devez compléter votre adresse de la forme numéro, rue ou lieu dit xx etc... svp....';}
		if ((bValid) && isEmpty(objForm.cp.value))
			{ bValid = false;	obj = objForm.cp; msg = 'Vous devez entrer votre code postal svp....';}
		if ((bValid) && isEmpty(objForm.ville.value))
			{ bValid = false;	obj = objForm.ville; msg = 'Vous devez entrer le nom de votre ville svp....';}
		}
	//--------------------- redirection en fonction des résultats -----------------------------------	
	if (!bValid)
		{//un champs au moins non valide
		if(obj != '') { 
						erreur_raph(msg);
						//alert('ERREUR :'+msg);
						objForm.ERR.value=1;
						obj.focus();
						if (!obj.options) obj.select(); 
						obj.className = "erreur";
						 }
		}
	return(bValid);
	}
//----------------------------------------------------------------------------
