function createXHR() {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { }
  try { return new XMLHttpRequest(); } catch(e) { }
  alert("Your browser does not support this application.");
  return null;
}

function getAreasByState(state) {
  callCFC("recareas", "method=getAreasByState&state=" + state, true);
}

function getAreasById(areaid) {
  callCFC("recareas", "method=getAreasById&areaid=" + areaid, true);
}

function getAreaServices(areaid) {
  callCFC("services", "method=getAreaServices&areaid=" + areaid, true);
}

function getAreaManagement(areaid) {
  callCFC("areaManagement", "method=getAreaManagement&areaid=" + areaid, false);
}

function getGovernmentSite(areaid) {
  callCFC("governmentSite", "method=getGovernmentSite&areaid=" + areaid, false);
}

function changeRecState(state) {
  for (var i = 0; i < document.mapcontrol.stateselect.length; i++) {
    if (document.mapcontrol.stateselect.options[i].value == state) {
		document.mapcontrol.stateselect.options[i].selected = true;
		return;
	}
  }
}

function callCFC(element, params, asynchronous)
{
  var xhr = createXHR();
  xhr.onreadystatechange = function() { 
    handleRequest(xhr, element);
  };
  xhr.open("POST", "recreation.cfc", asynchronous); 
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xhr.send(params);
  if (!asynchronous && navigator.appName != "Microsoft Internet Explorer") {
    handleRequest(xhr, element);
  }
}

function handleRequest(xhr, element) {
  if(xhr.readyState == 4) {
    if(xhr.status == 200) {
      document.getElementById(element).innerHTML = xhr.responseText;
    }
    else {
		if (element != "governmentSite" )
           document.getElementById(element).innerHTML = "service temporarily unavailable";
		else
           document.getElementById(element).innerHTML = "none";
    }
  }
}