var map = null;
var geocoder = null;
var bikeMarkerOptions = null;
var tooltip = document.createElement("div");
tooltip.style.visibility = "hidden";
var gmarkers = [];
var htmls = [];
var j = 0;

var countryName = "";
var countryCode = "";
var areaName = "";
var subAreaName = "";
var localityName = "";
var point;

function initialize() {
	if (GBrowserIsCompatible()) {
		// set up map
		map = new GMap2(document.getElementById("map_canvas"));
		map.addControl(new GLargeMapControl());
		// google maps api requires us to call setCenter first before calling
		// any other operation on the map
		// map.setCenter(new GLatLng(30, 8), 2); // the whole world
		geocoder = new GClientGeocoder();

		// Create our "bike" marker icon
		// Create our "tiny" marker icon
		bikeicon = new GIcon();
		bikeicon.image = "http://maps.google.com/mapfiles/ms/micons/cycling.png";
		bikeicon.shadow = "http://maps.google.com/mapfiles/ms/micons/cycling.shadow.png";
		bikeicon.iconSize = new GSize(32, 32);
		bikeicon.shadowSize = new GSize(32, 59);
		bikeicon.iconAnchor = new GPoint(15, 27);
		bikeicon.infoWindowAnchor = new GPoint(21, 6);
		bikeicon.infoShadowAnchor = new GPoint(0, 0);

		// Set up our GMarkerOptions object literal
		bikeMarkerOptions = {
			icon : bikeicon
		};

		// set up tooltip for hover
		map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);

		// Go get 'home' map from back end...
		setupHomeMap();
	}
}

function setupHomeMap() {
	// fetch from server
	GDownloadUrl("/api/map/home", processHomeMap);
}

addLoadEvent(initialize);
