// on the next line, enter your domain's Google API Key
// (available from http://www.google.com/apis/maps/signup.html)
var APIkey = "ABQIAAAAXI1Gge7pCAOqkt2zPJYBDBSoFSOkoXbTDczuzJzZ00eoq9X67BQypfmP34xu8VhLHZKO6eOIHFYsEA";



document.write('<script language="JavaScript" src="http://maps.google.com/maps?file=api&v=2&key=' + APIkey + '" type="text/javascript"></script>');
var baseIcon;

function showMap() {
	try {
		var lats = new Array();
		var lons = new Array();
		var labels = new Array();
		var labelText = "";
		var point;
		var marker;
		var bounds = new GLatLngBounds;

		var mapType = document.getElementById("mapType").innerHTML;
		if (mapType == "single") {
			var singleLat = document.getElementById("mapPointLat").innerHTML;
			var singleLon = document.getElementById("mapPointLon").innerHTML;
			if (singleLat != "" && singleLon != "") {
				var map = new GMap2(document.getElementById("map1"));
				map.addControl(new GSmallMapControl());
				map.addControl(new GMapTypeControl());
				point = new GLatLng(singleLat,singleLon);
				map.setCenter(point, 13);		
				map.addOverlay(new GMarker(point));
			}
		} else {
			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);
	
			lats = eval(document.getElementById("mapPointsLat").innerHTML);
			lons = eval(document.getElementById("mapPointsLon").innerHTML);
			labels = eval(document.getElementById("mapPointsLabel").innerHTML);
			letters = eval(document.getElementById("mapPointsMarker").innerHTML);
		
			for (i=0; i < lats.length; i++) {
				if (i == 0) {
					// initialize map
					var map = new GMap2(document.getElementById("map1"));
					map.addControl(new GLargeMapControl());
					map.addControl(new GMapTypeControl());
					map.setCenter(new GLatLng(lats[i],lons[i]), 13);
				}
				point = new GLatLng(lats[i],lons[i]);
				bounds.extend(point);
				map.addOverlay(createMarker(point, labels[i], letters[i]));
			}
			var newZoom = map.getBoundsZoomLevel(bounds);
			var sw = bounds.getSouthWest();
			var ne = bounds.getNorthEast();
			var halfLat = (ne.lat() - sw.lat())/2;
			var halfLon = (sw.lng() - ne.lng())/2;
			var centerLat = sw.lat() + halfLat;
			var centerLon = ne.lng() + halfLon;
			map.setCenter(new GLatLng(centerLat,centerLon), newZoom);
		}
		return;
	} catch(e) {
		// do nothing
	}
}

// Creates a marker at the given point with the given number label
function createMarker(point, text, letter) {
	var icon = new GIcon(baseIcon);
	icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<span style='font-size:medium;'>" + text + "</span>");});
	return marker;
}
