////////////////////////
// AJAX init functions

function getObject(name)
{
	var ns4 = (document.layers) ? true : false;
	var w3c = (document.getElementById) ? true : false;
	var ie4 = (document.all) ? true : false;

	if (ns4) return eval('document.' + name);
	if (w3c) return document.getElementById(name);
	if (ie4) return eval('document.all.' + name);
	return false;
}

function createRequestObject()
{
	if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		return new ActiveXObject('Microsoft.XMLHTTP')
	}
	else
	{
		_error("Could not create XMLHttpRequest on this browser");
		return null;
	}
}
 
var http = createRequestObject();

////////////////////////
// END AJAX init functions

////////////////////////
// AJAX trigger functions

function findLocation(fieldName,searchCriteria)
{
	if (searchCriteria > 0)
	{
		http = createRequestObject();
		showIndicator();
		searchField = fieldName;
		http.onreadystatechange = processLocationChange;
		http.open("GET", "scripts/find.php?search=location&q="+searchCriteria, true);
		http.send(null);
	}
}

////////////////////////
// END AJAX trigger functions

////////////////////////
// AJAX process change functions

function processLocationChange()
{
	if (http.readyState == 4 && http.status == 200)
	{
		var results = http.responseText.split("\n");
		var select_element;
		switch (searchField)
		{
			case "location1":
				select_element = getObject("location2");
				clearSelect(getObject("location2"));
				clearSelect(getObject("location3"));
				clearSelect(getObject("location4"));
				clearSelect(getObject("location5"));
			break;
			case "location2":
				select_element = getObject("location3");
				clearSelect(getObject("location3"));
				clearSelect(getObject("location4"));
				clearSelect(getObject("location5"));
			break;
			case "location3":
				select_element = getObject("location4");
				clearSelect(getObject("location4"));
				clearSelect(getObject("location5"));
			break;
			case "location4":
				select_element = getObject("location5");
				clearSelect(getObject("location5"));
		}

		var option = document.createElement("option");
		option.innerHTML = "All Locations";
		option.value= 0;
		select_element.appendChild(option);
		
		for (var nCount = 0; nCount < (results.length - 1); nCount += 2)
		{
			var option = document.createElement("option");
			option.value= results[nCount];
			option.innerHTML = results[nCount+1];
			select_element.appendChild(option);
			if (nCount == 0) option.selected = true;
		}
		hideIndicator();
	}
}

////////////////////////
// general functions

function clearSelect(select_element)
{
	select_element.options.length = 0;
}

function showIndicator()
{
	$('indicator').setOpacity(1);
}

function hideIndicator()
{
	$('indicator').setOpacity(0);
}

function showMap(container)
{
	// Create our "tiny" marker icon
  var icon = new GIcon();
  icon.image = "http://www.firstcontactuk.com/images/fc_gmap_icon.png";
  icon.shadow = "http://www.firstcontactuk.com/images/mm_20_shadow.png";
  icon.iconSize = new GSize(12, 20);
  icon.shadowSize = new GSize(22, 20);
  icon.iconAnchor = new GPoint(6, 20);
  icon.infoWindowAnchor = new GPoint(1, 1);

  // Center the map on Sheffield
  var map = new GMap(document.getElementById(container));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.centerAndZoom(new GPoint(-1.471695899963379, 53.376627768139485), 5);

  function createMarker(point)
  {
    var marker = new GMarker(point, icon);
    GEvent.addListener(marker, 'click', function() { marker.showMapBlowup(2) });
    return marker;
  }
  
  var sheffield_point = new GPoint(-1.471695899963379, 53.376627768139485);
  //var coventry_point = new GPoint(-1.512744426727295, 52.40531201765672);
  //var leeds_point = new GPoint(-1.5451884269714355, 53.798236583467244);
  //var manchester_point = new GPoint(-2.239687442779541, 53.47699416212354);
  //var birmingham_point = new GPoint(-1.905055046081543, 52.48160411166235);
  
  var sheffield_marker = createMarker(sheffield_point);
  //var coventry_marker = createMarker(coventry_point);
  //var leeds_marker = createMarker(leeds_point);
  //var manchester_marker = createMarker(manchester_point);
  //var birmingham_marker = createMarker(birmingham_point);
  
  map.addOverlay(sheffield_marker);
  //map.addOverlay(coventry_marker);
  //map.addOverlay(leeds_marker);
  //map.addOverlay(manchester_marker);
  //map.addOverlay(birmingham_marker);
}

function toggleMap(container)
{
  div = getObject(container);
	div.style.display = ""
	showMap(container);
}

function toggleWage(wagetype)
{
annualwagemin = getObject("annualwagemin");
hourlywagemin = getObject("hourlywagemin");
if (wagetype == 1)
{
annualwagemin.style.display = "";
hourlywagemin.style.display = "none";
}
else
{
annualwagemin.style.display = "none";
hourlywagemin.style.display = "";
}

}
