
 
 	function showMiniMap()
	{
		alert(0);
		if (GBrowserIsCompatible()) 
		{
			alert(1);
			var minimap = new GMap2(document.getElementById("id_googleMaps"));
			//var map = new GMap2(document.getElementById("map"));
			alert(2);
			minimap.setCenter(new GLatLng(49.3559, 8.78719), 15);
			alert(3);
		}
		alert(9);
	}


	function showMap(v)
	{
		if (v==0)
		{
			getElement('id','id_googleWrap').style.visibility='hidden';
			getElement('id','id_googleMaps').style.visibility='hidden';
			GUnload();
		}
		else
		{
			dx=getElement('name','hiddenInnerWidth',0).value;
			dy=getElement('name','hiddenInnerHeight',0).value;
			w=dx-200;h=dy-100;l=dx-w-4;t=30;h2=h-20;
			getElement('id','id_googleWrap').style.left=l;
			getElement('id','id_googleWrap').style.top=t;
			getElement('id','id_googleWrap').style.width=w;
			getElement('id','id_googleWrap').style.height=h+'px';
			getElement('id','id_googleMaps').style.width=w;
			getElement('id','id_googleMaps').style.height=h2+'px';
			divContextInfoBlock=1;
			getElement('id','id_googleWrap').style.visibility='visible';
			getElement('id','id_googleMaps').style.visibility='visible';
			//loadGoogleMaps();
		}	
	}


    function loadGoogleMaps() 
    {
    	//alert(lastMarker);
		if (GBrowserIsCompatible()) 
		{
			var map = new GMap2(document.getElementById("id_googleMaps"));
			//map = new GMap2(document.getElementById("id_googleMaps"));
			//map.addControl(new GLargeMapControl());
			map.setUIToDefault();
			////map.addControl(new GSmallMapControl());
			////map.addControl(new GLargeZoomControl());
			////map.addControl(new GSmallZoomControl());
			//map.addControl(new GOverviewMapControl());
			//map.addControl(new GMapTypeControl());
			//map.addControl(new GScaleControl());
			
			map.setCenter(new GLatLng(49.3559, 8.78719), 15);
			//50.450509  9.618530
			
			
				//map.openInfoWindow(map.getCenter(),"<strong>Heidelberger Hauptbahnhof</strong><br />Hier beginnen viele Touristen ihre<br /> Entdeckungsreise durch Heidelberg."); 
				//map.openInfoWindow(map.getCenter(),"<img src='pics/360/user_00013/20090306001306_IMG_1064_NZ2004_090305.cs3.800.q70.jpg' title='IMG_1064_NZ2004_090305.cs3.jpg' width=90px>Hallo"); 
			//map.openInfoWindowHtml(map.getCenter(),"<img src='pics/360/user_00013/20090306001306_IMG_1064_NZ2004_090305.cs3.800.q70.jpg' title='IMG_1064_NZ2004_090305.cs3.jpg' width=90px>Hallo"); 
			map.showMapBlowup(map.getCenter());
		}
		
		GEvent.addListener(map, "click", 
		    function(marker, point) 
		    {  
				//var m = map.fromLatLngToDivPixel(new GLatLng(mouselat,mouselng)); 
		        //var c = map.fromLatLngToDivPixel(map.getCenter()); 
	        
		    	if (marker) 
		    	{    
		    		map.removeOverlay(marker);  
		    		document.getElementById('id_contextInfo').innerHTML='TEST';
		    		//document.getElementById('id_contextInfo').innerHTML=map.fromDivPixelToLatLng(pixel).lat;
		    	} 
		    	else
		    	{    
		    		//map.removeOverlay(marker);  
		    		map.removeOverlay(lastMarker);  
		    		lastMarker=new GMarker(point);
		    		map.addOverlay(lastMarker);
		    		//map.addOverlay(new GMarker(point));
		    		//document.getElementById('id_contextInfo').innerHTML='Hallo Alex!!!!';
					document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+mouselng+' - lat: '+mouselat;
					getElement('id','hiddenLat').value=mouselat;
					getElement('id','hiddenLng').value=mouselng;
		    	}
		    }
		
		);
		
		GEvent.addListener
		(map, "mousemove", 
			function(point) 
			{ 
				mouselat = point.y.toFixed(6); 
				mouselng = point.x.toFixed(6); 
				//alert(0);
				document.getElementById('id_GW_showGeoCoord').innerHTML='lng: '+mouselng+' - lat: '+mouselat;
				document.getElementById('id_contextInfo').innerHTML=mouselng+'<br>'+mouselat;
			}
		); 
    }
    
    
    function showGoogleMapsForGeocoding(map) 
    {
    	//alert(lastMarker);
		if (GBrowserIsCompatible()) 
		{
			//var map = new GMap2(document.getElementById("id_googleMaps"));
			map.addControl(new GLargeMapControl());
			map.addControl(new GOverviewMapControl());
			map.addControl(new GMapTypeControl());
			map.addControl(new GScaleControl());
			
			//map.setCenter(new GLatLng(49.3559, 8.78719), 15);
			//50.450509  9.618530
		}
		
		GEvent.addListener(map, "click", 
		    function(marker, point) 
		    {  
				//var m = map.fromLatLngToDivPixel(new GLatLng(mouselat,mouselng)); 
		        //var c = map.fromLatLngToDivPixel(map.getCenter()); 
	        
		    	if (marker) 
		    	{    
		    		map.removeOverlay(marker);  
		    		document.getElementById('id_contextInfo').innerHTML='TEST';
		    		//document.getElementById('id_contextInfo').innerHTML=map.fromDivPixelToLatLng(pixel).lat;
		    		
		    	} 
		    	else
		    	{    
		    		//map.removeOverlay(marker);  
		    		map.removeOverlay(lastMarker);  
		    		lastMarker=new GMarker(point);
		    		map.addOverlay(lastMarker);
		    		//map.addOverlay(new GMarker(point));
		    		//document.getElementById('id_contextInfo').innerHTML='Hallo Alex!!!!';
		    		//document.getElementById('id_contextInfo').innerHTML=mouselng+'<br>'+mouselat;
					//document.getElementById('id_GW_showGeoCoord').innerHTML='FIXED: '+mouselng;
					document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+mouselng+' - lat: '+mouselat;
					getElement('id','hiddenLat').value=mouselat;
					getElement('id','hiddenLng').value=mouselng;
		    	}
		    }
		
		);
		
		GEvent.addListener
		(map, "mousemove", 
			function(point) 
			{ 
				mouselat = point.y.toFixed(6); 
				mouselng = point.x.toFixed(6); 
				//alert(mouselat);
				document.getElementById('id_GW_showGeoCoord').innerHTML='lng: '+mouselng+' - lat: '+mouselat;
				document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+mouselng+' - lat: '+mouselat;
			}
		); 
    }
    









	function createAllMarkers(refLat,refLng,map,tooltip)
	{
		/*
		0: objID
		1: lat
		2: lng
		3: img-Tag
		*/

		var lat=0;
		var lng=0;
		//var firstLat=0;
		//var firstLng=0;

		var gmarkers = []; // für die Marker
		var htmls = [];
		var marker_i = 0;
		var pts=[];
		var pts_i=0;

		function showTooltip(marker) 
		{
			tooltip.innerHTML = marker.tooltip;
			var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
			var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
			var anchor=marker.getIcon().iconAnchor;
			var width=marker.getIcon().iconSize.width;
			var height=tooltip.clientHeight;
			var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width-10, offset.y - point.y -anchor.y -height+10)); 
			pos.apply(tooltip);
			tooltip.style.visibility="visible";
		}


		var Icon = new GIcon();
		Icon.image = "pics/system/gmIconImage.png";
		Icon.iconSize = new GSize(16, 16);
		Icon.shadow = "myshadow.png";
		//Icon.shadowSize = new GSize(36, 34);
		Icon.iconAnchor = new GPoint(8, 8);
		Icon.infoWindowAnchor = new GPoint(8, 8);







		function createMarker(point,name,html) 
		{
			var marker = new GMarker(point,Icon);
			// === store the name so that the tooltip function can use it ===
			marker.tooltip = '<div>'+html+'<\/div>';
			GEvent.addListener
			(
				marker, "click", function() 
				{
					marker.openInfoWindowHtml(html);
				}
			);
			
			gmarkers[marker_i] = marker;
			htmls[marker_i] = html;
			//side_bar_html += '<a href="javascript:myclick(' + marker_i + ')" onmouseover="mymouseover('+marker_i+')" onmouseout="mymouseout()">' + name + '<\/a><br>';
			marker_i++;
			map.addOverlay(marker);
			
			//  ======  The new marker "mouseover" and "mouseout" listeners  ======
			GEvent.addListener
			(
				marker,"mouseover", function() 
				{
					showTooltip(marker);
				}
			);
			
			GEvent.addListener
			(
				marker,"mouseout", function() 
				{
					//tooltip.style.visibility="hidden";
				}
			);        
		}














		var n_allPoints=arrGM.length;
		for ( var i=0, len=n_allPoints; i<len; i++ )
		{
			if (arrGM[i][1]!=0 && arrGM[i][1]!="" && arrGM[i][2]!=0 && arrGM[i][2]!="")
			{
				//alert(arrGM[i][0]);
				lat=arrGM[i][1]/1000000;
				lng=arrGM[i][2]/1000000;

				if (refLat==0){refLat=arrGM[i][1]/1000000;refLng=arrGM[i][2]/1000000;}
				//alert(lng);

				if (Math.abs(refLat-lat)<=10 && Math.abs(refLng-lng)<=10) // damit zu weit entfernete Koos nicht mt eingebunden werden
				{
					//map.addOverlay(new GMarker(new GLatLng(lat,lng)));
					createMarker(new GLatLng(lat,lng),arrGM[i][3],arrGM[i][4])
					currentPts[pts_i] = new GLatLng(parseFloat(lat),parseFloat(lng));
					//alert(lat);
					pts_i++;
				}
			}
		}
		//map.addOverlay(new GPolyline(pts,'#0000ff',2));

	}





	function get_GMapType(geo_mapType)
	{
		switch (geo_mapType)	
		{
		case 0:
			return G_NORMAL_MAP;
			break;	
		case 1:
			return G_SATELLITE_MAP;
			break;	
		case 2:
			return G_PHYSICAL_MAP;
			break;	
		case 3:
			return G_HYBRID_MAP;
			break;	
		}
	}


	function get_geo_mapType(vGMapType)
	{
		switch (vGMapType)	
		{
		case G_NORMAL_MAP:
			return 0;
			break;	
		case G_SATELLITE_MAP:
			return 1;
			break;	
		case G_PHYSICAL_MAP:
			return 2;
			break;	
		case G_HYBRID_MAP:
			return 3;
			break;	
		}
	}




    function showMapForGeocoding(currentObjID,lat,lng,zoomlevel,mapType,htmlcode,defaultLat,defaultLng,defaultZoomlevel) 
    {
		var pts =[];
		var tooltip = document.createElement("div");


     	showMap(1);
		//alert(0);
 		//if ( !isNAN(lat) || !isNAN(lng) )
		/*{
			lat=defaultLat;
			lng=defaultLng;
		}*/
    	//alert(lat);
    	//alert(lng);
		
		//if (2==2)
		/*if (!isNAN(parseFloat(zoomlevel)))
		{
			zoomlevel=defaultZoomlevel;
		}*/
    	//alert(2);
		
		
		
		
		pts[0] = new GLatLng(parseFloat(-37.524907),parseFloat(177.195482));
		pts[1] = new GLatLng(parseFloat(-37.523784),parseFloat(177.18617));
		pts[2] = new GLatLng(parseFloat(-37.521368),parseFloat(177.185268));
		//getPoints(currentObjID);
		//alert(pts);
		if (GBrowserIsCompatible()) 
		{
			var map = new GMap2(document.getElementById("id_googleMaps"));
			map.setUIToDefault();
			map.setCenter(new GLatLng(lat, lng), zoomlevel);
			//map.setCenter(new GLatLng(49.3559, 8.78719), 15)
		    //map.addOverlay(new GMarker(new GLatLng(lat,lng)));
			map.openInfoWindowHtml(map.getCenter(),htmlcode);
			//map.showMapBlowup(map.getCenter());
			//map.addOverlay(new GPolyline(pts,'#0000ff',2));
			//map.addOverlay(new GPolyline(polyline2,'#000000',5));
			
			map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
			tooltip.style.visibility="hidden";
			createAllMarkers(map,tooltip);
			map.addOverlay(new GPolyline(currentPts,'#0000ff',2));
			//alert(map.getPane(G_MAP_FLOAT_PANE).tooltip.style.visibility);
			//alert(3);
			
		}
    	//alert(3);

		GEvent.addListener(map, "click", 
		    function(marker, point) 
		    {  
 		    	if (marker) 
		    	{    
		    		map.removeOverlay(marker);  
		    		//document.getElementById('id_contextInfo').innerHTML=map.fromDivPixelToLatLng(pixel).lat;
		    		
		    	} 
		    	else
		    	{    
		    		map.removeOverlay(lastMarker);  
		    		lastMarker=new GMarker(point);
		    		map.addOverlay(lastMarker);
					document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+point.y.toFixed(6)+' - lat: '+point.x.toFixed(6);
					//getElement('id','hiddenLat').value="00000";
					//getElement('id','hiddenLat').value=lastMarker.getPoint().lat().toFixed(6);
					getElement('id','hiddenLat').value=point.lat().toFixed(6);
					getElement('id','hiddenLng').value=point.lng().toFixed(6);
					//alert(getElement('id','hiddenLat').value);
					getElement('id','hiddenZoomlevel').value=map.getZoom();
					
		    	}
		    }
		
		);

		GEvent.addListener
		(map, "mouseout", 
			function(point) 
			{ 
				tooltip.style.visibility="hidden";
			}
		); 

		GEvent.addListener
		(map, "moveend", 
			function(point) 
			{ 
				tooltip.style.visibility="hidden";
			}
		); 


		GEvent.addListener
		(map, "mousemove", 
			function(point) 
			{ 
				mouselat = point.y.toFixed(6); 
				mouselng = point.x.toFixed(6); 
				//alert(mouselat);
				document.getElementById('id_GW_showGeoCoord').innerHTML='lng: '+mouselng+' - lat: '+mouselat;
				document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+mouselng+' - lat: '+mouselat;
			}
		); 


	}
	
	
	
	function moveMapTo(lat,lng,zoomlevel)
	{
		//GUnload();
		//testGoogleMaps3(lastGeo_y/1000000,lastGeo_x/1000000);
		/*getElement('id','id_debugInfo2').innerHTML=
			"Letzte Koos:<br>"+lastGeo_y+" - "+lastGeo_x+"<br>"
			+"Move To:<br>"+lat+" - "+lng+"<br>"
			+"hiddenLat/lng:<br>"+getElement('id','hiddenLat').value+" - "+getElement('id','hiddenLng').value+"<br>";*/
			
			
     	showMap(1);
		
		if (GBrowserIsCompatible()) 
		{
			var map = new GMap2(document.getElementById("id_googleMaps"));
			map.setUIToDefault();
			map.setCenter(new GLatLng(lat, lng), zoomlevel);
			//map.showMapBlowup(map.getCenter());
		}
    	//alert(3);

		GEvent.addListener(map, "click", 
		    function(marker, point) 
		    {  
 		    	if (marker) 
		    	{    
		    		map.removeOverlay(marker);  
		    		//document.getElementById('id_contextInfo').innerHTML=map.fromDivPixelToLatLng(pixel).lat;
		    		
		    	} 
		    	else
		    	{    
		    		map.removeOverlay(lastMarker);  
		    		lastMarker=new GMarker(point);
		    		map.addOverlay(lastMarker);
					document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+point.y.toFixed(6)+' - lat: '+point.x.toFixed(6);
					//getElement('id','hiddenLat').value="00000";
					//getElement('id','hiddenLat').value=lastMarker.getPoint().lat().toFixed(6);
					getElement('id','hiddenLat').value=point.lat().toFixed(6);
					getElement('id','hiddenLng').value=point.lng().toFixed(6);
					//alert(getElement('id','hiddenLat').value);
					getElement('id','hiddenZoomlevel').value=map.getZoom();
					
		    	}
		    }
		
		);



		GEvent.addListener
		(map, "mousemove", 
			function(point) 
			{ 
				mouselat = point.y.toFixed(6); 
				mouselng = point.x.toFixed(6); 
				//alert(mouselat);
				document.getElementById('id_GW_showGeoCoord').innerHTML='lng: '+mouselng+' - lat: '+mouselat;
				document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+mouselng+' - lat: '+mouselat;
			}
		); 
	}



    function showMapWithImageLocations(currentObjID,lat,lng,zoomlevel,geo_mapType,htmlcode,defaultLat,defaultLng,defaultZoomlevel) 
    {
		var pts =[];
		var tooltip = document.createElement("div");

     	showMap(1);
		//alert(G_SATELLITE_MAP); geht nicht, da Objekt dahinter
		if (GBrowserIsCompatible()) 
		{
			var map = new GMap2(document.getElementById("id_googleMaps"));
			map.setUIToDefault();
			if (geo_mapType<0 || geo_mapType >3){geo_mapType=1;}
			//geo_mapType=1;
			//alert(geo_mapType);
			map.setMapType(get_GMapType(geo_mapType));
			
			if (zoomlevel>=18){zoomlevel=17;}
			//alert(9);
			map.setCenter(new GLatLng(lat, lng), zoomlevel);
			//map.setCenter(new GLatLng(49.3559, 8.78719), 15)
		    //map.addOverlay(new GMarker(new GLatLng(lat,lng)));
			map.openInfoWindowHtml(map.getCenter(),htmlcode);
			//map.showMapBlowup(map.getCenter());
			//map.addOverlay(new GPolyline(pts,'#0000ff',2));
			//map.addOverlay(new GPolyline(polyline2,'#000000',5));
			
			map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
			tooltip.style.visibility="hidden";
			createAllMarkers(lat,lng,map,tooltip);
			map.addOverlay(new GPolyline(currentPts,'#0000ff',2));
			//alert(map.getPane(G_MAP_FLOAT_PANE).tooltip.style.visibility);
			//alert(3);
			
		}
    	//alert(3);

		GEvent.addListener(map, "click", 
		    function(marker, point) 
		    {  
 		    	if (marker) 
		    	{    
		    		map.removeOverlay(marker);  
		    		//document.getElementById('id_contextInfo').innerHTML=map.fromDivPixelToLatLng(pixel).lat;
		    		
		    	} 
		    	else
		    	{    
		    		map.removeOverlay(lastMarker);  
		    		lastMarker=new GMarker(point);
		    		map.addOverlay(lastMarker);
					document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+point.y.toFixed(6)+' - lat: '+point.x.toFixed(6);
					//getElement('id','hiddenLat').value="00000";
					//getElement('id','hiddenLat').value=lastMarker.getPoint().lat().toFixed(6);
					getElement('id','hiddenLat').value=point.lat().toFixed(6);
					getElement('id','hiddenLng').value=point.lng().toFixed(6);
					//alert(getElement('id','hiddenLat').value);
					getElement('id','hiddenZoomlevel').value=map.getZoom();
					
		    	}
		    }
		
		);

		GEvent.addListener
		(map, "mouseout", 
			function(point) 
			{ 
				tooltip.style.visibility="hidden";
			}
		); 

		GEvent.addListener
		(map, "moveend", 
			function(point) 
			{ 
				tooltip.style.visibility="hidden";
			}
		); 


		GEvent.addListener
		(map, "mousemove", 
			function(point) 
			{ 
				mouselat = point.y.toFixed(6); 
				mouselng = point.x.toFixed(6); 
				//alert(mouselat);
				document.getElementById('id_GW_showGeoCoord').innerHTML='lng: '+mouselng+' - lat: '+mouselat;
				document.getElementById('id_GW_showMarkedGeoCoord').innerHTML='   lng: '+mouselng+' - lat: '+mouselat;
			}
		); 


	}
	

