  var mapRefresherXmlHttp = "";
//
// You will have to call this function AFTER the
// whole page has loaded
//
function refreshMap() { updateMap(); }

function clearMap()
{
	var newBuildingID = newBuildingIDs.split(",");
	for(i=0;i<newBuildingID.length;i++)
	{
		newObj = document.getElementById("building_" + newBuildingID[i]);
		if(newObj != null)
		{
			document.body.removeChild(newObj);
		}

	}
	
	for(x=0;x<10;x++)
	{
		for(y=0;y<10;y++)
		{
			var tileImg = document.getElementById("img_" + x + "_" + y);
			if(tileImg != null)
			{
				tileImg.src = "./imagesFloorTiles/grass.gif";	
			}
		}
	}
}


function updateMap()
{
	mapRefreshTimer = "";
	if(mapRefresherXmlHttp == "")
	{
		debug("Requesting mapUpdate");
		//var mapID = 
		var url = "feeds/getBuildingsOnMap.php?mapID=" + document.getElementById("mapID").value;
		debug("AJAX:" + url);
		mapRefresherXmlHttp=GetXmlHttpObject();
		mapRefresherXmlHttp.onreadystatechange=updateMapComplete;
		mapRefresherXmlHttp.open("GET",url,true)
		mapRefresherXmlHttp.send(null);
		mapRefreshTimer = "Loading...";
	}
	else
	{
		debug("Map is updating, update denied!");
	}
	
}


function updateMapComplete()
{
	if (mapRefresherXmlHttp.readyState==4)
	{ 
		debug("Map Update Recieved");
		fullText  = mapRefresherXmlHttp.responseText;
		var data1 = fullText.split("::");

		
		//
		// get the fields
		//
		fieldData = data1[0];
		var fields = fieldData.split(",");
		
		for(i=1;i<data1.length;i++)
		{
			//alert(data1[i]);
			var data = data1[i].split(",");
			building = new Array();
			for(j=0;j<fields.length;j++)
			{
				building[fields[j]] = data[j];
				//debug(fields[j] + ":" + data[j] + ":" + building[fields[j]]);
			}
		
			if(building["buildingID"] > 0)
			{
				buildingID = building["buildingID"];
				var objBuilding = document.getElementById("building_" + buildingID);
				
				if(objBuilding != null)
				{
					/*
					//debug("Unit Found : " + buildingID + ":" + building["x"]  + "," + building["y"] + " vs " + objUnit.getAttribute("tileX") + "," + objUnit.getAttribute("tileY") + "::" + buildingID + " != " + selectedUnitID);
				
					if(objUnit.getAttribute("tileX") > boardWidth ||
						objUnit.getAttribute("tileY") > boardHeight
					)
					{
						debug("Error building is off map " + boardWidth + "," + boardHeight);
						
						
					}
					
					if((parseInt(objUnit.getAttribute("tileX")) != parseInt(building["x"]) ||
						parseInt(objUnit.getAttribute("tileY")) != parseInt(building["y"]))
						&& buildingID != selectedUnitID)
					{
						//debug("moving Unit");
						moveUnit(buildingID, building["x"] , building["y"]);
						
					}
					life = building["life"];
					
					if(objUnit.getAttribute("life") < life ||
						objUnit.getAttribute("life") > life)
					{
						//alert(life);
						diff = parseInt(objUnit.getAttribute("life")) - life;
						//showUnitMsg(buildingID, "-" + diff);		
						objUnit.setAttribute("life",life);
						
						if(life < 0)
						{
							removeUnit(buildingID);
						}
					}
					*/
					
				}
				else
				{
					debug("Adding Building: " + buildingID);
						
					newBuildingIDs+=building["buildingID"] + ",";							

					var newDiv = document.createElement("DIV");

					t = document.getElementById("tile_" + building["mapX"] + "_" + building["mapY"]);
					newDiv.style.position = "absolute";
					newDiv.style.top = (getTop(t) + (parseInt(t.getAttribute("tileHeight"))/2) - 135 + getGameVariable("building_y_offset")+10) + "px";
					newDiv.style.left = (getLeft(t) + (parseInt(t.getAttribute("tileWidth"))/2) - (parseInt(74)/2) + parseInt(getGameVariable("building_x_offset"))) + "px";

					newDiv.setAttribute("ID", "building_" + building["buildingID"]);
					newDiv.setAttribute("id", "building_" + building["buildingID"]);
					newDiv.setAttribute("tileX", building["mapX"]);
					newDiv.setAttribute("tileY", building["mapY"]);
					newDiv.style.zIndex=(getMapHeight() + 40 - (building["mapY"] * 2) - building["mapX"]);
					debug("Z-Index:" + (40 - (building["mapY"] * 2) - building["mapX"]));
					
					//put all fiels in the div tag as attributes
					for(m=0;m<fields.length;m++)
					{
						if(fields[m] != "")
						{
							newDiv.setAttribute(fields[m], data[m]);
							//debug("Setting: " + fields[m] + "=" + data[m]);
						}
					}
													
					html = "<img id='buildingImg_" + building["buildingID"] + "' src='images/buildings/" + building["buildingImageName"] + ".gif' ";
					html+= " border=0> ";
					newDiv.innerHTML = html;
							
					document.body.appendChild(newDiv);
					
					debug("Done loading building");
					
					//showDebug();
					
				}
			}
			
		}
		debug("Map Update Complete");
		
		mapRefresherXmlHttp = "";
	}

}


