function initializemap() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		if (start_lat == "" || start_lat == undefined){
			start_lat = 10.1;
		}
		if (start_lon == "" || start_lon == undefined){
			start_lon = 56.3;
		}
		if (start_zoom == "" || start_zoom == undefined){
			start_zoom = 7;
		}
		map.setCenter(new GLatLng(Number(start_lat), Number(start_lon)), Number(start_zoom));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		
		// Create a base icon for all of our markers that specifies the
		// shadow, icon dimensions, etc.
		var baseIcon = new GIcon();
		//baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(21, 20);
		//baseIcon.shadowSize = new GSize(37, 34);
		baseIcon.iconAnchor = new GPoint(9, 20);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		//baseIcon.infoShadowAnchor = new GPoint(18, 25);
		
		// Creates a marker whose info window displays the letter corresponding
		// to the given index.
		function createMarker(point, index, markerinfo) {
			// Create a lettered icon for this point using our icon class
			//var letter = String.fromCharCode("A".charCodeAt(0) + index);

			var letteredIcon = new GIcon(baseIcon);
			letteredIcon.image = "http://designs.bilinfocms.dk/41/modules/51/marker.png";
			
			// Set up our GMarkerOptions object
			markerOptions = { icon:letteredIcon };
			var marker = new GMarker(point, markerOptions);
			
			GEvent.addListener(marker, "click", function() {
			
				marker_html = "<b>"+markerinfo.name+"</b><br/>"
				marker_html += ""+markerinfo.address+"<br/>"
				marker_html += ""+markerinfo.zipcode+" "+markerinfo.city+"<br/><br/>"
				marker_html += "Telefon: "+markerinfo.phone+"<br/>"
				marker_html += "Telefax: "+markerinfo.fax+"<br/>"
				marker_html += "Mobil: "+markerinfo.mobile+"<br/>"
				if (markerinfo.website != ""){
					marker_html += "Website: <a href='"+markerinfo.website+"' target='_blank'>"+markerinfo.website+"</a><br/>"
				}
				marker_html += "Kontakt: "+markerinfo.contact+"<br/>"
			
				marker.openInfoWindowHtml(marker_html);
			});
			return marker;
		}
		
    //markers.push({lat:"<xsl:value-of select="@lat"/>",lon:"<xsl:value-of select="@lon"/>",name:"<xsl:value-of select="@name"/>",address:"<xsl:value-of select="@address"/>",zipcode:"<xsl:value-of select="@zipcode"/>",city:"<xsl:value-of select="@city"/>",phone:"<xsl:value-of select="@phone"/>",fax:"<xsl:value-of select="@fax"/>",mobile:"<xsl:value-of select="@mobile"/>",website:"<xsl:value-of select="@website"/>",contact:"<xsl:value-of select="@contact"/>",id:"<xsl:value-of select="@id"/>"});
	
		// Add 10 markers to the map at random locations
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var lngSpan = northEast.lng() - southWest.lng();
		var latSpan = northEast.lat() - southWest.lat();
		for (var i = 0; i < markers.length; i++) {
			var latlng = new GLatLng(markers[i].lat,markers[i].lon);
			map.addOverlay(createMarker(latlng, i, markers[i]));
		}
	}
}