var jlw_status;
var jlw_loginForm, jlw_registerForm, jlw_lostPasswordForm;
var jlw_loginMessage, jlw_registerMessage, jlw_lostPasswordMessage;

jQuery(document).ready(function() {
	jlw_status = 0;

	jlw_loginForm = document.getElementById("jlw_loginForm");
    jlw_registerForm = document.getElementById("jlw_registerForm");
	jlw_lostPasswordForm = document.getElementById("jlw_lostPasswordForm");

	jlw_loginMessage = document.getElementById("jlw_loginMessage");
	jlw_registerMessage = document.getElementById("jlw_registerMessage");
	jlw_lostPasswordMessage = document.getElementById("jlw_lostPasswordMessage");

});


function jlw_showLogin() {
	jQuery("#jlw_register").hide();
    jQuery("#jlw_lostPassword").hide();
    jQuery("#jlw_login").show();

	jlw_loginForm.log.focus();
}



function jlw_showRegister() {
    jQuery("#jlw_lostPassword").hide();
    jQuery("#jlw_login").hide();
    jQuery("#jlw_register").show();

	jlw_registerForm.user_login.focus();
}


function jlw_showLostPassword() {
    jQuery("#jlw_login").hide();
    jQuery("#jlw_register").hide();
    jQuery("#jlw_lostPassword").show();

	jlw_lostPasswordForm.user_login.focus();
}


function jlw_login() {
	if (0 != jlw_status) { return; }

	if (jlw_loginForm.log.value == '') {
		alert("Veuillez entrer un nom d'utilisateur.");
		jlw_loginForm.log.focus();
		return;
	}

	if (jlw_loginForm.pwd.value == '') {
		alert("Veuillez entrer un mot de passe.");
		jlw_loginForm.pwd.focus();
		return;
	}

    jQuery("#jlw_loading").show();

    jQuery.ajax({
        type: "POST",
        url: jlw_base_uri + "/wp-content/plugins/jquery-login-widget/login.php",
        data: ({
            log : jlw_loginForm.log.value,
            pwd : jlw_loginForm.pwd.value,
            rememberme : jlw_loginForm.rememberme.value
        }),
        success:  jlw_loginHandleResponse,
        error: jlw_ajaxError
    });

	jlw_status = 1;
}

function jlw_loginHandleResponse(msg) {
	jlw_status = 0;

	var responselines = msg.split("\n",2);
    
    jQuery("#jlw_loading").hide();

	if (responselines[0] == jlw_failure) {
		alert(responselines[1]);
		return;
	}
	if (responselines[0] == jlw_success) {
		if (jlw_redirectOnLogin == '')
			window.location.reload(true);
		else
			window.location.href = jlw_redirectOnLogin;
		return;
	}

	alert("Unknown login response.");

}

function jlw_register() {
	if (0 != jlw_status) { return; }

	if (jlw_registerForm.user_login.value == '') {
		alert("Please enter username.");
		jlw_registerForm.user_login.focus();
		return;
	}

	if (jlw_registerForm.user_email.value == '') {
		alert("Please enter e-mail address.");
		jlw_registerForm.user_email.focus();
		return;
	}

    jQuery("#jlw_loading").show();

    jQuery.ajax({
        type: "POST",
        url: jlw_base_uri + "/wp-content/plugins/jquery-login-widget/register.php",
        data: ({
            user_login : jlw_registerForm.user_login.value,
            user_email : jlw_registerForm.user_email.value
        }),
        success:  jlw_registerHandleResponse,
        error: jlw_ajaxError
    });
    
	jlw_status = 1;
}

function jlw_registerHandleResponse(msg) {
	jlw_status = 0;

    jQuery("#jlw_loading").hide();

	var responselines = msg.split("\n",2);

	if (responselines[0] == jlw_failure) {
		alert(responselines[1]);
		return;
	}
	if (responselines[0] == jlw_success) {
		alert("Enregistrement complet. Veuillez regarder votre e-mail.");

		jlw_loginMessage.innerHTML = "Your password is in your mail.<br/>";
		jlw_loginForm.log.value = jlw_registerForm.user_login.value;

		jlw_registerForm.user_login.value = "";
		jlw_registerForm.user_email.value = "";

		jlw_showLogin();
		jlw_loginForm.pwd.focus();
		return;
	}

	alert("Unknown registration response.");

}

function jlw_retrievePassword() {
	if (0 != jlw_status) {
		return;
	}

	if (jlw_lostPasswordForm.user_login.value == '') {
		alert("Please enter username.");
		jlw_lostPasswordForm.user_login.focus();
		return;
	}

	if (jlw_lostPasswordForm.user_email.value == '') {
		alert("Please enter e-mail address.");
		jlw_lostPasswordForm.user_email.focus();
		return;
	}

    jQuery("#jlw_loading").show();

    jQuery.ajax({
        type: "POST",
        url: jlw_base_uri + "/wp-content/plugins/jquery-login-widget/lostpassword.php",
        data: ({
            user_login : jlw_lostPasswordForm.user_login.value,
            user_email : jlw_lostPasswordForm.user_email.value
        }),
        success:  jlw_lostPasswordHandleResponse,
        error: jlw_ajaxError
    });

	jlw_status = 1;
}

function jlw_lostPasswordHandleResponse(msg) {
	jlw_status = 0;

    jQuery("#jlw_loading").hide();

	var responselines = msg.split("\n",2);
	if (responselines[0] == jlw_failure) {
		alert(responselines[1]);
		return;
	}
	if (responselines[0] == jlw_success) {
		alert("Check your e-mail for the reset password link.");
		jlw_loginMessage.innerHTML = "Your reset password link is in your e-mail.<br/>";

		jlw_loginForm.log.value = jlw_lostPasswordForm.user_login.value;
		jlw_lostPasswordForm.user_login.value = "";
		jlw_lostPasswordForm.user_email.value = "";
        
		jlw_showLogin();
		jlw_loginForm.pwd.focus();
		return;
	}

	alert("Unknown password retrieval response.");

}

function jlw_ajaxError(XMLHttpRequest, textStatus, errorThrown) {
	alert("We are sorry, there was an error while sending the request.\nPlease try again!\nIf error persists, please contact the webmaster.");
	
	alert(textStatus + ':\n' +errorThrown);

}
