AT.Login = function(options) {
    options = AT.validateArguments({'arguments': options, 'defaults': {
        'width': 600,
        'minWidth': 500
    }});
    var thisDialog = this;
    this.$dialog = $('#dialog_login').dialog({
        autoOpen: false,
        modal: true,
        minWidth: options.minWidth,
        width: options.width,
        show: 'fade',
        hide: 'explode',
        open: function() {
            thisDialog.load(this);
        }
    });
    $('#link_login').click(function(event) {
        event.preventDefault();
        $('#dialog_login_redirect').val(options.redirect);
        $('#dialog_login').dialog('open');
    });
    $('#dialog_login_signup').click(function(event) {
        event.preventDefault();
        $('#dialog_login').dialog('close');
        $('#dialog_signup').dialog('open');
    });
};

AT.Login.prototype.link = function(link) {
    var thisDialog = this;
    $(link.selector).click(function(event) {
        event.preventDefault();
        thisDialog.show(link.redirect);
    });
};

AT.Login.prototype.show = function(redirect) {
    $('#dialog_login_redirect').val(redirect);
    $('#dialog_login').dialog('open');
};

AT.Login.prototype.error = function(options) {
    options = options || {};
    if (typeof options.dialog != 'undefined')
        $('#dialog_login_redirect').val(options.dialog);
    $('#dialog_login').dialog('open');
};

AT.Login.prototype.load = function(dialog) {
    if (!this.loaded) {
        AT.showWatermarks(dialog);
        this.loaded = true;
    }
};

