var map;
var geocoder = null;
function initialize() {
	if (GBrowserIsCompatible()) {
    	map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(52.18958, 5.29524), 7);
        geocoder = new GClientGeocoder();
		map.enableScrollWheelZoom();
		map.clearOverlays(this);
    }
} 
function showAddress(address, text, type) {
	map.clearOverlays(this);
	if (geocoder) {
      	geocoder.getLatLng(
          	address,
       		function(point) {
          		if (!point) {
            		alert(address + " not found");
          		} else {
						var tabs = [];
						map.setCenter(point, 10);
             			var marker = new GMarker(point);
						map.addOverlay(marker);
             			tabs.push(new GInfoWindowTab('Adres', '<font style="font-size:11px;">'+text+'<br /><a target="_blank" href="http://maps.google.nl/maps?f=d&hl=nl&daddr='+address+'">Routebeschrijving</a></font>')); 
						//tabs.push(new GInfoWindowTab('Tab 2', 'blaa')); 
						marker.openInfoWindowTabsHtml(tabs);  
						//marker.showMapBlowup();
						if (type != 'in') {
							map.clearOverlays(marker);
							setCenter(type);
						}
          		}
    		}
        );
	}
}
function setCenter(prov) {
	map.clearOverlays(this);
	var provs = new Array();
	provs[0] = 'fr';
	provs[1] = 'gr';
	provs[2] = 'ov';
	provs[3] = 'ge';
	provs[4] = 'ut';
	provs[5] = 'fl';
	provs[6] = 'nh';
	provs[7] = 'zh';
	provs[8] = 'ze';
	provs[9] = 'nb';
	provs[10] = 'li';
	provs[11] = 'dr';
	if (prov == 'fr')
		address = 'friesland, Nederland';
	else if (prov == 'gr')
		address = 'groningen, Nederland';
	else if (prov == 'dr')
		address = 'drenthe, Nederland';
	else if (prov == 'ov')
		address = 'overijssel, Nederland';
	else if (prov == 'ge')
		address = 'gelderland, Nederland';
	else if (prov == 'ut')
		address = 'utrecht, Nederland';
	else if (prov == 'fl')
		address = 'flevoland, Nederland';
	else if (prov == 'nh')
		address = 'noord-holland, Nederland';
	else if (prov == 'zh')
		address = 'zuid-holland, Nederland';
	else if (prov == 'ze')
		address = 'zeeland, Nederland';
	else if (prov == 'nb')
		address = 'noord-brabant, Nederland';
	else if (prov == 'li')
		address = 'limburg, Nederland';	
	if (geocoder) {
      	geocoder.getLatLng(
          	address,
       		function(point) {
          		if (!point) {
            		alert(address + " not found");
          		} else {
            		map.setCenter(point, 8);
          		}
    		}
        );
	}
	var divs = document.getElementsByName(prov);
	if (divs.length == 0)
		var divs = getElementsByName_iefix('tr', prov);
	for (i = 0; i < divs.length; i++) {
		divs[i].style.display = '';
	}
	for (j = 0; j < provs.length; j++) {
		if (provs[j] != prov) {
			var no_divs = document.getElementsByName(provs[j]);
			if (no_divs.length == 0)
				var no_divs = getElementsByName_iefix('tr', provs[j]);
			for (k = 0; k < no_divs.length; k++) {
				no_divs[k].style.display = 'none';
			}
		}
	}
}
function getElementsByName_iefix(tag, name) {
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}
