    var map;
    var geocoder;

	function initMap() {
			map = new GMap2(document.getElementById("map"));
			map.setCenter(new GLatLng(50.625073,10.195313), 5);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			geocoder = new GClientGeocoder();
		 
			function createMarker(point, number) {
				var marker = new GMarker(point);
				GEvent.addListener(marker, "click", function() {
					findLocation(number);
				});
				return marker;
			}
			var point = new GLatLng(48.242672, 9.866018);
			map.addOverlay(createMarker(point, "Neue Welt 20, 88471 Laupheim"));
			var point = new GLatLng(47.943716, 9.636831);
			map.addOverlay(createMarker(point, "Auf der Steige 46, 88326 Aulendorf"));
			var point = new GLatLng(48.508097, 8.881392);
			map.addOverlay(createMarker(point, "Hindenburgstraße 67, 72108 Rottenburg"));
			var point = new GLatLng(48.861539, 8.198905);
			map.addOverlay(createMarker(point, "Kaiserstraße 70, 76437 Rastatt"));
			var point = new GLatLng(48.030355, 10.733812);
			map.addOverlay(createMarker(point, "Alpina-Ring 9, 86807 Buchloe"));
			var point = new GLatLng(52.515699, 13.566575);
			map.addOverlay(createMarker(point, "Landhausring 3, 12683 Berlin"));			
	}
		

    function addAddressToMap(response) {
      if (!response || response.Status.code != 200) {
        alert("Sorry, we were unable to geocode that address");
      } else {
        place = response.Placemark[0];
        point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
		map.setCenter(point, 12);
        marker = new GMarker(point);
        map.addOverlay(marker);
      }
    }

    function showLocation() {
      var address = document.forms[0].q.value;
      geocoder.getLocations(address, addAddressToMap);
    }

    function findLocation(address) {
      geocoder.getLocations(address, addAddressToMap);
    }

