var CalendarParameters;
var FrequencyPeriodValue = "1";
var RecurrenceValue = "First";
var RecurrenceDayValue = "Monday";
var VenueFullAddress = "";

window.onload = function()
{
	var TextBoxes = new Array();

	TextBoxes[0] = document.getElementById("OrganisationTextBox");
	TextBoxes[1] = document.getElementById("LocationTextBox");

	// The search bar is not loaded on the index.php page so check to make sure
	// the text boxes exist before continuing
	if ((TextBoxes[0] !== null) && (TextBoxes[1] !== null))
	{
		for (var TextBox in TextBoxes)
		{
			TextBoxes[TextBox].onclick = TextBoxes[TextBox].onkeypress = function(e)
			{
				var Event = NormaliseEvent(e);
				var Source = Event.srcElement || Event.target;

				if (Source.value == Source.title)
				{
					Source.value = "";
					Source.className = "";
				}
			};

			TextBoxes[TextBox].onblur = function(e)
			{
				var Event = NormaliseEvent(e);
				var Source = Event.srcElement || Event.target;

				if (Source.value == "")
				{
					Source.value = Source.title;
					Source.className = "SearchWaterMark";
				}
			};
		}
	}
}

function ShowCalendar(Month, Year, ShowOtherAreasLink, SpecificDate, Morning, Lunch, Evening)
{
	CalendarParameters = "";

	var ListingsColumn = document.getElementById("Network_MapListingsCol");

	if (ListingsColumn === null)
	{
		if ((Month !== undefined) && (Year !== undefined))
		{
			CalendarParameters = "Month=" + Month + "&Year=" + Year;

			if (ShowOtherAreasLink !== undefined)
			{
				CalendarParameters += "&ShowOtherAreasLink=" + ShowOtherAreasLink;
			}

			if (SpecificDate !== undefined)
			{
				CalendarParameters += "&SpecificDate=" + SpecificDate;
			}

			if (Morning !== undefined)
			{
				CalendarParameters += "&Morning=" + Morning + "&Lunch=" + Lunch + "&Evening=" + Evening;
			}
		}

		ShowWait("calendar_controls");

		PostResults("../network/CalendarControls.php", CalendarParameters, DisplayCalendarControls);
	}
	else
	{
		ShowListings(Month, Year);
	}
}

function DisplayCalendarControls(Response)
{
	var Calendar = document.getElementById("calendarHeader");

	var CurrentMonth = document.getElementById("CurrentMonth");

	Calendar.innerHTML = Response;

	/* Calculate the FromDate based on the dropdown values */
	var MonthDropDown = document.getElementById("MonthDropDown");
	var MonthName = MonthDropDown.options[MonthDropDown.selectedIndex].text;
	var Year = document.getElementById("YearDropDown").value;
	var FromDate = Year + "-" + MonthDropDown.value + "-01";

	/* Populate the form's hidden form text boxes so that the values are included in the submit */
	document.getElementById("FromDate").value = FromDate;
	document.getElementById("ToDate").value = FromDate;

	if (CurrentMonth !== null)
	{
		/* Display the current month in the text on the instructions */
		CurrentMonth.innerHTML = MonthName + " " + Year;

		CalendarParameters += "&ClearSession=true";
	}

	PostResults("../network/CalendarDates.php", CalendarParameters, DisplayCalendar);
}

function DisplayCalendar(Response)
{
	var Calendar = document.getElementById("calendar_controls");

	Calendar.innerHTML = Response;

	HideWait();
}

function GetNetworkListingsByDate(FromDate)
{
	ShowListings(undefined, undefined, FromDate);
}

function ShowListings(Month, Year, SpecificDate)
{
	var Parameters = "";
	var FromDate = "";
	var ToDate = "";
	var Today = new Date();
	var TodayMonth = Today.getMonth() + 1;

	var Morning = true;
	var Lunch = true;
	var Evening = true;

	var Organisation = document.getElementById("OrganisationTextBox").value;
	var Location = document.getElementById("LocationTextBox").value;

	var MorningCheckBox = document.getElementById("MorningCheckBox");
	var LunchCheckBox = document.getElementById("LunchCheckBox");
	var EveningCheckBox = document.getElementById("EveningCheckBox");

	if (MorningCheckBox !== null)
	{
		Morning = MorningCheckBox.checked;
		Lunch = LunchCheckBox.checked;
		Evening = EveningCheckBox.checked;
	}

	if (Month > 12)
	{
		Month = Month - 12;
		Year++;
	}
	else if ((Month < TodayMonth) && (Year == Today.getFullYear()))
	{
		Month = TodayMonth;
	}

	if (SpecificDate === undefined)
	{
		FromDate = Year + "-" + Month + "-01";
		ToDate = FromDate;
	}
	else
	{
		FromDate = SpecificDate;
	}

	Parameters = "FromDate=" + FromDate + "&ToDate=" + ToDate + "&Organisation=" +
		php_urlencode(Organisation) +	"&Location=" + php_urlencode(Location) +
		"&Morning=" + Morning + "&Lunch=" + Lunch + "&Evening=" + Evening + "&PageNumber=1";

	window.location = "../network/NetworkListings.php?" + Parameters;
}

function ShowNetworkListings(Response)
{
	// This function is called if a postcode area of the multi-level map is clicked
	// when the search page is initially shown and after the session has been udpated
	// with the selected area
	var Month = document.getElementById("MonthDropDown").value;
	var Year = document.getElementById("YearDropDown").value;

	ShowListings(Month, Year);
}

function UKClicked()
{
	alert("Hello");
}

function UpdateTimeSlot(CheckBox, TextBox)
{
	var MorningCheckBox = document.getElementById("MorningCheckBox");
	var LunchCheckBox = document.getElementById("LunchCheckBox");
	var EveningCheckBox = document.getElementById("EveningCheckBox");

	var Element = document.getElementById(TextBox);

	Element.value = CheckBox.checked;

	if (!MorningCheckBox.checked && !LunchCheckBox.checked && !EveningCheckBox.checked)
	{
		/* All checkboxes are unchecked */
		switch (CheckBox.id)
		{
			case "MorningCheckBox":
				CheckBox = LunchCheckBox;
				TextBox = "Lunch";
				break;
			case "LunchCheckBox":
				CheckBox = EveningCheckBox;
				TextBox = "Evening";
				break;
			case "EveningCheckBox":
				CheckBox = MorningCheckBox;
				TextBox = "Morning";
				break;
		}

		CheckBox.checked = true;

		Element = document.getElementById(TextBox);
		Element.value = CheckBox.checked;
	}
}

function ScheduleOptionChosen(FrequencyOption)
{
	var StartDate = document.getElementById("StartDateTextBox").value;

	var Parameters = "FrequencyOption=" + FrequencyOption;

	if (StartDate !== "")
	{
		Parameters += "&StartDateTextBox=" + StartDate;
	}

	window.location = "ScheduleInputExample.php?" + Parameters;
}

function EventFrequencyChanged(Frequency)
{
	var EventDate = document.getElementById("EventDateTextBox");

	var Parameters = "Action=Recurring&Frequency=" + Frequency;

	if (EventDate !== null)
	{
		Parameters += "&EventDate=" + EventDate.value;
	}

	PostResults("EventScheduleControls.php", Parameters, DisplayEventScheduleControls);
}

function RecurringScheduleChanged(CheckBox)
{
	ActionRecurringScheduleChanged(CheckBox.checked);
}

function ActionRecurringScheduleChanged(CheckedValue)
{
	var Frequency = document.getElementById("FrequencyValue").value;
	var EventDate = document.getElementById("EventDateTextBox").value;

	var Parameters = "";

	if (CheckedValue)
	{
		Parameters = "Action=Recurring";
	}
	else
	{
		Parameters = "Action=NotRecurring";
	}

	Parameters += "&Frequency=" + Frequency;

	if (EventDate !== "")
	{
		Parameters += "&EventDate=" + EventDate;
	}

	PostResults("EventScheduleControls.php", Parameters, DisplayEventScheduleControls);
}

function DisplayEventScheduleControls(Response)
{
	var EventScheduleControls = document.getElementById("EventScheduleControls");

	if (EventScheduleControls !== null)
	{
		EventScheduleControls.innerHTML = Response;

		var FrequencyPeriod = document.getElementById("FrequencyPeriodDropDown");
		var Recurrence = document.getElementById("RecurrenceDropDown");
		var RecurrenceDay = document.getElementById("RecurrenceDayDropDown");

		if (FrequencyPeriod !== null)
		{
			FrequencyPeriod.value = FrequencyPeriodValue;
		}

		if (Recurrence !== null)
		{
			Recurrence.value = RecurrenceValue;
		}

		if (RecurrenceDay !== null)
		{
			RecurrenceDay.value = RecurrenceDayValue;
		}
	}
}

function NewEvent()
{
	ActionEvent("New");
}

function EditEvent(EventRowNumber)
{
	ActionEvent("Edit", EventRowNumber);
}

function SaveEvent()
{
	ActionEvent("Save");
}

function DeleteEvent(EventRowNumber)
{
	ActionEvent("Delete", EventRowNumber);
}

function ActionEvent(Action, EventRowNumber)
{
	var Frequency = document.getElementById("FrequencyValue");
	var EventDate = document.getElementById("EventDateTextBox");
	var FrequencyPeriod = document.getElementById("FrequencyPeriodDropDown");
	var Recurrence = document.getElementById("RecurrenceDropDown");
	var RecurrenceDay = document.getElementById("RecurrenceDayDropDown");
	var StartTimeHour = document.getElementById("StartTimeHourDropDown");
	var StartTimeMins = document.getElementById("StartTimeMinsDropDown");
	var FinishTimeHour = document.getElementById("FinishTimeHourDropDown");
	var FinishTimeMins = document.getElementById("FinishTimeMinsDropDown");
	var TimeSlot = document.getElementById("TimeSlotValue");

	var EventRowNumberField = document.getElementById("EventRowNumber");

	var VenueDetails = document.getElementById("EventVenue");
	var VenueRowNumberField = document.getElementById("VenueRowNumber");

	var JSON = document.getElementById("EventArray").value;

	var Parameters = "";

	var ErrorMessage = "";

	ShowEventError("");

	switch (Action)
	{
		case "New":
			/* NB. Frequency not reset to allow for quicker entry of dates */
			EventDate.value = "";
			StartTimeHour.value = "0";
			StartTimeMins.value = "-1";
			FinishTimeHour.value = "0";
			FinishTimeMins.value = "-1";
			TimeSlot.value = "Morning";

			document.getElementById("MorningTimeSlot").checked = true;

			if (FrequencyPeriod !== null)
			{
				FrequencyPeriod.value = "1";
			}

			if (Recurrence !== null)
			{
				Recurrence = "First";
			}

			if (RecurrenceDay !== null)
			{
				RecurrenceDay = "Monday";
			}

			EventRowNumberField.value = "-1";
			VenueRowNumberField.value = "-1";
			VenueDetails.innerHTML = "Select Venue";
			document.getElementById("VenueNameAndAddress").value = "";

			break;
		case "Edit":
			var Events = eval("(" + JSON + ")");

			EventDate.value = Events[EventRowNumber].EventDate;
			Frequency.value = Events[EventRowNumber].Frequency;
			StartTimeHour.value = Events[EventRowNumber].StartTime.substr(0, 2);
			StartTimeMins.value = Events[EventRowNumber].StartTime.substr(3, 2);
			FinishTimeHour.value = Events[EventRowNumber].FinishTime.substr(0, 2);
			FinishTimeMins.value = Events[EventRowNumber].FinishTime.substr(3, 2);
			TimeSlot.value = Events[EventRowNumber].TimeSlot;

			FrequencyPeriodValue = Events[EventRowNumber].FrequencyPeriod;
			RecurrenceValue = Events[EventRowNumber].Recurrence;
			RecurrenceDayValue = Events[EventRowNumber].RecurrenceDay;

			document.getElementById(Frequency.value + "Frequency").checked = true;
			document.getElementById(TimeSlot.value + "TimeSlot").checked = true;

			VenueRowNumberField.value = Events[EventRowNumber].EventVenueRowNumber;
			VenueDetails.innerHTML = Events[EventRowNumber].VenueDetails;
			document.getElementById("VenueNameAndAddress").value = Events[EventRowNumber].VenueDetails;

			EventRowNumberField.value = EventRowNumber;

			ActionRecurringScheduleChanged(Events[EventRowNumber].FrequencyPeriod !== "");

			break;
		case "Save":
			if (EventDate.value == "")
			{
				ErrorMessage = "Please enter an Event Date";
			}
			else if (!validateDate(EventDate.value, "W", "A"))
			{
				ErrorMessage = EventDate.value + " is not a valid date";
			}
			else if (StartTimeHour.value == 0)
			{
				ErrorMessage = "Please choose a Start Time";
			}
			else if (StartTimeMins.value == -1)
			{
				ErrorMessage = "Please choose a Start Time";
			}
			else if (FinishTimeHour.value == 0)
			{
				ErrorMessage = "Please choose a Finish Time";
			}
			else if (FinishTimeMins.value == -1)
			{
				ErrorMessage = "Please choose a Finish Time";
			}
			else if ((StartTimeHour.value + StartTimeMins.value) >= (FinishTimeHour.value + FinishTimeMins.value))
			{
				ErrorMessage = "Start Time must be earlier than Finish Time";
			}
			else if (VenueRowNumberField.value < 0)
			{
				ErrorMessage = "Please select a Venue";
			}

			if (ErrorMessage != "")
			{
				ShowEventError(ErrorMessage);
			}
			else
			{
				Parameters = "EventArray=" + JSON + "&SaveEvent=true";
				Parameters += "&Frequency=" + Frequency.value;
				Parameters += "&EventDate=" + EventDate.value;
				Parameters += "&StartTime=" + StartTimeHour.value + ":" + StartTimeMins.value;
				Parameters += "&FinishTime=" + FinishTimeHour.value + ":" + FinishTimeMins.value;
				Parameters += "&TimeSlot=" + TimeSlot.value;
				Parameters += "&EventRowNumber=" + EventRowNumberField.value;
				Parameters += "&EventVenueRowNumber=" + VenueRowNumberField.value;
				Parameters += "&VenueDetails=" + VenueDetails.innerHTML;

				if (FrequencyPeriod !== null)
				{
					Parameters += "&FrequencyPeriod=" + FrequencyPeriod.value;
				}

				if (Recurrence !== null)
				{
					Parameters += "&Recurrence=" + Recurrence.value;
				}

				if (RecurrenceDay !== null)
				{
					Parameters += "&RecurrenceDay=" + RecurrenceDay.value;
				}

				PostResults("EventArrayAndTable.php", Parameters, DisplayEventTable);
			}

			break;
		case "Delete":
			if (confirm("Are you sure you want to delete this Event?"))
			{
				Parameters = "EventArray=" + JSON + "&DeleteEvent=true&EventRowNumber=" + EventRowNumber;

				PostResults("EventArrayAndTable.php", Parameters, DisplayEventTable);
			}

			break;
	}
}

function DisplayEventTable(Response)
{
	var EventsTable = document.getElementById("EventsTable");

	if (EventsTable !== null)
	{
		EventsTable.innerHTML = Response;

		ActionEvent("New");
	}
}

function ShowEventError(ErrorMessage)
{
	var EventErrorMessage = document.getElementById("EventErrorMessage");

	if (EventErrorMessage !== null)
	{
		EventErrorMessage.innerHTML = ErrorMessage;
	}
}

function SetEventTimeSlot(StartTimeHour)
{
	var TimeSlot = null;

	if (StartTimeHour < 11)
	{
		TimeSlot = document.getElementById("MorningTimeSlot");
	}
	else if (StartTimeHour < 15)
	{
		TimeSlot = document.getElementById("LunchTimeSlot");
	}
	else
	{
		TimeSlot = document.getElementById("EveningTimeSlot");
	}

	TimeSlot.checked = true;
	TimeSlotChanged(TimeSlot);
}

function TimeSlotChanged(TimeSlot)
{
	var TimeSlotValue = document.getElementById("TimeSlotValue");

	TimeSlotValue.value = TimeSlot.value;
}

function SelectVenue(VenueRowNumber)
{
	var VenueRowNumberField = document.getElementById("VenueRowNumber");

	var JSON = document.getElementById("VenueArray").value;

	var Venues = eval("(" + JSON + ")");

	VenueRowNumberField.value = VenueRowNumber;

	var VenueAddress = Venues[VenueRowNumber].VenueName +
		(Venues[VenueRowNumber].VenueLatitude != 0 && Venues[VenueRowNumber].VenueLongitude != 0 ? " - " +
		Venues[VenueRowNumber].VenueAddress : "");

	document.getElementById("EventVenue").innerHTML = VenueAddress;
	document.getElementById("VenueNameAndAddress").value = VenueAddress;

	HidePopup("VenueDetails");
}

function SaveVenue()
{
	var Parameters = "";

	var ErrorMessage = "";

	var VenueName = document.getElementById("VenueName");
	var VenueAddress1 = document.getElementById("VenueAddress1");
	var VenueAddress2 = document.getElementById("VenueAddress2");
	var VenueAddress3 = document.getElementById("VenueAddress3");
	var VenueTown = document.getElementById("VenueTown");
	var VenueCounty = document.getElementById("VenueCounty");
	var VenuePostcode = document.getElementById("VenuePostcode");

	if (VenueName.value == "")
	{
		ErrorMessage = "Venue Name is required";
	}
	else if (VenueAddress1.value == "")
	{
		ErrorMessage = "Address 1 is required";
	}
	else if (VenueTown.value == "")
	{
		ErrorMessage = "Town is required";
	}
	else if (VenuePostcode.value == "")
	{
		ErrorMessage = "Postcode is required";
	}

	if (ErrorMessage == "")
	{
		var JSON = document.getElementById("VenueArray").value;

		Parameters = "VenueArray=" + JSON + "&NewVenue=true";
		Parameters += "&VenueName=" + VenueName.value;
		Parameters += "&VenueAddress1=" + VenueAddress1.value;
		Parameters += "&VenueAddress2=" + VenueAddress2.value;
		Parameters += "&VenueAddress3=" + VenueAddress3.value;
		Parameters += "&VenueTown=" + VenueTown.value;
		Parameters += "&VenueCounty=" + VenueCounty.value;
		Parameters += "&VenuePostcode=" + VenuePostcode.value.toUpperCase();

		PostResults("VenueArrayAndTable.php", Parameters, ProcessVenueResponse);
	}
	else
	{
		ShowVenueError(ErrorMessage);
	}
}

function ProcessVenueResponse(Response)
{
	var VenuesTable = document.getElementById("VenuesTable");

	if (VenuesTable !== null)
	{
		VenuesTable.innerHTML = Response;

		var VenueDetails = document.getElementById("VenueNameAndAddress").value;

		if (VenueDetails.indexOf("Postcode has not been recognised") != -1)
		{
			alert(VenueDetails);
			ShowVenueError(VenueDetails);
		}
		else
		{
			ClearVenueFields();

			document.getElementById("EventVenue").innerHTML = VenueDetails;

			HidePopup("VenueDetails");
		}
	}
}

function ClearVenueFields()
{
	document.getElementById("VenueName").value = "";
	document.getElementById("VenueAddress1").value = "";
	document.getElementById("VenueAddress2").value = "";
	document.getElementById("VenueAddress3").value = "";
	document.getElementById("VenueTown").value = "";
	document.getElementById("VenueCounty").value = "";
	document.getElementById("VenuePostcode").value = "";

	ShowVenueError("");
}

function ShowVenueError(ErrorMessage)
{
	var VenueErrorMessage = document.getElementById("VenueErrorMessage");

	if (VenueErrorMessage !== null)
	{
		VenueErrorMessage.innerHTML = ErrorMessage;
	}
}

function AddToVenueAddress(AddressValue, Separator)
{
	if (AddressValue != "")
	{
		if (VenueFullAddress != "")
		{
			VenueFullAddress += Separator;
		}
		
		VenueFullAddress += AddressValue;
	}
}

function SaveOrganisation()
{
	var Parameters = "";

	var ErrorMessage = "";

	var JSON = document.getElementById("OrganisationArray").value;
	var OrganisationName = document.getElementById("OrganisationName");
	var OrganisationContactName = document.getElementById("OrganisationContactName");
	var OrganisationPhone = document.getElementById("OrganisationPhone");
	var OrganisationEmail = document.getElementById("OrganisationEmail");
	var OrganisationWebSite = document.getElementById("OrganisationWebSite");

	if (OrganisationName.value == "")
	{
		ErrorMessage = "Organisation Name is required";
	}
	else if (OrganisationContactName.value == "")
	{
		ErrorMessage = "Contact Name is required";
	}
	else if (OrganisationPhone.value == "")
	{
		ErrorMessage = "Main Telephone is required";
	}
	else if (OrganisationEmail.value == "")
	{
		ErrorMessage = "Email Address is required";
	}

	if (ErrorMessage == "")
	{
		Parameters = "OrganisationArray=" + JSON + "&NewOrganisation=true";
		Parameters += "&OrganisationName=" + OrganisationName.value;
		Parameters += "&OrganisationContactName=" + OrganisationContactName.value;
		Parameters += "&OrganisationPhone=" + OrganisationPhone.value;
		Parameters += "&OrganisationEmail=" + OrganisationEmail.value;
		Parameters += "&OrganisationWebSite=" + OrganisationWebSite.value;

		PostResults("EventOrganisationArrayAndTable.php", Parameters, ProcessOrganisationResponse);
	}
	else
	{
		ShowOrganisationError(ErrorMessage);
	}
}

function ProcessOrganisationResponse(Response)
{
	var OrganisationsList = document.getElementById("OrganisationsList");

	if (OrganisationsList !== null)
	{
		OrganisationsList.innerHTML = Response;

		var OrganisationErrorMessage = document.getElementById("OrganisationErrorMesssage").value;

		if (OrganisationErrorMessage !== "")
		{
			ShowOrganisationError(OrganisationErrorMessage);
		}
		else
		{
			ClearEventOrganisationFields();

			HidePopup("OrganisationDetails");
		}
	}
}

function ClearEventOrganisationFields()
{
	document.getElementById("OrganisationName").value = "";
	document.getElementById("OrganisationContactName").value = "";
	document.getElementById("OrganisationPhone").value = "";
	document.getElementById("OrganisationEmail").value = "";
	document.getElementById("OrganisationWebSite").value = "";

	ShowOrganisationError("");
}

function ShowOrganisationError(ErrorMessage)
{
	var OrganisationErrorMessage = document.getElementById("OrganisationErrorMessage");

	if (OrganisationErrorMessage !== null)
	{
		OrganisationErrorMessage.innerHTML = ErrorMessage;
	}
}

function MLM_AreaClick(PostcodeArea)
{
	var Parameters = "PostcodeArea=" + PostcodeArea + "&MapArea=Network";

	// Popup with map is being displayed so treat the mouse-click as selecting
	// or unselecting the specified Postcode Area
	PostResults("../utilities/AddPostcodeAreaToSession.php", Parameters, ShowPostcodeAreas);
}

function ShowPostcodeAreas(Response)
{
	var Content = document.getElementById("SelectedPostcodeAreas");
	var ContentHTML = "";
	var Counter = 0;

	if (Content !== null)
	{
		if (Response != "")
		{
			var SelectedPostcodeAreas = Response.split(",");

			if (SelectedPostcodeAreas.length > 0)
			{
				ContentHTML = "<div class='SelectedPostcodeTable'>";

				for (var SelectedArea in SelectedPostcodeAreas)
				{
					if ((Counter % 2) == 0)
					{
						ContentHTML += "<div class='SelectedPostcodeRow_Odd'>";
					}
					else
					{
						ContentHTML += "<div class='SelectedPostcodeRow_Even'>";
					}

					ContentHTML += "<div class='SelectedPostcodeCell'>" + SelectedPostcodeAreas[SelectedArea] + "</div>" +
						"<div class='RemovePostcodeCell'><a href='javascript:MLM_AreaClick(\"" + SelectedPostcodeAreas[SelectedArea] + "\")'>Remove</a></div></div>";

					Counter++;
				}

				ContentHTML += "</div>";
			}
		}

		Content.innerHTML = ContentHTML;

		var OKButton = document.getElementById("PopupOKButton");

		if (OKButton !== null)
		{
			OKButton.disabled = false;
		}
	}
}

function ConfirmPostcodeAreas(ElementToHide)
{
	// Can't use SelectedPostcodeAreas as a global array to hold these details
	// as it is intialised each time the page is refreshed
	//
	// Instead, re-build the innerHTML of each LI within SelectedPostcodeAreas div
	// This is in the format "B - Towns and Cities" so also need to extract just
	// the postcode area from the HTML
	var SelectedAreas = "";
	var PostcodeArea="";

	var SelectedPostcodes = document.getElementById("SelectedPostcodeAreas");
	var ListAreas = GetByClass(SelectedPostcodes, "div", "SelectedPostcodeCell");

	for (var SelectedArea in ListAreas)
	{
		if (SelectedAreas != "")
		{
			SelectedAreas += ",";
		}

		PostcodeArea = ListAreas[SelectedArea].innerHTML;
		SelectedAreas += PostcodeArea;
	}

	HidePopup(ElementToHide);

	var Parameters = "PostcodeArea=" + SelectedAreas + "&ResetAreas=1&MapArea=Network";

	var Element = document.getElementById("network_search_controls");

	if (Element !== null)
	{
		PostResults("../utilities/AddPostcodeAreaToSession.php", Parameters, ShowNetworkListings);
	}
}
