var icon, map;

function mapification() {
	
	if (!GBrowserIsCompatible()) {
		alert("Please upgrade your browser to enable some features of this site.");
		return;
	}//endif
	/*
	icon = new GIcon();
	icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	icon.iconSize = new GSize(12, 20);
	icon.shadowSize = new GSize(22, 20);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);    
	*/
	map = new GMap(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	
	GEvent.addListener(map, "click", function(overlay, point){
		try {
			if (overlay){
				overlay.openInfoWindowHtml(overlay.html);
				overlay.clickme();
			}
		} catch (err) { }
	});

	if (!map) return;
	if (!gmarker) return;
	if (gmarker.length == 0) return;
	
	map.centerAndZoom(gpoint[0], google_map_default_zoom);
	
	for (var i = 0; i < gmarker.length; i++) 
		map.addOverlay(gmarker[i]);	
	
	gmarker[0].clickme();
}//end function

function createMarker(point, html) {
	marker = new GMarker(point, icon);
	map.addOverlay(marker);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});	 
}//end function

function clear_mapification(){		
	map.clearOverlays();
	map =  null;
	icon = null;
	gpoint = null;
	gmarker = null;	
}//end function

/*
	extended the GMarker object
*/
GMarker.prototype.clickme = function (){
	this.openInfoWindowHtml(this.html);
};

/*
add mapification to window.onload
*/
map_tmpstr = "";
if (window.onload != null) {
	map_tmpstr = window.onload.toString();
	map_tmpstr_i = map_tmpstr.indexOf("{") + 2;
	map_tmpstr = map_tmpstr.substr(map_tmpstr_i,map_tmpstr.length-map_tmpstr_i-2);
}//endif
window.onload = new Function("mapification();"+map_tmpstr);

/*
add clear_mapification to window.unload
*/
map_tmpstr = "";
if (window.onunload != null) {
	map_tmpstr = window.onunload.toString();
	map_tmpstr_i = map_tmpstr.indexOf("{") + 2;
	map_tmpstr = map_tmpstr.substr(map_tmpstr_i,map_tmpstr.length-map_tmpstr_i-2);
}//endif
window.onunload = new Function("clear_mapification();"+map_tmpstr);
