var latLngs = new Array();
var map = null;

function loadGoogleMap()
{
  if (GBrowserIsCompatible()) {

  	// Map einblenden
  	document.getElementById("map").style.display = "block";

    map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());

    GDownloadUrl("bankenplatz-basel/institute/?tx_bbv_pi1%5Baction%5D=xmlDefault&cHash=0712496f39", function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
      	var lat = parseFloat(markers[i].getAttribute("lat"));
      	var lng = parseFloat(markers[i].getAttribute("lng"));
      	var exclude = parseInt(markers[i].getAttribute("exclude"));
      	if(lat > 0 && lng > 0) {
	        var html = markers[i].firstChild.data;
	        var point = new GLatLng(lat, lng);
	        if(exclude == 0) {
	        	latLngs.push(point);
	        }
	        var marker = createMarker(point, html, i);
	        map.addOverlay(marker);
      	}
      }

	// Auto Center
	var latLngBounds = new GLatLngBounds( );
	for ( var i = 0; i < latLngs.length; i++ ) {
		latLngBounds.extend( latLngs[i] );
	}
	var zoom = 16;
	if(latLngs.length > 1) {
		zoom = map.getBoundsZoomLevel( latLngBounds );
	}
	map.setCenter( latLngBounds.getCenter( ), zoom);

    });

  }
}

/*function gmSetCenterAuto()
{
  var latLngBounds = new GLatLngBounds( );
  for ( var i = 0; i < latLngs.length; i++ ) {
    latLngBounds.extend( latLngs[i] );
  }
  var zoom = 16;
  if(latLngs.length > 1) {
    zoom = map.getBoundsZoomLevel( latLngBounds );
  }
  map.setCenter( latLngBounds.getCenter( ), zoom);
}*/

function createMarker(point, html, i)
{

	var icon = new GIcon(G_DEFAULT_ICON);
	icon.sprite = {image:'http://www.bankenbasel.ch/typo3conf/ext/bbv/res/bbvg-marker-nummeriert.png', width:20, height:34, top:i*34, left:0}

	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

window.onload = loadGoogleMap;
