var flashMapLoaded = false;
var mapUrlPrefix = "/empty?id=";
function getSWFID(swfID) {
   if (navigator.appName.indexOf("Microsoft") > -1) {
      return window[swfID];
   } else {
      return document[swfID];
   }
}
function setFlashMapLoaded()
{
	flashMapLoaded = true;
	var mapPartSelector = document.getElementById('mapPartSelector');
	if (mapPartSelector) mapPartSelector.disabled = false;
}
function selectMapPart(index)
{
	getSWFID('mapMovie').selectMapPart(index);
}
function addMapPart(key, value)
{
	var mapPartSelector = document.getElementById('mapPartSelector');
	if (mapPartSelector)
	{
		var elOptNew = document.createElement('option');
		elOptNew.text = key;
		elOptNew.value = value;
		try {
			mapPartSelector.add(elOptNew, null); // standards compliant; doesn't work in IE
		}
		catch(ex) {
			mapPartSelector.add(elOptNew); // IE only
		}
	}
}

var mapHeading = "";
var specialXmlTargetId = "";
var nextXmlUrl = "";
var mapXmlDataLoaded = "";
function getMapData(url, name)
{
	mapHeading = "";
	if (name != undefined && name != '')
	{
		var mapPartSelector = document.getElementById('mapPartSelector');
		if (mapPartSelector)
		{
			for (var i=0; i < mapPartSelector.options.length; i++)
			{
				if (name == mapPartSelector.options[i].text) mapPartSelector.selectedIndex = i;
			}
		}
		else
		{
			mapHeading = "<h2>" + name + "</h2>";
		}
	}
	if (specialXmlTargetId == '') setMapData(mapHeading);
	mapXmlDataLoaded = "";
	getDocumentIds(url);
}
function getDocumentIds(url)
{
	if (url == "")
	{
		if (mapHeading.length > 0)
			setMapData(mapHeading + "<br />" + mapXmlDataLoaded);
		else
			setMapData(mapXmlDataLoaded);
	}
	else
	{
		var id = url;
		if (id.indexOf(",") >= 0)
		{
			id = id.substr(0, id.indexOf(","));
			url = url.substr(url.indexOf(",") + 1);
		}
		else
		{
			url = "";
		}
		$.get(mapUrlPrefix + id, function(data) {
			mapXmlDataLoaded += data;
			getDocumentIds(url);
		});
	}
}

function setMapData(data)
{
	if (specialXmlTargetId != '')
	{
		document.getElementById(specialXmlTargetId).innerHTML = data;
		specialXmlTargetId = '';
		if (nextXmlUrl != '')
		{
			var url = nextXmlUrl;
			nextXmlUrl = '';
			getMapData(url);
		}
	}
	else
	{
		document.getElementById('mapInfo').innerHTML = data + '<div style="clear: both; height: 50px;"></div>';
	}
}