﻿var markers = new Array();
var currentmarker = null;
var map = null;
var pingIcon = null;

function mapInit() {
  map = new GMap2(document.getElementById('map'));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(53.19936192602281, 5.779141187667847), 8, G_SATELLITE_MAP);
    
  pingIcon = new GIcon();
  pingIcon.iconSize = new GSize(44, 38);
  pingIcon.iconAnchor = new GPoint(8, 38);
  pingIcon.infoWindowAnchor = new GPoint(8, 38);
  pingIcon.image = "/interface/images/gm_aanwijzer.png";
}

// Gdirections gedeelte.
// Laden van de routebeschrijving.
var gdir;
function routeLaden(naar) {
  var route = document.getElementById("route-beschrijving");
  route.innerHTML = "";
  var route_van_straat = document.getElementById("route_straat").value;
  var route_van_nr = document.getElementById("route_nr").value;
  var route_van_plaats = document.getElementById("route_plaats").value; 
  var van = route_van_straat + " " + route_van_nr + " " + route_van_plaats + " Nederland";
    
  var melding_route = document.getElementById("melding-route");
  melding_route.innerHTML = "";
  
  if (route_van_straat == "") {
	  melding_route.innerHTML = "Vul aub de straat in waar vandaan je vertrekt";
	  melding_route.style.display = "block";
	  document.getElementById("route_straat").focus();
  }
  else if (route_van_plaats == "") {
	  melding_route.innerHTML = "Vul aub de plaats in waar vandaan je vertrekt";
	  melding_route.style.display = "block";
	  document.getElementById("route_plaats").focus();
  }  
  else {
    melding_route.style.display = "none";
    if (gdir)
    {
      // eventuele vorige routebschrijvingen van de google-maps verwijderen.
      gdir.clear();
    }
    gdir = new GDirections(map, route);
    GEvent.addListener(gdir, "load", onGDirectionsLoad);
    GEvent.addListener(gdir, "error", handleErrors);
    var taal = "nl_nl";
    gdir.load("from: " + van + " to: " + naar, { "locale": taal });
  }
}

function onGDirectionsLoad() {
  var container_route = document.getElementById("container-routebeschrijving");
  try{
	  container = document.getElementById("container"); 
	}catch(e){}
  container_route.style.display = "block";
  container_route.style.left = (container.offsetLeft + 6) + "px";
  container_route.style.top = (container.offsetTop + 6) + "px"; 
  container_route.style.visibility = "visible"; 
  var sluit = document.getElementById("sluit-routebeschrijving"); 
  var iw = map.getInfoWindow();
  iw.hide();
}

function handleErrors(){
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) {
    alert("De locatie van het opgegeven vertrekadres kon niet worden bepaald. Foutcode: " + gdir.getStatus().code);
  }
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) {
    alert("Er is iets misgegaan. Maar het is onduidelijk WAT! Foutcode: " + gdir.getStatus().code);
  }
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) {
    alert("Een parameter ontbreekt. Misschien was er geen vertrekpunt ingevoerd. Foutcode: " + gdir.getStatus().code);
  }
  else if (gdir.getStatus().code == G_GEO_BAD_KEY) {
    alert("De Google Maps sleutel is ongeldig of de gebruikte sleutel is niet geldig voor dit domein. Foutcode: " + gdir.getStatus().code);
  }
  else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) {
    alert("De aanvraag voor het plannen van een route is mislukt. Foutcode: " + gdir.getStatus().code);
  }
  else {
    alert("Er is een onbekende fout opgetreden.");
  }
}
// Einde Gdirections gedeelte.
  
window.onload = function() {
  mapInit();
  // Map centreren op Ping.
  map.setCenter(new GLatLng(53.199002016899044, 5.779098272323608), 14, G_NORMAL_MAP);
  map.enableScrollWheelZoom();
  var poolMarker = new GMarker(new GLatLng(53.199002016899044, 5.779098272323608), pingIcon);
  poolMarker.bindInfoWindowHtml('<div class="marker" style="width:300px;height:115px;display:block;"><span class=\x27titel\x27>Ping Persoonlijk fincancieel advies<\/span><div><i>Bezoekadres:<\/i><br/>Werkplein, Tesselschadestraat 33-35<br/>Leeuwarden<br/>Telefoon: 06 125 81 075<br/><\/div><span id=\x27toonbeschrijving\x27>Routebeschrijving: <a href=\x22javascript:void(null);\x22 onclick=\x22document.getElementById(\x27route_straat\x27).focus();\x22>Hier naartoe<\/a><\/span><div class=\x27spacer\x27><\/div><div style=\x27width:300px;line-height:1px;height:1px;\x27>&nbsp;<\/div><\/div>');
  map.addOverlay(poolMarker);
  
  // DMV een klik op google map, de coordinaten van die click achterhalen.
  //GEvent.addListener(map, 'click', function(overlay, point) {   if (point) {   document.write('You clicked at: ' + point); alert('You clicked at: ' + point);   }});
}