function LoginController(redirect, server, $updateView, urlParams) {
  this.redirect = redirect;
  this.server = server;
  this.$updateView = $updateView;
  this.defaultEmail = new DefaultValue("");
  this.defaultPassword = new DefaultValue("");
  this.keyEventHandler = new KeyEventHandler();
  var self = this;
  self.markup = new AngularMarkupUtils();
  this.keyEventHandler.setHandler(KeyEventHandler.KEY_RETURN, function() {
    self.login();
  });
  self.pwError = false;
  this.resetPw = false;
  this.emailResetError = false;
  this.emailToReset = "";
  var d = { "login" : "" };
  self.isRedirectedToLogin = urlParams(d);
}
LoginController.$inject = ['redirect', 'DefaultAjax', '$updateView', 'UrlParams'];

LoginController.prototype.login = function() {
  var self = this;
  this.server('cgi-bin/common_login.py', { email : this.defaultEmail.val, pw : Sha1.hash(this.defaultPassword.val, true) }, function(resp) {
    self.pwError = false;
    self.$updateView();
    if (resp.success == "false") {
      self.redirect('list.php');
    } else {
      self.redirect('creator_home.php');
    }
  }, function(error) {
    self.pwError = true;
    self.$updateView();
  });
};

LoginController.prototype.forgotPw = function() {
  var self = this;
  this.server('cgi-bin/reset_pw.py', 
              { op : "resetPw", reset_email : self.emailToReset },
              function(ret) {
                self.emailReset = true;
                self.emailResetError = false;
              }, function(ret) {
                self.emailResetError = true;
                self.emailReset = false;
              });
};


