var alx_status;
var alx_loginForm, alx_registerForm, alx_lostPasswordForm;
var alx_loginMessage, alx_registerMessage, alx_lostPasswordMessage;
var alx_sack = new sack();

var alx_otheronload = window.onload;
window.onload = alx_init;
function alx_init() {

	if (alx_otheronload) alx_otheronload();

	alx_status = 0;

	alx_loginForm = document.getElementById("alx_loginForm");
	alx_registerForm = document.getElementById("alx_registerForm");
	alx_lostPasswordForm = document.getElementById("alx_lostPasswordForm");

	alx_loginMessage = document.getElementById("alx_loginMessage");
	alx_registerMessage = document.getElementById("alx_registerMessage");
	alx_lostPasswordMessage = document.getElementById("alx_lostPasswordMessage");
	
	if (alx_loginForm.pwd.value != ''){
	document.getElementById("pwd_back").setAttribute("class", "passentered");
	}
}


function alx_showLogin() {

	document.getElementById("alx_login").style.display = "none";
	document.getElementById("alx_register").style.display = "none";
	document.getElementById("alx_lostPassword").style.display = "none";

	if (0 != alx_timeout) {
		setTimeout('alx_showLogin2();', alx_timeout);
	} else {
		alx_showLogin2();
	}
}

function alx_showLogin2() {
	document.getElementById("alx_loading_login").style.display = "none";
	document.getElementById("alx_login").style.display = "block";
	
// 	alx_loginForm.log.focus();

}

function alx_showRegister() {

	document.getElementById("alx_login").style.display = "none";
	document.getElementById("alx_register").style.display = "none";
	document.getElementById("alx_lostPassword").style.display = "none";

	if (0 != alx_timeout) {
		setTimeout('alx_showRegister2();', alx_timeout);
	} else {
		alx_showRegister2();
	}
}

function alx_showRegister2() {

	document.getElementById("alx_loading_register").style.display = "none";
	document.getElementById("alx_register").style.display = "block";
	
// 	alx_registerForm.user_login.focus();
}


function alx_showLostPassword() {

	document.getElementById("alx_login").style.display = "none";
	document.getElementById("alx_register").style.display = "none";
	document.getElementById("alx_lostPassword").style.display = "none";

	if (0 != alx_timeout) {
		setTimeout('alx_showLostPassword2();', alx_timeout);
	} else {
		alx_showLostPassword2();
	}
}

function alx_showLostPassword2() {

	document.getElementById("alx_loading_lost").style.display = "none";
	document.getElementById("alx_lostPassword").style.display = "block";

// 	alx_lostPasswordForm.user_login.focus();
}


function alx_login() {

	if (0 != alx_status) {
		return;
	}

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

	if (alx_loginForm.pwd.value == '') {
		alert("Please enter password.");
 		alx_loginForm.pwd.focus();
		return;
	}

          document.getElementById("alx_loading_login").style.display = "inline";

	alx_sack.setVar("log", alx_loginForm.log.value);
	alx_sack.setVar("pwd", alx_loginForm.pwd.value);
	alx_sack.setVar("rememberme", alx_loginForm.rememberme.value);

	alx_sack.requestFile = alx_base_uri + "/wp-content/plugins/ajox-login-widget/login.php";
	alx_sack.method = "POST";
	alx_sack.onError = alx_ajaxError;
	alx_sack.onCompletion = alx_loginHandleResponse;
	alx_sack.runAJAX();
	alx_status = 1;

}

function alx_loginHandleResponse() {
	alx_status = 0;

	var responselines = alx_sack.response.split("\n",2);
	if (responselines[0] == alx_failure) {
                    document.getElementById("alx_loading_login").style.display = "none";
		alert(responselines[1]);
		return;
	}
	if (responselines[0] == alx_success) {
		
		if (alx_redirectOnLogin == '')
			window.location.reload(true);
		else
			window.location.href = alx_redirectOnLogin;
			
		return;
	}

	alert("Unknown login response.");

}

function alx_register() {

	if (0 != alx_status) {
		return;
	}

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

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

          document.getElementById("alx_loading_register").style.display = "inline";

	alx_sack.setVar("user_login", alx_registerForm.user_login.value);
	alx_sack.setVar("user_email", alx_registerForm.user_email.value);

	alx_sack.requestFile = alx_base_uri + "/wp-content/plugins/ajox-login-widget/register.php";
	alx_sack.method = "POST";
	alx_sack.onError = alx_ajaxError;
	alx_sack.onCompletion = alx_registerHandleResponse;
	alx_sack.runAJAX();
	alx_status = 1;

}

function alx_registerHandleResponse() {

	alx_status = 0;
          document.getElementById("alx_loading_register").style.display = "none";

	var responselines = alx_sack.response.split("\n",2);
	if (responselines[0] == alx_failure) {
		alert(responselines[1]);
		return;
	}
	if (responselines[0] == alx_success) {
		alert("Registration complete. Please check your e-mail.");
		alx_loginMessage.innerHTML = "Your password is in your mail.<br/>";
		alx_loginForm.log.value = alx_registerForm.user_login.value;
		alx_registerForm.user_login.value = "";
		alx_registerForm.user_email.value = "";
		alx_showLogin();
		alx_loginForm.pwd.focus();
		return;
	}

	alert("Unknown registration response.");

}

function alx_retrievePassword() {
	if (0 != alx_status) {
		return;
	}

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

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

          document.getElementById("alx_loading_lost").style.display = "inline";

	alx_sack.setVar("user_login", alx_lostPasswordForm.user_login.value);
	alx_sack.setVar("user_email", alx_lostPasswordForm.user_email.value);

	alx_sack.requestFile = alx_base_uri + "/wp-content/plugins/ajox-login-widget/lostpassword.php";
	alx_sack.method = "POST";
	alx_sack.onError = alx_ajaxError;
	alx_sack.onCompletion = alx_lostPasswordHandleResponse;
	alx_sack.runAJAX();
	alx_status = 1;
}

function alx_lostPasswordHandleResponse() {
	alx_status = 0;
          document.getElementById("alx_loading_lost").style.display = "none";

	var responselines = alx_sack.response.split("\n",2);
	if (responselines[0] == alx_failure) {
		alert(responselines[1]);
		return;
	}
	if (responselines[0] == alx_success) {
		alert("Check your e-mail for the reset password link.");
		alx_loginMessage.innerHTML = "Your reset password link is in your e-mail.<br/>";
		alx_loginForm.log.value = alx_lostPasswordForm.user_login.value;
		alx_lostPasswordForm.user_login.value = "";
		alx_lostPasswordForm.user_email.value = "";
		alx_showLogin();
		alx_loginForm.pwd.focus();
		return;
	}

	alert("Unknown password retrieval response.");

}

function alx_ajaxError() {
	alert("We are sorry, there was an error while sending the request.\nPlease try again!\nIf error persists, please contact the webmaster.");
	
	alert(alx_sack.responseStatus[0] + ':\n' + alx_sack.response);
	alx_sack = new sack();
}

function alx_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)
		alx_login();

}
function alx_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)
		alx_register();

}
function alx_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)
		alx_retrievePassword();

}
