
	var map;
    var mgr;
    var icons = {};
    var marker = Array();
	var geocoder = null;
	var icon = null;
	
    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
  	
	    map = new GMap2(document.getElementById("map"));
	    map.addControl(new GSmallZoomControl());
		map.setCenter(new GLatLng(43, 14), 1);
        window.setTimeout(setupreislogMarkers, 0);
        
        icon = new GIcon();
        icon.image = '/img/icons/land.png';
        icon.iconSize = new GSize(30, 30);
        icon.iconAnchor = new GPoint(15, 30);
        icon.shadow = '';
        icon.infoWindowAnchor = new GPoint(5, 1);
        
      }
    }

   

    function setupreislogMarkers() 
    {
    	mgr = new MarkerManager(map);
    	
    	markerLayer.each(function(layer)
    	{
    		var markers = [];
    		layer['places'].each(function(place)
    		{
    			if(place != undefined)
    			{
					var level = place['level'];
					var descr = place['descr'];
					
					if(level == 0)
					{
						var boundscoords = place['bounds'];
						var bounds = new GLatLngBounds(new GLatLng(boundscoords[0], boundscoords[1]), new GLatLng(boundscoords[2], boundscoords[3]));
						var posn = bounds.getCenter();
						
						//var posn = new GLatLng(place['posn'][0], place['posn'][1]);
						
						var marker = createMarker(posn, place['name'], icon, level, descr, place['landinfo'], '');
					}
					else
					{
						var posn = new GLatLng(place['posn'][0], place['posn'][1]);
						
						var marker = createMarker(posn, place['name'], icon, level, descr, place['landinfo'], place['id']);
					}
					
					 
					markers.push(marker);
				}	
    			
    		});
    		mgr.addMarkers(markers, layer['zoom'][0], layer['zoom'][1]);
    		
    		
    	});
    
		mgr.refresh();
    }
    
    
    function createMarker(posn, title, icon, level, descr, landinfo, id) 
    {
		
    	var marker = new GMarker(posn, {title: title+'-'+landinfo, icon: icon});
      
    	
	  	if(level == 0)
		  	GEvent.addListener(marker, 'click', function() { ChangeCountry(landinfo, true); } );
		else
		{
			var center = posn.toString();
			var test = center.split(', ');
			var lat = test[0].substring(1,test[0].length);
			var lng = test[1].substring(0,test[1].length - 1);
			
     		GEvent.addListener(marker, 'click', function() { GetTC(id, lat, lng, landinfo) } );
     	}
     	
	    return marker;
    }
    
    function SetAndShowCountry(countryinfo)
	{
		var countryinfoarr = Array();
		
		//indien land leeg, alle velden leeg
		if(countryinfo)
			var countryinfoarr = countryinfo.split(';');
	
		//zet hidden fields op juiste waarden
		$('geoiso').value = countryinfoarr[0];
		$('geoname').value = countryinfoarr[1];
		$('geocontinent').value = countryinfoarr[2];
		$('geobBoxWest').value = countryinfoarr[3];
		$('geobBoxNorth').value = countryinfoarr[4];
		$('geobBoxEast').value = countryinfoarr[5];
		$('geobBoxSouth').value = countryinfoarr[6];
		
		//indien boundbox waarden bekend, toon bijbehorende land op de kaart
		if(countryinfoarr[3] && countryinfoarr[4] && countryinfoarr[5] && countryinfoarr[6])
		{
			var bounds = new GLatLngBounds(new GLatLng(countryinfoarr[6], countryinfoarr[3]), new GLatLng(countryinfoarr[4], countryinfoarr[5]));
			geocoder.setBaseCountryCode(countryinfoarr[0]);
			
			var boundzoom = map.getBoundsZoomLevel(bounds);
			
			if(boundzoom < 3)
				boundzoom = 3;
				
			map.setZoom(boundzoom);
			map.panTo(bounds.getCenter());
		}	
	}
    
   
	function ShowTC(lat, lng)
	{
		
		map.setZoom(10);
		map.panTo(new GLatLng(lat, lng));
		
	}
	

