var map;
var label;

function load() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(52.520829, 13.408409), 12);
	map.enableContinuousZoom();
  }
}

function showTrack(track) {
	
	map.clearOverlays();
	if(document.getElementById("label"))
		map.removeTLabel(label);
		
	var bounds = new GLatLngBounds();
	GDownloadUrl("http://faked.org/gps/plt2kml/index.php?track=" + track, function(data, responseCode) {
					
    	var xml = GXml.parse(data);
    	var trackpoints = xml.documentElement.getElementsByTagName("point");
    	var points=Array();
	    for (var i = 0; i < trackpoints.length; i++) {
	    	var point = new GLatLng(parseFloat(trackpoints[i].getAttribute("lat")),
	                             parseFloat(trackpoints[i].getAttribute("lon")));
			points.push(point);
			bounds.extend(point);
	    }
	    map.addOverlay(new GPolyline(points, "#ff0000", 2, 1));

	    var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) /2;
		var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) /2;
		map.panTo(new GLatLng(clat,clng));
	    
	    var dist = xml.documentElement.getElementsByTagName("distance");
	    var distance = dist[0].getAttribute("km");
	    
		var date = xml.documentElement.getElementsByTagName("date");
		var day = date[0].getAttribute("day");
		var startTime = date[0].getAttribute("start");
		var endTime = date[0].getAttribute("end");
		var duration = date[0].getAttribute("dur");
		
		var speed = xml.documentElement.getElementsByTagName("speed");
		var avgSpeed = speed[0].getAttribute("avg");
		var maxSpeed = speed[0].getAttribute("max");
				
		var labelContent = '<div class="label">'
			+ '<nobr>Datum: ' + day + '</nobr><br />'
			+ '<nobr>Start: ' + startTime + '</nobr><br />'
			+ '<nobr>Ende: ' + endTime + '</nobr><br />'
			+ '<nobr>Dauer: ' + duration + '</nobr><br />'
			+ '<nobr>Strecke: ' + distance + ' km</nobr><br />'
			+ '<nobr>AvgSpd: ' + avgSpeed + ' km/h</nobr><br />'
			+ '<nobr>MaxSpd: ' + maxSpeed + ' km/h</nobr><br />'
			+ '</div>';
			
		label = new TLabel();
		label.id = 'label';
		label.anchorLatLng = bounds.getNorthEast();
		label.anchorPoint = 'topLeft';
		label.content = labelContent;
		label.percentOpacity = 80;
		map.addTLabel(label);
    });
    
}


