

function branchMapInit(options) {

	if (GBrowserIsCompatible()) {
	
		var map = new GMap2(document.getElementById(options.mapID));
		map.setCenter(new GLatLng(options.startLat,  options.startLng), options.startZoom);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
	
		// Create a base icon for all of our markers that specifies the
		// shadow, icon dimensions, etc.
		var baseIcon = new GIcon();
		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, 2);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);
		
		var markers = [];
	
		// Creates a marker whose info window displays the letter corresponding
		// to the given index.
		function createMarker(point, index, html) {
		
			// Create a lettered icon for this point using our icon class
			var letter = String.fromCharCode("A".charCodeAt(0) + index);
			var letteredIcon = new GIcon(baseIcon);
			letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
			
			// Set up our GMarkerOptions object
			markerOptions = { icon:letteredIcon };
			var marker = new GMarker(point, markerOptions);
			marker.customHTML = html;
			
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(this.customHTML);
			});
			
			return marker;
		
		}
		
		for (var i = 0; i < options.branches.length; i++) {
			var latLng = new GLatLng(options.branches[i].lat, options.branches[i].lng);
			options.branches[i];
			markers.push(createMarker(latLng, i, options.branches[i].html));
			map.addOverlay(markers[i]);
		}
		
		markers[options.defaultIndex].openInfoWindowHtml(markers[options.defaultIndex].customHTML);
		
	}

}