

    var map;
	var mgr;
    var icons = {};
    var allmarkers = [];
	var marked;
	var lat;
	var lng;
	
    function load_maps() {

      if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.setCenter(new GLatLng(lat,lng), 3);
        map.enableDoubleClickZoom();
        mgr = new MarkerManager(map, {trackMarkers:true});
        window.setTimeout(setupOfficeMarkers, 0);
	  }
    }

	
		var width=23;
		var height=34;
	    // Create a base icon for all of our markers that specifies the
        // shadow, icon dimensions, etc.
        var baseIcon = new GIcon();
        baseIcon.shadow = "/images/map/icon-shadow.png";
        baseIcon.iconSize = new GSize(23, 34);
        baseIcon.shadowSize = new GSize(37, 34);
        baseIcon.iconAnchor = new GPoint(9, 34);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.infoShadowAnchor = new GPoint(18, 25);
	
	function setupOfficeMarkers() {
	 allmarkers.length = 0;
	    for (var i in officeLayer) {
	      var layer = officeLayer[i];
	      var markers = [];
		  marked = "";
	        for (var j in layer["places"]) {
			
			var place = layer["places"][j];
			var icon = place["icon"];
			var title = place["name"];
		 	var plink = place["link"];
		 	var dinfo = place["info"];
			var posn = new GLatLng(place["posn"][0], place["posn"][1]);
			map.addOverlay(createMarker(posn, j, title, place["icon"],plink,dinfo));
			
            markers.push(marked);
            allmarkers.push(marked);
			
			}
		mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);
		}
	mgr.refresh();
	}
	
    // Creates a marker whose info window displays the letter corresponding
    // to the given index.
    function createMarker(point, index, title, image, plink, dinfo) {
      // Create a lettered icon for this point using our icon class
    	var imgIcon = new GIcon(baseIcon);
		var img = image[0];
		var imgsh = image[1];
      imgIcon.image = "/images/map/" + img + ".png";
	  imgIcon.shadow = "/images/map/" + imgsh + ".png";

		var size = iconData[image[0]];
      imgIcon.iconSize = new GSize(size.width, size.height);
		imgIcon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
		size = iconData[image[1]];
      imgIcon.shadowSize = new GSize(size.width, size.height);
      // Set up our GMarkerOptions object
      markerOptions = { title:title, icon:imgIcon };
      var marker = new GMarker(point, markerOptions);

      GEvent.addListener(marker, "click", function() {
 		 if (dinfo) {
		marker.openInfoWindowHtml(dinfo);
		} 
		if (plink) {
		 location.href=plink;
      } 
      });

marked = marker;
      return marker;
    }
	