/*|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|                           RECUEIL DE FONCTIONS                            |
|---------------------------------------------------------------------------|
|                                                                           |
|                                                                           |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|                                      	      Benjamin COIFFARD - août 2007 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*/


/* Vérification des données entrées par l'utilisateur
----------------------------------------------------------------------------
	La seule chose que vérifie cette fonction est que l'utilisateur a bien
	remplie tous les champs. En cas d'oubli, un message s'affiche.
---------------------------------------------------------------------------*/
function verifierForm() {
		
// Récupération des valeurs entrées par l'utilisateur
	var nom = document.getElementById('nom').value;
	var prenom = document.getElementById('prenom').value;
	var date = document.getElementById('dateC').value;
	var email = document.getElementById('email').value;

// Nettoyage des données : suppression des espaces en début et fin de chaîne
	nom = trim(nom);
	prenom = trim(prenom);
	date = trim(date);
	email = trim(email);
	
// Initialisation du message
	var alerte = new Array();
	
// Test primaire : détecter les champs vides
	if (nom == '')
		alerte[alerte.length] = "- le nom est vide";
	
	if (prenom == '')
		alerte[alerte.length] = "- le prénom est vide";
	
	if (date == '')
		alerte[alerte.length] = "- la date est vide";
	
	if (email == '')
		alerte[alerte.length] = "- l'adresse email est vide";

// Tests approfondis : correspondance entre valeur attendu
	var regleAlpha = /^[a-zA-Z' \-]+$/;
	var regleDate = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
	var regleEmail = /^(\w|-|\.)+@((\w|-)+\.)+[a-z]{2,6}$/i;

	if (regleAlpha.test(nom) == false && nom != '')
		alerte[alerte.length] = "- le nom n'est pas valide";
	
	if (regleAlpha.test(prenom) == false && prenom != '')
		alerte[alerte.length] = "- le prénom n'est pas valide";
	
	if (regleDate.test(date) == false && date != '')
		alerte[alerte.length] = "- La date n'est pas au bon format";
	
	if (regleEmail.test(email) == false && email != '')
		alerte[alerte.length] = "- l'adresse email n'est pas valide";

// Aucune erreur
	if (alerte.length == 0)
		return true;

// Au moins une erreur a été détectée
	else {
		
	// On efface les espaces avant et apèrs s'il y en a pour le login
		document.getElementById('nom').value = nom;
		document.getElementById('prenom').value = prenom;
		document.getElementById('email').value = email;
	
	// On construit le tableau contenant chaque ligne du message d'alerte	
		var message = new Array();
		
		if (alerte.length == 1) {
			message[0] = new Array();
			message[0]['t'] = "entete";
			message[0]['m'] = "Veuillez corriger l'erreur suivante :";
			message[1] = new Array();
			message[1]['t'] = "actif";
			message[1]['m'] = alerte[0];
		}
		else {
			message[0] = new Array();
			message[0]['t'] = "entete";
			message[0]['m'] = "Veuillez corriger les erreurs suivantes :";
			for (var i=0; i<alerte.length; i++) {
				message[(i+1)] = new Array();
				message[(i+1)]['t'] = "listeActif";
				message[(i+1)]['m'] = alerte[i];
			}
		}
	
	// On affiche le message d'alerte
		laPAlerte.afficher(this, 'estompage', 'carte', message, '2000');

		return false;
	}
	
}

/* Remplacement de calendrier
----------------------------------------------------------------------------
	Utiliser un calendrier javaScript, c'est bien, mais si l'utilisateur
	n'a pas JavaScript, le résultat risque d'être ... catastrophique.
	Pour contourner le problème, on initialise la page avec un formulaire
	HTML, qu'on efface avec le Javascript ensuite.
---------------------------------------------------------------------------*/
function mettreUnCalendrier() {
	
// On commence par supprimer les éléments <select>
	var parent = document.getElementsByTagName('form')[0];
	var jour = document.getElementById('jour');
	var mois = document.getElementById('mois');
	var annee = document.getElementById('annee');
	
	var valJ = jour.value;
	if (parseInt(valJ) > 0 &&  parseInt(valJ) < 10)
		valJ = '0'+valJ;
	
	var valM = mois.value;
	if (parseInt(valM) > 0 &&  parseInt(valM) < 10)
		valM = '0'+valM;
		
	var valA = annee.value;
	
	if (valJ != 0 && valJ != '' && valM != 0 &&
		valM != '' && valA != 0 && valA != '')
		var valD = valA+'-'+valM+'-'+valJ;
	else var valD = '';
	
	parent.removeChild(jour);
	parent.removeChild(mois);
	parent.removeChild(annee);
	
	ajouterImage('image/fondDate.gif', null, 'fondDate', 'carte', '');

	var elInput = document.createElement('input');
	ajouterAttribut('id', elInput, 'dateC');
	var elParent =  document.getElementById('formulaire');
	var elFrere =  document.getElementById('email');
	elParent.insertBefore(elInput, elFrere);
	
	document.getElementById('dateC').setAttribute("readonly", "readonly");
	document.getElementById('dateC').setAttribute("name", "dateC");
	document.getElementById('dateC').value = valD;
	
	document.getElementById('dateC').onfocus = function() {
		leCalendrier.afficher(this, true, true, 'dateC', 'simple', this.value);
	}
	
}

