var banners = [];
var currentBanner = 0;
var nextBanner = 0;
var animatingBanners = false;
var nextMember = 2;
var members = 1;

function animateBanners()
{
	animatingBanners = true;

	$(banners.get(nextBanner)).fadeIn(500);
	$(banners.get(currentBanner)).fadeOut(500, function()
	{
		$(this).hide();
		animatingBanners = false;

		$("#slideshow a.i" + (nextBanner + 1) + " img").attr("src", "images/circle.png");
		$("#slideshow a.i" + (currentBanner + 1) + " img").attr("src", "images/circle2.png");

		currentBanner = nextBanner;
	});
}

function setupAjaxForm(id)
{
	$("#" + id).submit(function()
	{
		$(this).find(".button").attr("disabled", true);

		var textboxes = $(this).find(".text");
		var checkboxes = $(this).find("input[type=checkbox]");
		var selectboxes = $(this).find("select");
		var options = { submit: 1 };

		for(var i = 0; i < textboxes.size(); i++)
		{
			var element = textboxes.get(i);
			options[$(element).attr("name")] = $(element).val();
		}

		for(var i = 0; i < selectboxes.size(); i++)
		{
			var element = selectboxes.get(i);
			options[$(element).attr("name")] = $(element).val();
		}

		for(var i = 0; i < checkboxes.size(); i++)
		{
			var element = checkboxes.get(i);

			if(!$(element).attr("checked"))
			{
				continue;
			}

			var name = $(element).attr("name");
			var pos = name.indexOf("[");

			if(pos != -1)
			{
				name = name.substr(0, pos);

				if(options[name] == undefined)
				{
					options[name] = [ ];
				}

				options[name].push($(element).val());
			}
			else
			{
				options[name] = $(element).val();
			}
		}

		$.post($(this).attr("action"), options, function(data)
		{
			if(data == 1)
			{
				alert("Invalid security code. Please verify your input and try again.");
			}
			else
			{
				$("#" + id).fadeOut(300, function()
				{
					$("#" + id + "-success").fadeIn(300);
					$("#" + id).find(".button").attr("disabled", false);
				});
			}
		});

		return false;
	});
}

$(document).ready(function()
{
	setupAjaxForm("contact-form");

	$("#contact-form .text").focus(function()
	{
		if(!$(this).hasClass("cleared"))
		{
			$(this).val("");
			$(this).addClass("cleared");
		}
	});

	if($("#slideshow").size() > 0)
	{
		banners = $("#slideshow .images img");

		$("#slideshow div a").click(function(event)
		{
			event.preventDefault();

			if(animatingBanners)
			{
				return;
			}

			nextBanner = parseInt($(this).attr("class").substring(1), 10) - 1;

			if(nextBanner != currentBanner)
			{
				animateBanners();
			}
		});

		setInterval(function()
		{
			if(animatingBanners)
			{
				return;
			}

			nextBanner++;

			if(nextBanner >= banners.length)
			{
				nextBanner = 0;
			}

			animateBanners();
		}, 5000);
	}

	$("#top li.services").hover(function()
	{
		$(this).find("ul").fadeIn();
	}, function()
	{
		$(this).find("ul").fadeOut();
	});

	$("#content p.add a").click(function(event)
	{
		event.preventDefault();

		var output = '<div class="member">';
		output += '<h3>MEMBER %1 <a href="#" class="m%1"><img src="images/remove.png" width="18" height="18" alt="Remove" /></a></h3>'
		output += '<p class="intro">';
		output += '<label>Full legal name:</label>';
		output += '<input type="text" class="text" name="member%1_name" id="member%1_name" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Date of birth:</label>';
		output += '<input type="text" class="text" name="member%1_date" id="member%1_date" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Nationality:</label>';
		output += '<input type="text" class="text" name="member%1_nationality" id="member%1_nationality" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Passport no:</label>';
		output += '<input type="text" class="text" name="member%1_passport_no" id="member%1_passport_no" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Issue date:</label>';
		output += '<input type="text" class="text" name="member%1_issue_date" id="member%1_issue_date" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Expiry date:</label>';
		output += '<input type="text" class="text" name="member%1_expiry_date" id="member%1_expiry_date" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Place of birth:</label>';
		output += '<input type="text" class="text" name="member%1_place" id="member%1_place" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Any visas:</label>';
		output += '<input type="text" class="text" name="member%1_visas" id="member%1_visas" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Preferred airport:</label>';
		output += '<input type="text" class="text" name="member%1_airport" id="member%1_airport" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Emergency contact:<br />(not travelling)</label>';
		output += '<input type="text" class="text" name="member%1_contact1" id="member%1_contact1" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Preferred airport:</label>';
		output += '<input type="text" class="text" name="member%1_airport2" id="member%1_airport2" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Emergency contact telephone:</label>';
		output += '<input type="text" class="text" name="member%1_contact2" id="member%1_contact2" />';
		output += '</p>';
		output += '<p>';
		output += '<label>Relationship:</label>';
		output += '<input type="text" class="text" name="member%1_relationship" id="member%1_relationship" />';
		output += '</p>';
		output += '</div>';

		output = output.replace(/%1/gi, nextMember);
		nextMember++;
		members++;

		$("#content .members").append(output);
	});

	$("#content .members .member h3 a").live("click", function(event)
	{
		event.preventDefault();

		var i = parseInt($(this).attr("class").substring(1), 10);

		if(i + 1  >= nextMember)
		{
			nextMember = i;
		}

		members--;
		if(members == 1)
		{
			nextMember = 2;
		}

		$(this).parents(".member").slideUp(function()
		{
			$(this).remove();
		});
	});

	var x = false, y = false;
	/*$(document).scroll(function()
	{
		var top = $(document).scrollTop();
		var left = $(document).scrollLeft();
		var wrapperLeft = $("#wrapper").position().left - $(document).scrollLeft();

		if(top > 395)
		{
			if(!x)
			{
				$("#content td.days").css("position", "fixed").css("top", -9).css("width", "2000px");
				x = true;
			}
			$("#content td.days").css("left", wrapperLeft + 300);
		}
		else if(x)
		{
			x = false;
			$("#content td.days").css("position", "static");
		}

		if(left > 240)
		{
			if(!y)
			{
				$("#content td.act-name").css("position", "absolute");
				y = true;
			}

			$("#content td.act-name").css("left", left - 240)
		}
		else if(y)
		{
			$("#content td.act-name").css("position", "static").css("paddingTop", 0);
			y = false;
		}
	});*/
});
