function init() {
	if (GBrowserIsCompatible()) {
		// Creates a marker at the given point with the given number label	
		function createMarker(point, number, description) {
			var marker = new GMarker(point);
			var htmltext = "<b>" + description.rank + ". " + description.state + 
				"</b><br />CPI " + cpiYear + " score: " + description.cpiscore +
				"<br />Surveys used: " + description.surveys + 
				"<br />Confidence interval: " + description.conf;
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(htmltext);
			});
			return marker;
		}

		function setMarkers() {
			for (var i=0; i<cpiMarkers.length; i++) {
				// alert(cpiMarkers[i].state + " " + cpiMarkers[i].cpiscore);
				var marker = createMarker( new GLatLng( cpiMarkers[i].lat, cpiMarkers[i].lon), i, cpiMarkers[i]);
				// map.addOverlay(marker);
				if (cpiMarkers[i].area > 100000) {
					smallmgr.addMarker(marker, 3);
				} else if (cpiMarkers[i].area > 25000) {
					smallmgr.addMarker(marker, 3);
				} else {
					smallmgr.addMarker(marker, 4);
				}
			}
		}
		
		// connectZoom();
	
		var smallmap = new GMap2(document.getElementById("smallmap"));
		smallmap.setCenter(new GLatLng(-8, -8), 2);
		// smallkml = new GGeoXml("http://images.mattiasschlenker.de/icgg/" + cpiYear + "_cpi_simple.kml");
		smallkml = new GGeoXml("http://www.icgg.org/mapping/" + cpiYear + "_cpi_simple.kml");
		smallmap.addControl(new GLargeMapControl());
		smallmap.addControl(new GHierarchicalMapTypeControl());
		smallmap.setMapType(G_PHYSICAL_MAP);
		smallmap.addMapType(G_SATELLITE_3D_MAP);
		var smallmgr = new MarkerManager(smallmap);
		smallmap.addOverlay(smallkml);
		setMarkers();
		// shrinkMap();
	}
}
