function check_tecla(objValue, objType, objNext){
   var tecla = event.keyCode;
   if (objNext != '')
      if (tecla == 13)
         if (trim(objValue) != '')
            poner_foco(objNext);
   switch (objType){
      case 'n' :
         if ((tecla < 48 || tecla > 57))
            return false;
         break;
      case 'v' :
         if ((tecla != 32) && (tecla != 43) && (tecla < 45 || tecla > 46) && (tecla < 48 || tecla > 57))
            return false;
         break;
      case 'nl' :
         if ((tecla != 32) && (tecla < 43 || tecla > 57) && (tecla < 65 || tecla > 90) && (tecla < 97 || tecla > 122) && (tecla != 186) && (tecla != 209) && (tecla != 241))
            return false;
         break;
      case 'l' :
         if ((tecla < 65 || tecla > 90) && (tecla < 97 || tecla > 122) && (tecla != 209) && (tecla != 241))
            return false;
         break;
      case 't' :
         if ((tecla != 32) && (tecla < 40 || tecla > 47) && (tecla < 65 || tecla > 90) && (tecla < 97 || tecla > 122) && (tecla != 209) && (tecla != 241))
            return false;
   }
}

function check_datos(obj, objType){
   var objValue = trim(obj.value.toUpperCase())
   //var objValue = trim(obj.value)
   obj.value = objValue;
   var cadena = ''; var mensaje = '';
   switch (objType){
      case 'n' :
         mensaje = 'números';
         cadena = '0123456789';
         break;
      case 'v' :
         mensaje = 'valores';
         cadena = '0123456789 -.+'
         break;
      case 'nl' :
         mensaje = 'números y letras';
         cadena = '0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ abcdefghijklmnñopqrstuvwxyz-.,+/';
         break;
      case 'l' :
         mensaje = 'letras';
         cadena = 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz';
         break;
      case 't' :
         mensaje = 'texto';
         cadena = 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ abcdefghijklmnñopqrstuvwxyz.()*+,-/';
         break;
      case 'c' :
         mensaje = 'caracteres válidos';
         cadena = 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 abcdefghijklmnñopqrstuvwxyz.,-_/°ş+()#%@*';
   }
   for (i = 0; i <= objValue.length; i++){
      var chr = objValue.charAt(i);
      if (cadena.indexOf(chr) == -1){
         alert('Ingrese solo ' + mensaje);
         obj.focus();
         obj.select();
         return false;
      }
   }
}

function trim(cadena) {
   return(ltrim(rtrim(cadena)));
}

function rtrim(cadena) {
   var i = cadena.length - 1;
   while ((cadena.charAt(i) == " ") || 
      (escape(cadena.charAt(i)) == "%0A") || 
      (escape(cadena.charAt(i)) == "%0D")){
      i--;
   }
   return(cadena.substr(0, i+1)); 
}

function ltrim(cadena) {
   var i = 0;
   while ((cadena.charAt(i) == " ") || 
      (escape(cadena.charAt(i)) == "%0A") || 
      (escape(cadena.charAt(i)) == "%0D")){
      i++;
   }
   return(cadena.substr(i)); 
}

function validar(form){
   var j = 0;
   var obj = "";
   var foco = "";
   var falta = "";
   for (var i=0; i < form.length; i++){
      obj = form.elements[i];
      if (obj.disabled == false){
         if ((obj.name.substring(0,3) != "hdn") && (obj.name.substring(0,3) != "opc")){
            if (trim(obj.value) == ""){
               falta = falta + " *  " + obj.name.substring(3)+"\n";
               j++;
               if (foco == "") 
                  foco = obj;
            }
         }
      }
   }
   if (falta != ""){
      if (j == 1)
         alert("El siguiente dato es requerido:\n"+falta);
      else
         alert("Los siguientes datos son requeridos:\n"+falta);
      foco.focus();
      return false;
   }
   return true;
}

