function setupMap(target, lat, lon, zoom, controls)
{    
  if (GBrowserIsCompatible()) {
	  lat = (lat != undefined) ? lat : '32.4771';
	  lon = (lon != undefined) ? lon : '-93.7484';
	  zoom = (zoom != undefined) ? zoom : 10;
	  controls = (controls != undefined) ? controls : 'small';
	  
	  map = new GMap2($(target));
	  
	  if (controls == 'small') {
		  map.addControl(new GSmallMapControl());
	  }

      point = new GLatLng(lat, lon);
      map.setCenter(point, zoom);

      bounds = new GLatLngBounds();
      marker_mgr = new MarkerManager(map);
  }
}

function addMarker(latitude, longitude, letter, content)
{
    var 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, 2);

    point = new GLatLng(latitude, longitude);

    if (letter) {
    	var letteredIcon = new GIcon(baseIcon);
    	letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
    }
    
    markerOptions = { icon:letteredIcon };
    marker = new GMarker(point, markerOptions);
    marker.bindInfoWindow(content);
    
    marker_mgr.addMarker(marker, 0);
    bounds.extend(point);

    marker_mgr.refresh();
}

function zoomfit()
{
	newzoom = map.getBoundsZoomLevel(bounds);
	newcenter = bounds.getCenter();
	map.setCenter(newcenter, newzoom-1);
}