﻿var loginDialog = 
{

	//
	//	Displays the login dialog.
	//
	Open: function(hideRegister)
	{
		if(hideRegister == true)
			$("#loginDialog_RegisterStartPart").hide();

		$("#dialogBackground").show();
		$("#loginDialog").show().centre();
	},

	//
	//	Submits the login information.
	//
	SubmitLogin: function()
	{
		// Disable the buttons while we attempt to login.
		$("#loginDialog").find("input,button").prop("disabled", true);

		var sendData = 
		{
			email: $("#loginDialog_Email").val(),
			password: $("#loginDialog_Password").val()
		};
		$.post(
			"/account/loginajax",
			sendData,
			function(result)
			{
				$("#loginDialog").find("input,button").prop("disabled", false);
				if(result.success)
				{
					loginDialog.Close();
					window.location.reload();
				}
				else
				{
					$("#loginDialog_LoginError").text(result.message);
				}
			});
	},

	//
	//	Closes the login dialog.
	//
	Close: function()
	{
		$("#dialogBackground").hide();
		$("#loginDialog").hide();

		// Reset to default display.
		$("#loginDialog_LoginPart").show();
		$("#loginDialog_RegisterStartPart").show();
		$("#loginDialog_RegisterPart").hide();

		$("#loginDialog").find(".error").hide();
		
		$("#loginDialog").find("input").val("");
	},

	ForgottenPassword: function()
	{
		// 
	},


	OpenRegister: function()
	{
		$("#loginDialog_LoginPart").hide();
		$("#loginDialog_RegisterStartPart").hide();
		$("#loginDialog_RegisterPart").show();
	},

	SubmitRegister: function()
	{
		var sendData = 
		{
			FirstName: $("#loginDialog_Register_Name").val(),
			LastName: $("#loginDialog_Register_LastName").val(),
			Email: $("#loginDialog_Register_Email").val(),
			Password: $("#loginDialog_Register_Password").val(),
			Newsletter: $("#loginDialog_Register_Newsletter").prop("checked")
		};


		var isPasswordValid = true;
		var errorMessage = "";
		// Check the password and confirm password are the same.
		if($("#loginDialog_Register_Password").val() != $("#loginDialog_Register_ConfirmPassword").val())
		{
			errorMessage += "<div>Please confirm your password</div>";
			isPasswordValid = false;
		}

		
		var isValid = true;
		isValid &= loginDialog.FieldHasValue("loginDialog_Register_Name");
		isValid &= loginDialog.FieldHasValue("loginDialog_Register_LastName");
		isValid &= loginDialog.FieldHasValue("loginDialog_Register_Email");
		isValid &= loginDialog.FieldHasValue("loginDialog_Register_Password");
		isValid &= loginDialog.FieldHasValue("loginDialog_Register_ConfirmPassword");
		if(!isValid)
		{
			errorMessage += "<div>Please fill in the blank fields</div>";
		}


		if(!isValid || !isPasswordValid)
		{
			// Display the error message.
			$("#loginDialog_RegisterError").html(errorMessage);
			return;
		}


		$.post(
			"/account/registerajax",
			sendData,
			function(result)
			{
				if(result.success)
				{
					loginDialog.Close();
					window.location.reload();
				}
				else
				{
					$("#loginDialog_RegisterError").text(result.message);
				}
			});

		loginDialog.Close();
	},


	FieldHasValue: function(fieldName)
	{
		var field = $("#" + fieldName);
		if(!field.val().length > 0)
		{
			field.addClass("errorField");
			return false;
		}
		else
			field.removeClass("errorField");

		return true;
	}
};
