var map;
var bounds;
var html;
var baseIcon = "http://labs.google.com/ridefinder/images/mm_20_red.png";

function resizemap() {
	var mappanel = document.getElementById("mappanel");
	if (mappanel) { mappanel.style.display="none"; }
	var mapdiv = document.getElementById("map");
	mapdiv.style.width="100%";
	mapdiv.style.height="575px";
	google.maps.event.trigger(map, "resize");
	map.fitBounds(bounds);
	map.setCenter(bounds.getCenter());
	var enlarge = document.getElementById("enlarge");
	enlarge.style.display="none";
}
function zoomIn(i){
	map.setCenter(i);
	map.setZoom(16);
}
function zoomOut(){
	map.fitBounds(bounds);
	map.setCenter(bounds.getCenter());
}
function get_directions (address) {
	document.getElementById("maplinks").className = 'none';
	document.getElementById("maplinks").innerHTML = "<br /><form action=\"http://maps.google.com/maps\" method=\"get\"><strong>Get Directions From:<strong><br /><input type=\"text\" size=\"25\" name=\"saddr\" id=\"saddr\" value=\"\" /> <input id=\"submit\" type=\"submit\" value=\"Go\" /><input type=\"hidden\" name=\"daddr\" value=\"" + address + "\" /><input type=\"hidden\" name=\"hl\" value=\"en\" /></form>";
}
function get_html(name, url, address, blurb, group, point) {
	if (blurb) { blurb = blurb + "<br />"; }
	var isIE6 = /msie|MSIE 6|MSIE 7/.test(navigator.userAgent);
	if (isIE6) { return "<div id=\"window\"><a href=\"" + url + "\">more info</a> | <a href=\"http://maps.google.com/maps?daddr="+escape(address+" ("+name+")")+"\">directions</a> | <a href=\"javascript:zoomIn(new google.maps.LatLng("+point.toUrlValue()+"))\">zoom in</a> | <a href=\"javascript:zoomOut()\">zoom out</a><br /><br /><img src=\"../img/maps/" + group + ".png\" /><strong><a href=\"" + url + "\" class=\"blurb\">" + name + "</a></strong><br />" + address + "<br /><span class=\"periph\">" + blurb + "</span></div>"; }
	else { return "<div id=\"window\"><img src=\"../img/maps/" + group + ".png\" /><strong><a href=\"" + url + "\" class=\"blurb\">" + name + "</a></strong><br />" + address + "<br /><span class=\"periph\" id=\"maplinks\">" + blurb + "<br /><a href=\"" + url + "\">more info</a> | <a href=\"javascript:get_directions('" + address + "')\">directions</a> | <a href=\"javascript:zoomIn(new google.maps.LatLng("+point.toUrlValue()+"))\">zoom in</a> | <a href=\"javascript:zoomOut()\">zoom out</a></span></div>"; }
}

function createMarker(point, name, address, blurb, group, url) {
	if (group) { var marker = new google.maps.Marker({position:point, map:map, icon:eval("icon"+group), title:name}); }
	else { var marker = new google.maps.Marker({position:point, map:map, icon:baseIcon, title:name}); }	
	
	google.maps.event.addListener(marker, "click", function() {
		pageTracker._trackEvent('Map', 'IconClick', name);
		if (html) html.close();
		html = new google.maps.InfoWindow({content:get_html(name, url, address, blurb, group, point)});
		html.open(map,marker);
		});
	return marker;
}

function xmlParse(str) {
  if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') {
    var doc = new ActiveXObject('Microsoft.XMLDOM');
    doc.loadXML(str);
    return doc;
  }

  if (typeof DOMParser != 'undefined') {
    return (new DOMParser()).parseFromString(str, 'text/xml');
  }

  return createElement('div', null);
}