﻿var markers = new Array();
var currentmarker = null;
var map = null;
var refIcon = null;
var smallIcon = null;
var tsjilIcon = null;

function mapInit() {
  map = new GMap2(document.getElementById('googlemap'));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(52.917157, 6.262529), 14, G_SATELLITE_MAP);
  poolIcon = new GIcon();
  poolIcon.iconSize = new GSize(169, 46);
  poolIcon.iconAnchor = new GPoint(130, 46);
  poolIcon.infoWindowAnchor = new GPoint(130, 46);
  poolIcon.image = "/interface/images/googleroute/gm_logo_nieuwzicht.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_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 routebeschrijvingen 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. Maar het is volstrekt onduidelijk WAT de oorzaak is!");
  }
}
// Einde Gdirections gedeelte.
  
window.onload = function() {
  mapInit();
  map.enableScrollWheelZoom();
  var poolMarker = new GMarker(new GLatLng(52.917157, 6.262529), poolIcon);
  poolMarker.bindInfoWindowHtml('<div class="marker" style="width:300px;height:128px;display:block;"><span class=\x27titel\x27>Equus en flow<\/span><div><i><\/i><br/>Wateren 13<br/>8438 SB Wateren<br/><br/><\/div><span id=\x27toonbeschrijving\x27><a href=\x22javascript:void(null);\x22 onclick=\x22document.getElementById(\x27tbx_route_van\x27).value=\x27Wateren 13  8438 SB Wateren\x27;document.getElementById(\x27container-route-van\x27).style.display=\x27block\x27;document.getElementById(\x27route-straat\x27).focus();\x22 class=\x27btn_route_plannen\x27><\/a><\/span><div class=\x27spacer\x27><\/div><div style=\x27width:300px;line-height:1px;height:1px;\x27>&nbsp;<\/div><\/div>');
  map.addOverlay(poolMarker);
}
