var map;
var activeLayer;
var activeOverlay;

var flickrMarkers = [];

function loadMap() {
	
	map = new GMap2(document.getElementById('map'));
	
	GEvent.addListener(map, 'load', function() {
		$('#loading-msg').fadeOut();
	});
		
	//Set the initial center point
	var sw_point = new GLatLng(miny, minx);
	var ne_point = new GLatLng(maxy, maxx);
	var bbox = new GLatLngBounds(sw_point, ne_point);

	map.setUIToDefault();
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
	map.addControl(new GOverviewMapControl());
	
	map.addMapType(G_PHYSICAL_MAP);
	map.setMapType(G_SATELLITE_MAP );
	
	map.enableDoubleClickZoom();
	map.setCenter(bbox.getCenter(), map.getBoundsZoomLevel(bbox));
	
	var tilelayer = new GTileLayer(null, null, null, {
		isPng:true,
		opacity:1
	});
	
	tilelayer.getOpacity = function() { return this.opacity; }
	
	tilelayer.getTileUrl = getTcTiles;
	
	function getTcTiles (tile,zoom) {
		var ymax = 1 << map.getZoom();
		var y = ymax - tile.y -1;
		if (y % 2) {
			return 'http://mapdango1.greengis.com/'+park_code+'/'+zoom+'/'+tile.x+'/'+y+'.png';
		} else {
			return 'http://mapdango2.greengis.com/'+park_code+'/'+zoom+'/'+tile.x+'/'+y+'.png';
		}
	}
		
	activeOverlay = new GTileLayerOverlay(tilelayer, {zPriority:0});
	map.addOverlay(activeOverlay);
	
	//Add custom control for opacity
	if (document.getElementById('opacity-control')) {
		var addControl = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(275,7));
	document.getElementById('opacity-control').style.display='block';
	addControl.apply(document.getElementById('opacity-control'));
	map.getContainer().appendChild(document.getElementById('opacity-control'));
	}
	
	//Google Ads Manager
	var publisher_id = 'pub-9489596900474244';
	
	var adPos = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 90));

	adsManagerOptions = {
	maxAdsOnMap : 3,
	style: 'adunit',
	background: '#ff0000',
	position: adPos
	};
	
	//adsManager = new GAdsManager(map, publisher_id, adsManagerOptions);
	//adsManager.enable();

}

function layerOpacity(idx) {
	activeOverlay.getTileLayer().opacity = idx/100;
	map.removeOverlay(activeOverlay);
  	map.addOverlay(activeOverlay);
}

var wikipedia_layer;
function showWikipedia() {
	if ($('#wikipedia-toggle').is(':checked')) {
		if (!wikipedia_layer) {
			wikipedia_layer = new GLayer('org.wikipedia.en');
    		map.addOverlay(wikipedia_layer);
    	}
    	else {
    		wikipedia_layer.show();
    	}
    }
    else {
    	if (wikipedia_layer) {
    		wikipedia_layer.hide();
    	}
    }
}

var panoramio_layer;
function showPanoramio() {
	if ($('#panoramio-toggle').is(':checked')) {
		if (!panoramio_layer) {
			panoramio_layer = new GLayer('com.panoramio.all');
    		map.addOverlay(panoramio_layer);
    	}
    	else {
    		panoramio_layer.show();
    	}
    }
    else {
    	if (panoramio_layer) {
    		panoramio_layer.hide();
    	}
    }
}

var webcams_layer;
function showWebcams() {
	if ($('#webcams-toggle').is(':checked')) {
		if (!webcams_layer) {
			webcams_layer = new GLayer('com.google.webcams');
    		map.addOverlay(webcams_layer);
    	}
    	else {
    		webcams_layer.show();
    	}
    }
    else {
    	if (webcams_layer) {
    		webcams_layer.hide();
    	}
    }
}
