/* ========================================================================================
	::	Nomenclature de description de fonction à utiliser à chaque création de fonction
======================================================================================== */

	/* 	- nomFonction() ----------------------------------------------------------
	|	Description :
	|		- Que fais la fonction
	|	Variables Globales Utilisées :
	|		-
	|	Aguments OBLIGATOIRES
	|		- argument n (type)	 : name		=>	description
	|	Aguments FACULTATIFS
	|		- argument n (type)	 : name		=>	description
	|	Fonctions appellées :
	|		- nomFonctionAppellees
	|	Pages appellantes :
	|		- chemin de la page
	|	Return :
	|		- valeurs retournée
	|	Infos :
	|		- informatiosn complémentaires
	------------------------------------------------------------------------------------ */

	// fin Fonction nomFonction(arguments)-----------------------------------------------






	/* 	- VARIABLES_nnn -------------------------------------------------------------------
	|	VARIABLES UTILISEES PAR LES FONCTIONS
	|		:: nomFonction()
	------------------------------------------------------------------------------------ */


/* fin Nomenclature de description de fonction========================================================== */










/* ========================================================================================
	::	Vérification de formulaires en mode AJOUT/MODIFICATION
======================================================================================== */









	/* 	- verifFormResponsable() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Responsable
	|	Pages appellantes :
	|		 - prive/responsables.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormResponsable(oForm)
	{

		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = oForm;						// référence au formulaire à analyser

		if(f.NRP_IDF_CLIENT.value == "" || f.NRP_IDF_CLIENT.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Client!\n";
			tab_focus[nb_erreur] = "NRP_IDF_CLIENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRP_NOM.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Nom!\n";
			tab_focus[nb_erreur] = "NRP_NOM";
			nb_erreur = nb_erreur + 1;
		}


		/*
		if(f.NRP_MAIL.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Mail!\n";
			tab_focus[nb_erreur] = "NRP_MAIL";
			nb_erreur = nb_erreur + 1;
		}
		*/


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("f."+tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Responsable-------------------------------------------













	/* 	- verifFormTypeArticle() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Types Articles
	|	Pages appellantes :
	|		- prive/types_articles.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormTypeArticle()
	{
		var msg_erreur			 = "";							// construction du message d'erreur par concaténation successives
		var en_tete				 = "";							// en-tête du message d'erreur
		var nb_erreur			 = 0;							// comptabilisation des erreurs
		var tab_focus			 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f					 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix				 = f.choix.value;				// choix en cours : "create" OU "update"
		var sChampsBegin		 = f.sCHAMPS_BEGIN;				// balise contenant les idf des champs sélectionnés à l'origine
		var tChampsBegin		 = new Array();					// tableau contenant les idf des champs sélectionnés à l'origine
		var sChampsEnd			 = f.sCHAMPS_END;				// balise contenant les idf des champs sélectionnés à la fin des modifications
		var sChampsToDelete		 = f.sCHAMPS_TO_DELETE;			// balise contenant les idf des champs non sélectionnés alors qu'ils l'étaient à l'origine
		var tChampsToDelete		 = new Array();					// tableau contenant les idf des champs non sélectionnés alors qu'ils l'étaient à l'origine
		var sChampsMemorises	 = "";							// texte contenant les idf des champs sélectionnés à la fin des modifications
		var tChampsMemorises	 = new Array();					// tableau contenant les idf des champs sélectionnés à la fin des modifications
		var isDeleted			 = true;						// booléen permettant de savoir si le champ a été supprimé ou non

		// champ utilisés à l'origine (Avant modification)
		tChampsBegin = sChampsBegin.value.split("|");

		// on cré le contenu de la balise contenant les idf des champs sélectionnés
		// en parcourrant toutes les lignes des associations créées
		for(i=1;i<=f.NTA_NB_CHAMPS.value;i++){
			var idfChamp = eval("f.elements['NAA_IDF_CHAMP_"+i+"']");
			if(idfChamp){
				sChampsMemorises += (sChampsMemorises.length>0 ? "|" : "");
				sChampsMemorises += idfChamp.value;
			}
		}

		// champ définitivement sélectionnés (Après modification)
		tChampsMemorises = sChampsMemorises.split("|");

		for(j=0;j<tChampsBegin.length;j++){
			isDeleted = true;
			for(i=0;i<tChampsMemorises.length;i++){
				if(tChampsMemorises[i] == tChampsBegin[j]){
					isDeleted = false;
				}
			}
			if(isDeleted){
				tChampsToDelete.push(tChampsBegin[j])
			}
		}

		// on mémorise les idf sélectionné
		sChampsEnd.value = sChampsMemorises;

		var sToDelete = "";
		for(i=0;i<tChampsToDelete.length;i++){
			sToDelete += (sToDelete.length>0 ? "|":"");
			sToDelete += tChampsToDelete[i];
		}

		// on rempli le champ qui va permettre de poster les identifiant des champs à mettre à NULL comme valeur
		sChampsToDelete.value = sToDelete;

		if(f.NTA_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le libellé!\n";
			tab_focus[nb_erreur] = "NTA_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		// Si le premier champ n'est pas associé au type d'article
		// alors il y a une erreur car tout type d'article
		// doit au moins être lié à un champ
		if(!f.NAA_IDF_CHAMP_1){
			msg_erreur = msg_erreur + " - Veuillez associer au moins un champ!\n";
			tab_focus[nb_erreur] = "NTA_NB_CHAMPS";
			nb_erreur = nb_erreur + 1;
		}else{

			// Si le premier champ est associé au type d'article
			// mais qu'aucune valeur n'est transmise
			// alors il y a une erreur
			if(f.NAA_IDF_CHAMP_1.value == ""){
				msg_erreur = msg_erreur + " - Veuillez sélectionner au moins un champ!\n";
				tab_focus[nb_erreur] = "NAA_IDF_CHAMP_1";
				nb_erreur = nb_erreur + 1;
			}

			// Au moins un des champs existant doit avoir l'attribut idc_titre coché
			var idcTitreChecked = false;
			for(i=1;i<=f.NTA_NB_CHAMPS.value;i++){
				var idcTitre = eval("f.elements['NAA_IDC_TITRE_"+i+"']");
				if(idcTitre){
					if(idcTitre.checked){
						idcTitreChecked = true;
					}
				}
			}

			// Donc si aucun des boutons radios n'a été coché
			// on l'indique par un message d'erreur
			if(!idcTitreChecked){
				msg_erreur = msg_erreur + " - Veuillez définir un champ avec l'attribut Titre!\n";
				tab_focus[nb_erreur] = "NAA_IDC_TITRE";
				nb_erreur = nb_erreur + 1;
			}

		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des types d'articles-------------------------------------





	/* 	- verifFormGroupeUtilisateur() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Groupes d'Utilisateurs
	|	Pages appellantes :
	|		- prive/groupes_utilisateurs.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormGroupeUtilisateur()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NGU_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le libellé!\n";
			tab_focus[nb_erreur] = "NGU_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des groupes d'utilisateurs-------------------------------------





	/* 	- verifFormUtilisateur() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Utilisateurs
	|	Pages appellantes :
	|		- prive/utilisateurs.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormUtilisateur()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NUT_NOM.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un nom!\n";
			tab_focus[nb_erreur] = "NUT_NOM";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NUT_PRENOM.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un prénom!\n";
			tab_focus[nb_erreur] = "NUT_PRENOM";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NUT_LOGIN.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un login!\n";
			tab_focus[nb_erreur] = "NUT_LOGIN";
			nb_erreur = nb_erreur + 1;
		}else{
			// Vérification que le login choisi n'existe pas déjà !
			var sLogin			= f.NUT_LOGIN.value;
			var sCurrentLogin	= f.currentLogin.value;

			// on prépare les champs en les nettoyant !
			var xhr_object		 = getHTTPObject();
			var sResponse		 = "";
			var bMode			 = false; // mode synchrone
			var sMethod			 = "POST";
			var sAction			 = "ajax/ajax_checkAdmLogin.php";
			var sData 			 = "login="+escape(sLogin);
			sData 				 += (sCurrentLogin != "" ? "&currentLogin="+escape(sCurrentLogin) : "");

			// Test d'existence de l'objet XmlHttpRequest
			if (!xhr_object) return;

			// Ouverture de la connexion au fichier avec la méthode choisie
			xhr_object.open(sMethod, sAction, bMode);

			// Quand les données sont traitées
			// on affiche la réponse
			xhr_object.onreadystatechange = function () {
				if(xhr_object.readyState == 4) {
					sResponse = xhr_object.responseText;
					// Si le login existe déjà on indique l'erreur
					if(sResponse == "true") {
						msg_erreur = msg_erreur + " - Le Login que vous avez choisi est déjà pris, veuillez en choisir un nouveau !\n";
						tab_focus[nb_erreur] = "NUT_LOGIN";
						nb_erreur = nb_erreur + 1;
						f.NUT_LOGIN.value = "";
					}
				}
			};

			// Ajout des en-têtes nécessaires à la requête en POST
			if(sMethod == "POST") xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

			// Envoi des données
			xhr_object.send(sData);
		}



		if(choix == "create"){
			if(f.NUT_PASSWORD.value == "") {
				msg_erreur = msg_erreur + " - Veuillez entrer un mot de passe!\n";
				tab_focus[nb_erreur] = "NUT_PASSWORD";
				nb_erreur = nb_erreur + 1;
			}else{
				// Test de vérification du password
				if(f.NUT_PASSWORD.value != f.NUT_PASSWORD_REPEAT.value) {
					msg_erreur = msg_erreur + " - Veuillez répéter votre mot de passe!\n";
					tab_focus[nb_erreur] = "NUT_PASSWORD_REPEAT";
					nb_erreur = nb_erreur + 1;
				}
			}
		}else{
			// On ne demande le mot de passe qui si il doit être modifié
			if(f.NUT_PASSWORD.value != "" && f.NUT_PASSWORD.value != f.NUT_PASSWORD_REPEAT.value) {
				msg_erreur = msg_erreur + " - Veuillez répéter votre mot de passe!\n";
				tab_focus[nb_erreur] = "NUT_PASSWORD_REPEAT";
				nb_erreur = nb_erreur + 1;

			}
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Utilisateurs-------------------------------------------





	/* 	- verifFormChampArticle() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Champs Articles
	|	Pages appellantes :
	|		- prive/champs_articles.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormChampArticle()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NCA_LIBELLE_BD.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé pour le champ dans la base de donnée\n";
			tab_focus[nb_erreur] = "NCA_LIBELLE_BD";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCA_LIBELLE_LISTE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé pour le champ dans la liste des enregistrements\n";
			tab_focus[nb_erreur] = "NCA_LIBELLE_LISTE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCA_LIBELLE_FICHE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé pour le champ dans la fiche d'ajout/modification\n";
			tab_focus[nb_erreur] = "NCA_LIBELLE_FICHE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCA_TYPE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez sélectionner un type de champ\n";
			tab_focus[nb_erreur] = "NCA_TYPE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Champs d'Articles----------------------------------------





	/* 	- verifFormMasqueArticle() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Masques Articles
	|	Pages appellantes :
	|		- prive/masques_articles.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormMasqueArticle()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NMA_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NMA_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NMA_MASQUE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez définir un motif de masque de saisie \n";
			tab_focus[nb_erreur] = "NMA_MASQUE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Masques d'Articles----------------------------------------





	/* 	- verifFormMenu() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Menus
	|	Pages appellantes :
	|		- prive/menus.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormMenu()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NME_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NME_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Menus----------------------------------------





	/* 	- verifFormTypeMedia() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Types de Média
	|	Pages appellantes :
	|		- prive/types_medias.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormTypeMedia()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NTM_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NTM_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NTM_TYPE_MIME.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer un type mime \n";
			tab_focus[nb_erreur] = "NTM_TYPE_MIME";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NTM_POIDS_LIMITE.value != "") {
			if(isNaN(f.NTM_POIDS_LIMITE.value)) {
				msg_erreur = msg_erreur + " - Le poids limite doit être un nombre \n";
				tab_focus[nb_erreur] = "NTM_POIDS_LIMITE";
				nb_erreur = nb_erreur + 1;
				f.NTM_POIDS_LIMITE.value = "";
			}else{
				if(f.NTM_POIDS_LIMITE.value < 0) {
					msg_erreur = msg_erreur + " - Le poids limite doit être positif \n";
					tab_focus[nb_erreur] = "NTM_POIDS_LIMITE";
					nb_erreur = nb_erreur + 1;
					f.NTM_POIDS_LIMITE.value = "0";
				}
				if(f.NTM_POIDS_LIMITE.value > 999999) {
					msg_erreur = msg_erreur + " - Le poids limite doit être inférieur à 999999 \n";
					tab_focus[nb_erreur] = "NTM_POIDS_LIMITE";
					nb_erreur = nb_erreur + 1;
					f.NTM_POIDS_LIMITE.value = "999999";
				}
			}
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Types de Média--------------------------------------



	/* 	- verifFormGalerieMedia() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Galeries de Médias
	|	Pages appellantes :
	|		- prive/galeries_medias.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormGalerieMedia()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NGM_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NGM_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Galeries de Médias----------------------------------------





	/* 	- verifFormElementMedia() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Eléments Multimédias
	|	Pages appellantes :
	|		- prive/elements_medias.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormElementMedia()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NEM_IDF_GALERIE.value == "" || f.NEM_IDF_GALERIE.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez sélectionner une Galerie \n";
			tab_focus[nb_erreur] = "NEM_IDF_GALERIE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NEM_IDF_TYPE.value == "" || f.NEM_IDF_TYPE.value == "NULL" ) {
			msg_erreur = msg_erreur + " - Veuillez choisir un Type de média existant \n";
			tab_focus[nb_erreur] = "NEM_CHEMIN";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NEM_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NEM_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NEM_CHEMIN.value == "" && choix == "create") {
			msg_erreur = msg_erreur + " - Veuillez indiquer le fichier à télécharger pour votre élément multimédia \n";
			tab_focus[nb_erreur] = "NEM_CHEMIN";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Eléments Multimédias----------------------------------------




	/* 	- verifFormChampProduit() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Champs Produits
	|	Pages appellantes :
	|		- prive/champs_produits.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormChampProduit()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NCP_LIBELLE_BD.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé pour le champ dans la base de donnée\n";
			tab_focus[nb_erreur] = "NCP_LIBELLE_BD";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCP_LIBELLE_LISTE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé pour le champ dans la liste des enregistrements\n";
			tab_focus[nb_erreur] = "NCP_LIBELLE_LISTE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCP_LIBELLE_FICHE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé pour le champ dans la fiche d'ajout/modification\n";
			tab_focus[nb_erreur] = "NCP_LIBELLE_FICHE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCP_TYPE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez sélectionner un type de champ\n";
			tab_focus[nb_erreur] = "NCP_TYPE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Champs des Produits----------------------------------------





	/* 	- verifFormMasqueProduit() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Masques Articles
	|	Pages appellantes :
	|		- prive/masques_articles.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormMasqueProduit()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NMP_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NMP_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NMP_MASQUE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez définir un motif de masque de saisie \n";
			tab_focus[nb_erreur] = "NMP_MASQUE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Masques des Produits----------------------------------------






	/* 	- verifFormTypeProduit() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Types Produits
	|	Pages appellantes :
	|		- prive/types_produits.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormTypeProduit()
	{
		var msg_erreur			 = "";							// construction du message d'erreur par concaténation successives
		var en_tete				 = "";							// en-tête du message d'erreur
		var nb_erreur			 = 0;							// comptabilisation des erreurs
		var tab_focus			 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f					 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix				 = f.choix.value;				// choix en cours : "create" OU "update"
		var sChampsBegin		 = f.sCHAMPS_BEGIN;				// balise contenant les idf des champs sélectionnés à l'origine
		var tChampsBegin		 = new Array();					// tableau contenant les idf des champs sélectionnés à l'origine
		var sChampsEnd			 = f.sCHAMPS_END;				// balise contenant les idf des champs sélectionnés à la fin des modifications
		var sChampsToDelete		 = f.sCHAMPS_TO_DELETE;			// balise contenant les idf des champs non sélectionnés alors qu'ils l'étaient à l'origine
		var tChampsToDelete		 = new Array();					// tableau contenant les idf des champs non sélectionnés alors qu'ils l'étaient à l'origine
		var sChampsMemorises	 = "";							// texte contenant les idf des champs sélectionnés à la fin des modifications
		var tChampsMemorises	 = new Array();					// tableau contenant les idf des champs sélectionnés à la fin des modifications
		var isDeleted			 = true;						// booléen permettant de savoir si le champ a été supprimé ou non

		// champ utilisés à l'origine (Avant modification)
		tChampsBegin = sChampsBegin.value.split("|");

		// on cré le contenu de la balise contenant les idf des champs sélectionnés
		// en parcourrant toutes les lignes des associations créées
		for(i=1;i<=f.NTP_NB_CHAMPS.value;i++){
			var idfChamp = eval("f.elements['NAP_IDF_CHAMP_"+i+"']");
			if(idfChamp){
				sChampsMemorises += (sChampsMemorises.length>0 ? "|" : "");
				sChampsMemorises += idfChamp.value;
			}
		}

		// champ définitivement sélectionnés (Après modification)
		tChampsMemorises = sChampsMemorises.split("|");

		for(j=0;j<tChampsBegin.length;j++){
			isDeleted = true;
			for(i=0;i<tChampsMemorises.length;i++){
				if(tChampsMemorises[i] == tChampsBegin[j]){
					isDeleted = false;
				}
			}
			if(isDeleted){
				tChampsToDelete.push(tChampsBegin[j])
			}
		}

		// on mémorise les idf sélectionné
		sChampsEnd.value = sChampsMemorises;

		var sToDelete = "";
		for(i=0;i<tChampsToDelete.length;i++){
			sToDelete += (sToDelete.length>0 ? "|":"");
			sToDelete += tChampsToDelete[i];
		}

		// on rempli le champ qui va permettre de poster les identifiant des champs à mettre à NULL comme valeur
		sChampsToDelete.value = sToDelete;

		if(f.NTP_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le libellé!\n";
			tab_focus[nb_erreur] = "NTP_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		// Si le premier champ n'est pas associé au type de produit
		// alors il y a une erreur car tout type de produit
		// doit au moins être lié à un champ
		if(!f.NAP_IDF_CHAMP_1){
			msg_erreur = msg_erreur + " - Veuillez associer au moins un champ!\n";
			tab_focus[nb_erreur] = "NTP_NB_CHAMPS";
			nb_erreur = nb_erreur + 1;
		}else{

			// Si le premier champ est associé au type de produit
			// mais qu'aucune valeur n'est transmise
			// alors il y a une erreur
			if(f.NAP_IDF_CHAMP_1.value == ""){
				msg_erreur = msg_erreur + " - Veuillez sélectionner au moins un champ!\n";
				tab_focus[nb_erreur] = "NAP_IDF_CHAMP_1";
				nb_erreur = nb_erreur + 1;
			}

			// Au moins un des champs existant doit avoir l'attribut idc_ref coché
			var idcRefChecked = false;
			for(i=1;i<=f.NTP_NB_CHAMPS.value;i++){
				var idcRef = eval("f.elements['NAP_IDC_REF_"+i+"']");
				if(idcRef){
					if(idcRef.checked){
						idcRefChecked = true;
					}
				}
			}

			// Donc si aucun des boutons radios n'a été coché
			// on l'indique par un message d'erreur
			if(!idcRefChecked){
				msg_erreur = msg_erreur + " - Veuillez définir un champ avec l'attribut Référence!\n";
				tab_focus[nb_erreur] = "NAP_IDC_REF_1";
				nb_erreur = nb_erreur + 1;
			}

			// Au moins un des champs existant doit avoir l'attribut idc_nom coché
			var idcNomChecked = false;
			for(i=1;i<=f.NTP_NB_CHAMPS.value;i++){
				var idcNom = eval("f.elements['NAP_IDC_NOM_"+i+"']");
				if(idcNom){
					if(idcNom.checked){
						idcNomChecked = true;
					}
				}
			}

			// Donc si aucun des boutons radios n'a été coché
			// on l'indique par un message d'erreur
			if(!idcNomChecked){
				msg_erreur = msg_erreur + " - Veuillez définir un champ avec l'attribut Désignation!\n";
				tab_focus[nb_erreur] = "NAP_IDC_NOM_1";
				nb_erreur = nb_erreur + 1;
			}

		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des types de produits-------------------------------------







	/* 	- verifFormFournisseur() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Fournisseurs
	|	Pages appellantes :
	|		- prive/fournisseurs.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormFournisseur()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NFR_ACRONYME.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un acronyme \n";
			tab_focus[nb_erreur] = "NFR_ACRONYME";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NFR_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer un libellé \n";
			tab_focus[nb_erreur] = "NFR_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NFR_REFERENCE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer une référence \n";
			tab_focus[nb_erreur] = "NFR_REFERENCE";
			nb_erreur = nb_erreur + 1;
		}



		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Fournisseurs--------------------------------------






	/* 	- verifFormMarque() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Marques
	|	Pages appellantes :
	|		- prive/marques.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormMarque()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NMR_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer un libellé \n";
			tab_focus[nb_erreur] = "NMR_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NMR_REFERENCE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer une référence \n";
			tab_focus[nb_erreur] = "NMR_REFERENCE";
			nb_erreur = nb_erreur + 1;
		}



		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Marques--------------------------------------





	/* 	- verifFormCatalogue() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Catalogues
	|	Pages appellantes :
	|		- prive/catalogues.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormCatalogue()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NCR_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NCR_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Catalogues----------------------------------------





	/* 	- verifFormFamille() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Menus
	|	Pages appellantes :
	|		- prive/menus.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormFamille()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NFP_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un libellé \n";
			tab_focus[nb_erreur] = "NFP_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NFP_CODE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer un code \n";
			tab_focus[nb_erreur] = "NFP_CODE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Familles----------------------------------------





	/* 	- verifFormForum() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Forums
	|	Pages appellantes :
	|		- prive/forums.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormForum()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NFO_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le libellé!\n";
			tab_focus[nb_erreur] = "NFO_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NFO_TYPE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le type du forum!\n";
			tab_focus[nb_erreur] = "NFO_TYPE";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Forums--------------------------------------------






	/* 	- verifFormMessage() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire des Messages de Forums
	|	Pages appellantes :
	|		- prive/messages.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormMessage()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NMF_IDF_FORUM.value == "") {
			msg_erreur = msg_erreur + " - Veuillez sélectionner un forum parent!\n";
			tab_focus[nb_erreur] = "NMF_IDF_FORUM";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NMF_TITRE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le titre!\n";
			tab_focus[nb_erreur] = "NMF_TITRE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NMF_MESSAGE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer le message!\n";
			tab_focus[nb_erreur] = "NMF_MESSAGE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NMF_STATUT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez sélectionner un statut!\n";
			tab_focus[nb_erreur] = "NMF_STATUT";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Messages--------------------------------------------




	// Instanciation d'un objet XmlHttpRequest
	// quelque soit le navigateur
	function getHTTPObject(){

		var xmlhttp = false;

		// Compilation conditionnelle d'IE
		/*@cc_on
		@if (@_jscript_version >= 5)
			try{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e){
				try{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}catch (E){
					xmlhttp = false;
				}
			}
		@else
			xmlhttp = false;
		@end @*/

		// on essaie de créer l'objet si ce n'est pas déjà fait
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
			try{
				xmlhttp = new XMLHttpRequest();
			}catch (e){
				xmlhttp = false;
			}
		}

		if (xmlhttp){
			// on définit ce qui doit se passer quand la page répondra
			xmlhttp.onreadystatechange = function(){
				// 4 : état "complete"
				if (xmlhttp.readyState == 4){
					// 200 : code HTTP pour OK
					if (xmlhttp.status == 200){
						/*
						Traitement de la réponse.
						Ici on affiche la réponse dans une boîte de dialogue.
						*/
						alert(xmlhttp.responseText);
					}
				}
			}
		}

		return xmlhttp;

	}



	/* 	- testerMotif() ----------------------------------------------------------
	|	Description :
	|		-	Fonction utilisée pour vérifier le motif d'un masque sur une expression à tester
	|			dans le module d'inscription des sociétés.
	|	Aguments OBLIGATOIRES
	|		- argument 0 (string)	 : sMotif		=>	motif à tester
	|		- argument 0 (string)	 : sExpression	=>	expression sur laquelle tester le motif
	|	Pages appellantes :
	|		- inc/clients_partenaires.php
	|	Return :
	|		- true : si l'expression testée respecte le motif
	|		- false: si l'expression testée ne respecte pas le motif
	------------------------------------------------------------------------------------ */
	function testerMotif(sMotif,sExpression){

		// Création de l'expression régulière
		var rControle = new RegExp(sMotif);

		// Test du motif
		return rControle.test(sExpression);

	}
	// fin Fonction testerMotif()-------------------------------------------------------





	var _bLOGIN_ENABLE = true;
	function testerLogin(sLogin){

		if(sLogin == "") return;

		var xhr_object = getHTTPObject();
		if (!xhr_object) return;
		var method		 = "POST";
		var action		 = "societes_utilisateur_disponible.php";
		var data 		 = null;

		// récupération des données à enregistrer
		data = "login="+escape(sLogin);

		// Ouverture de la connexion au fichier avec la méthode choisie
		// en mode synchrone car le script doir être bloquant
		xhr_object.open(method, action, false);

		// Quand les données sont traitées
		// on affiche la réponse de l'enregistrement du fichier
		xhr_object.onreadystatechange = function () {
			if(xhr_object.readyState == 4) {
				_bLOGIN_ENABLE = xhr_object.responseText;
			}
		};

		// Ajout des en-têtes nécessaires à la requête en POST
		if(method == "POST") xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

		// Envoi des données
		xhr_object.send(data);

	}







	/* 	- verifFormConstructeur() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Constructeur
	|	Pages appellantes :
	|		 - prive/constructeurs.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormConstructeur()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NCF_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NCF_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCF_REFERENCE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Référence!\n";
			tab_focus[nb_erreur] = "NCF_REFERENCE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Constructeur-------------------------------------------





	/* 	- verifFormCompte() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Compte
	|	Pages appellantes :
	|		 - prive/comptes.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormCompte()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NCO_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NCO_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCO_NUMERO.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Numéro!\n";
			tab_focus[nb_erreur] = "NCO_NUMERO";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCO_SENS.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Sens!\n";
			tab_focus[nb_erreur] = "NCO_SENS";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCO_NATURE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Nature!\n";
			tab_focus[nb_erreur] = "NCO_NATURE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Compte-------------------------------------------





	/* 	- verifFormPromotion() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Promotion
	|	Pages appellantes :
	|		 - prive/promotions.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormPromotion()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NPP_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NPP_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NPP_TYPE_REMISE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de remise!\n";
			tab_focus[nb_erreur] = "NPP_TYPE_REMISE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NPP_REMISE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Remise!\n";
			tab_focus[nb_erreur] = "NPP_REMISE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Promotion-------------------------------------------





	/* 	- verifFormCategorie() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Categorie
	|	Pages appellantes :
	|		 - prive/categories.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormCategorie()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NCG_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NCG_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Categorie-------------------------------------------









	/* 	- verifFormClient() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Client
	|	Pages appellantes :
	|		 - prive/clients.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormClient()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var sChoix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NCL_IDF_CATEGORIE.value == "" || f.NCL_IDF_CATEGORIE.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Catégorie!\n";
			tab_focus[nb_erreur] = "NCL_IDF_CATEGORIE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCL_RAISON_SOCIALE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Raison Sociale!\n";
			tab_focus[nb_erreur] = "NCL_RAISON_SOCIALE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCL_LOGIN.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Login!\n";
			tab_focus[nb_erreur] = "NCL_LOGIN";
			nb_erreur = nb_erreur + 1;
		}else{

			// Vérification que le login choisi n'existe pas déjà !
			var sLogin			= f.NCL_LOGIN.value;
			var sCurrentLogin	= f.NCL_CURRENT_LOGIN.value;

			// on prépare les champs en les nettoyant !
			var xhr_object		 = getHTTPObject();
			var sResponse		 = "";
			var bMode			 = false; // mode synchrone
			var sMethod			 = "POST";
			var sAction			 = "ajax/ajax_checkLogin.php";
			var sData 			 = "login="+escape(sLogin);
			sData 				 += (sCurrentLogin != "" ? "&currentLogin="+escape(sCurrentLogin) : "");

			// Test d'existence de l'objet XmlHttpRequest
			if (!xhr_object) return;

			// Ouverture de la connexion au fichier avec la méthode choisie
			xhr_object.open(sMethod, sAction, bMode);

			// Quand les données sont traitées
			// on affiche la réponse
			xhr_object.onreadystatechange = function () {
				if(xhr_object.readyState == 4) {
					sResponse = xhr_object.responseText;
					// Si le login existe déjà on indique l'erreur
					if(sResponse == "true") {
						msg_erreur = msg_erreur + " - Le Login que vous avez choisi est déjà pris, veuillez en choisir un nouveau !\n";
						tab_focus[nb_erreur] = "NCL_LOGIN";
						nb_erreur = nb_erreur + 1;
						f.NCL_LOGIN.value = "";
					}
				}
			};

			// Ajout des en-têtes nécessaires à la requête en POST
			if(sMethod == "POST") xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

			// Envoi des données
			xhr_object.send(sData);
		}


		if(sChoix == "create"){
			if(f.NCL_PASSWORD.value == "") {
				msg_erreur = msg_erreur + " - Veuillez compléter le champ Mot de Passe!\n";
				tab_focus[nb_erreur] = "NCL_PASSWORD";
				nb_erreur = nb_erreur + 1;
			}else{
				if(f.NCL_PASSWORD.value != f.NCL_VERIF_PASSWORD.value) {
					msg_erreur = msg_erreur + " - Veuillez vérifier votre Mot de Passe!\n";
					tab_focus[nb_erreur] = "NCL_VERIF_PASSWORD";
					nb_erreur = nb_erreur + 1;
					f.NCL_VERIF_PASSWORD.value = "";
				}
			}
		}else{
			if(f.NCL_PASSWORD.value != "" && f.NCL_PASSWORD.value != f.NCL_VERIF_PASSWORD.value) {
				msg_erreur = msg_erreur + " - Veuillez vérifier votre Mot de Passe!\n";
				tab_focus[nb_erreur] = "NCL_VERIF_PASSWORD";
				nb_erreur = nb_erreur + 1;
				f.NCL_VERIF_PASSWORD.value = "";
			}
		}

		if(f.NCL_TELEPHONE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Téléphone!\n";
			tab_focus[nb_erreur] = "NCL_TELEPHONE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCL_MAIL.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ mail!\n";
			tab_focus[nb_erreur] = "NCL_MAIL";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NCL_WEB.value != ""){
			if(f.NCL_WEB.value.substring(0,7) != "http://"){
				f.NCL_WEB.value = "http://" + f.NCL_WEB.value;
			}
		}

		if(f.NCL_ENCOURS_MAX.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Encours Maximum !\n";
			tab_focus[nb_erreur] = "NCL_ENCOURS_MAX";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Client-------------------------------------------




	/* 	- verifFormAdresse() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Adresse
	|	Pages appellantes :
	|		 - prive/adresses.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormAdresse()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NAC_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NAC_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAC_IDF_CLIENT.value == "" || f.NAC_IDF_CLIENT.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Client!\n";
			tab_focus[nb_erreur] = "NAC_IDF_CLIENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAC_TYPE_ADRESSE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type d'adresse!\n";
			tab_focus[nb_erreur] = "NAC_TYPE_ADRESSE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAC_LIGNE_1.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Adresse!\n";
			tab_focus[nb_erreur] = "NAC_LIGNE_1";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAC_CP.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ CP!\n";
			tab_focus[nb_erreur] = "NAC_CP";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAC_VILLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Ville!\n";
			tab_focus[nb_erreur] = "NAC_VILLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAC_PAYS.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Pays!\n";
			tab_focus[nb_erreur] = "NAC_PAYS";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Adresse-------------------------------------------









	/* 	- verifFormMouvementStock() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Mouvements de Stock
	|	Pages appellantes :
	|		 - prive/mouvements_stocks.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormMouvementStock()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NMS_TYPE_MOUVEMENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Mouvement!\n";
			tab_focus[nb_erreur] = "NMS_TYPE_MOUVEMENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMS_IDF_BON_COMMANDE_FOURNISSEUR.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Bon de Commande Fournisseur !\n";
			tab_focus[nb_erreur] = "NMS_IDF_BON_COMMANDE_FOURNISSEUR";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMS_IDF_BON_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Bon de Commande !\n";
			tab_focus[nb_erreur] = "NMS_IDF_BON_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMS_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NMS_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMS_DATE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Date!\n";
			tab_focus[nb_erreur] = "NMS_DATE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMS_QUANTITE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Quantité!\n";
			tab_focus[nb_erreur] = "NMS_QUANTITE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des MouvementStock-------------------------------------------









	/* 	- verifFormCategorieTarifaire() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des CategorieTarifaire
	|	Pages appellantes :
	|		 - prive/categorietarifaires.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormCategorieTarifaire()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NCT_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NCT_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCT_TYPE_SEUIL.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de Seuil!\n";
			tab_focus[nb_erreur] = "NCT_TYPE_SEUIL";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCT_PLANCHER.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Plancher!\n";
			tab_focus[nb_erreur] = "NCT_PLANCHER";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCT_PLAFOND.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Plafond!\n";
			tab_focus[nb_erreur] = "NCT_PLAFOND";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCT_TYPE_REMISE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de Remise!\n";
			tab_focus[nb_erreur] = "NCT_TYPE_REMISE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NCT_REMISE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Remise!\n";
			tab_focus[nb_erreur] = "NCT_REMISE";
			nb_erreur = nb_erreur + 1;
		}



		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des CategorieTarifaire-------------------------------------------





	/* 	- verifFormConditionSpeciale() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des ConditionSpeciale
	|	Pages appellantes :
	|		 - prive/conditionspeciales.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormConditionSpeciale()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NCS_IDF_CATEGORIE.value == "" || f.NCS_IDF_CATEGORIE.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Catégorie Tarifaire!\n";
			tab_focus[nb_erreur] = "NCS_IDF_CATEGORIE";
			nb_erreur = nb_erreur + 1;
		}

		if(
		      (f.elements["produits_selectionnes[]"].value == "" || f.elements["produits_selectionnes[]"].value == "NULL")
		   && (f.elements["familles_selectionnes[]"].value == "" || f.elements["familles_selectionnes[]"].value == "NULL")
		   && (f.elements["clients_selectionnes[]"].value == "" || f.elements["clients_selectionnes[]"].value == "NULL")
		   )
		{
			msg_erreur = msg_erreur + " - Veuillez sélectionner au moins un des champs Famille de Produits, Produit ou Client !\n";
			tab_focus[nb_erreur] = "NCS_IDF_CATEGORIE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			var oInput = eval("document.formCreateUpdate." + tab_focus[0]);
			if(oInput && oInput.type!="hidden") oInput.focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des ConditionSpeciale-------------------------------------------





	/* 	- verifFormFraisPorts() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des FraisPorts
	|	Pages appellantes :
	|		 - prive/frais_ports.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormFraisPorts()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NPO_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NPO_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NPO_POIDS.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Poids!\n";
			tab_focus[nb_erreur] = "NPO_POIDS";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NPO_FRAIS.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Frais!\n";
			tab_focus[nb_erreur] = "NPO_FRAIS";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des FraisPorts-------------------------------------------




	/* 	- verifFormLigneCommande() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Lignes de Commande
	|	Pages appellantes :
	|		 - prive/lignes_commandes.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormLigneCommande()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NLC_IDF_BON_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Bon de Commande!\n";
			tab_focus[nb_erreur] = "NLC_IDF_BON_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NLC_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NLC_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NLC_QUANTITE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Quantité!\n";
			tab_focus[nb_erreur] = "NLC_QUANTITE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Lignes de Commande-------------------------------------------





	/* 	- verifFormBonCommande() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Bons de Commandes
	|	Pages appellantes :
	|		 - prive/bons_commandes.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormBonCommande(oForm)
	{

		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = oForm;						// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		//
		// PARTIE 1 : CLIENT
		// ---------------------------
		if(f.NBC_IDF_CLIENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Client !\n";
			tab_focus[nb_erreur] = "NBC_IDF_CLIENT";
			nb_erreur = nb_erreur + 1;
		}else{
			if(f.NBC_IDF_ADRESSE_FACTURATION.value == "") {
				msg_erreur = msg_erreur + " - Veuillez compléter le champ Adresse de Facturation !\n";
				tab_focus[nb_erreur] = "NBC_IDF_ADRESSE_FACTURATION";
				nb_erreur = nb_erreur + 1;
			}

			if(f.NBC_IDF_ADRESSE_LIVRAISON.value == "") {
				msg_erreur = msg_erreur + " - Veuillez compléter le champ Adresse de Livraison !\n";
				tab_focus[nb_erreur] = "NBC_IDF_ADRESSE_LIVRAISON";
				nb_erreur = nb_erreur + 1;
			}
		}

		if(nb_erreur > 0){
			changeOngletActif('div_1','div_bdc_client','BDC_CLIENTS','div_onglet_1','div_onglets');
			return formErrorValidation({"oForm":f, "sErreur":msg_erreur, "iError":nb_erreur, "aFocus":tab_focus });
		}


		//
		// PARTIE 2 : BON DE COMMANDE
		// ---------------------------
		if(f.NBC_TYPE_DOCUMENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de Document !\n";
			tab_focus[nb_erreur] = "NBC_TYPE_DOCUMENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBC_REFERENCE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Référence !\n";
			tab_focus[nb_erreur] = "NBC_REFERENCE";
			nb_erreur = nb_erreur + 1;
		}


		if(choix == "update" && f.NBC_DATE_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Date de Commande !\n";
			tab_focus[nb_erreur] = "NBC_DATE_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBC_STATUT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Statut !\n";
			tab_focus[nb_erreur] = "NBC_STATUT";
			nb_erreur = nb_erreur + 1;
		}


		if(!radioIsChecked("NBC_IDF_TYPE_REGLEMENT")) {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de Réglement !\n";
			tab_focus[nb_erreur] = null;
			nb_erreur = nb_erreur + 1;
		}


		if(!radioIsChecked("NBC_IDF_ECHEANCE_REGLEMENT")) {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Echéance de Réglement !\n";
			tab_focus[nb_erreur] = null;
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur > 0){
			changeOngletActif('div_2','div_bdc_client','BDC_CLIENTS','div_onglet_2','div_onglets');
			return formErrorValidation({"oForm":f, "sErreur":msg_erreur, "iError":nb_erreur, "aFocus":tab_focus });
		}




		var f				 = oForm;
		var xhr_object		 = getHTTPObject();
		var sResponse		 = "";
		var bMode			 = false; // mode synchrone
		var sMethod			 = "POST";
		var sAction			 = "ajax/ajax_ManageBonCommande.php";
		var sData 			 = "choix="+escape(f.choix.value);
		sData 				+= "&NBC_IDF_BON_COMMANDE="+escape(f.NBC_IDF_BON_COMMANDE.value);
		sData 				+= "&NBC_IDF_CLIENT="+escape(f.NBC_IDF_CLIENT.value);
		sData 				+= "&NBC_IDF_ADRESSE_FACTURATION="+escape(f.NBC_IDF_ADRESSE_FACTURATION.value);
		sData 				+= "&NBC_IDF_ADRESSE_LIVRAISON="+escape(f.NBC_IDF_ADRESSE_LIVRAISON.value);
		sData 				+= "&NBC_REFERENCE="+escape(f.NBC_REFERENCE.value);
		sData 				+= "&NBC_DATE_COMMANDE="+escape(f.NBC_DATE_COMMANDE.value);
		sData 				+= "&NBC_DATE_REGLEMENT="+escape(f.NBC_DATE_REGLEMENT.value);
		sData 				+= "&NBC_DATE_LIVRAISON="+escape(f.NBC_DATE_LIVRAISON.value);
		sData 				+= "&NBC_STATUT="+escape(f.NBC_STATUT.value);
		sData 				+= "&NBC_TYPE_DOCUMENT="+escape(f.NBC_TYPE_DOCUMENT.value);
		sData 				+= "&NBC_IDF_TYPE_REGLEMENT="+escape(getRadioCheckedValue("NBC_IDF_TYPE_REGLEMENT"));
		sData 				+= "&NBC_IDF_ECHEANCE_REGLEMENT="+escape(getRadioCheckedValue("NBC_IDF_ECHEANCE_REGLEMENT"));
		sData 				+= "&"+choix+"=valider";

		// Test d'existence de l'objet XmlHttpRequest
		if (!xhr_object) return;

		// Ouverture de la connexion au fichier avec la méthode choisie
		xhr_object.open(sMethod, sAction, bMode);

		// Quand les données sont traitées
		// on affiche la réponse
		xhr_object.onreadystatechange = function () {
			if(xhr_object.readyState == 4) {
				sResponse	 = xhr_object.responseText;

				var iIdf	 = 0;
				var oReg	 = new RegExp("[|]+","g");
				var aResult	 = sResponse.split(oReg);
				var sResult	 = aResult[0];
				if(aResult.length > 1) iIdf = aResult[1];

				switch(sResult){
					case "error" :
						alert("Erreur lors de la Création / Modification du bon de Commande !");
					break;
					case "create_ok" :
						alert("Création du bon de Commande n°"+ iIdf +" réussie !");
						f.choix.value = "update";
						f.create.name = "update";
						f.NBC_IDF_BON_COMMANDE.value = iIdf;
						getBonCommandeField(iIdf,"NBC_DATE_COMMANDE","inline",getObjet("oSpanDateCommande"));
						getBonCommandeField(iIdf,"NBC_DATE_COMMANDE","input",f.NBC_DATE_COMMANDE);
						changeClassName("oTRDateCommande","visible");
						reloadBdcOngletList("update");
					break;
					case "update_ok" :
						alert("Modification du bon de Commande n°"+ f.NBC_IDF_BON_COMMANDE.value +" réussie !");
						refreshRecapCommande(oForm);
						refreshLigneCommande(oForm);
					break;

				}
			}
		};

		// Ajout des en-têtes nécessaires à la requête en POST
		if(sMethod == "POST") xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

		// Envoi des données
		xhr_object.send(sData);

	}
	// fin Vérification du formulaire des bons de Commande-------------------------------------------






	/**
	 *
	 * @access public
	 * @return void
	 **/
	function getBonCommandeField(iIdf,sField,sResult,oObj){

		var xhr_object		 = getHTTPObject();
		var sResponse		 = "";
		var bMode			 = false; // mode synchrone
		var sMethod			 = "POST";
		var sAction			 = "ajax/ajax_GetBonCommandeField.php";
		var sData 			 = "iIdfBonCommande="+escape(iIdf);
		sData 				+= "&sField="+escape(sField);
		sData 				+= "&sResult="+escape(sResult);

		// Test d'existence de l'objet XmlHttpRequest
		if (!xhr_object) return;

		// Ouverture de la connexion au fichier avec la méthode choisie
		xhr_object.open(sMethod, sAction, bMode);

		// Quand les données sont traitées
		// on affiche la réponse
		xhr_object.onreadystatechange = function () {
			if(xhr_object.readyState == 4) {
				sResponse	 = xhr_object.responseText;
				switch(sResult){
					case "inline": oObj.innerHTML = sResponse; break;
					case "input":
					default: oObj.value = sResponse; break;
				}
			}
		};

		// Ajout des en-têtes nécessaires à la requête en POST
		if(sMethod == "POST") xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

		// Envoi des données
		xhr_object.send(sData);

	}






	/* 	- verifFormModule() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Module
	|	Pages appellantes :
	|		 - prive/modules.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormModule()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NMO_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé !\n";
			tab_focus[nb_erreur] = "NMO_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMO_CODE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Code !\n";
			tab_focus[nb_erreur] = "NMO_CODE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMO_SQL_CREATE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ champ Requête de Création !\n";
			tab_focus[nb_erreur] = "NMO_SQL_CREATE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NMO_SQL_DELETE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ champ Requête de Suppression !\n";
			tab_focus[nb_erreur] = "NMO_SQL_DELETE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Module-------------------------------------------





	/* 	- verifFormBonCommandeFournisseur() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Bons de Commandes Fournisseurs
	|	Pages appellantes :
	|		 - prive/bons_commandes_fournisseurs.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormBonCommandeFournisseur()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NBF_IDF_FOURNISSEUR.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Fournisseur !\n";
			tab_focus[nb_erreur] = "NBF_IDF_FOURNISSEUR";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBF_REFERENCE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Référence !\n";
			tab_focus[nb_erreur] = "NBF_REFERENCE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBF_STATUT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Statut !\n";
			tab_focus[nb_erreur] = "NBF_STATUT";
			nb_erreur = nb_erreur + 1;
		}


		if(!radioIsChecked("NBF_IDF_TYPE_REGLEMENT")) {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de Réglement !\n";
			tab_focus[nb_erreur] = null;
			nb_erreur = nb_erreur + 1;
		}


		if(!radioIsChecked("NBF_IDF_ECHEANCE_REGLEMENT")) {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Echéance de Réglement !\n";
			tab_focus[nb_erreur] = null;
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			if(tab_focus[0]!=null) eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des bons de Commande Fournisseurs-----------------------------------





	/* 	- verifFormLigneCommandeFournisseur() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Lignes de Commande Fournisseur
	|	Pages appellantes :
	|		 - prive/lignes_commandes_fournisseurs.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormLigneCommandeFournisseur()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NLF_IDF_BON_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Bon de Commande!\n";
			tab_focus[nb_erreur] = "NLF_IDF_BON_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NLF_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NLF_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NLF_QUANTITE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Quantité!\n";
			tab_focus[nb_erreur] = "NLF_QUANTITE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Lignes de Commande Fournisseur-------------------------------------------







	/* 	- verifFormEntrepot() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Entrepots
	|	Pages appellantes :
	|		 - prive/entrepotss.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormEntrepot()
	{
		var msg_erreur = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			     = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		   = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NEN_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NEN_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Entrepôts-------------------------------------------




	/* 	- verifFormAbonnement() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Abonnement
	|	Pages appellantes :
	|		 - prive/abonnements.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormAbonnement()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NAB_IDF_CLIENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Client!\n";
			tab_focus[nb_erreur] = "NAB_IDF_CLIENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAB_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NAB_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAB_DATE_DEBUT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Début!\n";
			tab_focus[nb_erreur] = "NAB_DATE_DEBUT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NAB_DATE_FIN.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Fin!\n";
			tab_focus[nb_erreur] = "NAB_DATE_FIN";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Abonnements-------------------------------------------



	/* 	- verifFormRenouvellementAbonnement() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des RenouvellementAbonnement
	|	Pages appellantes :
	|		 - prive/renouvellementabonnements.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormRenouvellementAbonnement()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NRA_IDF_ABONNEMENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Abonnement!\n";
			tab_focus[nb_erreur] = "NRA_IDF_ABONNEMENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRA_IDF_BON_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Bon de Commande!\n";
			tab_focus[nb_erreur] = "NRA_IDF_BON_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des RenouvellementAbonnement-------------------------------------------






	/* 	- verifFormInfoLimite() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des InfoLimite
	|	Pages appellantes :
	|		 - prive/infolimites.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormInfoLimite()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NIL_IDF_CLIENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Client!\n";
			tab_focus[nb_erreur] = "NIL_IDF_CLIENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NIL_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NIL_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NIL_IDF_LIGNE_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Ligne de Commande!\n";
			tab_focus[nb_erreur] = "NIL_IDF_LIGNE_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NIL_QUANTITE_ACTUELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Quantité!\n";
			tab_focus[nb_erreur] = "NIL_QUANTITE_ACTUELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des InfoLimite-------------------------------------------


/* fin Vérification de formulaires en mode AJOUT/MODIFICATION=========================================== */










/* ========================================================================================
	::	Vérification de formulaires en mode SUPPRESSION
======================================================================================== */

	/* 	- verifSuppr() ----------------------------------------------------------
	|	Description :
	|		- Fonction de vérification de cases à cocher si le choix du formulaire
	|		  est la suppression. Test si au moins une case à cocher est cochée pour
	|		  permettre ou non la suppression.
	|	Variables Globales Utilisées :
	|	Aguments OBLIGATOIRES
	|		- argument 0 (string)	 : nomCase		=>	nom de la case à cocher
	|		- argument 1 (string)	 : msgErreur	=>	message à afficher en cas d'erreur
	|	Pages appellantes :
	|		- prive/types_articles.php
	|	Return :
	|		- true	 : si au moins une case est cochée
	|		- false	 : si aucune case n'est cochée
	------------------------------------------------------------------------------------ */
	function verifSuppr(nomCase,msgErreur)
	{
		var texte		= "";
		var elt			= document.getElementsByName(nomCase);
		var isChecked	= false;
		var f			 = document.formDeleteUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		switch(choix){
			case "delete":
				var bConfirmDelete = confirm("Etes-vous sûr de vouloir supprimer ces enregistrements ?");
				if(bConfirmDelete){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					/*
					var suffixe = "";
					cocheDecocheCb("suppression_"+suffixe+"[]","decoche");
					*/
					return false;
				}
			break;
			case "relance":
				var bConfirmDelete = confirm("Etes-vous sûr de vouloir envoyer des mails de relance pour ces factures ?");
				if(bConfirmDelete){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					return false;
				}
			break;
			case "relancePrint":
				var bConfirmDelete = confirm("Etes-vous sûr de vouloir envoyer des lettres de relance pour ces factures ?");
				if(bConfirmDelete){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					return false;
				}
			break;
			case "uninstall":
				var bConfirmUninstall = confirm("Etes-vous sûr de vouloir désinstaller ces modules ?");
				if(bConfirmUninstall){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					/*
					var suffixe = "";
					cocheDecocheCb("suppression_"+suffixe+"[]","decoche");
					*/
					return false;
				}
			break;
			case "install":
				var bConfirmInstall = confirm("Etes-vous sûr de vouloir installer ces modules ?");
				if(bConfirmInstall){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					/*
					var suffixe = "";
					cocheDecocheCb("suppression_"+suffixe+"[]","decoche");
					*/
					return false;
				}
			break;
			case "renew":
				var bConfirmDelete = confirm("Etes-vous sûr de vouloir renouveler ces abonnements ?");
				if(bConfirmDelete){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					return false;
				}
			break;
			case "upgrade":
				var bConfirmDelete = confirm("Etes-vous sûr de vouloir proposer une montée en gamme pour ces produits ?");
				if(bConfirmDelete){
					if(elt)	{
						for(i=0;i<elt.length;i++) {
							if(elt[i].checked == true) {
								isChecked = true;
							}
						}
					}

					if(isChecked) {
						return true;
					} else {
						alert(msgErreur);
						return false;
					}
				}else{
					return false;
				}
			break;
			default:
				return true;
			break;
		}

	}
	// fin Fonction de vérification de cases à cocher--------------------------------------




	function verifModuleAction(sChoix){

		switch(sChoix){
			case "uninstall":
				bReturn = verifSuppr('desinstallation_module[]','Veuillez sélectionner au moins un Module\navant de cliquer sur le bouton Désinstaller !');
			break;
			case "install":
				bReturn = verifSuppr('installation_module[]','Veuillez sélectionner au moins un Module\navant de cliquer sur le bouton Installer !');
			break;
			case "delete":
			default:
				bReturn = verifSuppr('suppression_module[]','Veuillez sélectionner au moins un Module\navant de cliquer sur le bouton Supprimer !');
			break;
		}

		return bReturn;

	}

	function verifAbonnementAction(sChoix){
		switch(sChoix){
			case "renew":
				bReturn = verifSuppr('renouvellement_abonnement[]','Veuillez sélectionner au moins un Abonnement\navant de cliquer sur le bouton Renouveler !');
			break;
			case "delete":
			default:
				bReturn = verifSuppr('suppression_abonnement[]','Veuillez sélectionner au moins un Abonnement\navant de cliquer sur le bouton Supprimer !');
			break;
		}

		return bReturn;

	}


	function verifLimiteAction(sChoix){
		switch(sChoix){
			case "upgrade":
				bReturn = verifSuppr('upgrade_produit[]','Veuillez sélectionner au moins une info sur un produit limite\navant de cliquer sur le bouton Monter en Gamme !');
			break;
			case "delete":
			default:
				bReturn = verifSuppr('suppression_infolimite[]','Veuillez sélectionner au moins une info sur un produit limite\navant de cliquer sur le bouton Supprimer !');
			break;
		}

		return bReturn;

	}






	/* 	- verifFormTypeReglement() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des TypeReglement
	|	Pages appellantes :
	|		 - prive/typereglements.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormTypeReglement()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NTR_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NTR_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des TypeReglement-------------------------------------------



  /* 	- verifFormEcheanceReglement() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des EcheanceReglement
	|	Pages appellantes :
	|		 - prive/echeancereglements.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormEcheanceReglement()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NER_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NER_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des EcheanceReglement-------------------------------------------


	/* 	- verifFormLiaisonProduitCompte() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des LiaisonProduitCompte
	|	Pages appellantes :
	|		 - prive/liaisonproduitcomptes.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormLiaisonProduitCompte()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NPC_IDF_COMPTE.value == "" || f.NPC_IDF_COMPTE.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Compte!\n";
			tab_focus[nb_erreur] = "NPC_IDF_COMPTE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NPC_IDF_PRODUIT.value == "" || f.NPC_IDF_PRODUIT.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NPC_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des LiaisonProduitCompte-------------------------------------------






	/* 	- verifFormLiaisonFamilleCompte() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des LiaisonFamilleCompte
	|	Pages appellantes :
	|		 - prive/liaisons_familles_comptes.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormLiaisonFamilleCompte()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"

		if(f.NFC_IDF_COMPTE.value == "" || f.NFC_IDF_COMPTE.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Compte!\n";
			tab_focus[nb_erreur] = "NFC_IDF_COMPTE";
			nb_erreur = nb_erreur + 1;
		}

		if(f.NFC_IDF_FAMILLE_PRODUIT.value == "" || f.NFC_IDF_FAMILLE_PRODUIT.value == "NULL") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NFC_IDF_FAMILLE_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des LiaisonFamilleCompte-------------------------------------------






	/* 	- verifFormReglementClient() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des ReglementClient
	|	Pages appellantes :
	|		 - prive/reglementclients.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormReglementClient()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NRC_IDF_BON_COMMANDE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Bon de Commande!\n";
			tab_focus[nb_erreur] = "NRC_IDF_BON_COMMANDE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRC_IDF_TYPE_REGLEMENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Type de Réglement!\n";
			tab_focus[nb_erreur] = "NRC_IDF_TYPE_REGLEMENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRC_IDF_ECHEANCE_REGLEMENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Echéance!\n";
			tab_focus[nb_erreur] = "NRC_IDF_ECHEANCE_REGLEMENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRC_MONTANT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Montant!\n";
			tab_focus[nb_erreur] = "NRC_MONTANT";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des ReglementClient-------------------------------------------





	/* 	- verifFormBanque() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Banques
	|	Pages appellantes :
	|		 - prive/banques.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormBanque()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NBA_IDF_CLIENT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez choisir un Client!\n";
			tab_focus[nb_erreur] = "NBA_IDF_CLIENT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBA_LIBELLE_COMPTE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le Libellé du Compte!\n";
			tab_focus[nb_erreur] = "NBA_LIBELLE_COMPTE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBA_CODE_BANQUE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le Code Banque!\n";
			tab_focus[nb_erreur] = "NBA_CODE_BANQUE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBA_CODE_GUICHET.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le Code Guichet!\n";
			tab_focus[nb_erreur] = "NBA_CODE_GUICHET";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBA_NUMERO_COMPTE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le Numéro de Compte!\n";
			tab_focus[nb_erreur] = "NBA_NUMERO_COMPTE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NBA_CLE_RIB.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter la Clé RIB!\n";
			tab_focus[nb_erreur] = "NBA_CLE_RIB";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Banques-------------------------------------------






	/* 	- verifFormRepartitionStock() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des RepartitionStock
	|	Pages appellantes :
	|		 - prive/repartitionstocks.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormRepartitionStock()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NRS_IDF_PRODUIT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Produit!\n";
			tab_focus[nb_erreur] = "NRS_IDF_PRODUIT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRS_IDF_ENTREPOT.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Entrepôt!\n";
			tab_focus[nb_erreur] = "NRS_IDF_ENTREPOT";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NRS_QUANTITE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Quantité!\n";
			tab_focus[nb_erreur] = "NRS_QUANTITE";
			nb_erreur = nb_erreur + 1;
		}else{
			if(isNaN(f.NRS_QUANTITE.value)) {
				msg_erreur = msg_erreur + " - Veuillez compléter le champ Quantité (seuls les chiffres peuvent être utilisés) !\n";
				tab_focus[nb_erreur] = "NRS_QUANTITE";
				nb_erreur = nb_erreur + 1;
			}
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des RepartitionStock-------------------------------------------






	/* 	- verifFormTemplate() ----------------------------------------------------------
	|	Description :
	|		 -	Vérification du formulaire des Template
	|	Pages appellantes :
	|		 - prive/templates.php
	|	Return :
	|		 - true		 : si tous les champs obligatoires sont complétées
	|		 - false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormTemplate()
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = document.formCreateUpdate;	// référence au formulaire à analyser
		var choix		 = f.choix.value;				// choix en cours : "create" OU "update"


		if(f.NTE_LIBELLE.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Libellé!\n";
			tab_focus[nb_erreur] = "NTE_LIBELLE";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NTE_DOSSIER.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Dossier!\n";
			tab_focus[nb_erreur] = "NTE_DOSSIER";
			nb_erreur = nb_erreur + 1;
		}


		if(f.NTE_DESCRIPTION.value == "") {
			msg_erreur = msg_erreur + " - Veuillez compléter le champ Description!\n";
			tab_focus[nb_erreur] = "NTE_DESCRIPTION";
			nb_erreur = nb_erreur + 1;
		}


		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;
			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("document.formCreateUpdate." + tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire des Template-------------------------------------------




/* fin Vérification de formulaires en mode SUPPRESSION=================================================== */





/* ========================================================================================
	::	Vérification de formulaires en mode INSTALLATION de WEBTOOL
======================================================================================== */


	/* 	- verifFormContactWebtool() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire de contact
	|	Pages appellantes :
	|		- content/contact.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormContactWebtool(oForm)
	{
		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = oForm;						// référence au formulaire à analyser

		if(f.nom.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer votre nom !\n";
			tab_focus[nb_erreur] = "nom";
			nb_erreur = nb_erreur + 1;
		}

		if(f.email.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer votre adresse email!\n";
			tab_focus[nb_erreur] = "email";
			nb_erreur = nb_erreur + 1;
		}else{
			// on teste le format "aa@aa.aa"
			if(!testerMotif("^[a-z0-9\-_\.]+@[a-z0-9]+[\.]{1}[a-z]{2,5}$",f.email.value)){
				msg_erreur = msg_erreur + " - Votre adresse email n'est pas correctement formattée !\n";
				tab_focus[nb_erreur] = "email";
				nb_erreur = nb_erreur + 1;
			}
		}

		if(f.sujet.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer votre sujet!\n";
			tab_focus[nb_erreur] = "sujet";
			nb_erreur = nb_erreur + 1;
		}

		if(f.message.value == "") {
			msg_erreur = msg_erreur + " - Veuillez entrer votre message!\n";
			tab_focus[nb_erreur] = "message";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("f."+tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire de contact--------------------------------------------






	/* 	- verifConnexionWebtool() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire de connexion à l'espace d'administration
	|	Pages appellantes :
	|		- content/administration.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifConnexionWebtool(oForm){

		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = oForm;						// référence au formulaire à analyser

		if(f.login.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer votre login !\n";
			tab_focus[nb_erreur] = "login";
			nb_erreur = nb_erreur + 1;
		}

		if(f.password.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer votre mot de passe !\n";
			tab_focus[nb_erreur] = "password";
			nb_erreur = nb_erreur + 1;
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("f."+tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire de connexion--------------------------------------------



	/* 	- verifFormInstallationBd() ----------------------------------------------------------
	|	Description :	-	Vérification du formulaire d'installation de base de données
	|	Pages appellantes :
	|		- installation.php
	|	Return :
	|		- true	 : si tous les champs obligatoires sont complétées
	|		- false	 : si au moins un des champs obligatoires n'est pas complété
	------------------------------------------------------------------------------------ */
	function verifFormInstallationBd(oForm){

		var msg_erreur	 = "";							// construction du message d'erreur par concaténation successives
		var en_tete		 = "";							// en-tête du message d'erreur
		var nb_erreur	 = 0;							// comptabilisation des erreurs
		var tab_focus	 = new Array();					// tableau de mémorisation du focus pour se repositionner sur le premier éléments manquant
		var f			 = oForm;						// référence au formulaire à analyser

		if(f.host.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer l'hôte !\n";
			tab_focus[nb_erreur] = "host";
			nb_erreur = nb_erreur + 1;
		}

		if(f.bd.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer le nom de la base de données !\n";
			tab_focus[nb_erreur] = "bd";
			nb_erreur = nb_erreur + 1;
		}

		if(f.login_bd.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer le login de l'utilisateur de la base de données !\n";
			tab_focus[nb_erreur] = "login_bd";
			nb_erreur = nb_erreur + 1;
		}


		if(f.pwd_bd.value != "") {
			if(f.pwd_bd.value != f.verif_pwd_bd.value) {
				msg_erreur = msg_erreur + " - Veuillez répéter votre mot de passe !\n";
				tab_focus[nb_erreur] = "verif_pwd_bd";
				nb_erreur = nb_erreur + 1;
				eval("f.verif_pwd_bd").value = "";
			}
		}



		if(f.admWebtool.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer le nom d'utilisateur du Super Administrateur !\n";
			tab_focus[nb_erreur] = "admWebtool";
			nb_erreur = nb_erreur + 1;
		}

		if(f.pwdWebtool.value == "") {
			msg_erreur = msg_erreur + " - Veuillez indiquer le mot de passe du Super Administrateur !\n";
			tab_focus[nb_erreur] = "pwdWebtool";
			nb_erreur = nb_erreur + 1;
		}else{
			if(f.pwdWebtool.value != f.pwdWebtoolVerif.value) {
				msg_erreur = msg_erreur + " - Veuillez répéter le mot de passe du Super Administrateur !\n";
				tab_focus[nb_erreur] = "pwdWebtoolVerif";
				nb_erreur = nb_erreur + 1;
				eval("f.pwdWebtoolVerif").value = "";
			}
		}

		if(nb_erreur != 0) {
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "*     Vous avez "+nb_erreur+" erreur"+(nb_erreur > 1 ? 's':'')+" à corriger :     *\n" + en_tete;
			en_tete = "--------------------------------------------------------\n" + en_tete;
			en_tete = "                                                    \n" + en_tete;

			msg_erreur = en_tete + msg_erreur;
			alert(msg_erreur);
			eval("f."+tab_focus[0]).focus();
			return false;
		}else{
			return true;
		}
	}
	// fin Vérification du formulaire d'installation de base de donnée--------------------------------------------



/* fin Vérification de formulaires en mode INSTALLATION de WEBTOOL ==================================== */
