function loadMap(latStart, lonStart, zoomLevel, sportId, stateId) {
	if (GBrowserIsCompatible()) {
		
		var tgMap = new GMap2(document.getElementById("GoogleMap"));
		var tiMarkerNum = 0;
		
		function createMarker(point,info) {
			var marker = new GMarker(point);
			GEvent.addListener(marker, "click", function() {
				var l = "<table>";
				l += "<tr>";
					/*if (info.getAttribute("image")) {
						l += "<td style=\"width:50px;\">";
							l += "<a href=\"/views/Public/Venues/VenueDetails.view?VenueID="+info.getAttribute("id")+"\">";
							l += "<img src=\venues\""+info.getAttribute("image")+"\" />";
							l += "</a>";
						l += "</td>";
					}*/
					l += "<td style=\"font-size:0.8em;\">";
						l += "<a href=\"/views/Public/Venues/VenueDetails.view?VenueID="+info.getAttribute("id")+"&SportVenue="+info.getAttribute("sport")+"\"><strong style=\"font-size:1.2em;\">"+info.getAttribute("name")+"</strong></a><br />";

                                                l += "<i>"+info.getAttribute("address1")+"</i><br />";
						l += "<i>"+info.getAttribute("address2")+"</i><br />";
					l += "</td>";
					
				l += "</tr>";
				l += "</table>";
				marker.openInfoWindowHtml(l);
			});
			return marker;
		}
		
		function updateMapResults() {
			
			var center = tgMap.getCenter();
			var bounds = tgMap.getBounds();
			var boundsSpan = bounds.toSpan();
			
			var tsUrl = "/Jscript/map/MapData.view?";
			tsUrl += "lat=" + escape(center.lat());
			tsUrl += "&lng=" + escape(center.lng());
			tsUrl += "&latSpan=" + escape(boundsSpan.lat());
			tsUrl += "&lngSpan=" + escape(boundsSpan.lng());
                        tsUrl += "&SportID=" + escape(sportId);
                        tsUrl += "&StateID=" + escape(stateId);
			
			GDownloadUrl(tsUrl, function(data, responseCode) {

				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("marker");
				var tcMarkers = new GMarkerManager(tgMap);
				

var averageLat = parseFloat(0);
var averageLng = parseFloat(0);
				//tgMap.clearOverlays();
				//tcPane = tgMap.getPane(G_MAP_MARKER_PANE);
				
				for (var i = 0; i < markers.length; i++) {
					var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
											parseFloat(markers[i].getAttribute("lng")));
					
					
					//tgMap.addOverlay(createMarker(point,markers[i]));
					var tcMarker = createMarker(point,markers[i]);
					tcMarkers.addMarker(tcMarker,0,17);

averageLat += parseFloat(markers[i].getAttribute("lat"));
averageLng += parseFloat(markers[i].getAttribute("lng"));
				}
				tcMarkers.refresh();
				//alert("Markers: "+tcMarkers.getMarkerCount(3));

averageLat = averageLat / markers.length;
averageLng = averageLng / markers.length;

if (markers.length) {
    tgMap.setCenter(new GLatLng(averageLat, averageLng), zoomLevel);
} else {
    tgMap.setCenter(new GLatLng(57.13624, -130.95703), 3);
}

			});
		}
		
		GEvent.addListener(tgMap, "load", updateMapResults);

		tgMap.addControl(new GLargeMapControl());
		tgMap.addControl(new GMapTypeControl());
		tgMap.addControl(new GScaleControl());
		tgMap.addControl(new GOverviewMapControl());
		
		tgMap.setCenter(new GLatLng(latStart, lonStart), zoomLevel);
	}
}