function loadGoogleMap(name, firstlayer, lastlayer) {
  if (GBrowserIsCompatible()) {
    var copyCollection = new GCopyrightCollection("Reputation Diagram");
    var copyright = new GCopyright(1,
                                   new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)),
                                   firstlayer,
                                   "©2009 O\'Reilly Publishing");
    copyCollection.addCopyright(copyright);

    var tilelayers = [new GTileLayer(copyCollection, firstlayer, lastlayer)];
    tilelayers[0].getTileUrl = function (a,b) { var p = Math.pow(2,(b - 1))
                                                var lz = b;
                                                var lx = a.x - p;
                                                var ly = a.y - p;
                                                var f = "/gmaps/" + name +"/" + lz + "_" + lx + "_" + ly + ".png";
                                                if (typeof(logger) != "undefined") { YAHOO.log("" + a.x + "," + a.y + "," + b + "(" + p + ")=" + f); }
                                                return f;
                                               };

    var custommap = new GMapType(tilelayers,
                           new GMercatorProjection(18),
                           "Reputation Diagram",
                           {errorMessage:""});
    var map = new GMap2(document.getElementById(name),
                        { backgroundColor: "#FFFFFF", mapTypes:[custommap]});
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.enableDoubleClickZoom();
    map.enableContinuousZoom();
    map.enableScrollWheelZoom();
    map.setCenter(new GLatLng(0, 0), firstlayer, custommap);
  }
}
