
 /**
   * @name EstSirenValide
   * 
   * @param   Le code SIREN dont on veut vérifier la validité.
   * 
   * @return   Un booléen qui vaut 'true' si le code SIREN passé en 
   *                           paramètre est valide, false sinon.
   */
  function EstSirenValide(siren) {
    var estValide;
    if ( (siren.length != 9) || (isNaN(siren)) )
      estValide = false;
    else {
      // Donc le SIREN est un numérique à 9 chiffres
      var somme = 0;
      var tmp;
      for (var cpt = 0; cpt<siren.length; cpt++) {
        if ((cpt % 2) == 1) { // Les positions paires : 2ème, 4ème, 6ème et 8ème chiffre
          tmp = siren.charAt(cpt) * 2; // On le multiplie par 2
          if (tmp > 9) 
            tmp -= 9;  // Si le résultat est supérieur à 9, on lui soustrait 9
        }
        else
          tmp = siren.charAt(cpt);
        somme += parseInt(tmp);
      }
      if ((somme % 10) == 0)
        estValide = true;  // Si la somme est un multiple de 10 alors le SIREN est valide 
      else
        estValide = false;
      }
    return estValide;
  }

/**
   * @name EstSiretValide
   * 
   * @param   Le code SIRET dont on veut vérifier la validité.
   * 
   * @return   Un booléen qui vaut 'true' si le code SIRET passé en
   *                           paramètre est valide, false sinon.
   */
  function EstSiretValide(siret) {
    var estValide;
    if ( (siret.length != 14) || (isNaN(siret)) )
      estValide = false;
    else {
       // Donc le SIRET est un numérique à 14 chiffres
       // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
       // correspondent au numéro d'établissement
       // et enfin le dernier chiffre est une clef de LUHN. 
      var somme = 0;
      var tmp;
      for (var cpt = 0; cpt<siret.length; cpt++) {
        if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc... 
          tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
          if (tmp > 9) 
            tmp -= 9;  // Si le résultat est supérieur à 9, on lui soustrait 9
        }
       else
         tmp = siret.charAt(cpt);
         somme += parseInt(tmp);
      }
      if ((somme % 10) == 0)
        estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide 
      else
        estValide = false;
    }
    return estValide;
  }

  function VerifSiret(champsiret) {
	var siret = champsiret.value;
	if (siret == "") return // Pour éviter de garder le focus sur cette case si la case du Siret est vide 
	var reg=new RegExp("( )", "g");
	siret = siret.replace(reg,"");
	
	if (EstSiretValide(siret) == false )
	{
		alert('Le numéro SIRET n\'est pas valide');
		champsiret.value='';
		champsiret.focus();
	}
	else
	{
		champsiret.value=siret;
		return(true);
	}
  }

  function VerifSiren(champsiren) {
	var siren = champsiren.value;
	if (siren == "") return // Pour éviter de garder le focus sur cette case si la case du Siret est vide 
	var reg=new RegExp("( )", "g");
	siren = siren.replace(reg,"");
	
	if (EstSirenValide(siren) == false )
	{
		alert('Le numéro SIREN n\'est pas valide');
		champsiren.value='';
		champsiren.focus();
	}
	else
		champsiren.value=siren;
  }

