function chkfields(formname) {
  Error=''  	 
  re = /^([a-zA-Z]{3})(\w{0,1})_(\w+)$/;
  for(var i=0;i<document.forms[formname].length;i++){ 
    re.exec(document.forms[formname].elements[i].name)
    if(RegExp.$_== document.forms[formname].elements[i].name){//Nombre de campo valido
      fieldtype=RegExp.$1
      required=RegExp.$2
      fieldname=RegExp.$3
      switch(fieldtype.toLowerCase()){
        case 'str':
          reexp=/^.+$/;
          erresp='Deben ser caracteres.';
        break;
        case 'mem':
          reexp=/^(.+|\s*)+$/;
          erresp='Deben ser caracteres.';
        break;
        case 'int':
          reexp=/^[+|-]?\d+$/;
          erresp='Debe ser un número entero.';
        break;
		case 'lon':
          reexp=/^[+|-]?\d+$/;
          erresp='Debe ser un número entero.';
        break;
		case 'byt':
          reexp=/^[+|-]?[0-9]+$/;
          erresp='Debe ser un número entero.';
        break;
        case 'dbl':
          reexp=/^(([+|-]?\d+(\.\d*)?)|([+|-]?(\d*\.)?\d+))$/;
          erresp='Debe ser un número real.';
        break;
        case 'eml':
		  //reexp=/^[a-zA-Z]{1}[a-zA-Z0-9_\.]*[\@][a-zA-Z0-9_]+((\.)[a-zA-Z]{2,3}){1,2}$/;
		  reexp=/^[a-zA-Z]{1}[a-zA-Z0-9_\.\-]*[\@][a-zA-Z0-9_\-]+((\.)[a-zA-Z0-9_\-]+)?((\.)[a-zA-Z]{2,3}){1,2}$/;
          erresp='Debe ser una cuenta de correo válida.';
        break;
        case 'dat':
          reexp=/^\d{1,2}[\/|-]\d{1,2}[\/|-]\d{4}$/
          erresp='Debe ser una fecha válida. mm/dd/aaaa';
        break;
		case 'hou':
		  reexp=/^\d{2}:\d{2}$/
          erresp='Debe ser una hora válida. hh:mm';
        break;
        default:reexp=/^$/
      }//switch
      if(required=='r'){
      	if(document.forms[formname].elements[i].value=='')
          Error+='El campo '+fieldname+' es requerido.\n'
        else      
          if(!reexp.test(document.forms[formname].elements[i].value) && reexp.source!='^$')
            Error+='Error en el campo '+fieldname+'. '+erresp+'\n'    
      }else    
         if(document.forms[formname].elements[i].value!='' && !reexp.test(document.forms[formname].elements[i].value) && reexp.source!='^$')
          Error+='Error en el campo '+fieldname+'.'+erresp+'\n'    
    }//Nombre de campo valido
  }//for
  if (Error!=''){
    alert(Error)
    return false
  }else
   return true
}