//<![CDATA[
    var map;
    var mgr;
    var icons = {};
    var infoHTML = {};
    var iconsDir = "img/"

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(iniData["center"].lat, iniData["center"].lng), iniData["zoom"]);
	map.enableDoubleClickZoom();
	map.enableScrollWheelZoom();
	map.enableContinuousZoom();
        window.setTimeout(setupOfficeMarkers, 0);
      }
    }

    function getIcon(images) {
      var icon = null;
      if (images) {
        if (icons[images[0]]) {
          icon = icons[images[0]];
        } else {
          icon = new GIcon();
          icon.image = iconsDir + images[0] + ".png";
          var size = iconData[images[0]];
          icon.iconSize = new GSize(size.width, size.height);
          icon.iconAnchor = new GPoint(size.width/2-1, size.height);
          icon.shadow = iconsDir + images[1] + ".png";
          size = iconData[images[1]];
          icon.shadowSize = new GSize(size.width, size.height);
          icons[images[0]] = icon;
        }
      }
      return icon;
    }

    function setupOfficeMarkers() {
      mgr = new GMarkerManager(map);
      for (var i in officeLayer) {
        var layer = officeLayer[i];
        var markers = [];
        for (var j in layer["places"]) {
          var place = layer["places"][j];
          var icon = getIcon(place["icon"]);
          var posn = new GLatLng(place["posn"][0], place["posn"][1]);

	  var marker = new GMarker(posn, { title: place["name"], icon: icon });
  	  GEvent.addListener(marker, "click", function() { if(map.getZoom()<=15) map.setCenter(this.getPoint(), map.getZoom()+1); } );

          markers.push(marker);
        }
        mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);
      }
      mgr.refresh();
    }
    
//]]>
