// JavaScript Document

var routeArray = [];
var gMarkers = []; // Mag weg ???? wordt verder niet gebruikt
function toonRoute() {
	var kotNummer = parseInt($('#kotNummer').val());
	var campusNummer = parseInt($('#campusNummer').val());

	$.ajax({
		type: "GET",
		url: "toonRoute.asp",
		data: "kotNummer=" + kotNummer + "&campusNummer=" + campusNummer ,
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		success: function(response) {
			var route = (typeof response.route) == 'string' ? eval('(' + response.route + ')') : response.route;
			
			//tonen van de link om de route terug te verbergen
			$('#verbergRoute').css('display','inline');
			$('#verbergRoute').css('visibility','visible');
			
			//verbergen van de link om de route te bekijken
			$('#toonRoute').css('display','none');
			$('#toonRoute').css('visibility','hidden');
			
			//tonen van de routebeschrijving
			$('#routebeschrijving').animate({opacity: 'show', height: 'show'}, 'slow'); 
			$('#routebeschrijving').css('display','block');
			$('#routebeschrijving').css('visibility','visible');
			
			if($.browser.msie) 
			{
         	$('#wagmp_map_8').animate({opacity: 'show', height: 'show'}, 'slow');
			}

			//maken van de routeArray met behulp van de JSONArray
			maakArray(route);
			
			//maken van de map
			maakRouteMap();
		}
	});
}

function verbergRoute() {
	//verbergen van de link om de route terug te verbergen
	$('#verbergRoute').css('display','none');
	$('#verbergRoute').css('visibility','hidden');
	
	//tonen van de link om de route te bekijken
	$('#toonRoute').css('display','inline');
	$('#toonRoute').css('visibility','visible');
	
	//verbergen van de routebeschrijving
	$('#routebeschrijving').animate({opacity: 'hide', height: 'hide'}, 'slow');
	
	if($.browser.msie) 
	{
		$('#wagmp_map_8').animate({opacity: 'hide', height: 'hide'}, 'slow');
	}
	
}
//maken van de array voor de route
function maakArray(route) {
	routeArray[0] = {
		'straat' : route[0].StraatKHK,
		'gemeente' : route[0].PostcodeKHK + ' ' + route[0].GemeenteKHK,
		'lat' : route[0].LatKHK,
		'lng' : route[0].LngKHK};
	routeArray[1] = {
		'straat' : route[0].Straat,
		'gemeente' : route[0].Postcode + ' ' + route[0].Gemeente,
		'lat' : route[0].Lat,
		'lng' : route[0].Lng};
}

//de map initialiseren

function maakRouteMap() {
	var myOptions = {
    	zoom: 10,
    	center: new google.maps.LatLng(routeArray[0].lat, routeArray[0].lng),
    	mapTypeId: google.maps.MapTypeId.ROADMAP
  	}
	map = new google.maps.Map(document.getElementById("wagmp_map_8"), myOptions);
	directionsService = new google.maps.DirectionsService();
	
	directionsDisplay = new google.maps.DirectionsRenderer({draggable: true});
	directionsDisplay.setMap(map);
	directionsDisplay.setPanel(document.getElementById("wagmp_directions_8"));
	
	calcRoute();
}

function calcRoute() {
	var vanAdres = routeArray[0].straat + ", " + routeArray[0].gemeente + ", Belgium";
	var naarAdres = routeArray[1].straat + ", " + routeArray[1].gemeente + ", Belgium";
	var routeOptions = {
		origin:vanAdres, 
		destination:naarAdres,
		travelMode: $('#soortWeg').val()
	};
	directionsService.route(routeOptions, function(response, status) {
		if (status == google.maps.DirectionsStatus.OK) {
			directionsDisplay.setDirections(response);
		} else {
			controleerFoutiefAdres(status);
		}
	});
}

function controleerFoutiefAdres(status){
	// http://code.google.com/intl/nl-BE/apis/maps/documentation/javascript/services.html#RenderingDirections
	if (status == 'NOT_FOUND')
 		alert(status + "\nEr is geen geografische locatie die voldoet aan het specifieke addres.\nControleer het vertrekadres en voeg eventueel de postcode toe.");
	else if (status == 'ZERO_RESULTS')
 		alert(status + "\nGeen route gevonden tussen het vertrekpunt en de bestemming.");
	else
		alert(status + "\nUw verzoek kan niet worden verwerkt vanwege een probleem met de server.\nProbeer later opnieuw.");
}

