

var map = null;
var centerpoint = new google.maps.LatLng(51.45566, 4.766666);
var bounds = new google.maps.LatLngBounds();
var locations = new Array();
var partners = [];
var namemap = "";

function initialize(fietsroute,namemapping)

{
	namemap = namemapping;
	
	//alert(fietsroute);
	
	var newPath = [];
	var lat = 0;
	var lng = 0;
	var teller = 0;			
	var minlat = 0;
	var maxlat = 0;
	var minlon = 0;
	var maxlon = 0;
	var trackSeg = [];
	var startLat = 0;
	var startLon = 0;
	var partnerArray = [];
	
	
		
		downloadUrl("Partners_route/"+fietsroute+".xml", function(par) {
				
				var xmlDoc = xmlParse(par);
				
				var partners = xmlDoc.documentElement.getElementsByTagName("lodge");

				for (var i = 0; i < partners.length; i++) {
					
				var namePartner = partners[i].getAttribute("namepartner");
				var lat = parseFloat(partners[i].getAttribute("lat"));
				var lon = parseFloat(partners[i].getAttribute("lon"));	
				var city = partners[i].getAttribute("cityname");
				var pid = partners[i].getAttribute("pid");
				
				partnerArray.push(pid+"|"+namePartner+"|"+city+"|"+lat+"|"+lon);
				var l = new google.maps.LatLng(lat,lon);
				bounds.extend(l);
				
				}
				
				
					downloadUrl("GPXfiles/"+fietsroute+".xml", function(doc) {							
						//alert(namemap);												 
				var xmlDoc = xmlParse(doc);
				var trackPoints = xmlDoc.documentElement.getElementsByTagName("trkpt");
				var wayPoints = xmlDoc.documentElement.getElementsByTagName("wpt");
				for (var i = 0; i < trackPoints.length; i++) {
					
					 
				 lat = parseFloat(trackPoints[i].getAttribute("lat"));
                 lng = parseFloat(trackPoints[i].getAttribute("lon"));
				 
				 if (teller == 0) {
					 
			     minlat = parseFloat(trackPoints[i].getAttribute("lat"));
			     maxlat = parseFloat(trackPoints[i].getAttribute("lat"));
			     minlon = parseFloat(trackPoints[i].getAttribute("lon"));
			     maxlon = parseFloat(trackPoints[i].getAttribute("lon"));
				 startLat = parseFloat(trackPoints[i].getAttribute("lat"));
                 startLon = parseFloat(trackPoints[i].getAttribute("lon"));
				 
					 
				 }
				
				var p = new google.maps.LatLng(lat,lng);
			    newPath.push(new google.maps.LatLng(lat,lng));
			    bounds.extend(p);
			
			    if (lng < minlon) minlon = lng;
			    if (lng > maxlon) maxlon = lng;
			    if (lat < minlat) minlat = lat;
			    if (lat > maxlat) maxlat = lat;
			
			
			    teller += 1;
				 

			}
				
					
	var centerlon = (maxlon + minlon) / 2;
	var centerlat = (maxlat + minlat) / 2;
	centerpoint = new google.maps.LatLng(centerlat,centerlon);
	
		ShowMap(centerpoint, bounds, newPath, wayPoints, partnerArray, startLat, startLon);
    });


    });
	
						     		
}
		
		
function ShowMap(centerpoint, bounds, newPath, wayPoints, partnerArray, startLat, startLon) {
	
	var wayPointArray = [];
			
    var myOptions = { 
      zoom: 8, 
	  mapTypeControl: false,
      mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
      center: centerpoint,
	  navigationControl: true,
	  scrollwheel: false,
      navigationControlOptions: { 
      style: google.maps.NavigationControlStyle.SMALL 
      },
      mapTypeId: google.maps.MapTypeId.TERRAIN 
    }; 
	
	
    map = new google.maps.Map(document.getElementById(namemap), myOptions);
	map.fitBounds(bounds);
	
	
	var trackseg = new google.maps.Polyline({ 
    path: newPath, 
    strokeColor: "#16571E", 
    strokeOpacity: 1.0,
    strokeWeight: 3
  });
	
	trackseg.setMap(map);
	
		
	
	
	for(var o=0; o<partnerArray.length; o++) {

   var partnerData = partnerArray[o].split("|");
   var idLogie = partnerData[0];
   var lat = parseFloat(partnerData[3]);
   var lon = parseFloat(partnerData[4]);
   var namePartner = partnerData[1];
   var name_p = namePartner.replace("adnd", "&");
	name_p = name_p.replace("ptrof", "'");
	name_p = name_p.replace("eright", "é");
	name_p = name_p.replace("eleft", "è");
	name_p = name_p.replace("edouble", "ë");
	name_p = name_p.replace("ltwo", "²");
     var image = new google.maps.MarkerImage('http://www.vlaanderen-fietsland.be/Images_website/sleep.png', 
      // This marker is 20 pixels wide by 32 pixels tall. 
      new google.maps.Size(25, 25), 
      // The origin for this image is 0,0. 
      new google.maps.Point(0,0), 
      // The anchor for this image is the base of the flagpole at 0,32. 
      new google.maps.Point(13, 25));
	  var myLatLng = new google.maps.LatLng(lat, lon); 
      partners.push(new google.maps.Marker({ 
      position: myLatLng, 
      map: map,
      icon: image,
	  title: name_p
										  }));
	  
	  	  locations[partners.length - 1] = idLogie;
	  
	  google.maps.event.addListener(partners[partners.length - 1], 'click', 
            function() {
															  
		 GoToLogie(this);   
															  
	});
	  
	  partners[partners.length - 1].setMap(map);
	  
	  
	}
	
	
	 var image = new google.maps.MarkerImage('http://www.vlaanderen-fietsland.be/Images_website/start_r.png', 
      // This marker is 20 pixels wide by 32 pixels tall. 
      new google.maps.Size(16, 25), 
      // The origin for this image is 0,0. 
      new google.maps.Point(0,0), 
      // The anchor for this image is the base of the flagpole at 0,32. 
      new google.maps.Point(14, 24));
      var marker_start = new google.maps.Marker({ 
      position: new google.maps.LatLng(startLat,startLon), 
      map: map,
      icon: image,
	  title: "Startpunt"
  });
	  
				marker_start.setMap(map);
		
}

infowindow = null;

function centerMap(lat,lon,name,location) {
	
	var contentString = '<b>' + name + '</b>' + '<br/><br/>' + location; 
 
infowindow = new google.maps.InfoWindow({ 
    content: contentString,
	position: new google.maps.LatLng(lat,lon)
});

	map.setCenter(new google.maps.LatLng(lat,lon));
	
	infowindow.open(map);
}

function closeInfo() {
	
	infowindow.close(map);
	map.fitBounds(bounds);
}
		
function GoToLogie(thismarker) {
	
	for ( var m = 0; m < partners.length; ++m )
      {
        if ( partners[m] == thismarker ) 
        {
            window.location="hotel-bb.php?id="+locations[m].toLowerCase();
        }
      }	
	
}

