/**
 * Mikolaje.org Core JS v0.1
 */

oMessages = {
  Login: {error: 'Logowanie nie powiodło się. Sprawdź czy login oraz hasło, które podajesz są poprawne.',
          errorTitle: 'Błąd',
          emptyFields: 'Wypełnij pole login oraz hasło.',
          success: 'Użytkownik został poprawnie zalogowany.',
          successTitle: 'Informacja'
          },

  Other: {confirmDelete: 'Czy na pewno chcesz usunąć?'}
}

oNews = {
  confirmDelete: function(href) {
    $('<div></div>').html(oMessages.Other.confirmDelete).dialog({modal: true, resizable: false, title: oMessages.Login.successTitle,
                                                           buttons: {'nie': function() { $(this).dialog('close'); },
                                                                     'tak': function() { $(this).dialog('close'); window.location.href=href; }
                                                                    }
                                                          });
  }
}

oAuth = {
  Login: function() {
    var sLogin = $('#form_login').val() || false;
    var sPass  = $('#form_password').val() || false;

    if (sLogin && sPass) {
      $.ajax({url: '/auth/login.html',
              dataType: 'json',
              type: 'POST',
              data: {login:  $('#form_login').val(),
                     passwd: $('#form_password').val()},
              success: oAuth.LoginSuccess,
              error: oAuth.LoginError});
    } else {
      oAuth.ShowError(oMessages.Login.emptyFields);
    }
  },

  LoginSuccess: function(jResp) {
    if ('undefined' !== typeof jResp && 1 === jResp.success) {
      oAuth.ShowInfo(oMessages.Login.success, function(){ window.location.href='/'; });
    } else {
      oAuth.LoginError();
    }
  },

  ShowInfo: function(sMessage, callback) {
    $('<div></div>').html(sMessage).dialog({modal: true, resizable: false, title: oMessages.Login.successTitle,
                                            buttons: {'zamknij' : function() {
                                              $(this).dialog('close');
                                              $('div[class^="ui-dialog"]').remove();
                                              if ('function' === typeof callback) {
                                                callback();
                                              }
                                            } },
                                            position: ['center', 100]});
  },

  ShowError: function(sMessage, callback) {
    $('<div></div>').html(sMessage).dialog({modal: true, resizable: false, title: oMessages.Login.errorTitle,
                                            buttons: {'zamknij' : function() {
                                              $(this).dialog('close');
                                              $('div[class^="ui-dialog"]').remove();
                                              if ('function' === typeof callback) {
                                                callback();
                                              }
                                            } },
                                            position: ['center', 100]});
  },

  LoginError: function() {
    oAuth.ShowError(oMessages.Login.error);
  }
}

// Assign events
$(function() {
  $('#form_btnlogin').click(function(){oAuth.Login;});
});

