var map;
var directionsDisplay;
var directionsService;
var lang;
var europlanetarium;
var marker;


window.addEvent('load', function() {
	lang = document.body.className.trim();
	
	directionsDisplay = new google.maps.DirectionsRenderer();
	directionsService = new google.maps.DirectionsService();
	
	europlanetarium = new google.maps.LatLng(50.95756170111217 , 5.536540746688843);
	var myOptions = {
		zoom: 17,
		center: europlanetarium,
		mapTypeId: google.maps.MapTypeId.HYBRID,
		mapTypeControl: true,
		mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
	}
	map = new google.maps.Map(document.getElementById("googlemap"), myOptions);
	
	directionsDisplay.setMap(map);
	directionsDisplay.setPanel(document.getElementById("directions"));
	
	//set marker
	marker = new google.maps.Marker({
		position: europlanetarium,
		map: map,
		icon: '/design/images/layout/maes-gmap.png'
	});	
	
	// Bind event to form
	$('formRoute').addEvent('submit', function(e)
	{
		e.stop();
		calcRoute();
	});
});

function calcRoute() {
	var start = document.getElementById("start").value.trim();
	if (start.length > 0) {
		var request = {
			origin: start,
			destination: europlanetarium,
			travelMode: google.maps.DirectionsTravelMode.DRIVING,
			unitSystem: google.maps.DirectionsUnitSystem.METRIC,
			language: lang,
			provideTripAlternatives: true
		};
		directionsService.route(request, function(response, status){
			if (status == google.maps.DirectionsStatus.OK) {
				
				document.getElementById("directions_error").innerHTML='';
				directionsDisplay.setDirections(response);
				setImages.delay(5000);
				$('print').setStyle('display', 'inline');
				
				//remove marker
				marker.setMap(null);
			}
			else{
				setError('NOT_FOUND');
			}
		});
	}
	else
	{
		setError('EMPTY');
	}
}

function setError(type)
{
	var error = '';
	switch(type)
	{
		case "EMPTY":			
			error = "Gelieve het adres op te geven waarvan je wilt vertrekken. <br /> <u>Bijvoorbeeld</u>: Planetariumweg 19, 3600 Genk, België";
			break;
		case "NOT_FOUND":
			error = "Er kon geen routebeschrijving berekend worden. Klopt het opgegeven adres?";
			break;
	}
	document.getElementById("directions_error").innerHTML = '<span class="error icon">'+error+'</span>';
}

function setImages()
{
	if ($('pane_5')) {
		var divs = $('pane_5').getElements('div');
		divs.each(function(el, index){
			var bg = el.getStyle('background-image').replace('url(', '').replace(')', '');
			el.innerHTML = '<img src="' + bg + '" alt="" />';
			el.setStyle('background-image', 'none');
			el.setStyle('background', 'none');
			el.setStyle('opacity', '100')
		});
	}
	
	if($('directions')) {
		var directions = $('directions');
		directions.getElements('tr').each(function(tr, index){
			tr.addEvent('click', function(){
				var y= $('googlemap').getPosition().y;						
				window.scrollTo(window.getScrollLeft(), y-10);
			})
		});
	}
}