/*---------------------------------------------------------------------------*/
/*             CONJUNTO DE FUNCIONES GENERALES DE VALIDACION                 */
/*---------------------------------------------------------------------------*/

// Devuelve la cadena pasada como parámetro a la que se eliminan los blancos 
// de la izquierda. 
   function lTrim (cadena) {
      auxCadena = new String(cadena);
      return (auxCadena.replace(/^\s*/, ""));
   }

// Devuelve la cadena pasada como parámetro a la que se eliminan los blancos 
// de la izquierda. 
   function rTrim (cadena) {
     auxCadena = new String(cadena);
     return (auxCadena.replace(/\s+$/, ""));
   }

// Devuelve la cadena pasada como parámetro a la que se eliminan los blancos 
// de la izquierda y de la derecha de la cadena (llamada a las dos funciones 
// anteriores). 
   function trim (cadena) {
     return (rTrim(lTrim(cadena)));
   }

// Devuelve false si la cadena no está definida o tiene longitud cero, y true 
// en caso contrario. 
// Elimina previamente los blancos, para realizar la comprobación. 
   function estaVacio (cadena) {
      cadena = trim(cadena);
      return ((cadena == null) || (cadena.length == 0));
   }

// Devuelve false si la cadena no corresponde a un dígito (valor entre 0 y 9, 
// y true en caso contrario. 
// Elimina previamente los blancos, para realizar la comprobación. 
   function esDigito (digito) {
      digito = trim(digito);
      return ((digito >= "0") && (digito <= "9"));
   }

// Devuelve false si la cadena pasada como parámetro no corresponde a un valor 
// numérico, y true en caso contrario. 
// Elimina previamente los blancos, para realizar la comprobación. 
// Utiliza la validación esDigito para cada uno de los caracteres de la cadena.
   function esNumero (cadena) {
      auxNumero = trim(cadena);
      var i;
      if (estaVacio(auxNumero))
         return false;
      var str = new String(auxNumero);
      for (i=0; i<str.length; i++) {
         var num = str.charAt(i);
         if (!esDigito(num))
            return false;
         }
      return true;
   }

// Comprueba si una cadena es numérico, ya sea entera o decimal  
   function esNumerico(cad){
    var miRegExp = new RegExp('^[0-9]*[,|.]{0,1}[0-9]+$');
    return miRegExp.test(cad);
}

// Devuelve false si la cadena pasada como parámetro no corresponde a una 
// dirección de correo electrónico válida, y true en caso contrario.
// Elimina previamente los blancos, para realizar la comprobación. 
// Utiliza la validación esDigito para cada uno de los caracteres de la cadena.
   function esCorreo (email) {
      var emailAux = email.match(/\b(^(\S+@).+((\.com)|(\.es)|(\.biz)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
      if (emailAux)
         return true;
      else
         return false;
   }

// Valida que la cadena solo contenga letras y numeros
 
function esClave (cad, min, max) {
    var miRegExp = new RegExp('^[a-z0-9\-\_]{' + min + ',' + max + '}$', 'i');
    return miRegExp.test(cad);
}



// ----------------------------------------------------------------------------


