function loadCountries(dots)
{
	if (dots == null)
		dots = "";
	else
		dots = dots + "/";
	$("#country").hide();$("#countriesLoading").show();
	$.post(dots + "ajax/fetch_countries.html", { option: "index" },
		function(data)
		{
			$("#country").empty();
			var option = $("<option>").appendTo($("#country"));option.attr("value","0");option.text("Select a country");
			for (var i = 0; i < data.countries.length-1; i++)
			{
				var option = $("<option>").appendTo($("#country"));option.attr("value",data.countries[i].id);option.text(data.countries[i].name);
			}
			$("#country").show();$("#countriesLoading").hide();
		},
		"json");
}

function countryChanged(dots)
{
	if (dots == null)
		dots = "";
	else
		dots = dots + "/";
	if ($("#country").val() == "0")
	{
		$("#province").empty();$("#town").empty();
		var option = $("<option>").appendTo($("#province"));option.attr("value","0");option.text("Please select a country first");
		var option = $("<option>").appendTo($("#town"));option.attr("value","0");option.text("Please select a country first");
	}
	else
	{
		$("#province").hide();$("#provincesLoading").show();
		$.post(dots + "ajax/fetch_provinces.html", { country: $("#country").val() },
			function(data)
			{
				if (data.provinces.length <= 1)
				{
					$("#provinceRow").hide();
					$.post(dots + "ajax/fetch_towns.html", { country: $("#country").val() }, function(data) { populateTowns(data); }, "json");
				}
				else
				{
					$("#provinceRow").show();
					$("#province").empty();
					var option = $("<option>").appendTo($("#province"));option.attr("value","0");option.text("Select a province");
					//var option = $("<option>").appendTo($("#province"));option.attr("value","ALL");option.text("All towns in selected country");
					for (var i = 0; i < data.provinces.length-1; i++)
					{
						var option = $("<option>").appendTo($("#province"));option.attr("value",data.provinces[i].id);option.text(data.provinces[i].name);
					}
					$("#province").show();$("#provincesLoading").hide();
					provinceChanged(dots);
				}
			},
			"json");
	}
}

function provinceChanged(dots)
{
	if (dots == null)
		dots = "";
	else
		dots = dots + "/";
	if ($("#province").val() == "0")
	{
		$("#town").empty();var option = $("<option>").appendTo($("#town"));option.attr("value","0");option.text("Please select a province first");
	}
	else if ($("#province").val() == "ALL")
	{
		$("#town").hide();$("#townsLoading").show();
		$.post(dots + "ajax/fetch_towns.html", { country: $("#country").val() }, function(data) { populateTowns(data); }, "json");
	}
	else
	{
		$("#town").hide();$("#townsLoading").show();
		$.post(dots + "ajax/fetch_towns.html", { province: $("#province").val() }, function(data) { populateTowns(data); }, "json");
	}
}

function populateTowns(data)
{
	$("#town").empty();
	var option = $("<option>").appendTo($("#town"));option.attr("value","ALL");option.text("All Towns");
	for (var i = 0; i < data.towns.length-1; i++)
	{
		var option = $("<option>").appendTo($("#town"));option.attr("value",data.towns[i].id);option.text(data.towns[i].name);
	}
	$("#town").show();$("#townsLoading").hide();
}