var gmap;
var geocoder = null;
var gLatLong = new Array();
var gHTML = new Array();
var gIcons = new Array();

google.load("maps", "2.x");

function loadGM(mapContainer) {
  if (GBrowserIsCompatible()){
		gIcons['std'] = new GIcon();
		gIcons['std'].image = '/graphics/mm_20_maroon.png';
		gIcons['std'].shadow = '/graphics/mm_20_shadow.png';
		gIcons['std'].iconSize = new GSize(12, 20);
		gIcons['std'].shadowSize = new GSize(22, 20);
		gIcons['std'].iconAnchor = new GPoint(6, 20);
		gIcons['std'].infoWindowAnchor = new GPoint(5, 1);

		gLatLong['rw91'] = new GLatLng(52.172024, 4.477658);
		gHTML['rw91'] = '<h3>Vrijbergen</h3><p>Rijnsburgerweg 91-93<br />2334 BJ Leiden</p>';

		gLatLong['gs37'] = new GLatLng(52.178077, 4.466093);
		gHTML['gs37'] = '<h3>Vrijbergen - Eindexamen</h3><p>Geversstraat 37<br />2341 GA Oegstgeest</p>';


		gmap = new google.maps.Map2(mapContainer);
    gmap.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT));
		gmap.setCenter(gLatLong['rw91'], 15);
    addMarker(gLatLong['rw91'], gIcons['std'], gHTML['rw91'], true, false);
    addMarker(gLatLong['gs37'], gIcons['std'], gHTML['gs37'], false, false);
    window.onunload = function(){GUnload();}
	}
}

function showAddress(address, icon, html, bOpen, bGoto) {
  if(!geocoder) {
  	geocoder = new GClientGeocoder();
    geocoder.setBaseCountryCode('NL');
	}
  if(geocoder) {
    geocoder.getLatLng(
      address,
      function(loc) {
        if(loc) {
        	//address found
        	addMarker(loc, icon, html, bOpen);
		    }
      }
    );
  }
}

function goAndShow(m){
  if(!gmap){
    loadGM();
  }
	gmap.panTo(gLatLong[m]);
	gmap.openInfoWindowHtml(gLatLong[m],gHTML[m]);
	return false;
}

function addMarker(loc, icon, html, bOpen, bGoto){
  var marker = new GMarker(loc, icon);
  gmap.addOverlay(marker);
  attachInfo(marker, html, bOpen);
	if(bGoto){
	  if(!gmap){
	    loadGM();
	  }
		gmap.panTo(loc);
  }
}

function attachInfo(marker, infohtml, bOpen){
	if(marker && infohtml){
	  GEvent.addListener(marker, 'click', function() {
	    marker.openInfoWindowHtml(infohtml);
	  });
	  if(bOpen){
	    marker.openInfoWindowHtml(infohtml);
	  }
	}
}

jQuery(document).ready(function($){
	var mapContainer = document.getElementById('map');
	mapContainer.style.width = '496px';
	mapContainer.style.height = '496px';
	loadGM(mapContainer);
});


