$(function() {
  $('a.login').click(function(e) {
    e.preventDefault();
    $.user.loginModal(function(user) { 
      $.user.setUser(user);
      $.modal.close();
      $.util.printMessage('Welcome, '+user.email);
    });
  });

  $('a#submit-login').live('click', function(e) {
    e.preventDefault();
    $.user.login();
  });
});

$.user = {
  login: function() {
    $.util.post(
      '/service/user/login', 
      $('form#login-form :input'), 
      $.cache.onSuccess
    );
  },
  
  loginModal: function(onSuccess, title) {
    var title = title || 'Login or Register';
    $.util.modal({
      width: 500,
      height: 350,
      url: '/modal/login', 
      title: title,
      onSuccess: onSuccess
    });  
  },
  
  register: function() {
    $.util.post(
      '/service/user/register',
      $('form#register-form :input'),
      $.cache.onSuccess
    );
  },
  
  setUser: function(user) {
    var email = user.email;
    var msg   = "Welcome, Guest";
    if (email) { 
      msg = "Welcome, "+email;
    }
    $(".user-welcome").html(msg);    
    $('.toggle.user').removeClass('hidden');
    $('.toggle.nouser').addClass('hidden');
  },
  
  userExists: function(onSuccess, onFailure) {
    $.util.post(
      '/service/user/user_exists',
      {},
      function(data) {
        if (data > 0) {
          onSuccess();
        } else {
          onFailure();
        }
      }
    );  
  }
}

