var googleMap;
function initMap(mapId,isShowControls) {

	googleMap = new GMap2(document.getElementById(mapId), {draggableCursor: 'crosshair', draggingCursor: 'crosshair'});
	
	if ( isShowControls){
		googleMap.addControl(new GSmallMapControl());
		// googleMap.addControl(new GMapTypeControl());  // Select satellite, ...
	}
  	//addMapListeners(googleMap);
}

//  If isBoundedZoom = true, then set the map to show all the 
//  currently placed markers.  Otherwise zoom will be set to 
//  3rd optional variable (zoomLevel)
//  If the "mapCenter" is provided, then the map will be centered on that
//	GLatLang else it will be centered on the bounds 
function updateGoogleMap(gMarkers, isBoundedZoom, zoomLevel, mapCenter){
	
	var bounds = new GLatLngBounds();
    for (var i = 0; i < gMarkers.length; i++){
		if ( i == 0) {        
			googleMap.setCenter(gMarkers[i].getPoint(), 0);
		}
		bounds.extend(gMarkers[i].getPoint());
	    googleMap.addOverlay(gMarkers[i]);     
	}	

	//  Must set map center before zoom else map will not zoom properly	
	if ( mapCenter == null || mapCenter == 'undefined') {
		googleMap.setCenter(bounds.getCenter());
	} else {
		googleMap.setCenter(mapCenter);
	}
	
	//  Call zoom after setting map center else map will not zoom properly
	if (isBoundedZoom) {
		googleMap.setZoom(googleMap.getBoundsZoomLevel(bounds));
	} else {
		googleMap.setZoom(zoomLevel);
	}
	
	//  Could also reposition on a marker once it's loaded...
	//  window.setTimeout("showMarkerOnMap(0)", 1500);
}

// Not used anymore
// Displayed lat/long message upon double click
var bDoubleClickHappened = false;
function addMapListeners(){
	GEvent.addListener(googleMap, "moveend", function() {
		if (bDoubleClickHappened){			
			var curCenter = googleMap.getCenter();
	        // alert("Map center: " + curCenter);
	      	document.getElementById("message").innerHTML = curCenter.toString();
			bDoubleClickHappened = false;
		} 
	});		
}    

if (navigator.appName == 'Microsoft Internet Explorer'){		
	document.ondblclick = handleDblClick;
	bIsIE = true;
} else {
	window.ondblclick = handleDblClick;
	bIsIE = false;			
}

function handleDblClick(e) {
	bDoubleClickHappened = true;
}
