var loginTimeout = false;

function closeLoginForm() {
    $("#dimmer").hide();
    $("#logindiv").fadeOut("fast");
}

function clearLoginProblems() {
    $("#loginproblems").text(" ");
}

function handleLogin(jsonData, textStatus) {
    if (loginTimeout != false) {
        clearTimeout(loginTimeout);
    }

    if (textStatus == "error") {
        $("#loginproblems").text("Unable to process login!");
    } else if (!jsonData.success) {
        $("#loginproblems").hide().text(jsonData.reason).fadeIn("fast");
        $("#id_username").focus();
        loginTimeout = setTimeout("clearLoginProblems()", 4000);
    } else {
        $("#loginproblems").hide();
        // TODO: use redirect stuff in here
        window.location = '/';
    }
}

function doLogin() {
    $.post('/loginhandle/', 
        { username: $("#id_username").val(), password: $("#id_password").val() },
        function (data, textStatus) { handleLogin(data, textStatus); }, 
        "json"
    );
}

function showMoreInfo(chant_id) {
    if (BrowserDetect.browser == 'Explorer') {
        window.location = '/chants/' + chant_id;
        return;
    }
    var window_height = window.outerHeight;
    var window_width = window.outerWidth;
    var div_height = 400;
    var div_width = 600;
    var style = {
        top : Math.round((window_height / 2) - (div_height / 2)) + 'px',
        left : Math.round((window_width / 2) - (div_width / 2)) + 'px',
        width : div_width + 'px',
        height : 'auto'
    };
    $("#more-info-inner").load('/chants/' + chant_id + '/?simple=1');
    $("#more-info-wrapper").css(style).fadeIn("fast");
    $("#dimmer").show();
}

function closeMoreInfo() {
    $("#dimmer").hide();
    $("#more-info-wrapper").fadeOut("fast");
}

function showLogin(event) {
    $("#dimmer").show();
    $("#logindiv").load('/login/', null, function () {
        $("#id_username").focus();
    }).fadeIn("fast");
    if (event) {
        event.preventDefault();
    }
}



$(document).ready(function() {
    $("#loginlink").click(function(event) {
        showLogin(event)
    });
});
