SVGTheme = {
  markerOptions: null,
  
  getMarkerOptions: function() {
    if (!SVGTheme.markerOptions) {
      SVGTheme.markerOptions = {icon: new GIcon({ image:            "http://maptimize.local/images/maps/cluster.png",
                                                  iconSize:         new GSize(22, 33),
                                                  iconAnchor:       new GPoint(11, 33),
                                                  infoWindowAnchor: new GPoint(11, 2),
                                                  infoShadowAnchor: new GPoint(18, 25)
                                                })};
    }                                                
    return SVGTheme.markerOptions;
  },
  
  createMarker: function(marker) {
    return new GMarker(marker.getGLatLng(), SVGTheme.getMarkerOptions());
  },
  
  createCluster: function(cluster) {
    var ratio  = 0.5 + Math.log(cluster.getCount())/Math.log(9000) * (1-0.5);
    
    var color = Maptimize.Color.scaleToRGB(ratio);
    var circle = new Maptimize.GoogleMap.Circle(map)
      .setLatLngCenter(cluster.getGLatLng())
      .setRadius(10 + 20*ratio)
      .setGradientFill(color, 1, color, 0.5)
      .setStroke('none');
    return circle.getOverlay();
  }  
}
