function random_number() {
    return parseInt(Math.random()*999999999999999, 10);
}


function login() {
    
    $.post(
        '/accounts/login/ajax/?dontcachme='+random_number(),
        $(this).formToArray(),
        function(data) {
            var json = eval('('+data+')');
            if (json.valid == true) {
                $('form#loginForm').remove();
                text = '<h3>Your details</h3>';
                text += '<p>Welcome, <em>' + json.user.first_name + '</em>.</p>';
                text += '<ul class="main-list-registration">';
                text += '<li><a href="/accounts/profile/edit/">Edit your profile</a></li>';
                text += '<li><a href="/accounts/password/change/">Change your password</a></li>';
                text += '<li><a href="/accounts/logout/" onclick="logout(); return false;">Logout</a></li>';
                text += '</ul>';
                $('div#login').empty().append(text);
                $('span#login_title').empty().append(" Your Account");
                $('a[href="/accounts/logout/"]').click(logout);
            }
            else {
                $('p#id_email_errors').remove();
                $('p#id_password_errors').remove();
                $('p#id_errors_all').remove();
                if (json.errors.email) {
                    $('input#id_email').after('<p class="error" id="id_email_errors">** '+json.errors.email+'</p>');
                }
                if (json.errors.password) {
                    $('input#id_password').after('<p class="error" id="id_password_errors">** '+json.errors.password+'</p>');
                }
                if (json.errors.__all__) {
                    $('div#login-message').empty().append('** '+json.errors.__all__).fadeIn().wait(2400).fadeOut();
                    //$('form#loginForm').after('<p class="error" id="id_errors_all">** '+json.errors.__all__+'</p>');
                }
            }
        }
    );
    return false;
}

function logout() {
    $.get(
        '/accounts/logout/ajax/?dontcacheme='+random_number(),
        function(data) {
            var json = eval('('+data+')');
            if (json.logged_out == true) {
                text = '<div id="login-message">You have been logged out.</div>';
                text +=  '<h3>Login</h3>';
                text += '<form action="/accounts/login/" method="post" id="loginForm">';
                text += '<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>';
                text += '<p><label for="id_password">Password:</label> <input id="id_password" type="password" class="required" name="password" /></p>';
                text += '<input type="submit" value="Login -&gt;" />';
                text += '</form>';
                text += '<h3>Don&#39;t have an account? <a href="/accounts/register/">Sign up</a> for one</h3>';
                $('div#login').empty().append(text);
                $('div#login-message').fadeIn().wait(1200).fadeOut();
                $('span#login_title').empty().append(" Login");
                $('form#loginForm').submit(login);
            }
        }
    );
    return false;
}

$(document).ready(function() {
    $('form#loginForm').submit(login);
    $('a[href="/accounts/logout/"]').click(logout);
});