var Login = Class.create({
  initialize : function() {
    $('entra').observe('click', this.login.bind(this));
    $$('body')[0].removeClassName('loading');
  },
  error : function(message) {
    $('message').addClassName('error');
    $('message').update(message);
  },
  login : function() {
    $('message').removeClassName('error');  
    if ($F('username') == '' || $F('password') == '') {
      this.error('Tutti i campi sono obbligatori');
      return;
    }
    $$('body')[0].addClassName('loading');
    new Ajax.Request('loginUser.do', {
      method: 'post',
      parameters: {username: $F('username'), password: $F('password')},      
      onSuccess: function(resp) {        
        $$('body')[0].removeClassName('loading');
        resp = Utility.toJson(resp.responseText);
        if (resp == null) {
          this.error('Errore di comunicazione impossibile procedere');          
        }
        else {          
          if (resp.success) {
            $$('body')[0].addClassName('loading');
            var url = '' + location.href;
            url = url.substr(0, url.lastIndexOf('/'));
            var win = window.open(url + '/homeUser.do','','width=752, height=515, scrollbar=no, statusbar=no, menubar=no');
            win.focus();            
            $$('body')[0].removeClassName('loading');
            window.close()
          }
          else {
            if (resp.message == null || resp.message == '') {
              if (resp.errorsMessage == null) {
                resp.message = 'Errore interno impossibile procedere';
              }
              else {
                resp.message = resp.errorsMessage;
              }
            }
            else {
              if (resp.errorsMessage != null) {
                resp.message += resp.errorsMessage;
              }
            }                        
            this.error(resp.message);          
          }
        }
      }.bind(this)
    });
  }
});

Event.observe(window, 'load', function() {
    new Login();
  });

