    var map;
    var createdmarkers = [];

    function createMarker(point,mdata){
	markerOptions = {title:mdata.getAttribute("title") };
        var marker = new GMarker(point,markerOptions);

	GEvent.addListener(marker, "click", function() {
	      marker.openInfoWindowHtml("<a href=\""+mdata.getAttribute("href")+"\">"+mdata.getAttribute("name")+"</a>");
	});

	return marker;
    };

    function setmarkers(){
      GDownloadUrl("locales.xml", function(data, responseCode) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lon")));
	    var marker = createMarker(point,markers[i]);
	    map.addOverlay(marker);
            createdmarkers[i] = marker;
	};

    });
      };

    function resizeMap(){
    	document.getElementById("map").style.height = String(window.innerHeight)+"px";
	document.getElementById("map").style.width = String(document.body.clientWidth-160)+"px";
	map.checkResize();
    };

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(41,-96),4);
	resizeMap();
	setmarkers();
      };
    };
