$(document).ready(function()
{
	$(".newsletter").live("click", function()
	{
		$("#newsletter").hide();
		if(jQuery.browser.version.substring(0, 2) == "8." || jQuery.browser.version.substring(0, 2) == "7.")
		{
			$("#overlay").height($("body").height()).show();
			$("#newsletter").css("top", $(window).scrollTop()+220).show();
		}
		else
		{
			$("#overlay").height($("body").height()).fadeTo(300, 1, function()
			{
				$("#newsletter").css("top", $(window).scrollTop()+220).fadeTo(500, 1);
			});
		}
		return false;
	});
	
	$(".newsletterComplete").live("click", function()
	{
		return false;
	});
	
	$("#newsletter .close a").click(function()
	{
		if(jQuery.browser.version.substring(0, 2) == "8." || jQuery.browser.version.substring(0, 2) == "7.")
		{
			$("#newsletter").hide();
			$("#overlay").hide();
		}
		else
		{
			$("#newsletter").fadeTo(300, 0, function()
			{
				$("#newsletter").hide();
				$("#overlay").fadeTo(300, 0, function()
				{
					$("#overlay").hide();
				});
			});
		}
		return false;
	});
	
	$("#newsletter .textinput input").focus(function()
	{
		if(($(this).val() == "First Name") || ($(this).val() == "Surname") || ($(this).val() == "Email Address"))
		{
			$(this).attr("value", "");
		}	
		$(this).addClass("focus");
	});
	
	$("#newsletter .textinput input").blur(function()
	{
		if(!$(this).val().length)
		{
			if($(this).attr("name") == "firstname")
			{
				$(this).val("First Name");
			}
			if($(this).attr("name") == "surname")
			{
				$(this).val("Surname");
			}
			if($(this).attr("name") == "email")
			{
				$(this).val("Email Address");
			}
		}	
		$(this).removeClass("focus");
	});
	
	$("#newsletter .submit a").click(function()
	{
		$("#newsletter .submit").fadeTo(500, 0);
		$("#newsletter .textinput").removeClass("error");
		var validates = true;
		var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		
		if((!$("#newsletter_firstname").val().length) || ($("#newsletter_firstname").val() == "First Name"))
		{
			validates = false;
			$("#newsletter_firstname").closest(".textinput").addClass("error");
		}
		
		if((!$("#newsletter_surname").val().length) || ($("#newsletter_surname").val() == "Surname"))
		{
			validates = false;
			$("#newsletter_surname").closest(".textinput").addClass("error");
		}
		
		if(!emailReg.test($("#newsletter_email").val()))
		{
			validates = false;
			$("#newsletter_email").closest(".textinput").addClass("error");
		}
		
		if(validates)
		{
			var errorTitle = "";
			var errorMessage = "";
			$.ajax(
			{
				type: "POST",
				url: "/subscribe",
				data: ({ email: $("#newsletter_email").val(), firstname: $("#newsletter_firstname").val(), surname: $("#newsletter_surname").val() }),
				success: function(data)
				{
					var bits = data.split("~");
					if(bits[0] == "OK")
					{
						errorTitle = "Thank you!";
						errorMessage = "Signup complete";
						$(".newsletter").addClass("newsletterComplete").removeClass("newsletter");
						setTimeout(function()
						{
							$("#newsletter .close a").click()
						}, 2000);
					}
					else
					{
						errorTitle = "Error";
						errorMessage = "Error Message";
						$("#newsletter .submit").fadeTo(500, 1);
					}
					$("#newsletter_disclaimer p").fadeTo(500, 0, function()
					{
						$("#newsletter_disclaimer p").html(errorMessage).fadeTo(500, 1);
					});
					
					$("#newsletter_disclaimer h3").fadeTo(500, 0, function()
					{
						$("#newsletter_disclaimer h3").html(errorTitle).fadeTo(500, 1);
					});
				},
				error: function()
				{
					$("#newsletter_disclaimer p").fadeTo(500, 0, function()
					{
						$("#newsletter_disclaimer p").html("Error Message").fadeTo(500, 1);
					});
					
					$("#newsletter_disclaimer h3").fadeTo(500, 0, function()
					{
						$("#newsletter_disclaimer h3").html("Error").fadeTo(500, 1);
					});
					$("#newsletter .submit").fadeTo(500, 1);
				}
			});
		}
		else
		{
			setTimeout(function()
			{
				$("#newsletter .submit").fadeTo(500, 1);
			}, 1000);
		}
		return false;
	});

});
