    /**
     *  Funktion zur Erzeugung des Tracklogs zur berechneten Route.
     */
    function gpxDownload(){
    
        if (!result.features[0]) {
            alert("Bitte erst eine Route berechnen!");
        }
        else {
            // zunaechst aufruf der routing-datei mit parameter exact, damit die route sortiert zurueckkommt
            // daraufhin wird die methode aufgerufen, die die rueckgabe fuer den tracklog vorverarbeitet.
            callRouting(getTracklog, 'true');
            
            document.getElementById("loadScreen").style.display = "block";
        }
    }
    
    /** 
     * Wird von gpxDownload() aufgerufen. Parsed die Rueckgabe der routing.php und gibt
     * sie an die gpx.php weiter.
     *
     * @param {XMLhtpRequest} response
     */
    function getTracklog(response){
    
        if (response && response.responseXML) {
        	document.getElementById("loadScreen").style.display = "none";
            var edges = response.responseXML.getElementsByTagName('edge');
            var wkts = new Array();
            // wkts parsen
            for (var i = 0; i < edges.length; i++) {
                wkts[wkts.length] = edges[i].getElementsByTagName('wkt')[0].firstChild.data;
            }
            // aus wkts einen string basteln
            for (var j = 0; j < wkts.length; j++) {
                if (j == 0) 
                    wktString = wkts[j];
                else 
                    wktString = wktString + ":" + wkts[j];
            }
            // random filename generieren
            gpxFilename[gpxFilename.length] = randomString(4);
            var params= "&name=" + gpxFilename[gpxFilename.length - 1] + "&modus=1&wkts=" + wktString;
            
			postRequest(params,"gpx.php",function(response){
				    self.location.href = "gpx.php?name=" + gpxFilename[gpxFilename.length - 1] + "&modus=3";
			});

                // mit dieser parameteruebergabemethode kann man beliebig lange url-string versenden!
                // wktstring und filename an gpx.php uebergeben

        }
    }
    
    function cleanup(){ 
        OpenLayers.Request.POST({
            url: "gpx.php",
            asynch: true,
            params: {
                filename: gpxFilename,
                modus: 2
            }
        });    
    }