
function load(xmlFile){	
	if(xmlFile == null){
	xmlFile="/urban/map/metro.xml";
	}
	//TODO: Create function that can be called from javascript to load in different locations.
	// It should be possible to extend this script.
	var map = new GMap(document.getElementById("map"));
	var point = new GPoint(-111.885362944925, 40.7621181741509);
    
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.centerAndZoom(point, 3); 
		
	var baseIcon = new GIcon();
	baseIcon.image = "/urban/map/images/default.png";
	baseIcon.shadow = "/urban/map/images/default-shadow.png";
	baseIcon.iconSize = new GSize(24, 24);
	baseIcon.shadowSize = new GSize(48, 24);
	baseIcon.iconAnchor = new GPoint(12, 24);
	baseIcon.infoShadowAnchor = new GPoint(0, 0);
	baseIcon.infoWindowAnchor = new GPoint(10,10);
		      
  var largeIcon = new GIcon();
  largeIcon.image = "/urban/map/images/metro";
	largeIcon.shadow = "/urban/map/images/metro-shadow.png";
	largeIcon.iconSize = new GSize(86, 86);
	largeIcon.shadowSize = new GSize(160, 86);
	largeIcon.iconAnchor = new GPoint(43, 86);
	largeIcon.infoShadowAnchor = new GPoint(0, 0);
	largeIcon.infoWindowAnchor = new GPoint(43, 43);  
	
  
	function createMarker(point, iconname, info) {
	var iconstyle = iconname.getAttribute("iconstyle");

	if (iconstyle=="large"){
		var icon = new GIcon(largeIcon);
		}else{
		var icon = new GIcon(baseIcon);
		}
		
		icon.image = iconname.getAttribute("image");
		icon.shadow = iconname.getAttribute("shadow");
		var marker = new GMarker(point, icon);
		

       	GEvent.addListener(marker, "click", function() {
         	marker.openInfoWindowXslt(info, "/urban/map/googmap.xsl");
        	});
      
        return marker;
	}
	
	var request = GXmlHttp.create();
	request.open("GET", xmlFile, true);
	request.onreadystatechange = function() {
  	if (request.readyState == 4) {
		var xmlDoc = request.responseXML;
		var points = xmlDoc.documentElement.getElementsByTagName("point");
		var icons = xmlDoc.documentElement.getElementsByTagName("icon");
		var info = xmlDoc.documentElement.getElementsByTagName("info");

		

    		for (var i = 0; i < points.length; i++) {
      		var point = new GPoint(
      					parseFloat(points[i].getAttribute("lng")),
							parseFloat(points[i].getAttribute("lat"))
						);
 
 
		var marker = createMarker(point, icons[i], info[i]);
		map.addOverlay(marker);
    		}
  	}
}
request.send(null);

}
