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

		return false;
	});
}

$(document).ready(function()
{
	setupAjaxForm("contact-form");

	$("#content .cities a").click(function(event)
	{
		event.preventDefault();

		$("#modal").html($(this).parents("li").find(".modal").html());
		$("#modal").css("top", $(document).scrollTop() + parseInt(($(window).height() - $("#modal").height()) / 2, 10) + "px");
		$("#background").css("height", $(document).height() + "px");
		$("#modal").fadeIn();
		$("#background").fadeIn();
	});

	$("#background").click(function()
	{
		$("#modal").fadeOut();
		$("#background").fadeOut();
	});

	$("#modal").css("left", parseInt(($(document).width() - $("#modal").width()) / 2, 10) + "px");
});
