var login =
{
	displayDivs : ["loginDiv","findCredentialsDiv","registerDiv"],

	getAjaxObject : function ()
	{
		if (window.XMLHttpRequest)
			return new XMLHttpRequest();
		else if (window.ActiveXObject)
			return new ActiveXObject("Microsoft.XMLHTTP");
		else
			alert("Your browser does not support XMLHTTP!");
	},
	
	hideOthers : function(div)
	{
		for (var i=0; i<this.displayDivs.length; i++)
		{
			if (this.displayDivs[i]!==div)
				document.getElementById(this.displayDivs[i]).style.display = 'none';
			else
				document.getElementById(this.displayDivs[i]).style.display = 'block';
		}
	},

	getCredentials : function(name, username, email)
	{
		var ajaxObject = this.getAjaxObject();
		ajaxObject.onreadystatechange=function()
		{
			if (this.readyState==4)
			{
				if (this.responseText=="1")
				{
					document.getElementById('findCredentialsFormDiv').innerHTML = 
						"<p>Your username and password has been sent to your email address. Thank you.</p><br />"
				}
				else if (this.responseText=="0")
				{
					var strong = document.createElement("strong");
					var noCreds = document.createTextNode("Your credentials could not be found. Please try again.");
					strong.appendChild(noCreds);
					var findCredentialsFormDiv = document.getElementById('findCredentialsFormDiv');
					findCredentialsFormDiv.insertBefore(strong, findCredentialsFormDiv.firstChild);
				}
			}
		};
		var requestData = "requestCredentials=1&name="+escape(name)+"&username="+escape(username)+"&email="+email;
		ajaxObject.open("POST","/app/modules/Login/scripts/sendCredentials.php",true);
		ajaxObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		ajaxObject.send(requestData);
	},
	
	checkUsername : function(username)
	{
		if (username != "" && username !== null){
			var ajaxObject = this.getAjaxObject();
			ajaxObject.onreadystatechange=function()
			{
				if (this.readyState==4 && this.status == 200)
				{
					var registerMessage = document.getElementById('registerMessage');
					if (this.responseText=="1")
					{
						if (registerMessage.style.display = 'block')
							registerMessage.innerHTML = "<strong>Your username is unique.</strong>";
						document.registerForm.validUsername.value = 1;
					}
					else if (this.responseText=="0")
					{
						registerMessage.style.display = 'block';
						registerMessage.innerHTML = "<strong>Your username is in use. Please choose another.</strong>";
						document.registerForm.validUsername.value = 0;
					}
				}
			};
			var requestData = "checkUsername=1&username="+escape(username);
			ajaxObject.open("POST","/app/modules/Login/scripts/checkUsername.php",true);
			ajaxObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			ajaxObject.send(requestData);
		}
	},
	
	checkRegistration : function(form)
	{
		if (document.registerForm.name.value == "" || document.registerForm.validUsername.value == 0 || 
			document.registerForm.password.value == "" || document.registerForm.password.email == "")
			return false;
		else if (document.registerForm.validUsername.value == 1)
			form.submit();
	},
	
	remember : function()
	{
		var cookies = document.cookie.split(';');
		for(var i=0;i < cookies.length;i++) {
			if (cookies[i].indexOf("username") == 0) 
				document.forms.loginForm.username.value = cookies[i].substr(9);
			else if (cookies[i].indexOf("password") == 0) 
				document.forms.loginForm.password.value = cookies[i].substr(9);
		}
	}

}