
function initialize(cb,cl,sid) 
{
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_ausgabe"));
		map.setCenter(new GLatLng(cb,cl), 11);
		map.setUIToDefault();
		
        // Listener einbauen, die bei zoom und Bewegung der Map die Marker aktualisieren 
        GEvent.addListener(map,'zoomend',function()
        {
		      updateMarkers(true,sid);
	      });
	
	      GEvent.addListener(map,'moveend',function()
	      {
		      //updateMarkers(false,sid);
	      });

        GDownloadUrl("/include/firmenXml.php?sid="+sid, function(data)
        {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
		      for (var i = 0; i < markers.length; i++)
		      {
		  	    icon = new GIcon();
      			icon.image = markers[i].getAttribute("bild");
      			icon.iconSize = new GSize(65, 49);
      			icon.iconAnchor = new GPoint(1, 1);
      			icon.infoWindowAnchor = new GPoint(1, 1);
                createMarker(markers[i],icon);
          }
        });
    }
}
    
function updateMarkers(clear_overlays,sid)
{
	
	//vorhandene Punkte entfernen
	if (clear_overlays) {
		map.clearOverlays();
	}
	
	var bounds = map.getBounds();
    var zl = map.getBoundsZoomLevel(bounds);
    var sw = bounds.getSouthWest();
    var ne = bounds.getNorthEast();
      	
    var getVars = '?ne=' + ne.toUrlValue()
            	+ '&sw=' + sw.toUrlValue()
		        + '&zl=' + zl
				+ '&sid=' + sid;

  GDownloadUrl("/include/firmenXml.php"+getVars, function(data)
        {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
		      for (var i = 0; i < markers.length; i++)
		      {
		  	    icon = new GIcon();
      			icon.image = markers[i].getAttribute("bild");
      			icon.iconSize = new GSize(65, 49);
      			icon.iconAnchor = new GPoint(1, 1);
      			icon.infoWindowAnchor = new GPoint(1, 1);
            createMarker(markers[i],icon);
          }
        });  
		
}

function createMarker(markers,icon)
{
		var latlng = new GLatLng(parseFloat(markers.getAttribute("lat")),
                                 parseFloat(markers.getAttribute("lng")));
		var marker = null;
		map.addOverlay(marker = new GMarker(latlng,icon));
		
		var firma = markers.getAttribute("firma");
		firma = firma.replace(/ /g,"&nbsp;");
		var strasse = markers.getAttribute("strasse");
		strasse = strasse.replace(/ /g,"&nbsp;");
		var adresse = markers.getAttribute("plz")+' '+markers.getAttribute("ort");
		adresse = adresse.replace(/ /g,"&nbsp;");
		
		var zeichen  = 0;
		var zeichen1 = firma.length;
		var zeichen2 = strasse.length;
		var zeichen3 = adresse.length;

		if(zeichen1 > zeichen) { zeichen = zeichen1; }
		if(zeichen2 > zeichen) { zeichen = zeichen2; }
		if(zeichen3 > zeichen) { zeichen = zeichen3; }		
		var weite = (zeichen * 4);

		var strHtml = '<div style="width: ' + weite + 'px;"><table><tr><td valign="top"></td><td valign="top"><a href="http://www.meinvorteil24.de/'+markers.getAttribute("link")+'">' +firma+'</a><br>'+strasse+'<br>'+adresse+'</td></tr></table></div>';
		
		GEvent.addListener(marker, "click", function()
		{
			marker.openInfoWindowHtml(strHtml);
		});		
		return marker;
}