
var Auth = {
  loggedInUser: false, 
  
  loginSuccess: false,
  
  noRedirectOnLogin: false,

  loginFormSubmit: function()
  {
    this.login($F('login-username'), $F('login-password'));
  },

  login: function(username, password)
  {
    $('login-submit-button').hide();
    $('login-processing').show();
    $('login-failed').hide();
    
    sendAjaxMessage('login', 
                    'login',
                    {
                      username: username,
                      password: password
                    },
                    this.loginCallback.bind(this));
  },
  
  loginCallback: function(results)
  {
    //this.loggedInUser = results.logged_in_user;
    
    if (results.success)
    {
      if (!this.noRedirectOnLogin || results.redirect_to == '/admin')
      {
        window.location = results.redirect_to;
        return;
      }
      
      $('login-form').hide();
      $('logged-in').show();
      $('client-area-nav').show();
      
      if (this.loginSuccess)
        this.loginSuccess(results);
    }
    else
    {
      $('login-processing').hide();
      $('login-submit-button').show();
      $('login-failed').show();
    }
  },
  
  showForgotPassword: function(username)
  {
    window.location = '/login.forgotpassword?username=' + escape(username);
  }

}