function Markers(color) {
	map.closeInfoWindow();
	map.getInfoWindow().hide()
	if (document.getElementById(color).checked == false) {
		for ( var i = 0; i < gmarkers.length; i++) {
			if (gmarkers[i].type == color) {
				map.removeOverlay(gmarkers[i]);
			}
		}
	} else { 
		for ( var i = 0; i < gmarkers.length; i++) {
			if (gmarkers[i].type == color) {
				map.addOverlay(gmarkers[i]);
			}
		}
	}
}

GMap.prototype.centerAndZoomOnBounds = function(bounds) {
	var center_lat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2.0;
	var center_lng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2.0;
	var center = new GLatLng(center_lat, center_lng)
	map.setCenter(center, map.getBoundsZoomLevel(bounds));
}

// global variables
var gmarkers = [];
var map;
var request;
// var bounds = new GBounds(Number.MAX_VALUE, Number.MAX_VALUE,
// -Number.MAX_VALUE, -Number.MAX_VALUE);
var bounds = new GLatLngBounds();
// Create our "tiny" marker icon
var baseIcon = new GIcon();
baseIcon.image = "/media/images/gm/mm_20_red.png";
baseIcon.shadow = "/media/images/gm/mm_20_shadow.png";
baseIcon.iconSize = new GSize(12, 20);
baseIcon.shadowSize = new GSize(22, 20);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(5, 1);
baseIcon.imageMap = [ 4, 0, 0, 4, 0, 7, 3, 11, 4, 19, 7, 19, 8, 11, 11, 7, 11,
		4, 7, 0 ];
// baseIcon.transparent = "mapIcons/mm_20_transparent.png";

var icons = [];

function coloredRideshareIcon(iconColor) {
	var color;
	if ((typeof (iconColor) == "undefined") || (iconColor == null)) {
		color = "red"
	} else {
		color = iconColor;
	}
	if (!icons[iconColor]) {
		var icon = new GIcon(baseIcon);
		icon.image = "/media/images/gm/mm_20_" + color	+ ".png";
		icons[iconColor] = icon;

	}
	return icons[iconColor];
}

function addMarker(lng, lat, title, url, total, iconStr) {
	var point = new GLatLng(lat, lng);
	bounds.extend(point);
	var icon = coloredRideshareIcon(iconStr);
	var marker = new GMarker(point, icon);
	gmarkers.push(marker);
	marker.type = iconStr;
	GEvent.addListener(
					marker,
					"mouseover",
					function() {
						var text = "<div align=\"left\" style=\"font: 12px/17px Arial, sans-serif; padding: 0; margin: 0;\">";
						text += "<a href=\"" + url + "\">" + title + "</a><br>"
								+ total + "</div>";
						marker.openInfoWindowHtml(text);
					});
	map.addOverlay(marker);
}

function processXML() {
	if (request.readyState == 4) {
		if (request.status != 200) {
			alert("file not found:" + request.status);
			return;
		}
		var xmlDoc = request.responseXML;
		if (!xmlDoc) {
			// alert("invalid xml file");
			return;
		}
		markers = xmlDoc.documentElement.getElementsByTagName("marker");
		for ( var i = 0; i < markers.length; i++) {
			var color = markers[i].getAttribute("icon");
			addMarker(parseFloat(markers[i].getAttribute("lng")),
					parseFloat(markers[i].getAttribute("lat")), markers[i]
							.getAttribute("title"), markers[i]
							.getAttribute("url"), markers[i]
							.getAttribute("total"), color);
		}
		//map.centerAndZoomOnBounds(bounds);
	}
}
