$.CafeSegredo = {

  CadastroForm : function() {
    tb_show('',
        'cadastro.php?mode=form_cadastro&height=350&width=500&modal=true');
    $.scrollTo('body', 500);
  },

  LoginForm : function() {
    tb_show('', 'cadastro.php?mode=form_login&height=200&width=460&modal=true');
    $.scrollTo('body', 500);
  },

  /**
   * Login
   */

  Login : {
    LockForm : function() {
      $('#LoginForm :input').attr('disabled', 'disabled');
    },

    UnlockForm : function() {
      $('#LoginForm :input').removeAttr('disabled');
    },

    Send : function() {
      $.CafeSegredo.Login.LockForm();

      $.ajax( {
        type : "POST",
        url : "cadastro.php?mode=login",
        data : $('#LoginForm :input'),
        dataType : 'json',
        success : function(data) {
          if (typeof data == 'string') {
            alert(data);
          }

          else {
            if (data.warning != undefined) {
              alert(data.warning);
            }

            else {
              if (data.notice != undefined) {
                alert(data.notice);
              }

              $('#LoginForm :input[type!=button]').val('');
              tb_remove();
            }
          }

          $.CafeSegredo.Login.UnlockForm();
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
          alert(XMLHttpRequest.responseText);

          $.CafeSegredo.Login.UnlockForm();
        }
      });
    }
  },

  /**
   * Cadastro
   */

  Cadastro : {
    LockForm : function() {
      $('#CadastroForm :input').attr('disabled', 'disabled');
    },

    UnlockForm : function() {
      $('#CadastroForm :input').removeAttr('disabled');
    },

    Send : function() {
      $.CafeSegredo.Cadastro.LockForm();

      $
          .ajax( {
            type : "POST",
            url : "cadastro.php?mode=cadastro",
            data : $('#CadastroForm :input'),
            dataType : 'json',
            success : function(data) {
              if (typeof data == 'string') {
                alert(data);
              }

              else {
                if (data.warning != undefined) {
                  alert(data.warning);
                }

                else {
                  if (data.notice != undefined) {
                    alert(data.notice);
                  }

                  $('#CadastroForm :input[type!=button]').val('');
                  tb_show('',
                      'cadastro.php?mode=form_login&height=340&width=500&modal=true');
                }
              }

              $.CafeSegredo.Cadastro.UnlockForm();
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
              alert(XMLHttpRequest.responseText);

              $.CafeSegredo.Cadastro.UnlockForm();
            }
          });
    }
  }
};