if(typeof(gm_map_overview) == 'undefined')	{
	var gm_map_overview = false; 		// rechtsonder overzichtje weergeven
}
if(typeof(gm_routeplanner) == 'undefined')	{
	var gm_routeplanner = false; 	// routeplanner weergeven, boolean
}
if(typeof(gm_lang) == 'undefined')	{
	var gm_lang = 'nl'; 	// routeplanner weergeven, boolean
}

var gm_map;
var gm_bounds;


var gm_lang_conf = {};
switch(gm_lang)
{
	// nederlands
	case 'nl':
		gm_lang_conf = { 
			code			: 'nl',
			url				: 'http://maps.google.nl',
			tab_adres		: 'Adres',
			tab_route		: 'Route',
			route_heenreis	: 'Heenreis',
			route_terugreis	: 'Terugreis',
			route_adres		: 'Adres',
			route_plaats	: 'Plaats',
			route_submit	: 'Plan de route'
		};
		break;
	
	// duits
	case 'de':
		gm_lang_conf = { 
			code			: 'de',
			url				: 'http://maps.google.de',
			tab_adres		: 'Adresse',
			tab_route		: 'Route',
			route_heenreis	: 'Hinfahrt',
			route_terugreis	: 'Zurück',
			route_adres		: 'Adresse',
			route_plaats	: 'Ort',
			route_submit	: 'Route berechnen'
		};
		break;
	
	// frans
	case 'fr':
		gm_lang_conf = { 
			code			: 'fr',
			url				: 'http://maps.google.fr',
			tab_adres		: 'Adresse',
			tab_route		: 'Route',
			route_heenreis	: 'Voyage aller',
			route_terugreis	: 'Retour',
			route_adres		: 'Adresse',
			route_plaats    : 'Lieu',
            route_submit    : 'Itinéraire'

		};
		break;	
	
	// engels
	case 'en':
		gm_lang_conf = { 
			code			: 'en',
			url				: 'http://maps.google.com',
			tab_adres		: 'Address',
			tab_route		: 'Route',
			route_heenreis	: 'To here',
			route_terugreis	: 'From here',
			route_adres		: 'Address',
			route_plaats	: 'City',
			route_submit	: 'Show directions'
		};
		break;
}



/**
 * gm_load
*/
function gm_load() 
{
	if (GBrowserIsCompatible()) 
	{
		gm_map = new GMap2(document.getElementById("googlemaps"));
				
		// zoom control
		//if(gm_zoom_control == 'klein')		gm_map.addControl(new GSmallMapControl());
		//else if(gm_zoom_control == 'groot')	gm_map.addControl(new GLargeMapControl());
		if(gm_zoom_control == 'klein')		gm_map.addControl(new GSmallZoomControl3D());
		else if(gm_zoom_control == 'groot')	gm_map.addControl(new GLargeMapControl3D());
		// zoomen op dubbelklik
		gm_map.enableDoubleClickZoom();

		// map keuze		
		if(gm_type_control)	gm_map.addControl(new GMapTypeControl());
		
		
		// kleine overview map
		if(gm_map_overview)	gm_map.addControl(new GOverviewMapControl());


		// standaard kaart zetten, staat op nederland
		var center = gm_markers_point.split(",");
		gm_map.setCenter(new GLatLng(center[0],center[1]), gm_zoom_level);
		
		// standaard map weergave		
		if(gm_type == "satelliet")	gm_map.setMapType(G_SATELLITE_MAP);
		else if(gm_type == "beide")	gm_map.setMapType(G_HYBRID_MAP);
		else						gm_map.setMapType(G_NORMAL_MAP);
		
		gm_bounds 	= new GLatLngBounds();
		
		// markers zetten
		p = gm_markers_point.split(",");
		gm_zetMarker(new GLatLng(p[0], p[1]), gm_markers_html)
	}

// onunload acties om geheugen vrij te maken
	if (window.attachEvent)				{ window.attachEvent("unload", GUnload);	}
	else if (window.addEventListener)	{ window.addEventListener("unload", GUnload, false)	}
}



/**
 * marker toevoegen
*/
var marker;
var route_html;
var html;
function gm_zetMarker(point, html, adres)
{									
	if(point)
	{
		marker = new GMarker(point)
		gm_map.addOverlay(marker);
		
		// -----------------------------
		// overlay toevoegen
		// -----------------------------				
		// overlay toevoegen als deze mee gegeven wordt
		html = gm_markers_html;
		if(html)		
		{
			if(gm_routeplanner)	
			{
				route_html =  "<form method=\"get\" action=\""+ gm_lang_conf.url +"\" ";
				route_html += "onsubmit=\"document.getElementById('routeplanner_adres').value = document.getElementById('routeplanner_straat').value +' '+ document.getElementById('routeplanner_plaats').value;\" ";
				route_html += "id=\"routeplanner_form\" target=\"_blank\">";
				
				route_html += "<a href=\"#\" style=\"font-weight:bold;\" onclick=\"gm_toggleRouteplanner('naar', this); return false;\" title=\""+ gm_lang_conf.route_heenreis +"\">"+ gm_lang_conf.route_heenreis +"</a> ";
				route_html += "<a href=\"#\" style=\"font-weight:none;\" onclick=\"gm_toggleRouteplanner('van', this); return false;\" title=\""+ gm_lang_conf.route_terugreis +"\">"+ gm_lang_conf.route_terugreis +"</a><br />";  
				
				route_html += "<input id=\"routeplanner_adres\" type=\"hidden\" name=\"saddr\" size=\"20\" value=\"\" />";
				route_html += "<input id=\"routeplanner_locatie\" type=\"hidden\" name=\"daddr\" value=\""+ point.lat() +","+ point.lng() +" ("+ gm_adres +")\" />";
				
				route_html += "<label for=\"routeplanner_straat\">"+ gm_lang_conf.route_adres +":</label><br /><input id=\"routeplanner_straat\" type=\"text\" name=\"straat\" size=\"30\" value=\"\" /><br />";
				route_html += "<label for=\"routeplanner_plaats\">"+ gm_lang_conf.route_plaats +":</label><br /><input id=\"routeplanner_plaats\" type=\"text\" name=\"plaats\" size=\"30\" value=\"\" /><br />";
				route_html += "<input class=\"button\" id=\"routeplanner_submit\" type=\"submit\" style=\"margin-top:5px\" value=\""+ gm_lang_conf.route_submit +"\" title=\""+ gm_lang_conf.route_submit +"\" />";
				
				route_html += "</form>";
			}
			else	
			{
				route_html = null;	
			}
			
		
			if(route_html)
			{
				GEvent.addListener(marker, "click", function() 	{
					marker.openInfoWindowTabsHtml([ new GInfoWindowTab(gm_lang_conf.tab_adres, html), new GInfoWindowTab(gm_lang_conf.tab_route, route_html) ]); 
				});
				marker.openInfoWindowTabsHtml([ new GInfoWindowTab(gm_lang_conf.tab_adres, html), new GInfoWindowTab(gm_lang_conf.tab_route, route_html) ]); 
			}
			else
			{
				GEvent.addListener(marker, "click", function() 	{
					marker.openInfoWindowHtml("<div id=\"gm_overlay\">" + html + "</div>");
				});
				marker.openInfoWindowHtml("<div id=\"gm_overlay\">" + html + "</div>");
			}
		}

		gm_bounds.extend(new GLatLng(point.lat(), point.lng()));
		gm_map.setCenter(gm_bounds.getCenter(), gm_zoom_level);
	}
	else
	{
		alert("Address not found");
	}
}


function gm_toggleRouteplanner( actie, sender )
{
	switch(actie)
	{			
		case 'naar':
			document.getElementById('routeplanner_adres').name = 'saddr'; 
			document.getElementById('routeplanner_locatie').name = 'daddr';
			
			as = document.getElementById('routeplanner_form').getElementsByTagName("a");
			for(i=0; i<as.length; i++)	{
				as[i].style.fontWeight = 'normal';	
			}
			
			sender.style.fontWeight = 'bold';	
			break;
			
		case 'van':
			document.getElementById('routeplanner_adres').name = 'daddr'; 
			document.getElementById('routeplanner_locatie').name = 'saddr';
			
			as = document.getElementById('routeplanner_form').getElementsByTagName("a");
			for(i=0; i<as.length; i++)	{
				as[i].style.fontWeight = 'normal';	
			}

			sender.style.fontWeight = 'bold';	
			break;
	}
}


// googlemaps JS laden
if (window.attachEvent)	// ie
{
	document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=' + gm_key + '&amp;hl=' + gm_lang_conf.code + '" type="text/javascript"><' + '/script>');	
	window.attachEvent("onload", gm_load); 
}
else if (window.addEventListener) // mozilla
{
	document.write('<' + 'script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=' + gm_key + '&amp;hl=' + gm_lang_conf.code + '" type="text/javascript"><' + '/script>');	
	window.addEventListener("load", gm_load, false)
}
