//globals
var map;

///////
//
//////
function createMarker(point, localeName, localeType, localeInfo) {
	var baseIcon = new GIcon();
	baseIcon.image = "http://www.atomicarchive.com/Images/rad_symbol.png";
	baseIcon.shadow = "Images/shadow.png";
	baseIcon.iconSize = new GSize(14, 14);
	baseIcon.shadowSize = new GSize(20, 20);
	baseIcon.iconAnchor = new GPoint(7, 7);
	baseIcon.infoWindowAnchor = new GPoint(9, 2);
	baseIcon.infoShadowAnchor = new GPoint(18, 25);
	
	var localeIcon = new GIcon(baseIcon);
		
	// Set up our GMarkerOptions object
	//var museumName = museumData;
	markerOptions = { icon:localeIcon, title:localeName };
	var marker = new GMarker(point, markerOptions);
	
	GEvent.addListener(marker, "click", function() {
		//document.location.href = url;
		//openInfoWindowHtml()
		//maxWidth
		marker.openInfoWindowHtml('<h1 style="text-align: left; font-size:12px">' + localeName + '</h1><p style="text-align: left;">'+localeInfo+'</p>', {maxWidth:250});
		});
	 return marker;
}

function getHTTPObject() {
  var xhr = false;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}

function grabFile(file) {
  var request = getHTTPObject();
  if (request) {
    request.onreadystatechange = function() {
      parseResponse(request);
    };
    request.open("GET", file, true);
    request.send(null);
  }
}

function parseResponse(request) {
  if (request.readyState == 4) {
    if (request.status == 200 || request.status == 304) {
		var data = request.responseXML;
		var localeDataSet = data.getElementsByTagName("locale");
		var numOfLocales = localeDataSet.length;
		for (var i = 0; i < numOfLocales; i++) {
			var localeData = localeDataSet[i];
			var localeName = localeData.getElementsByTagName("name")[0].firstChild.nodeValue;
			var latLoc = localeData.getElementsByTagName("lat")[0].firstChild.nodeValue;
			var longLoc = localeData.getElementsByTagName("long")[0].firstChild.nodeValue;
			var localeType = localeData.getElementsByTagName("type")[0].firstChild.nodeValue;
			var localeInfo = localeData.getElementsByTagName("info")[0].firstChild.nodeValue;
			//alert(name + "  " + latLoc + ", " + longLoc);
			
			var latlng = new GLatLng(latLoc,longLoc);
			//alert (museumName+map +"|"+ latlng);
      		map.addOverlay(createMarker(latlng, localeName,localeType, localeInfo));
			
		}
		//alert(name + "  " + latLoc + ", " + longLoc);
    }
  }
}

//////
// Google Map Code
//////

function initialize(theDataFile, theLat, theLong, theZoom) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(theLat, theLong), theZoom);
    map.addControl(new GSmallMapControl());

  map.addControl(new GMapTypeControl());

  	////
	// Now get the icon data file
	////
	grabFile("data/"+theDataFile);
	////
	// Temp, upon successful data grab, then add the markers. This is hard coded
	//////
	//addMuseums();
  }
}