

//window.onload = load_map();

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// initiate global map objects
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

var map;

var mainMapWrapper = document.getElementById('mainmapcont');

var mainMapContainer = document.getElementById('mainmap');



// TEMP: 

var centreLat = 12.39365900;

var centreLong = 104.89746100;


var zoomLevel = 7;


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// define standard control positions
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

var topLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,10));
var topLeftSub = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,60));
var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(5,5));
var bottomLeft = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,40));
var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(3,3));
var bottomRightAbove = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(3,27));



/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
// function load_map()
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

/**
 * Loads map and adds media overlay if required
 * 
 * 
 * @param {string} layerSource
 * 
 * 
 * // TODO: variable global params
 * lat/long for various place levels
 * 
 * 
 */

// main map
function load_map(layerSource) {
	
	
	map = new google.maps.Map2(mainMapContainer);
	
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	// map properties
	
	map.setMapType(G_HYBRID_MAP);
	
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	// map methods
	
	//map.enableRotation();
	
	// map.enableContinuousZoom(); ??
	
	// map.enableGoogleBar(); ??
	
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	// add controls
	
	map.addControl(new GLargeMapControl3D(), topLeft);
	
	map.addControl(new GMapTypeControl(), topRight);
	
	map.addControl(new GScaleControl(), bottomLeft);
	
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	// overview map
	
	var overviewMap = new GOverviewMapControl(new GSize(200,150));
	
	overviewMap.setMapType(G_HYBRID_MAP);
	
	map.addControl(overviewMap); // , topLeft
	
	// You can capture the "maptypechanged" event and set the maptype in your eventhandler
	// overviewMap.setMapType(G_NORMAL_MAP);	
	
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	// define and set center
	
	var centerPoint = new GLatLng(centreLat, centreLong);
	
	map.setCenter(centerPoint, zoomLevel);
	
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	// if a media source layer required
	
	if (layerSource != '') {
		
		map.addOverlay(new GLayer(layerSource));
		
	}
	
	/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
	
}

