var map;
var overlays = [];
var tracknames = new Array();
var trackindex = new Array();
var colors = [ '#0000ff', '#ff0000', '#00ff00', '#ff00ff' ];
var gpxlistxml = null;

var gpxlistfile = "/~dorm/gps/gpxlist.xml";

google.load("maps", "2.x");

function maps_initialize() {

	resizemap();
	map = new google.maps.Map2(document.getElementById("map"));

	map.setUIToDefault();
	map.setMapType(G_NORMAL_MAP);

	map.setCenter(new google.maps.LatLng(41.98, -91.66), 11);


	selectgpx('http://www.urbanthinking.org/maps/gpx/01-firstave.gpx', '#ff0000');
	selectgpx('http://www.urbanthinking.org/maps/gpx/02-edgewood.gpx', '#0000ff');
	selectgpx('http://www.urbanthinking.org/maps/gpx/03-blairsferry.gpx', '#00ff00');
	selectgpx('http://www.urbanthinking.org/maps/gpx/04-boysonsq.gpx', '#00bfff');
	selectgpx('http://www.urbanthinking.org/maps/gpx/05-42ndstreet.gpx', '#9400d3');
	selectgpx('http://www.urbanthinking.org/maps/gpx/06-Hiawatha.gpx', '#7C4033');
	selectgpx('http://www.urbanthinking.org/maps/gpx/07-kirkwoodW.gpx', '#ff00ff');
	selectgpx('http://www.urbanthinking.org/maps/gpx/08-kirkwoodB.gpx', '#000000');
	selectgpx('http://www.urbanthinking.org/maps/gpx/09-northboyson.gpx', '#ff1493');
	selectgpx('http://www.urbanthinking.org/maps/gpx/10-mtvernoon.gpx', '#FFFF00');
	selectgpx('http://www.urbanthinking.org/maps/gpx/11-SE.gpx', '#008080');
	selectgpx('http://www.urbanthinking.org/maps/gpx/12-ellis.gpx', '#00F00F');



// #6B238E purple
// FF7F00


}

google.setOnLoadCallback(maps_initialize);


function selectgpx(gpxfile, color) {

	var gpx = GDownloadUrl(gpxfile, function(data, respcode) {
		var xml = GXml.parse(data);

			var tracks = xml.documentElement.getElementsByTagName("rte");

			for(var i=0; i < tracks.length; i++) {
				var name = tracks[i].getElementsByTagName("name");
				if(name.length > 0) {
					name = name[0].textContent;
				} else {
					name = "";
				}

				//var segments = tracks[i].getElementsByTagName("trkseg");
				//var thisbound;
				//for(var j=0; j < segments.length; j++) {
				//	thisbound = addsegment(segments[j], name, color);
				//}
				thisbound = addsegment(tracks[i], name, color);

			}

	});

}


function addsegment(segment, name, color) {

	var trackpoints = segment.getElementsByTagName("rtept");
	if (trackpoints.length == 0) {
		return; //latlngbounds;
	}

	var pointarray = [];

	// process first point
	var lastlon = parseFloat(trackpoints[0].getAttribute("lon"));
	var lastlat = parseFloat(trackpoints[0].getAttribute("lat"));
	var latlng = new GLatLng(lastlat,lastlon);
	pointarray.push(latlng);

	for (var i = 0; i < trackpoints.length; i++)
	{
		var lon = parseFloat(trackpoints[i].getAttribute("lon"));
		var lat = parseFloat(trackpoints[i].getAttribute("lat"));

		lastlon = lon;
		lastlat = lat;
		latlng = new GLatLng(lat,lon);
		pointarray.push(latlng);

	}

	var polyline = new GPolyline(pointarray, color, 4);

	overlays.push(polyline);

	map.addOverlay(polyline);

	return;
}




function resizemap() {
	mapdiv = document.getElementById("map");
	//mapdiv.style.width = document.documentElement. clientWidth + "px";
	//mapdiv.style.height = document.documentElement. clientHeight + "px";
	mapdiv.style.width = '1000px';
	mapdiv.style.height = '800px';
}

