﻿var map = null;

function mapInit() {
  map = new GMap2(document.getElementById('googlemap'));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  //map.setCenter(new GLatLng(52.872445,5.822754), 8, G_SATELLITE_MAP);
  map.setCenter(new GLatLng(53.179652, 6.178179), 8, G_SATELLITE_MAP);
  //http://maps.google.com/?ie=UTF8&ll=53.175203,6.182095&spn=0.003575,0.009377&z=17
  speakIcon = new GIcon();
  speakIcon.iconSize = new GSize(82, 32);
  speakIcon.iconAnchor = new GPoint(7, 31);
  speakIcon.infoWindowAnchor = new GPoint(7, 31);
  speakIcon.image = "/interface/images/icon/route-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";
    document.getElementById("route-straat").focus();
  }
  else if (route_van_plaats == "") {
    melding_route.innerHTML = "Vul aub de plaats in waar vandaan je vertrekt";
    document.getElementById("route-plaats").focus();
  }
  else {
    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 iets misgegaan.");
  }
}
// Einde Gdirections gedeelte.

window.onload = function() {
  mapInit();
  // Map centreren op Tsjil.
  map.setCenter(new GLatLng(53.183639, 6.181652), 14, G_NORMAL_MAP);
  map.enableScrollWheelZoom();
  var poolMarker = new GMarker(new GLatLng(53.183639, 6.181652), speakIcon);
  //poolMarker.bindInfoWindowHtml('<div class="marker" style="width:180px;height:98px;display:block;"><span class=\x27titel\x27>Speak<\/span><div><i><\/i><br/>Grensweg 5<br/>9231 HT Surhuisterveen<br/><b>T: </b>0512 - 36 67 94 <br/><br/><\/div><span id=\x27toonbeschrijving\x27><a href=\x22javascript:void(null);\x22 onclick=\x22document.getElementById(\x27tbx_route_van\x27).value=\x27Grensweg 5  9231 HT surhuisterveen Nederland\x27;document.getElementById(\x27container-route-van\x27).style.display=\x27block\x27;document.getElementById(\x27route-straat\x27).focus();\x22><img class="routeimage" src="\/interface\/images\/niks.gif"/><\/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);   }});
}