function loadMap(mapEl, streetViewEl, addr){
	if(GBrowserIsCompatible()){
		var map = new GMap2(mapEl);
		var streetView = new GStreetviewPanorama(
			streetViewEl,
			{
				'features': { 'userPhotos': false }
			}
		);
		
		map.setCenter(new GLatLng(-27.293689, 133.066406), 3);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		
		function handleNoFlash(errorCode) {
		  if (errorCode == 603) {
		    alert("Flash doesn't appear to be supported by your browser, you will need Flash for Google Street View.");
		    return;
		  }
		}
		
		function setStreetViewLocation(overlay, latlng){
			if(latlng){
				streetView.setLocationAndPOV(latlng);
			}
		}
		
		GEvent.addListener(map, "click", setStreetViewLocation);
		GEvent.addListener(streetView, "error", handleNoFlash);
		
		svOverlay = new GStreetviewOverlay();
		map.addOverlay(svOverlay);
		
		var geoCoder = new GClientGeocoder();
		geoCoder.getLatLng(
			addr,
			function(point){
				if(!point){
					alert('Address cannot be found!');
				}else{
					map.setCenter(point, 16);
					streetView.setLocationAndPOV(point);
					
					var marker = new GMarker(point);
					map.addOverlay(marker);
				}
			}
		);
	}
}
