var geomap;

function drawMap( data, region ) {
	var options = { dataMode: "regions",
					width: "1000",
					height: "600",
					showZoomOut: true,
					showLegend: false,
					region: region };
	geomap.draw(data, options);
};

function loadInitial() {
	var container = document.getElementById('map_canvas');
	geomap = new google.visualization.GeoMap(container);
	google.visualization.events.addListener(geomap, 'regionClick', selected);
	google.visualization.events.addListener(geomap, 'zoomOut', zoomout);
	loadData("world");
}

function selected(event) {
	loadData( event["region"] );
}

function zoomout(event) {
	loadData( "world" );
}

function loadData( region ) {
	if ( region == "world" || region.length == 2 ) {
		var params = { 
			command:"survey",
			region: region
		};
		$.get( "/ws/navigation.php", params, 
			function( raw, status ) {
				var mapData = new google.visualization.DataTable();
				mapData.addRows( raw.length );
				mapData.addColumn('string', 'LOCATION');
				mapData.addColumn('number', 'Places');
				mapData.addColumn('string', 'label');
				for ( var idx = 0 ; idx < raw.length ; idx++ ) {
					var entry = raw[idx];
					mapData.setValue( idx, 0, entry["iso3166"] );
					mapData.setValue( idx, 1, parseInt(entry["count"]) );
					mapData.setValue( idx, 2, entry["label"] );
				}				
								
				drawMap( mapData, region );
			},
			"json"
		);
	} else {
		setCookie( "region", region, 60 );
		window.location="/index.php";
	}
}
