text: /**
   * @provides javelin-behavior-persona-login
   * @requires javelin-behavior
   *           javelin-resource
   *           javelin-stratcom
   *           javelin-workflow
   *           javelin-util
   */
  
  JX.behavior('persona-login', function(config) {
  
    JX.Stratcom.listen(
      'submit',
      'persona-login-form',
      function(e) {
        e.kill();
        navigator.id.request();
      });
  
    var onloaded = function() {
      // Before installing watch(), log the user out, because we know they don't
      // have a valid session if they're hitting this page. If we don't do this,
      // Persona may immediately trigger a login event, which prevents the user
      // from selecting another authentication mechanism.
      navigator.id.logout();
  
      navigator.id.watch({
        loggedInUser: null,
        onlogin: onlogin,
        onlogout: JX.bag
      });
    };
  
    var onlogin = function(assertion) {
      new JX.Workflow(config.loginURI, {assertion: assertion})
        .start();
    };
  
    var persona_library = 'https://login.persona.org/include.js';
    JX.Resource.load(persona_library, onloaded);
  });
  