/**************************************
Page   : template_tool.js.php
Auteur : G.N
Descr. : librairie js de template.php
VAR:
		IN  : 
					
		OUT : 
Modification
	Auteur				Date			Desr.

***************************************/

//////////////////////////////////////////////////////////////////
// ValiderFormTT : Vérifie le format et la présence des champs du 
//formulaire fiche_client basé sur la classe css des objets du formulaire
//@param 	 :	formulaire -> nom du formulaire dont les infos sont 
//						à pré-traiter (objet formulaire)
 function ValiderFormTT(formulaire)
 {
  // variables locales
  var chp; var isOk = true; var errDesc = ' ';
   // RegEx qui permet de controler qu'une adresse mail est valide
  var reg = new RegExp('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$', 'i');
   // parcours des elements du formulaire
  for (var i = 0; isOk && (i < formulaire.elements.length); i++) {
      if (formulaire.elements[i].className) {
           // Cet element a une classe
          chp = formulaire.elements[i];
          if (chp.value == '') {
               // Ce champ est vide : Ok si pas obligatoire
              if (chp.className.substr(0, 1) == 'o') {
                  isOk = false;
                  errDesc = 'Champ obligatoire';
              }
          } else {
               // Effectuer les controle selon la classe
              switch (chp.className.toLowerCase()) {
                  case 'oliste':
                  case 'liste':
                  case 'onombre':
                  case 'nombre':
                      if (isNaN(parseInt(chp.value))) {
                          isOk = false;
                          errDesc = 'Nombre invalide';
                      } else {
                      		chp.value = chp.value.replace(/ /g,'');
                          //chp.value = parseInt(chp.value);
                      }
                      break;
                  case 'omail':
                  case 'mail':
                      if (!(reg.test(chp.value))) {
                          isOk = false;
                          errDesc = 'Adresse mail invalide';
                      }
                      break;
                  case 'otexte':
                  case 'texte':
                      if (chp.value) {
                          chp.value = chp.value.replace(';',',');
                          while (chp.value.search('  ') != -1)
                               chp.value = chp.value.replace('  ',' ');
                      }
                      break;
                  default:
                       // Aucun controle
                      break;
              }
          }
      }
  }
  if (!isOk) {
      alert('Erreur dans la saisie du formulaire :\n' + errDesc);
      chp.focus();
  }
 
  if (isOk){
      	formulaire.submit();
  } 
   return isOk;
}

 //////////////////////////////////////////////////////////////////
// ValiderFormTT : Cette fonction affiche toutes les saisies des formulaires
//@param 	 :
  function afficherTT()
  {
    var mesg = '--- Formulaire ---\n';
   
    // La première boucle parcourt les formulaires
    for(var i = 0; i < document.forms.length; i++)
    {
      // La deuxième boucle parcourt les champs de formulaire
      for(var j = 0; j < document.forms[i].elements.length; j++)
      {
        // Les champs ne sont affichés, que s'ils sont de type text.
        if(document.forms[i].elements[j].type == 'text')
        {
          mesg += '\n';
          mesg += document.forms[i].elements[j].name + ': ';
          mesg += document.forms[i].elements[j].value + '\n';
        }
      }
    }
   
    // A la fin, mesg est affiché
    alert(mesg);
  }


//////////////////////////////////////////////////////////////////
// PopUpAssocTT : ouvre une popup d'identification des associés
//
//@param 	 :
function popUpAssocTT()
{
window.open('domaine_assoc/ident_assoc.php',null,'width=280, height=300, status=no, directories=no, toolbar=no, location=no, menubar=no, scrollbars=no, resizable=no');
}


