var Route = function () {}
Route.prototype.setDirections = function () {
	if(this.form.start.value==""){
		alert("Bitte gegen Sie eine Startadresse ein");
	}else{
		while (this.directions.hasChildNodes()) {
			this.directions.removeChild(this.directions.firstChild);
		}
		document.getElementById("map").style.display = "block";
		//console.log("from: " + this.form.start.value + " to: " + this.dest.replace(/\\/, ''));
		this.gdir.load("from: " + this.form.start.value + " to: " + this.dest.replace(/\\/, ''), { "locale": 'de_DE' });
	}
}


Route.prototype.handleErrors = function (){
   if (this.gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	 alert("Mindestens eine Adresse konnte nicht gefunden werden. Entweder die Adresse ist sehr neu, nicht eindeutig oder sie ist falsch. Versuchen Sie es mir der Angabe Stadt, PLZ erneut.\nError code: " + this.gdir.getStatus().code);
   else if (this.gdir.getStatus().code == G_GEO_SERVER_ERROR)
	 alert("Auf Grund eines unbekannten Adress-Fehlers konnte die Route nicht berechnet werden.\n Error code: " + this.gdir.getStatus().code);
   
   else if (this.gdir.getStatus().code == G_GEO_MISSING_QUERY)
	 alert("Bitte geben Sie eine gültige Adresse an.\n Error code: " + this.gdir.getStatus().code);
     
   else if (this.gdir.getStatus().code == G_GEO_BAD_KEY)
	 alert("Zur Zeit kann Ihre Route leider nicht berechnet werden. \n Error code: " + this.gdir.getStatus().code);

   else if (this.gdir.getStatus().code == G_GEO_BAD_REQUEST)
	 alert("Eine Adresse konnte leider nicht ermittelt werden.\n Error code: " + this.gdir.getStatus().code);
	
   else alert("Ein unbekannter Fehler ist aufgetreten.");
   
}

eventHandler.addLoadEvent(function () {
	if (document.forms.routeForm) {
		route = new Route;
		eventHandler.addEvent(document.forms.routeForm, 'submit', function (e) {
			e=eventHandler.getEvent(e);
			e.preventDefault();
			if (GBrowserIsCompatible()) {    
				document.getElementById("routeMap").style.height = "400px";
				route.form = document.forms.routeForm;
				route.directions = document.getElementById("directions");  
				route.map = new GMap2(document.getElementById("routeMap"));
				route.gdir = new GDirections(route.map, route.directions);
				GEvent.addListener(route.gdir, "error", route.handleErrors.bindTo(route));
				route.setDirections();
			}
		})
	}
})