var LoginHandler = new function() {
	this.ajax = new Ajax();
	this.loginForm = null;
	this.submitButton = null;

	this.init = function() {
		var self = LoginHandler;

		self.loginForm = document.getElementById('formLogin');
		self.submitButton = document.getElementById('buttonSubmit');
		//this.submitButton.disabled = true;
		self.submitButton.onclick = self.doLogin;
		self.loginForm.onsubmit = function() { return false; };
	};

	this.cleanup = function() {
		this.submitButton = null;
		this.loginForm = null;
	};

    this.doLogin = function() {
		var username = document.getElementById('inputUsername').value;
		var password = document.getElementById('inputPassword').value;

		if (username != "") {

		}
		if (password != "") {

		}

		if ((username != "") && (password != "")) {
			var self = LoginHandler;
			var keepLogin = document.getElementById('checkRemember').checked ? 1 : 0;

			var postData = "username="+username;
			postData += "&password="+password;
			postData += "&remember="+keepLogin;
			postData += "&ajax=1";

			self.ajax.doPost("login-process.php", postData, self.handleLoginResponse, 'xml');

		}
	};

	this.keyHandler = function(e) {

		if (!e) {
			e = window.event;
		}

		if ((e.keyCode == 13) && (this.enabled)) {
			this.doLogin();
		}
	};

	this.handleLoginResponse = function(xmlResult) {
		var self = LoginHandler;

		var resultElement = xmlResult.getElementsByTagName('result')[0];
		var resultMessage = resultElement.getAttribute('message');
		var resultCode = resultElement.getAttribute('code');

		if (resultCode == 1) {
			window.location = "/myprofile.php";
		}
		else {

			var messageDisplayElement = document.getElementById('displayMessage');

			if (messageDisplayElement.firstChild) {
				messageDisplayElement.removeChild(messageDisplayElement.firstChild);
			}

			messageDisplayElement.appendChild(document.createTextNode(resultMessage));
		}
	};

};

window.onload = LoginHandler.init;
window.onunload = LoginHandler.cleanup;
window.onkeyup = LoginHandler.keyHandler;