var map;
var geocoder;

function initGoogleMap()
{
  map = new GMap2(document.getElementById("divGoogleMap"));
  map.addControl(new GSmallMapControl());
  map.enableScrollWheelZoom();
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(51.961943,11.133398),5);
  geocoder = new GClientGeocoder();
}

function addAddressToMap(response)
{
  if (response && response.Status.code == 200)
  {
	place = response.Placemark[0];
	document.getElementById('tbxX').value = place.Point.coordinates[0];
	document.getElementById('tbxY').value = place.Point.coordinates[1];
	addMarker(place.Point.coordinates[1],place.Point.coordinates[0]);
  }
}

function showLocation(standort)
{
  document.getElementById('tbxX').value = '';
  document.getElementById('tbxY').value = '';
  geocoder.getLocations(standort,function(point){
	addAddressToMap(point);
  });
}

function showInfoWindow(point,standortID)
{
  map.openInfoWindowHtml(point, 'loading...');
  var request = GXmlHttp.create();
  request.open('GET','map_standort_members.asp?StandortID= ' + standortID, true);
  request.onreadystatechange = function()
  {
	if (request.readyState == 4)
	{
		var responseText = request.responseText;
		map.openInfoWindowHtml(point, responseText)
	}
  }
  request.send(null);
}

function addMarker(x,y,standortID)
{
  point = new GLatLng(x,y); 
  marker = new GMarker(point);
  map.addOverlay(marker);
  //map.setCenter(new GLatLng(x,y),13);
  GEvent.addListener(marker, "click", function() {
  showInfoWindow(new GLatLng(x,y),standortID);});
  return marker;
}

function addMarkers(coordinates)
{
  var arrStandorte = coordinates.split(";");
  for (i=0; i<(arrStandorte.length-1); i++)
  {
	var geo = arrStandorte[i].split(",")
	addMarker(geo[2],geo[1],geo[0]);
  }
}
