$(document).ready(function() {
    // Create the login window dialog
    $("#login-dialog").dialog({ modal : true,
                                title : 'Login',
                                width : '420px',
                                autoOpen : false,
                                overlay: {opacity: 0.7,
                                          background: 'black' }});

    // Create the logout window dialog
    $("#logout-dialog").dialog({ modal : true,
                                 title : 'Logging Out...',
                                 width : '420px',
                                 autoOpen : false,
                                 overlay: {opacity: 0.7,
                                           background: 'black' }});
});

function logout_window() {
    $('#logout-dialog').dialog('open');
    logout();
}

function logout() {
    $.get("/logout", {} , function (data, status) {
        if (status != "success") {
            alert('Server error has occurred.  Try later.');
            return;
        }

        data = eval('(' + data + ')');

        if (data.status != 'success') {
            alert('Error logging out...  Try later.');
        } else {
            $('#login').css('color', 'green');
            $('#login').html('Logout complete, reloading...');
            goto_url('/home');
        }
    });
}

/**
 * Called when the login link is clicked.
 */
function login_window() {
    $("#login-dialog").dialog('open');
    $("#email_address").focus();
}

/**
 * Called when the user enters their email / password and presses login.
 */
function login() {
    $('#login_status').html('... Logging in ...');

    var email = $('#email_address').val();
    var passw = $('#password').val();
    var postd = { 'email_address' : email, 'password' : passw };

    $.post("/login", postd , function (data, status) {
        if (status != "success") {
            $('#login_status').css('color', 'red');
            $('#login_status').html('Server error has occurred.  Try later.');
            return;
        }

        data = eval('(' + data + ')');

        if (data.status != 'success') {
            $('#login_status').css('color', 'red');
            $('#login_status').html(data.value);
        } else {
            $('#login_status').css('color', 'green');
            $('#login_status').html('Login complete, redirecting...');
            goto_url('/home');
        }
    });
}
