   /*
    * Autenticación CHAP ( Challenge Handshaking Authentication Protocol)
    */
   function doCHAP(getChlng)
   {
      valid=true;
      // get 'userid' field
      var usrid=document.getElementById('userid');
      var psw=document.getElementById('passwd');

      if(!usrid){return false};
      if(!usrid.value){showError(psw,'Introduzca su nombre de usuario')};
      // get 'password' field
      if(!psw){return false};
      if(!psw.value){showError(psw,'Introduzca su contraseña')};
      // get 'challenge' field
      var chlng=document.getElementById('challenge');
      if(!chlng){return false};
      // make MD5 hash of password and concatenate challenge value
      // next calculate MD5 hash of combined values
      chlng.value=MD5(MD5(psw.value)+getChlng);
      // clear password field
      psw.value='';              //<-- desactivar para obtener contraseña encriptada
      return valid;
   }
   /*
   * display error messages
   */
   function showError(obj,message)
   {
      if(!obj.errorNode)
      {
      obj.onchange=hideError;
      var p=document.createElement('label');
      p.appendChild(document.createTextNode(message));
      obj.parentNode.appendChild(p);
      obj.errorNode=p;
      }
      valid=false;
      return
      }
   /*
    * hide error messages
    */
   function hideError()
   {
      this.parentNode.removeChild(this.errorNode);
      this.errorNode=null;
      this.onchange=null;
   }