var map1 = null;
var mgr1 = null;
var Mapping = 
{

	init: function() {
		Core.addEventListener(window, "unload", GUnload);
		if (GBrowserIsCompatible()) {
			map1 = new GMap2(document.getElementById("js_map"));
			map1.addControl(new GLargeMapControl());
			map1.setCenter(new GLatLng(latval, lngval), zoomval);
			map1.disableDoubleClickZoom();

			mgr1 = new MarkerManager(map1);
			
			var currentTime = new Date();
			var topfile = '/' + city + '/topplaces.xml?dt=' + currentTime.getTime();

			GDownloadUrl(topfile, function(data, responseCode) {
				var batch = [];
				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
					var marker = Mapping.createMarker(city, map1, point, markers[i].getAttribute("place"), markers[i].getAttribute("heading"), markers[i].getAttribute("blurb"));
					batch.push(marker);
				}
				mgr1.addMarkers(batch, 11);
				mgr1.refresh();
			});
			/*
			var placefile =  '/' + city + '/places.xml?dt=' + currentTime.getTime();
			GDownloadUrl(placefile, function(data, responseCode) {
				var batch = [];
				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
					var marker = Mapping.createMarker(city, map1, point, markers[i].getAttribute("place"), markers[i].getAttribute("heading"), markers[i].getAttribute("blurb"));
					batch.push(marker);
				}
				mgr1.addMarkers(batch, 13);
				mgr1.refresh();
			});
			*/
		}
	},

	createMarker: function(city, thismap, point, place, heading, blurb) {
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			if (heading == null) heading = place;
			var hOut = heading.substring(0, 1).toUpperCase() + heading.substring(1);
			var myHtml = '<a href="http://www.thumbprintcity.com/' + city + '/' + place + '">' + hOut + '</a>';
			if (blurb != '') myHtml += ' ' + blurb;

			windowOptions = { maxWidth:300 }; // there is some minimum value at work here
			thismap.openInfoWindowHtml(point, myHtml, windowOptions);
		});
		return marker;
	}

};

Core.start(Mapping);
