function setupAjaxForm(id)
{
	$("#" + id).submit(function()
	{
		$(this).find(".button").attr("disabled", true);

		$("#" + id + "-success").css("height", $(this).height() + "px");

		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)
		{
			$("#" + id).fadeOut(300, function()
			{
				$("#" + id + "-success").fadeIn(300);
				$("#" + id).find(".button").attr("disabled", false);
			});
		});

		return false;
	});
}

function hideModalBox(event)
{
	event.preventDefault();
	$("#jobs").fadeOut();
	$("#background").fadeOut();
}

function showModalBox(event)
{
	event.preventDefault();

	if($(this).parent().hasClass("basket"))
	{
		$("#jobs").fadeIn();
		$("#background").fadeIn();
	}
	else
	{
		var url = $(this).attr("href");

		$.post(url, { }, function(data)
		{
			$("#jobs").html(data).fadeIn();
			$("#background").fadeIn();
		});
	}
}

$(document).ready(function()
{
	$("form.ajax").each(function()
	{
		var id = $(this).attr("id");
		setupAjaxForm(id);
	});

	$("#background").css("height", $(document).height() + "px");
	$("#jobs").css("left", parseInt(($(document).width() - $("#jobs").width()) / 2, 10) + "px");

	$("#jobs .close").live("click", hideModalBox);
	$("#background").click(hideModalBox);

	$("#top .basket a").click(showModalBox);
	$("#content .show-modal").click(showModalBox);
});
