var geocoder = new GClientGeocoder();
var map;

var maplat = 54;
var maplng = -114;
var mapzoom = 4;

function initMap()
{
	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("station-map"));
    map.setCenter(new GLatLng(54, -114), 4);
		GDownloadUrl("/station-map.php", function(data, responseCode) {
			var xml = GXml.parse(data);
			var stations = xml.documentElement.getElementsByTagName('station');
			for (var i = 0; i < stations.length; i++)
			{
				var lats = stations[i].getElementsByTagName('lat');
				if (lats.length > 0)
				{
					var _lat = lats[0].firstChild.nodeValue;
				}
				else
				{
					var _lat = "";
				}

				var lngs = stations[i].getElementsByTagName('lng');
				if (lngs.length > 0)
				{
					var _lng = lngs[0].firstChild.nodeValue;
				}
				else
				{
					var _lng = "";
				}

				var titles = stations[i].getElementsByTagName('title');
				if (titles.length > 0)
				{
					var _title = titles[0].firstChild.nodeValue;
				}
				else
				{
					var _title = "";
				}

				var cities = stations[i].getElementsByTagName('city');
				if (cities.length > 0)
				{
					var _city = cities[0].firstChild.nodeValue;
				}
				else
				{
					var _city = "";
				}

				var provstates = stations[i].getElementsByTagName('provstate');
				if (provstates.length > 0)
				{
					var _provstate = provstates[0].firstChild.nodeValue;
				}
				else
				{
					var _provstate = "";
				}

				var addresses = stations[i].getElementsByTagName('address');
				if (addresses.length > 0)
				{
					var _address = addresses[0].firstChild.nodeValue;
				}
				else
				{
					var _address = "";
				}

				var strFunc = "";

				strFunc += "\tif (point) {\r\n";
				strFunc += "\t\tvar marker = new GMarker(point);\r\n";
				strFunc += "\t\tGEvent.addListener(marker, 'click', function() {\r\n";
				strFunc += "\t\t\tmap.setCenter(marker.getLatLng(), 14);\r\n";
				strFunc += "\t\t\tmarker.openInfoWindowHtml('<b>" + _title + "</b><br />" + _address + "<br />" + _city + ", " + _provstate + "');\r\n";
				strFunc += "\t\t});\r\n";
				strFunc += "\t\tGEvent.addListener(marker, 'infowindowclose', function() {\r\n";
				strFunc += "\t\t\tmap.setCenter(new GLatLng(maplat, maplng), mapzoom);\r\n";
				strFunc += "\t\t});\r\n";
				strFunc += "\t\tmap.addOverlay(marker);\r\n";
				strFunc += "\t}\r\n";

				var point = new GLatLng(_lat, _lng);
				eval(strFunc);

				//geocoder.getLatLng(_address + " " + _city + " " + _provstate, eval(strFunc));
			}
		});
	}
}

addEvent(window, 'load', initMap, false);
