var al_status;
var al_loginForm, al_registerForm, al_lostPasswordForm;
var al_loginMessage, al_registerMessage, al_lostPasswordMessage;
var al_sack = new sack();
var al_base_uri='';
var al_failure=0;
var al_success=1;
//var al_otheronload = window.onload;
window.onload = al_init;
var flexApp;
var initCallback = function()
{
	flexApp = FABridge.flash.root();
	//alert(flexApp.getLogin_button().getLabel());
	flexApp.getLogin_button().addEventListener('click',al_login);
}
 
function al_init() {
	

	FABridge.addInitializationCallback("flash",initCallback);
	al_status = 0;

	al_loginForm = document.getElementById("al_loginForm");

}




function al_login() {
	//alert(al_status);
	if (0 != al_status) {
		alert('al_status!=0');
		return;
	}
	var usr=flexApp.getLoginUser_textinput().getText();
	var pwd=flexApp.getLoginPassword_textinput().getText();
	if (usr == '') {
		flexApp.getLoginUser_textinput().focus();
	}

	if (pwd == '') {
		flexApp.getLoginPassword_textinput().focus();
	}
	al_sack.vars=new Object();
	al_sack.setVar("log", usr);
	al_sack.setVar("pwd", pwd);
	al_sack.setVar("rememberme", 1);
	//alert('test');
	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;
	//alert('about to run ajax');
	al_sack.runAJAX();
	//alert('ran ajax');
	al_status = 1;

}

function al_loginHandleResponse() {
	//alert(al_sack.response);
	al_status = 0;

	var responselines = al_sack.response.split("\n",2);
	if (responselines[0] == al_failure) {
		
		flexApp.showAlert(responselines[1]);
		//alert(responselines[1]);
		return;
	}
	if (responselines[0] == al_success) {
		flexApp.getUserLogin().setVisible(false);
		flexApp.getLoginUser_textinput().setText("");
		flexApp.getLoginPassword_textinput().setText("");
		flexApp.setLoggedIn(true);
		flexApp.getOpenLogin_button().setAlpha(.5);
		//flexApp.getLogin_button().setEnabled(false);
		return;
	}

	alert("Unknown login response.");

}

function al_register() {

	if (0 != al_status) {
		return;
	}

	if (al_registerForm.user_login.value == '') {
		alert("Please enter username.");
		al_registerForm.user_login.focus();
		return;
	}

	if (al_registerForm.user_email.value == '') {
		alert("Please enter e-mail address.");
		al_registerForm.user_email.focus();
		return;
	}

	al_sack.setVar("user_login", al_registerForm.user_login.value);
	al_sack.setVar("user_email", al_registerForm.user_email.value);

	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("Registration complete. Please check your e-mail.");
		al_loginMessage.innerHTML = "Your password is in your mail.<br/>";
		al_loginForm.log.value = al_registerForm.user_login.value;
		al_registerForm.user_login.value = "";
		al_registerForm.user_email.value = "";
		al_showLogin();
		al_loginForm.pwd.focus();
		return;
	}

	alert("Unknown registration response.");

}

function al_retrievePassword() {
	if (0 != al_status) {
		return;
	}

	if (al_lostPasswordForm.user_login.value == '') {
		alert("Please enter username.");
		al_lostPasswordForm.user_login.focus();
		return;
	}

	if (al_lostPasswordForm.user_email.value == '') {
		alert("Please enter e-mail address.");
		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.");
		al_loginMessage.innerHTML = "Your confirmation link is in your mail.<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.");

}

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(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();

}
