Ext.ns('component');

component.drive = new function() {
	this.loadMap = function(title, subtitle, zip, city, street, number) {
		if(street != '' && zip != '') {
			if(GBrowserIsCompatible()) {
				var map_canvas = document.getElementById("drive-map");
				var map = new GMap2(map_canvas);
				var geocoder = new GClientGeocoder();
				var marker = null;
				
				// Die Variablen für die "Route hierher" funktion erzeugen
				var city_x = "+"+city;
				var street_x = street.replace(/ /, "+");
				street_x = street_x+"+"+number;
				
				var route_link = "http://maps.google.de/maps?f=d&source=s_d&saddr=&daddr="+ street_x +",+"+ zip + city_x +"&hl=de&z=13";
				
				// Die Adresse aus Strasse und Hausnummer erzeugen
				var adress = street+" "+number;
				
				map.addControl(new GSmallMapControl());
				
				var mark_title = "<span class='main-title'>"+ title +"</span>";
				var mark_subtitle = "<span class='sub-title'>"+ subtitle +"</span>";
				var mark_adress = "<span>"+ street +" "+ number +"</span><br /><span>"+ zip +" "+ city +"</span>";
				
				geocoder.getLatLng(street + " " + zip + " " +city,
					function(point) {
						if(point) {
							marker = new GMarker(point);
							map.setCenter(point, 13);
							map.addOverlay(marker);
							
							GEvent.addListener(marker, "click", function() {
			  					marker.openInfoWindowHtml("<p class='map-window-title'>"+ mark_title +"<br />"+ mark_subtitle +"</p><p class='map-window-adress'>"+ mark_adress +"</p><p class='map-window-link'><a href='"+ route_link +"' target='_blank'>Route hierher</a></p>");
			  				});
						} else {
							map.setCenter(new GLatLng(49.892548, 8.943069), 13);
						}
					}
				);
				
				
			}
		}
	};
}
