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(52.95817, 5.934232), 8, G_SATELLITE_MAP);
  //http://maps.google.com/?ie=UTF8&ll=52.95817,5.934232&spn=0.003575,0.009377&z=17
  speakIcon = new GIcon();
  speakIcon.iconSize = new GSize(135, 77);
  speakIcon.iconAnchor = new GPoint(90, 76);
  speakIcon.infoWindowAnchor = new GPoint(90, 76);
  speakIcon.image = "/interface/images/Speak-pand-googlemaps-icon.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 = "";
  print_route = document.getElementById("print-route");

  if (route_van_straat == "") {
    melding_route.innerHTML = "Vul aub de straat in waar vandaan u vertrekt";
    document.getElementById("route-straat").focus();
	print_route.style.display = "none";  
  }
  else if (route_van_plaats == "") {
    melding_route.innerHTML = "Vul aub de plaats in waar vandaan u vertrekt";
    document.getElementById("route-plaats").focus();
	print_route.style.display = "none";  
  }
  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");
  print_route = document.getElementById("print-route");
  try {
    container = document.getElementById("container");
  } catch (e) { }
  print_route.style.display = "block";  
  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() {
print_route = document.getElementById("print-route");
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) {
    alert("De locatie van het opgegeven vertrekadres kon niet worden bepaald. Foutcode: " + gdir.getStatus().code);
  print_route.style.display = "none";  
  }
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) {
    alert("Er is iets misgegaan. Maar het is onduidelijk WAT! Foutcode: " + gdir.getStatus().code);
  print_route.style.display = "none";  
  }
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) {
    alert("Een parameter ontbreekt. Misschien was er geen vertrekpunt ingevoerd. Foutcode: " + gdir.getStatus().code);
  print_route.style.display = "none";  
  }
  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);
  print_route.style.display = "none";  
  }
  else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) {
    alert("De aanvraag voor het plannen van een route is mislukt. Foutcode: " + gdir.getStatus().code);
  print_route.style.display = "none";  
  }
  else {
    alert("Er is iets misgegaan.");
  print_route.style.display = "none";  
  }
}
// Einde Gdirections gedeelte.

window.onload = function() {
  mapInit();
  // Map centreren op Tsjil.
  map.setCenter(new GLatLng(52.95817,5.934232), 14, G_NORMAL_MAP);
  map.enableScrollWheelZoom();
  var poolMarker = new GMarker(new GLatLng(52.95817,5.934232), speakIcon);
 // poolMarker.bindInfoWindowHtml('<div class="marker" style="width:180px;height:98px;display:block;"><span class=\x27titel\x27><b>Speak Surhuisterveen</b><\/span><div><i><\/i>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=\x22selectOption(0);\x22>Plan&nbsp;uw&nbsp;route&nbsp;naar&nbsp;Surhuisterveen<\/a><\/span><div class=\x27spacer\x27><\/div><div style=\x27width:300px;line-height:1px;height:1px;\x27>&nbsp;<\/div><\/div>');
 poolMarker.bindInfoWindowHtml('<div class="marker" style="width:180px;height:98px;display:block;"><span class=\x27titel\x27><b>Speak Heerenveen</b><\/span><div><i><\/i>Abe Lenstra Boulevard 44<br/>8448 JB Heerenveen<br/><b>T: </b>0512 - 366 079 <br/><b>E: </b><a href="mailto:info@speak.nl">info@speak.nl</a><br/><\/div><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);   }});
}

// extra code //

function selectOption(num)
{
	var selObj = document.getElementById('tbx_route_van');
	selObj.selectedIndex = num;
}
