﻿// JScript File

    //<![CDATA[

   var map;

   function PlaceMap(settings)  // On page load
   {
   
		//alert('begin eerste functio');
			// settings:  coordinaten_van_center_map|location_search_string|zoom|intShowCoordinates
			// als coordinaten_van_center_map niet gevuld is, dan wordt de locatie opgezocht middels location_search_string
			
      settings = settings.split('|');
      var strLatLng = settings[0];
      var strSearch = settings[1];
      var intZoomFactor =  settings[2]-1+1;
      var intShowCoordinates = settings[3]-1+1; // 1 = coordinaten tonen in div "msgLatLong" (let op; plaats die div!!)
      var mapdiv = document.getElementById("map");

      
      map = new GMap2(mapdiv); // Create new map object
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
      GEvent.addDomListener(mapdiv, "mousewheel", wheelZoom); // IE 
      GEvent.addDomListener(map, "load", function(e) {setMarkers();});
      
      if (strLatLng.length < 2) {
				var geocoder = new GClientGeocoder();
				geocoder.getLocations(strSearch, function(response){
						if(!response || response.Status.code != 200){
							alert("Google maps: \"" + strSearch + "\" was not found. Please add the coordinates into the WUWM database manually.");
							return;
						}else{
							place = response.Placemark[0];
							point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
							map.setCenter(point, intZoomFactor);
						}
					}
				)
      }else{
				strLatLng = strLatLng.split(',');
				var point = new GLatLng(strLatLng[0], strLatLng[1]);
				map.setCenter(point, intZoomFactor);
      }

      if(intShowCoordinates == 1){ // Toon coordinaten:
				document.getElementById("msgLatLong").innerHTML = point; //Toon coordinaten in div "msgLatLong"
				GEvent.addListener(map, "moveend", function() { //Toon coordinaten in div "msgLatLong" nadat er met de map gesleept is door user.
					var center = map.getCenter();
					document.getElementById("msgLatLong").innerHTML = center.toString();
				});
			}
			
			// volgende in database opnemen, ooit:
			//map.setMapType(G_HYBRID_MAP);
			//map.setMapType(G_SATELLITE_MAP);
			
   }
   
   function AddMarker(settings)  // On page load, After PlaceMap()
   {
			// settings:  coordinaten_if_in_db|SearchString|Title|intShowinfoWindow|InfoWindowText|InfoWindowUrl
			
			settings = settings.split('|');
			var strLatLng = settings[0];
			if (strLatLng.length > 2) {strLatLng = strLatLng.split(',');}
			var strAddress = settings[1];
			var strTitle = settings[2];
			var intShowinfoWindow = settings[3]-1+1; // 1 = info window aan marker hangen
			var InfoWindowText = settings[4];
			var InfoWindowUrl = settings[5];
			
			setTimeout("var xy='y';",10000);
			
      if (strLatLng.length < 2) {  //Er zijn geen coordinaten in de db. Zoek ze dus via adres op bij google
        var geocoder = new GClientGeocoder(); // Create new geocoding object
				geocoder.getLocations(strAddress, function(response){ //info ophalen
					//if(!response || response.Status.code != 200){
					//	alert("Google maps: \"" + strAddress + "\" was not found. Please add the coordinates into the WUWM database manually.");
					//	return;
					//}
					place = response.Placemark[0]; // Retrieve the object
					point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]); // Retrieve the latitude and longitude
					var marker = new GMarker(point, {draggable: false, title: strTitle}); // Create a marker
					map.addOverlay(marker); // Add the marker to map
					if(intShowinfoWindow == 1){AddInfoWindow(marker, InfoWindowUrl, InfoWindowText);}
				});
			
			}else{
				point = new GLatLng(strLatLng[0], strLatLng[1]); // hier moet per se een komma staan. Vandaar de coordinaten gesplit.
				var marker = new GMarker(point, {draggable: false, title: strTitle}); // Create a marker
				map.addOverlay(marker);
				if(intShowinfoWindow == 1){AddInfoWindow(marker, InfoWindowUrl, InfoWindowText);}
			}
   }
   
   function AddInfoWindow(Marker, InfoWindowUrl, strAddress){
		GEvent.addListener(Marker, "click", function() {
			if (InfoWindowUrl	.length > 0) {
				Marker.openInfoWindowHtml("<div class='GoogleinfoWindow'><center><a href='" + InfoWindowUrl + "'>Zoom into " + strAddress + "</a></center></div>");
			}else{
				Marker.openInfoWindowHtml("<center>" + strAddress + "</center>");
			}
		});
   }
   
function wheelZoom(event) { 
	// Prevent from scrolling the page when zooming the map 
	if(window.event) { event.returnValue = false; } // IE 
	if(event.cancelable) { event.preventDefault(); } // DOM-Standard 
	 if((event.detail || -event.wheelDelta) < 0) { 
		map.zoomIn(); } else { 
		map.zoomOut(); } 
} 
//]]>