/**
 * Checks for a user and logs them in if they are authenticated.
 */
function Login() {
	var varArr = new Array();
	varArr["q"] = "auth";
	varArr["uname"] = document.getElementById('uname').value;
	varArr["passw"] = document.getElementById('passw').value;
	var jx = new Ajax('base/callbacks/usercb.php', "POST", varArr);
	jx.CallbackFunction = function(text) {
		if (text.substr(0,4) == "auth") {
			document.getElementById('statweblogin').innerHTML = "Welcome, " + text.substr(4) + "<br /><button onclick=\"Logout();\">Logout</button>";
			document.getElementById('accountthing').innerHTML = "<p>You have created your account, so you can <a href=\"proposal/\">create a proposal</a> now.</p>";
			document.getElementById('newaccount').style.visibility = "hidden";
			document.getElementById('newaccount').style.height = "0px"
			document.getElementById('newaccount').style.width = "0px";
		}
		else if (text == "deny") {
			alert("Invalid username/password combination.");
		}
		else {
			alert(text);
		}
	}
	AjaxQueue.AddToQueue(jx);
	AjaxQueue.ProcessQueue();
}

/**
 * Logs a user out.
 */
function Logout() {
	var varArr = new Array();
	varArr["q"] = "logout";
	var jx = new Ajax('base/callbacks/usercb.php', "POST", varArr);
	jx.CallbackFunction = function(text) {
		document.getElementById('statweblogin').innerHTML = "<table><tr><td>Username:</td></tr><tr><td><input type=\"text\" id=\"uname\" style=\"width:130px;\" /></td></tr><tr><td>Password:</td></tr><tr><td><input type=\"password\" id=\"passw\" style=\"width:130px;\" /></td></tr><tr><td><button onclick=\"Login();\">Login</button></td></tr></table>";
		document.getElementById('accountthing').innerHTML = '';
		document.getElementById('newaccount').style.visibility = "visible";
			document.getElementById('newaccount').style.height = "auto"
			document.getElementById('newaccount').style.width = "auto";
	};
	AjaxQueue.AddToQueue(jx);
	AjaxQueue.ProcessQueue();
}

/**
 * Checks to see if a user is logged in.
 */
function CheckLogin() {
	var jx = new Ajax('base/callbacks/checklogincb.php', "GET");
	jx.CallbackFunction = function(text) {
		if (text.substr(0,4) == "auth") {
			document.getElementById('statweblogin').innerHTML = "Welcome, " + text.substr(4) + "<br /><button onclick=\"Logout()\">Logout</button>";
			document.getElementById('accountthing').innerHTML = "<p>You have created your account, so you can <a href=\"proposal/\">create a proposal</a> now.</p>";
			document.getElementById('newaccount').style.visibility = "hidden";
			document.getElementById('newaccount').style.height = "0px"
			document.getElementById('newaccount').style.width = "0px";
		}
	}
	AjaxQueue.AddToQueue(jx);
	AjaxQueue.ProcessQueue();
}

/**
 * Creates a new user accoun.t
 */
function CreateNewAccount() {
	var uname = document.getElementById('newuname').value;
	var pass1 = document.getElementById('passw1').value;
	var pass2 = document.getElementById('passw2').value;
	if (pass1.length == 0 && pass2.length == 0) {
		alert('You must specify a password.');
		return;
	}
	else if (pass1 != pass2) {
		alert('The password and password confirmation are not the same.');
		return;
	}
	else {
		var varArr = new Array();
		varArr["q"] = "create";
		varArr["uname"] = uname;
		varArr["passw"] = pass1;
		var jx = new Ajax('base/callbacks/createaccountcb.php', "GET", varArr);
		jx.CallbackFunction = function(text) {
			if (text == "created") {
				document.getElementById('newaccount').innerHTML = "<p>Your account has been created. Please log in on the left to begin.</p>";
			}
			else {
				alert(text);
			}
		}
		AjaxQueue.AddToQueue(jx);
		AjaxQueue.ProcessQueue();
	}
}
