var alphaChar = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var numChar = '0123456789';
var alphanumChar = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var validChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 .-*/'";

/*
-------------------------------------------------------------------
 isEmpty
-------------------------------------------------------------------
 Description:  Vérifie si la valeur est vide ou composée d'espace.

 Paramètres:
  value:        String    Valeur à vérifier
*/
function isEmpty(value) {
   if (value.length == 0) return true
   for (i = 0; i<value.length; i++) {
      if (alphanumChar.indexOf(value.charAt(i)) != -1) 
         return false;
   }
   return true;
}

/*
-------------------------------------------------------------------
 isValid
-------------------------------------------------------------------
 Description:  Vérifie si la valeur est composée de caractère valide
               Selon la chaine validChar

 Paramètres:
  value:        String    Valeur à vérifier
*/
function isValid(value) {
   for (i = 0; i<value.length; i++) {
      if (validChar.indexOf(value.charAt(i)) == -1) 
         return false;
   }
   return true;
}

/*
-------------------------------------------------------------------
 isNumber
-------------------------------------------------------------------
 Description:  Vérifie si la valeur est numérique

 Paramètres:
  value:        String    Valeur à vérifier
*/
function isNumber(value) {
   if (value.length > 0) {
      for (i = 0; i < value.length; i++) {
         if (numChar.indexOf(value.charAt(i)) == -1) return false;
      }
   } else {
      return false;
   }
   return true;
}

/*
-------------------------------------------------------------------
 trim
-------------------------------------------------------------------
 Description:  Élimine les espaces à la fin d'une chaine de caractères
 
 Paramètres:
  value:        String    Valeur à nettoyer
*/
function trim(value) {
   while(value.charAt(value.length -1) == ' ') {
      value = value.substring(0, value.length - 2);
   }
   return value;
}

/*
-------------------------------------------------------------------
 Fill
-------------------------------------------------------------------
 Description:  Ajoute des espaces à la fin d'une chaine de caractère
               pour atteindre la longueur voulue.
               Si la chaine est trop longue elle est tronqué.
 
 Paramètres:
  value:        String    Valeur à completer
  Qty:          int       Longueur de la chaine désirée
  
*/
function Fill(value, Qty) {
   if (value.length > Qty) {
      return value.substring(0, (Qty - 1));
   } else {
      for (i = value.length; i <= Qty - 1; i++) {
         value += " ";
      }
   }
   return value;
}

/*
-------------------------------------------------------------------
 zipCheck
-------------------------------------------------------------------
 Description:  Vérifie que le code postal est composé de 4 chiffres
  
 Paramètres:
  code:        String    Valeur du code postal
  
*/
function zipCheck(code) {
   code = trim(code);
   if (code.length != 4) return false;
   if (!isNumber(code)) return false;
   return true;
}

/*
-------------------------------------------------------------------
 codeRegionalCheck
-------------------------------------------------------------------
 Description:  Vérifie que le code régional est composé de 3 chiffres
  
 Paramètres:
  code:        String    Valeur du code régional
  
*/
function codeRegionalCheck(code) {
   code = trim(code);
   if (code.length == 1) return false;
   if (!isNumber(code)) return false;
   return true;
}

/*
-------------------------------------------------------------------
 telephoneCheck
-------------------------------------------------------------------
 Description:  Vérifie que le numéro de téléphone est composé de 7 chiffres
  
 Paramètres:
  numéro:        String    Valeur du numéro de téléphone
  
*/
function telephoneCheck(numero) {
   numero = trim(numero);
   if (numero.length != 7) return false;
   if (!isNumber(numero)) return false;
   return true;
}


