$(document).ready(function()
{

	var login = $("div#login").overlay({api: true, effect: 'drop', expose: { color: '#000', loadSpeed: 200, opacity: 0.3 }});
	var error = $("div.overlay#error").overlay({api: true, effect: 'drop', expose: { color: '#000', loadSpeed: 200, opacity: 0.3 }});
	var friends = $("div#friends").overlay({api: true, effect: 'drop', });

	jQuery.validator.setDefaults(
	{
		errorElement: "span",
		errorLabelContainer: ".errors"
	});

	$('a.login').click(function(e)
	{
		e.preventDefault();
		login.load();
	});

	$('input[type=text]').focus( function()
	{
		$(this).val('');
	});
	
	$('#key em.get-a-password a').click( function(e)
	{
		e.preventDefault();
		$.ajax({
			url: '/rsvp/error',
			dataType: "html",
			success: function(data)
			{
				$('.overlay#error .int').html(data);
				error.load();
			}
		});
	});


	$('button#skip').click( function()
	{	
		friends.close();
		friends.onClose(function()
		{
			$.ajax({
				type: "POST",
				url: "/rsvp/sendtofriend",
				success: function()
				{
					window.location.reload(true);			
				}
			});
		});
	});


	$('#sendtofriend-form').submit( function(e)
	{
		e.preventDefault();
		var settings = $('#sendtofriend-form').validate().settings;
	
		if($(this).valid())
		{
			friends.close();
			friends.onClose(function()
			{
				$.ajax({
					type: "POST",
					data: $('#sendtofriend-form').serialize(),
					url: "/rsvp/sendtofriend",
					success: function()
					{
						window.location.reload(true);			
					}
				});
			});
		}
	});


	$('#login-form').submit( function(e)
	{
		e.preventDefault();
		var validator = $('#login-form').validate();
	
		if($(this).valid())
		{
			$.ajax({
				type: "POST",
				data: $('#login-form').serialize(),
				dataType: "json",
				url: "/rsvp/login",
				success: function(data)
				{
					if(data.result == 'error')
					{
						validator.showErrors({"login-password": data.message});
					}
					else
					{
						window.location.reload(true);
					}
				}
			});

		}
	});


	$('a.request-more').click(function()
	{
		// Spawn a overlay error box!
		$.ajax({
			url: '/rsvp/error',
			dataType: "html",
			success: function(data)
			{
				$('.overlay#error').addClass('remove');
				$('.overlay#error .int').html(data);
				error.load();
			}
		});
	});
	

	$('a.invites').click( function(e)
	{
		e.preventDefault();

		$.ajax({
			url: '/rsvp/sendtofriend',
			dataType: "json",
			success: function(data)
			{
				$('.overlay#friends .content #guest-name').html(data.guest);
				$('.overlay#friends .content #event-name').html(data.event);
								
				for(var i = 1; i <= data.invites; i++)
				{
					$('.overlay#friends .content #email-container'+i).show();
				}
				
				friends.load();
			}
		});
	});
	
});