////////////////////////////////////////////////////////////////
//
// geografische Platzierung von Standorten auf Karte
// 
// basiert auf Google-maps.
//
////////////////////////////////////////////////////////////////

	
		function loadMap()
	
		{
			
			if (GBrowserIsCompatible())
			{
				
				map = new GMap2(document.getElementById("map"));
				iconSP = new GIcon();
				iconVP = new GIcon();

							iconSP.image = '/wDeutsch/wGlobal/layout/images/icons/map_icon.png';
							iconSP.shadow = '/wDeutsch/wGlobal/layout/images/icons/map_icon_shadow.png';
							iconSP.iconSize = new GSize(42, 34);
							iconSP.shadowSize = new GSize(63, 39);
							iconSP.iconAnchor = new GPoint(20, 20);
							iconSP.infoWindowAnchor = new GPoint(20, 14);
							iconSP.infoShadowAnchor = new GPoint(20, 15);
							
							iconVP.image = '/wDeutsch/wGlobal/layout/images/icons/map_icon.png';
							iconVP.shadow = '/wDeutsch/wGlobal/layout/images/icons/map_icon_shadow.png';
							iconVP.iconSize = new GSize(42, 34);
							iconVP.shadowSize = new GSize(63, 39);
							iconVP.iconAnchor = new GPoint(20, 20);
							iconVP.infoWindowAnchor = new GPoint(20, 14);
							iconVP.infoShadowAnchor = new GPoint(20, 15);
							
	
				geocoder = new GClientGeocoder();
	
				// set default to first entry
				
	
				// add controls
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				map.addControl(new GOverviewMapControl());
				map.enableContinuousZoom();
				map.enableDoubleClickZoom();
				

			
				
			}
		}
	
		function findAddress(cName, cAddress, iconType, mZoom)
	
		{ 
	    
			if (marker != null)
			{
				map.removeOverlay(marker);
			}
			
			
			if (mZoom == '1')
			
			{
				if (geocoder)
				{ 
					geocoder.getLatLng(cAddress, function(point) {
						if (!point)
						{
							//alert(cName + "\n" + cAddress + "\nwurde nicht gefunden");
						}
		
						else
						{
							function createMarker(point,html) {
								
								if (iconType == 'haendler_SP')
									{
										var marker = new GMarker(point, {icon:iconSP});
									}
								else
									{
										var marker = new GMarker(point, {icon:iconVP});
									}
					
								
								// Zeige Info Fenster bei Klick
								GEvent.addListener(marker, 'click', function() {
								marker.openInfoWindowHtml(html);
								});
								return marker;
							}
								
							
							var marker = createMarker(point,'');
		
							var info     = "<b>" + cName + "</b><br />" + cAddress;
							
							newpoint = marker.getPoint();
		
							GEvent.addListener(marker, "click", function() {
								marker.openInfoWindowHtml(info);});
							
							// Zoom-Wert, mit dem die Karte angezeigt wird. Der Sollte noch der Streuung der Punkte angepasst werden.
				
							// Generierung der Karte
	
							map.setCenter(point, 5);
							
							// Darstellen der Marker auf der Karte
							map.addOverlay(marker);
							
							
						}
					});
				}
			}
			
			else
			{
				if (geocoder)
				{ 
					geocoder.getLatLng(cAddress, function(point) {
						if (!point)
						{
							//alert(cName + "\n" + cAddress + "\nwurde nicht gefunden");
						}
		
						else
						{
							function createMarker(point,html) {
								
								
								if (iconType == 'servicepartner')
									{
										var marker = new GMarker(point, {icon:iconSP});
									}
								else
									{
										var marker = new GMarker(point, {icon:iconVP});
									}
					
								
								// Zeige Info Fenster bei Klick
								GEvent.addListener(marker, 'click', function() {
								marker.openInfoWindowHtml(html);
								});
								return marker;
								}
								
							
							var marker = createMarker(point,'');
		
							var info     = "<b>" + cName + "</b><br />" + cAddress;
							
							newpoint = marker.getPoint();
		
							GEvent.addListener(marker, "click", function() {
								marker.openInfoWindowHtml(info);});
							
							// Zoom-Wert, mit dem die Karte angezeigt wird. Der Sollte noch der Streuung der Punkte angepasst werden.
				
							// Generierung der Karte
	
							map.setCenter(point, 8);
							
							// Darstellen der Marker auf der Karte
							map.addOverlay(marker);
							
							
						}
					});
				}
			
			}
			

	  }
	