if (window.addEventListener) {
	window.addEventListener('unload',unloadPage,false)
} else if (!window.addEventListener && window.attachEvent) {
	window.attachEvent('onunload', unloadPage);
}

var addresses = new Array();

function unloadPage() {
	GUnload();
}

function displayAddrMap() {
	var centerLat=0;
	var centerLng=0;
	for (var x=0; x < addresses.length; x++) {
		if (addresses[x]['lat'] != undefined && addresses[x]['lat'].toString().length > 0) {
			centerLat = addresses[x]['lat'];
			centerLng = addresses[x]['lng'];
			break;
		}
	}

	function createMapMarker(point, html) {
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
		});
		return marker;
	}


	var mapDiv = document.getElementById('locMap');
	var toggleText = document.getElementById('displayAddrLink');
	var linkToGMaps = document.getElementById('linkToGMaps');

	var newStyle = "";
	var newText = 'Hide Map';	
	if (mapDiv.style.display=="none") {
	} else {
		newStyle = "none";
		newText = "View Map";
	}

	mapDiv.style.display=newStyle;
	clear(toggleText);
	clear(linkToGMaps);
	toggleText.appendChild(document.createTextNode(newText));

	if (mapDiv.style.display=="") {
		/* Create the link to google's page */
		var gLink = document.createElement('a');
		gLink.target = "_new";
		gLink.href = "http://maps.google.com/maps?q=" + centerLat + ", " + centerLng;
		gLink.appendChild(document.createTextNode("Open in Google Maps"));
		linkToGMaps.appendChild(document.createTextNode(' | '));
		linkToGMaps.appendChild(gLink);
		
		/* Create the map */
		var map = new GMap2(mapDiv);
		var latlng = new GLatLng(centerLat, centerLng);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl()) ;
		map.setCenter(latlng, 15);

		/* Add a marker at the points of interest */
		for (var x=0; x < addresses.length; x++) {
			var addr = addresses[x];
			if (addr['lat'] != undefined && addr['lat'].toString().length > 0) {
				
				var markerlatlng = new GLatLng(addr['lat'], addr['lng']);
				var html = addr['streetAddr'];
				if (html.length > 0) {
					html += '<br>';
				}
				if (addr['cityName'].length > 0) {
					html += addr['cityName'] + '<br>';
				}

				var marker = createMapMarker(markerlatlng, html);
				map.addOverlay(marker);
			}
		}
	} 
}
