	
	/**
	 * TDM Pécs útvonatervező
	 */

	var map;
	var directionDisplay;
	var directionsService;
	var stepDisplay;
	var markerArray = [];

	function calcRoute() 
	{
		document.location.href = '#map';
		var warnings = document.getElementById("warnings_panel");
		warnings.innerHTML = loaderImage;
		for (i = 0; i < markerArray.length; i++) {
			markerArray[i].setMap(null);
		}
		markerArray = [];
		var origin = document.getElementById("origin").value;
		var tmp = document.getElementById("destination");
		var destination = tmp[tmp.selectedIndex].value;
		tmp = document.getElementById("travelModeDriving");
		var travelMode = tmp.checked ? google.maps.DirectionsTravelMode.DRIVING : google.maps.DirectionsTravelMode.WALKING;
		var request = 
		{
			origin : origin,
			destination : destination,
			travelMode : travelMode
		};
		directionsService.route(request, function(response, status) 
		{
			switch (status)
			{
				case google.maps.DirectionsStatus.OK:
					warnings.innerHTML = response.routes[0].warnings;
					directionsDisplay.setDirections(response);
					showSteps(response);
					break;
				case google.maps.DirectionsStatus.NOT_FOUND:
					warnings.innerHTML = errorArray['notFound'];
					break;
				case google.maps.DirectionsStatus.ZERO_RESULTS: 
					warnings.innerHTML = errorArray['zeroResults'];
					break;
				case google.maps.DirectionsStatus.MAX_WAYPOINTS_EXCEEDED: 
					warnings.innerHTML = errorArray['maxWaypointsExceeded'];
					break;
				case google.maps.DirectionsStatus.INVALID_REQUEST: 
				case google.maps.DirectionsStatus.OVER_QUERY_LIMIT: 
				case google.maps.DirectionsStatus.REQUEST_DENIED: 
				case google.maps.DirectionsStatus.UNKNOWN_ERROR : 
				default: 
					warnings.innerHTML = errorArray['otherError'];
					break;
			}
		});
	}

	function showSteps(directionResult)
	{
		var myRoute = directionResult.routes[0].legs[0];
		for ( var i = 0; i < myRoute.steps.length; i++) 
		{
			var marker = new google.maps.Marker( 
			{
				position : myRoute.steps[i].start_point,
				map : map
			});
			attachInstructionText(marker, myRoute.steps[i].instructions);
			markerArray[i] = marker;
		}
	}

	function attachInstructionText(marker, text) 
	{
		google.maps.event.addListener(marker, 'click', function() 
		{
			stepDisplay.setContent(text);
			stepDisplay.open(map, marker);
		});
	}

