var alw_status;
var alw_loginForm, alw_lostPasswordForm, alw_changePasswordForm;
var alw_loginMessage, alw_lostPasswordMessage, alw_changePasswordMessage;
var alw_loginError, alw_lostpwdError, alw_changePasswordError;
var alw_sack = new sack();

var alw_otheronload = window.onload;
window.onload = alw_init;
function alw_init() {

	if (alw_otheronload) alw_otheronload();

	alw_status = 0;

	alw_loginForm = document.getElementById("alw_loginForm");
	alw_lostPasswordForm = document.getElementById("alw_lostPasswordForm");
	alw_changePasswordForm = document.getElementById("alw_changePasswordForm");

	alw_loginMessage = document.getElementById("alw_loginMessage");
	alw_lostPasswordMessage = document.getElementById("alw_lostPasswordMessage");
	alw_changePasswordMessage = document.getElementById("alw_changePasswordMessage");
	
  alw_loginError = document.getElementById("alw_loginError");
  alw_lostpwdError = document.getElementById("alw_lostpwdError");
  alw_changePasswordError = document.getElementById("alw_changePasswordError");
}


function alw_showLogin() {

	document.getElementById("alw_login").style.display = "none";
	document.getElementById("alw_lostPassword").style.display = "none";
	document.getElementById("alw_loginError").style.display = "none";
	document.getElementById("alw_lostpwdError").style.display = "none";

	if (0 != alw_timeout) {
		setTimeout('alw_showLogin2();', alw_timeout);
	} else {
		alw_showLogin2();
	}
}

function alw_showLogin2() {
	document.getElementById("alw_loading_login").style.display = "none";
	document.getElementById("alw_login").style.display = "block";
	alw_loginForm.log.focus();
}

function alw_showChangePassword() {

	document.getElementById("alw_loggedIn").style.display = "none";
	document.getElementById("alw_changePassword").style.display = "none";
	document.getElementById("alw_changePasswordError").style.display = "none";

	if (0 != alw_timeout) {
		setTimeout('alw_showChangePassword2();', alw_timeout);
	} else {
		alw_showChangePassword2();
	}
}

function alw_showChangePassword2() {
	document.getElementById("alw_loading_change").style.display = "none";
	document.getElementById("alw_changePassword").style.display = "block";
}

function alw_showLoggedIn() {

	document.getElementById("alw_loggedIn").style.display = "none";
	document.getElementById("alw_changePassword").style.display = "none";

	if (0 != alw_timeout) {
		setTimeout('alw_showLoggedIn2();', alw_timeout);
	} else {
		alw_showLoggedIn2();
	}
}

function alw_showLoggedIn2() {

	document.getElementById("alw_loggedIn").style.display = "block";
}

function alw_showLostPassword() {

	document.getElementById("alw_login").style.display = "none";
	document.getElementById("alw_lostPassword").style.display = "none";
	document.getElementById("alw_loginError").style.display = "none";
	document.getElementById("alw_lostpwdError").style.display = "none";

	if (0 != alw_timeout) {
		setTimeout('alw_showLostPassword2();', alw_timeout);
	} else {
		alw_showLostPassword2();
	}
}

function alw_showLostPassword2() {

	document.getElementById("alw_loading_lost").style.display = "none";
	document.getElementById("alw_lostPassword").style.display = "block";

	alw_lostPasswordForm.user_email.focus();
}


function alw_login() {

	if (0 != alw_status) {
		return;
	}

	if (alw_loginForm.log.value == '') {
		alw_loginError.style.display = "block";
		alw_loginError.innerHTML = "Please enter username.";
		alw_loginForm.log.focus();
		return;
	}

	if (alw_loginForm.pwd.value == '') {
		alw_loginError.style.display = "block";
		alw_loginError.innerHTML = "Please enter password.";
		alw_loginForm.pwd.focus();
		return;
	}

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

	alw_sack.setVar("log", alw_loginForm.log.value);
	alw_sack.setVar("pwd", alw_loginForm.pwd.value);

	alw_sack.requestFile = alw_base_uri + "/wp-content/plugins/ajax-login-widget/login.php";
	alw_sack.method = "POST";
	alw_sack.onError = alw_ajaxError;
	alw_sack.onCompletion = alw_loginHandleResponse;
	alw_sack.runAJAX();
	alw_status = 1;

}

function alw_loginHandleResponse() {
	alw_status = 0;

	var responselines = alw_sack.response.split("\n",2);
	if (responselines[0] == alw_failure) {
    document.getElementById("alw_loading_login").style.display = "none";
		alw_loginForm.log.value = "";
		alw_loginForm.pwd.value = "";
		alw_loginError.style.display = "block";
		alw_loginError.innerHTML = responselines[1];
		return;
	}
	if (responselines[0] == alw_success) {
		
		if (alw_redirectOnLogin == '')
			window.location.reload(true);
		else
			window.location.href = alw_redirectOnLogin;
			
		return;
	}
  
  alw_loginError.style.display = "block";
  alw_loginError.innerHTML = "Unknown login response.";
}

function alw_retrievePassword() {
	if (0 != alw_status) {
		return;
	}

	if (alw_lostPasswordForm.user_email.value == '') {
		alw_lostpwdError.style.display = "block";
		alw_lostpwdError.innerHTML = "Please enter email address.";
		alw_lostPasswordForm.user_email.focus();
		return;
	}

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

	alw_sack.setVar("user_email", alw_lostPasswordForm.user_email.value);

	alw_sack.requestFile = alw_base_uri + "/wp-content/plugins/ajax-login-widget/lostpassword.php";
	alw_sack.method = "POST";
	alw_sack.onError = alw_ajaxError;
	alw_sack.onCompletion = alw_lostPasswordHandleResponse;
	alw_sack.runAJAX();
	alw_status = 1;
}

function alw_lostPasswordHandleResponse() {
	alw_status = 0;
  document.getElementById("alw_loading_lost").style.display = "none";

	var responselines = alw_sack.response.split("\n",2);
	if (responselines[0] == alw_failure) {
		alw_lostPasswordForm.user_email.value = "";		
		alw_lostpwdError.style.display = "block";
		alw_lostpwdError.innerHTML = responselines[1];
		return;
	}
	if (responselines[0] == alw_success) {
		alw_lostpwdError.style.display = "block";
    alw_lostpwdError.innerHTML = "Check your email for the reset password link.";
		alw_loginForm.log.value = alw_lostPasswordForm.user_email.value;
		alw_lostPasswordForm.user_email.value = "";
		alw_showLogin();
		alw_loginForm.pwd.focus();
		alw_loginError.style.display = "block";
		alw_loginError.innerHTML = "Your reset password link is in your email.";
		return;
	}

  alw_lostpwdError.style.display = "block";
  alw_lostpwdError.innerHTML = "Unknown password retrieval response.";
}

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

function alw_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)
		alw_login();

}

function alw_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)
		alw_retrievePassword();

}

function alw_changeOnEnter(e) {

	if(window.event) // IE
		keynum = e.keyCode;
	else if(e.which) // Netscape/Firefox/Opera
		keynum = e.which;
	else
		keynum = 0;

	if (keynum==13)
		alw_changePassword();

}

function alw_changePassword() {
	if (0 != alw_status) {
		return;
	}

	if (alw_changePasswordForm.curr_pass.value == '') {
		alw_changePasswordError.style.display = "block";
		alw_changePasswordError.innerHTML = "Please enter current password.";
		alw_changePasswordForm.curr_pass.focus();
		return;
	}

	if (alw_changePasswordForm.new_pass.value == '') {
		alw_changePasswordError.style.display = "block";
		alw_changePasswordError.innerHTML = "Please enter new password.";
		alw_changePasswordForm.new_pass.focus();
		return;
	}

	if (alw_changePasswordForm.new_passverify.value == '') {
		alw_changePasswordError.style.display = "block";
		alw_changePasswordError.innerHTML = "Please verify new password.";
		alw_changePasswordForm.new_passverify.focus();
		return;
	}

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

	alw_sack.setVar("curr_pass", alw_changePasswordForm.curr_pass.value);
	alw_sack.setVar("new_pass", alw_changePasswordForm.new_pass.value);
	alw_sack.setVar("new_passverify", alw_changePasswordForm.new_passverify.value);

	alw_sack.requestFile = alw_base_uri + "/wp-content/plugins/ajax-login-widget/changepassword.php";
	alw_sack.method = "POST";
	alw_sack.onError = alw_ajaxError;
	alw_sack.onCompletion = alw_changePasswordHandleResponse;
	alw_sack.runAJAX();
	alw_status = 1;
}

function alw_changePasswordHandleResponse() {
	alw_status = 0;
  document.getElementById("alw_loading_change").style.display = "none";

	var responselines = alw_sack.response.split("\n",2);
	if (responselines[0] == alw_failure) {
		alw_changePasswordError.style.display = "block";
		alw_changePasswordError.innerHTML = responselines[1];
		alw_changePasswordForm.curr_pass.value = "";
		alw_changePasswordForm.new_pass.value = "";
		alw_changePasswordForm.new_passverify.value = "";
		return;
	}
	if (responselines[0] == alw_success) {
    alert("Password has been successfully changed.");
		alw_changePasswordForm.curr_pass.value = "";
		alw_changePasswordForm.new_pass.value = "";
		alw_changePasswordForm.new_passverify.value = "";
	  window.location.reload(true);
		return;
	}

  alw_loginError.style.display = "block";
  alw_loginError.innerHTML = "Unknown login response.";
}