//<![CDATA[
    function macdiggs_gmaps2_addLoadEvent(func) {
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	}
	function macdiggs_gmaps2_createMarker(point, markerText) {
	  var marker = new GMarker(point);
	  GEvent.addListener(marker, "click", function() {
	  	var opts = { maxWidth : 300 };
		marker.openInfoWindowHtml("<div style='width:auto;height:auto'>"+markerText+"</div>", opts );
	  });
	  return marker;
	}

	function macdiggs_gmaps2_initMap(el, lat, lon, zoom, om, mtype, text, mapW, mapH, mapControls, mapMarker) {
		if (GBrowserIsCompatible()) {
			var map = new GMap2(el);
			map.setCenter(new GLatLng(lat, lon), parseInt(zoom));
			if (mapControls) {
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				if (om) {
					map.addControl(new GOverviewMapControl());
				}
			}
			switch (mtype) {
				case 'k':
					map.setMapType( G_SATELLITE_MAP );
					break;
				case 'h':
					map.setMapType( G_HYBRID_MAP );
			}

			var point = new GLatLng(lat, lon);

			if (mapMarker) {
				map.addOverlay(macdiggs_gmaps2_createMarker(point, text));
			}
		}
	}

	function mapSearchReplace()
	{
		var thekey = "ABQIAAAAEDSnxDI7-6Zz8t2zHUxB_BQCAPXbR9P_ZdO5sRHjab4X87A0bRS0ENBZIBC1ONPe-_2uULMZKoqebA";
		var hrefs = document.getElementsByTagName("a");
		for (x=0; x<hrefs.length; x++) {
			var thehref = hrefs[x]
			var theloc = thehref.href;
			if (thehref.title=="nomap") continue;
			if (theloc.indexOf("http://maps.google.")!=-1) {
				mapname = "map_"+x
				ginfo = thehref.innerHTML;

				//getting size params from ginfo, if present
				mapW = 500;
				mapH = 300;
				mapControls = true;
				mapMarker = true;
				sizeparamsSearch = /^\{([^\}]*)\}/g;
				sizeParams = sizeparamsSearch.exec(ginfo);
				if (sizeParams!=null && sizeParams[1]) {
					//trying to get the params.
					sizeParamsElements = sizeParams[1].split(";");
					newMapD = new Array();
					for (pcnt=0;pcnt<sizeParamsElements.length;pcnt++) {
						pars = sizeParamsElements[pcnt].split(":")
						if (pars) {
							newMapD[pars[0]] = pars[1];
						}
					}
					if (newMapD["w"]>0 && newMapD["h"]>0) {
						//setting new map params
						mapW = newMapD["w"];
						mapH = newMapD["h"];
					}
					if (newMapD["controls"]=="false") {
						mapControls = false;
					}
					if (newMapD["marker"]=="false") {
						mapMarker = false;
					}
					ginfo = ginfo.replace(sizeparamsSearch, "");
				}

				mydiv = document.createElement("div");
				mydiv.style.width = mapW+"px";
				mydiv.style.height = mapH+"px";

				gparams = theloc.split("?");
				gparams = gparams[1].split("&");

				om = "0";
				mtype = "";
				for (i=0; i<=gparams.length-1; i++) {
					items = gparams[i].split("=");
					lon = lat = false;
					switch (items[0]) {
						case "ll":
							ll = items[1].split(",");
							//alert("found long lat:"+ll[0]+"/"+ll[1]);
							break;
						case "z":
							zoom = items[1]
							break;
						case "om":
							om = items[1];
							break;
						case "t":
							mtype = items[1];
							break;

					}
				}

				thehref.parentNode.parentNode.replaceChild(mydiv, thehref.parentNode);
				macdiggs_gmaps2_initMap(mydiv, ll[0], ll[1], zoom, om, mtype, ginfo, mapW, mapH, mapControls, mapMarker);
			}
		}
	}

	macdiggs_gmaps2_addLoadEvent(mapSearchReplace);
//]]>