function validateEmail(str)
{
	if (parseInt(str.indexOf("@")) != -1)
	{
		str2 = str.substr(str.indexOf("@"));
		
		if (parseInt(str2.lastIndexOf(".")) == -1)
		{
			return false;
		}
	}
	else if (parseInt(str.indexOf("@")) == -1)
	{ 
		return false; 
	} 
}

$(function(){
	$(".logInForm").live("submit", function()
	{
		var obj = this;
		if($("input[name=email]", obj).val() == "")
		{
			$("#message").html("Please enter your email.").show();
			return false;
		}
		else
		{
			debug("WE ARE CONFIRMING USER LOGIN WITH: " + $("input[name=email]", obj).val());
			$.ajax({
				async: false,
				url: "visitorService.php",
				type: "POST",
				data: "mode=authUser&email=" + $("input[name=email]", obj).val(),
				dataType: "html",
				beforeSend: function()
				{
					debug("WE ARE SENDING AUTH REQUEST");
				},
				success: function(msg)
				{
					debug("WE HAVE SUCCESSFULLY RECEIVED DATA: " + $("input[name=email]", obj).val() + " MSG: " + msg);
					if(msg == false)
					{
						$("#message").hide();
						$.ajax({
							async: false,
							url: "visitorService.php",
							type: "POST",
							data: "mode=planList,page=0",
							dataType: "html",
							success: function(msg)
							{
								$("#formContainer").html(msg);
							}
						});
					}
					else
					{
						$.ajax({
							async: false,
							url: "visitorService.php",
							type: "POST",
							data: "mode=loginForm",
							dataType: "html",
							success: function(msg)
							{
								$("#message").html("That email was not recognized.").show();
								$("#formContainer").html(msg);
							}
						});
					}
				}
			});
		}
		
		return false;
	});

	$(".registerForm").submit(function()
	{
		var obj = this;
		debug("START FORM CHECK: ");
		if($("input[name=first_name]", obj).val() == "")
		{
			$("#message").html("Please enter your first name.").show();
			return false;
		}
		else if($("input[name=last_name]", obj).val() == "")
		{
			$("#message").html("Please enter your last name.").show();
			return false;
		}
		else if($("input[name=email]", obj).val() == "")
		{
			$("#message").html("Please enter your email.").show();
			return false;
		}
		else if(validateEmail($("input[name=email]", obj).val()) == false)
		{
			$("#message").html("Please enter a valid email.").show();
			return false;
		}
		else if($("input[name=email_conf]", obj).val() == "")
		{
			$("#message").html("Please confirm your email address.").show();
			return false;
		}
		else if($("input[name=email_conf]", obj).val() != $("input[name=email]", this).val())
		{
			$("#message").html("Your email addresses do not match.").show();
			return false;
		}
		else
		{
			$.ajax({
				async: false,
				url: "visitorService.php",
				type: "POST",
				data: "mode=checkUser&email=" + $("input[name=email]", obj).val(),
				dataType: "text",
				beforeSend: function()
				{
					debug("WE ARE ABOUT TO SEND THE REQUEST");
				},
				success: function(msg)
				{
					debug("THIS IS MESSAGE FROM AJAX: " + msg);
					if(msg == "1")
					{
						//$("#message").html("You have been successfully added.").show();
						$("#message").hide();
						debug("EMAIL TO ADD: " + $("input[name=email]", obj).val());
						var email = $("input[name=email]", obj).val();
						var first_name = $("input[name=first_name]", obj).val();
						var last_name = $("input[name=last_name]", obj).val();
						$.ajax({
							async: false,
							url: "visitorService.php",
							type: "POST",
							data: "mode=register&email=" + email + "&first_name=" + first_name + "&last_name=" + last_name,
							dataType: "text",
							success: function(msg)
							{
								$("#formContainer").html(msg);
							}
						});
						return false;
					}
					else
					{
						$("#message").html("That user already exists.").show();
						$("input[name=email]", obj).val("");
						$("input[name=email_conf]", obj).val("");
						return false;
					}
				},
				error: function(XMLHttpRequest, textStatus, errorThrown)
				{
					debug("ERROR THROWN IN AJAX: " + errorThrown);
					return false;
				}
			});
		}
		
		debug("WE HAVE EXITED THE AJAX CALL");
		return false;
	});

});