﻿var markers = new Array();
var currentmarker = null;
var map = null;
var refIcon = null;
var smallIcon = null;
var tsjilIcon = null;
var taal = "nl_nl";

var foutmeldingstraat = "Vul aub de straat en/of postcode in waar vandaan je vertrekt";
var foutmeldingplaats = "Vul aub de plaats in waar vandaan je vertrekt";

var postcode = ""
var plaats = ""
var adres = ""

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
  poolIcon = new GIcon();
  poolIcon.iconSize = new GSize(32, 32);
  poolIcon.iconAnchor = new GPoint(16, 16);
  poolIcon.infoWindowAnchor = new GPoint(24, 16);
  poolIcon.image = "/interface/images/gm_boot_icon.png";
    
  aviopoolIcon = new GIcon();
  aviopoolIcon.iconSize = new GSize(60, 51);
  aviopoolIcon.iconAnchor = new GPoint(15, 51);
  aviopoolIcon.infoWindowAnchor = new GPoint(15,51);
  aviopoolIcon.image = "/interface/images/gm_aanwijzer_auviopool_groot.png";
  aviopoolIcon.shadowSize = new GSize(29,23);
    
  parkIcon = new GIcon();
  parkIcon.iconSize = new GSize(19,17);
  parkIcon.iconAnchor = new GPoint(4,4);
  parkIcon.infoWindowAnchor = new GPoint(4,4);
  parkIcon.image = "/interface/images/gm_aanwijzer_klein.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_postcode = document.getElementById("route-nr").value;
  var route_van_plaats = document.getElementById("route-plaats").value; 
  var van = route_van_straat + " " + route_van_postcode + " " + route_van_plaats;
  
  var melding_route = document.getElementById("melding-route");
  melding_route.innerHTML = "";
  melding_route.style.display = "none";
  
  if (route_van_straat == "" || route_van_postcode == "") {
	  melding_route.innerHTML = foutmeldingstraat;
	  melding_route.style.display = "block";
	  document.getElementById("route-straat").focus();
  }
  else if (route_van_plaats == "") {
	  melding_route.innerHTML = foutmeldingplaats;	
	  melding_route.style.display = "block";
	  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);
    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(){
  var melding_route = document.getElementById("melding-route");
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) {
    melding_route.innerHTML = "De locatie van het opgegeven vertrekadres kon niet worden bepaald. Foutcode: " + gdir.getStatus().code;
    melding_route.style.display = "block";
  }
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) {
    melding_route.innerHTML ="Er is iets misgegaan. Maar het is onduidelijk WAT! Foutcode: " + gdir.getStatus().code;
 melding_route.style.display = "block";
  }
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) {
    melding_route.innerHTML = "Een parameter ontbreekt. Misschien was er geen vertrekpunt ingevoerd. Foutcode: " + gdir.getStatus().code;
    melding_route.style.display = "block";
  }
  else if (gdir.getStatus().code == G_GEO_BAD_KEY) {
    melding_route.innerHTML  = "De Google Maps sleutel is ongeldig of de gebruikte sleutel is niet geldig voor dit domein. Foutcode: " + gdir.getStatus().code;
    melding_route.style.display = "block";
  }
  else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) {
    melding_route.innerHTML = "De aanvraag voor het plannen van een route is mislukt. Foutcode: " + gdir.getStatus().code;
    melding_route.style.display = "block";
  }
  else {
    melding_route.innerHTML = "Er is iets misgegaan. Maar het is volstrekt onduidelijk WAT de oorzaak is!";
    melding_route.style.display = "block";
  }
}
// Einde Gdirections gedeelte.