var map = false;
var geocoder = false;
var baseIcon = false;
var points = new Array();
var addresses = new Array();

window.onload = function () {
	if (GBrowserIsCompatible()) {
       	map = new GMap2(document.getElementById('map_canvas'));
		geocoder = new GClientGeocoder();
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
       	map.setCenter(new GLatLng(37.209009999999999, -93.291560000000004), 11);
		loadPointers();
	}
}

window.onunload = function() { GUnload() };

function loadPointers() {
	
	baseIcon = new GIcon(G_DEFAULT_ICON);
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new GSize(20, 34);
	baseIcon.shadowSize = new GSize(37, 34);
	baseIcon.iconAnchor = new GPoint(9, 34);
	baseIcon.infoWindowAnchor = new GPoint(9, 34);
	baseIcon.infoShadowAnchor = new GPoint(18, 25);

	var lat_longs = new Array();
    for (var i = 0; i < points.length; i++) {
    	geocoder.getLatLng(points[i], function(point) {
			lat_longs.push(point);
            if (lat_longs.length == points.length) {
               	for (var j = 0; j < lat_longs.length; j++) {
                   	map.addOverlay(createMarker(lat_longs[j], j, points[j]));        
                }
			}
		});
    }
}

function createMarker(point, j, address) {
	var letter = String.fromCharCode("A".charCodeAt(0) + j);
	var letteredIcon = new GIcon(baseIcon);
	letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
	markerOptions = { icon:letteredIcon };
	var marker = new GMarker(point, markerOptions);

	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml('<p>' + address + '</p>');
	});
	
	return marker;
	
}
