var al_status;
var al_loginForm, al_registerForm, al_lostPasswordForm;
var al_loginMessage, al_registerMessage, al_lostPasswordMessage;
var al_sack = new sack();

var al_otheronload = window.onload;
window.onload = al_init;
function al_init() {

    if (al_otheronload) al_otheronload();

    al_status = 0;

    al_loginForm = document.getElementById("al_loginForm");
    al_registerForm = document.getElementById("al_registerForm");
    al_lostPasswordForm = document.getElementById("al_lostPasswordForm");

    al_loginMessage = document.getElementById("al_loginMessage");
    al_registerMessage = document.getElementById("al_registerMessage");
    al_lostPasswordMessage = document.getElementById("al_lostPasswordMessage");
}


function al_showLogin() {

    document.getElementById("al_login").style.display = "none";
    document.getElementById("al_register").style.display = "none";
    document.getElementById("al_lostPassword").style.display = "none";

    if (0 != al_timeout) {
        document.getElementById("al_loading").style.display = "block";
        setTimeout('al_showLogin2();', al_timeout);
    } else {
        al_showLogin2();
    }
}

function al_showLogin2() {

    document.getElementById("al_loading").style.display = "none";
    document.getElementById("al_login").style.display = "block";
	fixHeight();
    al_loginForm.log.focus();

}

function al_showRegister() {

    document.getElementById("al_login").style.display = "none";
    document.getElementById("al_register").style.display = "none";
    document.getElementById("al_lostPassword").style.display = "none";

    if (0 != al_timeout) {
        document.getElementById("al_loading").style.display = "block";
        setTimeout('al_showRegister2();', al_timeout);
    } else {
        al_showRegister2();
    }
}

function al_showRegister2() {

    document.getElementById("al_loading").style.display = "none";
    document.getElementById("al_register").style.display = "block";
	fixHeight();
    al_registerForm.user_login.focus();
}


function al_showLostPassword() {

    document.getElementById("al_login").style.display = "none";
    document.getElementById("al_register").style.display = "none";
    document.getElementById("al_lostPassword").style.display = "none";

    if (0 != al_timeout) {
        document.getElementById("al_loading").style.display = "block";
        setTimeout('al_showLostPassword2();', al_timeout);
    } else {
        al_showLostPassword2();
    }
}

function al_showLostPassword2() {

    document.getElementById("al_loading").style.display = "none";
    document.getElementById("al_lostPassword").style.display = "block";
	fixHeight();
    al_lostPasswordForm.user_login.focus();
}


function al_login() {

    if (0 != al_status) {
        return;
    }

    if (al_loginForm.log.value == '') {
        // alert("Please enter username.");
        alert("Var vänlig ange signatur.");
        al_loginForm.log.focus();
        return;
    }

    if (al_loginForm.pwd.value == '') {
        // alert("Please enter password.");
        alert("Var vänlig ange lösenord.");
        al_loginForm.pwd.focus();
        return;
    }

    al_sack.setVar("log", al_loginForm.log.value);
    al_sack.setVar("pwd", al_loginForm.pwd.value);
    al_sack.setVar("rememberme", al_loginForm.rememberme.value);
    
    al_sack.requestFile = al_base_uri + "/wp-content/plugins/ajax-login/login.php";
    al_sack.method = "POST";
    al_sack.onError = al_ajaxError;
    al_sack.onCompletion = al_loginHandleResponse;
    al_sack.runAJAX();
    al_status = 1;

}

function al_loginHandleResponse() {

    al_status = 0;

    var responselines = al_sack.response.split("\n",2);
    if (responselines[0] == al_failure) {
        alert(responselines[1]);
        return;
    }
    if (responselines[0] == al_success) {
        
        if (al_redirectOnLogin == '')
            window.location.reload(true);
        else
            window.location.href = al_redirectOnLogin;
            
        return;
    }

    // alert("Unknown login response.");
    alert("Ett fel inträffade, okänt login svar från servern.");

}

function al_register() {

    if (0 != al_status) {
        return;
    }

    if (al_registerForm.user_login.value == '') {
        // alert("Please enter username.");
        alert("Var vänlig ange din signatur.");
        al_registerForm.user_login.focus();
        return;
    }

    if (al_registerForm.user_email.value == '') {
        // alert("Please enter e-mail address.");
        alert("Var vänlig ange din e-mail address.");
        al_registerForm.user_email.focus();
        return;
    }
    
    if (al_registerForm.user_fid.value == '') {
        // alert("Please enter e-mail address.");
        alert("Var vänlig ange ditt försäkringsnummer.");
        al_registerForm.user_fid.focus();
        return;
    }

    al_sack.setVar("user_login", al_registerForm.user_login.value);
    al_sack.setVar("user_email", al_registerForm.user_email.value);
    al_sack.setVar("user_fid", al_registerForm.user_fid.value);
    al_sack.setVar("user_pnr", al_registerForm.user_pnr.value);
    al_sack.setVar("user_psw", al_registerForm.user_psw.value);
    al_sack.setVar("user_psw2", al_registerForm.user_psw2.value);
    // Use Debugger //
    // al_sack.setVar("DBGSESSID", "1;d=1");

    al_sack.requestFile = al_base_uri + "/wp-content/plugins/ajax-login/register.php";
    al_sack.method = "POST";
    al_sack.onError = al_ajaxError;
    al_sack.onCompletion = al_registerHandleResponse;
    al_sack.runAJAX();
    al_status = 1;

}

function al_registerHandleResponse() {

    al_status = 0;

    var responselines = al_sack.response.split("\n",2);
    if (responselines[0] == al_failure) {
        alert(responselines[1]);
        return;
    }
    if (responselines[0] == al_success) {
        alert("Registreringen komplett, kontrollera din e-mail.");
        al_loginMessage.innerHTML = "Inloggningsuppgifter har skickats till din mailadress.<br/>";
        al_loginForm.log.value = al_registerForm.user_login.value;
        // al_loginForm.pwd.value = al_registerForm.user_psw.value;
        al_registerForm.user_login.value = "";
        al_registerForm.user_email.value = "";
        al_registerForm.user_fid.value = "";        
        al_registerForm.user_pnr.value = "";        
        al_registerForm.user_psw.value = "";
        al_registerForm.user_psw2.value = "";
        al_showLogin();
        al_loginForm.pwd.focus();
        return;
    }

    alert("Ett fel har inträffat. Fick ett Okänt svar från servern.");
}


function al_retrievePassword() {
    if (0 != al_status) {
        return;
    }

    if (al_lostPasswordForm.user_login.value == '') {
        alert("Var vänlig ange din signatur.");
        al_lostPasswordForm.user_login.focus();
        return;
    }

    if (al_lostPasswordForm.user_email.value == '') {
        alert("Var vänlig ange din email-adress.");
        al_lostPasswordForm.user_email.focus();
        return;
    }

    al_sack.setVar("user_login", al_lostPasswordForm.user_login.value);
    al_sack.setVar("user_email", al_lostPasswordForm.user_email.value);

    al_sack.requestFile = al_base_uri + "/wp-content/plugins/ajax-login/lostpassword.php";
    al_sack.method = "POST";
    al_sack.onError = al_ajaxError;
    al_sack.onCompletion = al_lostPasswordHandleResponse;
    al_sack.runAJAX();
    al_status = 1;
}

function al_lostPasswordHandleResponse() {

    al_status = 0;

    var responselines = al_sack.response.split("\n",2);
    if (responselines[0] == al_failure) {
        alert(responselines[1]);
        return;
    }
    if (responselines[0] == al_success) {
        // alert("Check your e-mail for the confirmation link.");
        alert("Kontrollera din e-mail för verifieringslänk.");
        al_loginMessage.innerHTML = "Verifieringslänk har skickats till din email-adress.<br/>";
        al_loginForm.log.value = al_lostPasswordForm.user_login.value;
        al_lostPasswordForm.user_login.value = "";
        al_lostPasswordForm.user_email.value = "";
        al_showLogin();
        al_loginForm.pwd.focus();
        return;
    }

    // alert("Unknown password retrieval response.");
    alert("Ett fel har inträffat, fick ett okänt svar från servern.");

}

function al_ajaxError() {
    // alert("We are sorry, there was an error while sending the request.\nPlease try again!\nIf error persists, please contact the webmaster.");
    alert("Vi är ledsna, det inträffade ett fel.\Var vänlig försök igen!\nOm felt kvarstår var vänlig kontakta webmastern.");
    
    alert(al_sack.responseStatus[0] + ':\n' + al_sack.response);
    al_sack = new sack();
}

function al_loginOnEnter(e) {

    if(window.event) // IE
        keynum = e.keyCode;
    else if(e.which) // Netscape/Firefox/Opera
        keynum = e.which;
    else
        keynum = 0;

    if (keynum==13)
        al_login();

}
function al_registerOnEnter(e) {

    if(window.event) // IE
        keynum = e.keyCode;
    else if(e.which) // Netscape/Firefox/Opera
        keynum = e.which;
    else
        keynum = 0;

    if (keynum==13)
        al_register();

}
function al_retrievePasswordOnEnter(e) {

    if(window.event) // IE
        keynum = e.keyCode;
    else if(e.which) // Netscape/Firefox/Opera
        keynum = e.which;
    else
        keynum = 0;

    if (keynum==13)
        al_retrievePassword();

}

