//<![CDATA[

	var map 			= null;
	var geocoder 	= null;
	var bounds 		= null;

	function gmapLoad() {
	  if (GBrowserIsCompatible()) {
    	map = new GMap2(document.getElementById("map"));
      map.setCenter(new GLatLng(51.165567, 10.458984), 6);
      
      geocoder = new GClientGeocoder();
      bounds = new GLatLngBounds();
      
//      for (var i = 0; i < arr_location.length; i++) {
//      	showAddress(arr_location[i]['info'], arr_location[i]['address']);
//      }

			xajax_ajaxShowLocation(xajax.getFormValues('formLocation'));
      
	  }
	}

  function createMarker (lat, lng, info) { 
    latlng = new GLatLng(parseFloat(lat),
                         parseFloat(lng));
                         
		bounds.extend(latlng);
		
		var zoom = map.getBoundsZoomLevel(bounds);
		if (zoom > 15) 	{zoom = 15;}
		if (zoom > 0) 	{zoom = zoom-1;}
		
		map.setCenter(bounds.getCenter(), map.setZoom(zoom)); 
                         
		var markerLatlng 	= new GMarker(latlng);
		
		map.addOverlay(markerLatlng);
		createListener (markerLatlng, info);
		
  } 

	function showAddress(info, address) {
		
		if (geocoder) {
		  geocoder.getLatLng(
		    address,
		    function(point) {
		      if (!point) {
		        //alert(address + " not found");
		      }
		      else {

		      	var marker = new GMarker(point);
		        
		        map.addOverlay(marker);

		        GEvent.addListener(marker, "click", function() {
    					marker.openInfoWindowHtml(info, { maxWidth:408} );
  					});
  					
  					bounds.extend(point);
						
						var zoom = map.getBoundsZoomLevel(bounds);
						if (zoom > 15) 	{zoom = 15;}
						if (zoom > 0) 	{zoom = zoom-1;}
						
						map.setCenter(bounds.getCenter(), map.setZoom(zoom));  					
		      }
		    }
		  );
		}
	}	
	
	
	function clearMap() {
		delete(bounds);
		map.clearOverlays();
	}
//]]>

