Event.observe(window, 'load', setupMapper);
Event.observe(window, 'unload', GUnload)
var loaded = false;

function setupMapper(e) {
	var map = Try.these(
		function() { return $('toggle_map') }
	)
	if( map ) {
		Event.observe(map, 'click', toggleMap);
	}
}

function toggleMap(e) {
	// console.log(e);
	var map = $('map_wrapper');
	// console.log(map);
	map.toggle();
	// console.log(map);
	if( map.visible() ) {
		// console.log("loaded: ", loaded);
		if( !loaded ) {
			loadMap(e);
		}
		// console.log("loaded: ", loaded);
		$('toggle_map').update("Hide Map");
	} else {
		$('toggle_map').update("Show Map");
	}
}

function loadMap(e) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2($('map'));

		var latitude = parseFloat($$('.geo .latitude')[0].innerHTML);
		var longitude = parseFloat($$('.geo .longitude')[0].innerHTML);
		var point = new GLatLng(latitude, longitude);		

		map.setCenter(point, 13);
		var marker = new GMarker(point);
		map.addOverlay(marker);
		loaded = true;
	}
}
