/* ========================================================================================
	::	Variables globales
======================================================================================== */

	/* 	- VARIABLES_001 -------------------------------------------------------------------
	|	VARIABLES UTILISEES PAR LES FONCTIONS
	|		:: nomFonction()
	------------------------------------------------------------------------------------ */
	// Détection du navigateur
	switch(window.navigator.appName){
		case "Netscape":
			switch(window.navigator.vendor){
				case "Firefox": nav = "Firefox" ; break; // FireFox
				case "Netscape": // Netscape
				default: nav = "Netscape"; break;
			}
		break;
		case "Microsoft Internet Explorer": // Internet Explorer
		default: nav = "IE"; break;
	}


	var ns4 = (document.layers)?true:false;
	var ie4 = (document.all)?true:false;
	var dom = (document.getElementById)?true:false; // NS 7.02, Mozilla FireFox, Mozilla, IE6

/* fin Variables globales=============================================================================== */



/* ========================================================================================
	::	Scripts Généraux
======================================================================================== */




	/* 	- reloadImage() ----------------------------------------------------------
	|	Description :
	|		-	Générer une nouvelle image
	|	Fonctions appellées :
	|		- getObjet()
	|	Pages appellantes :
	|		- inc/contact.inc.php
	|	Return :
	|		- NULL
	------------------------------------------------------------------------------------ */
	function reloadImage(oImg){
		if(oImg){
			sImgSrc = oImg.src;
			oImg.src = sImgSrc+"?"+(new Date().getTime());
		}
	}




	/* 	- getObjet() -----------------------------------------------------------------------
	|	Description :
	|		-	Atteindre un objet en fonction du navigateur utilisé
	|	Variables Globales Utilisées :
	|		- dom (bool)
	|	Aguments OBLIGATOIRES
	|		- argument 0 (string)	 : id		=>	id de l'objet à atteindre
	|	Return :
	|		- une référence à l'objet dont l'id est passé en paramètre
	|	Infos :
	|		- plusieurs fonction utilisent cette fonction dans leur scripts
	------------------------------------------------------------------------------------ */
	function getObjet(id){

		if(id){
			if (dom) obj = window.document.getElementById(id);
			else if (ie4) obj = window.document.all[id];
			else if (ns4) obj = window.document.layers[id];
		}else{
			obj = false;
		}
		return obj;

	}
	// fin Fonction getObjet(id)-----------------------------------------------------------



	var aFieldsToComplete = ["civilite","nom","societe","pays","tel","email","message"];
	function verifFormContact(oForm){

		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 sErrorData	 = "";							// message d'erreur affiché
		var oErrorData	 = getObjet("errorData");

		if(oErrorData) oErrorData.innerHTML = sErrorData;

		// Test automatisé des champs obligatoires
		for(i=0;i<aFieldsToComplete.length;i++){
			sFieldName = aFieldsToComplete[i];
			if(f[sFieldName].value == "") {
				tab_focus[nb_erreur] = sFieldName;
				nb_erreur = nb_erreur + 1;
			}
		}


		/*
		// Test du champ de de code
		if(f.code.value != "2538") {
			// on teste le bon code

				sErrorData += " ou le code de vérification<br />\n";
				tab_focus[nb_erreur] = "code";
				nb_erreur = nb_erreur + 1;

		}
		*/

		// Test du champ de l'adresse e-mail si rempli
       if(f.email.value != "") {
           // on teste le format "aa@aa.aa"
           //if(!testerMotif("^[a-z0-9\-_\.]+@[a-z0-9\-]+[\.]{1}[a-z]{2,5}$",f.email.value)){
           if(!testerMotif("^[^._-][a-z0-9._-]+[^._-]@[a-z0-9._-]+([a-z0-9]+[^._-])?[.-]+[a-z]{2,5}$",f.email.value)){
               sErrorData += "Please check your email  address<br />\n";
               tab_focus[nb_erreur] = "email";
               nb_erreur = nb_erreur + 1;
           }
       }

		if(nb_erreur != 0) {

			eval("f." + tab_focus[0]).focus();

			sErrorData = "Sorry, but an error has been made, <br/>please check the field(s)<br />\n" +sErrorData;
			if(oErrorData){
				oErrorData.setAttribute("class","errorData");
				oErrorData.setAttribute("className","errorData");
				oErrorData.innerHTML = sErrorData;
			}
			return false;
		}else{
			if(oErrorData){
				oErrorData.setAttribute("class","msgSent");
				oErrorData.setAttribute("className","msgSent");
				oErrorData.innerHTML = sErrorData;
			}
			return true;
		}

	}




	var _iClipStep = 0;
	function showMessageSent(){
		switch(_iClipStep){
			case 0:
				_iClipStep++;
				window.setTimeout("showMessageSent()",1500);
			break;
			case 1:
				_iClipStep++;
				var oMessageSent = getObjet('sMessageSent');
				if(oMessageSent) oMessageSent.innerHTML = "Message sent";
				window.setTimeout("showMessageSent()",3000);
			break;
			case 2:
				_iClipStep++;
				var oErrorData = getObjet('errorData');
				if(oErrorData) oErrorData.innerHTML = "";
				var oMessageProgression = getObjet('messageProgression');
				if(oMessageProgression) oMessageProgression.innerHTML = "";
			break;
		}
	}



	/* 	- 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
	|	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()-------------------------------------------------------

