function load () {
	
	var map = document.getElementById("map");
	
	if (GBrowserIsCompatible()) {

		var gmap = new GMap2(map);
		gmap.addControl( new GSmallMapControl() );
		gmap.addControl( new GMapTypeControl()) ;
		gmap.addControl( new GOverviewMapControl(new GSize(100,100)) );		
		gmap.setCenter ( new GLatLng(40.227056, -77.239243), 13 );
		
		function makeIcon (image) {
			var icon = new GIcon();
			icon.image = image;
			icon.iconSize = new GSize(90, 45);
			icon.iconAnchor = new GPoint(8, 16);
			icon.infoShadowAnchor = new GPoint(0, 0);
			icon.infoWindowAnchor = new GPoint(8, 1);	
			return icon;
		}
		
		function formatTabOne (input) {				
			var html 	 = "<div class=\"bubble\">";
			html 		+= "<h1>" + input.locationName + "</h1>";			
			html 		+= "<p>" + input.information + "</p>";
			html		+= "</div>";					
			return html;			
		}
		
		function formatTabTwo (input) {
			var html 	 = "<div class=\"bubble\">";
			html		+= "<p>"
			if(input.phone != null) {
				html 	+= "<strong>Phone:</strong> " + input.phone + "<br />";
			}		
			if(input.hours != null) {
				html 	+= "<strong>Hours:</strong> " + input.hours + "<br />";
			}
			html 		+= "</p></div>";					
			return html;			
		}
					
	    function createMarker(input) {
		
			var marker = new GMarker(input.point, makeIcon(input.markerImage) );						
			var tabs_array	= [ new GInfoWindowTab("Preview", formatTabOne(input) ),
			 					new GInfoWindowTab("Information", formatTabTwo(input) ) ];
						
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowTabsHtml(tabs_array);
			});
			
			return marker;
		}

		function parseJson (doc) {
						
			var jsonData = eval("(" + doc + ")")
					
	        for (var i = 0; i < jsonData.markers.length; i++) {
				var marker = createMarker(jsonData.markers[i]);
				gmap.addOverlay(marker);
			}			
		}     	
		
		GDownloadUrl("points.json", function(data, responseCode) { 
			parseJson(data);
		});
	
	} else {
		alert("Sorry, your browser cannot handle the true power of Google Maps");
	}
}
window.onload = load;
window.onunload = GUnload;