﻿var map = null;
var directions = null;
var geocoder = null;
var interval = null;
var infoWindow = null;

$(function() {

$("#directions").css('display', 'none');

if (GBrowserIsCompatible() == false) {
	return;
}

map = new GMap2(document.getElementById("map"));

// Load directions container.
directions = new GDirections(map, $("#directions").get(0));

/* Load geocoder
geocoder = new GClientGeocoder();
*/

map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());

// ICATT
var lat = 52.37525;
var lng = 4.89185;

var point = new GLatLng(lat, lng);

map.setCenter(point, 16);

var kml = new GGeoXml("http://www.icatt.nl/nieuwezijds/map.xml");
map.addOverlay(kml)

// Switch to hybrid view.
map.setMapType(G_HYBRID_MAP);

// Create custom ICATT marker
var mm = new GMarkerManager(map);
var marker = new GMarker(point);

var infoWindow = $('#ICATT-infowindow').get(0);

GEvent.addListener(marker, "click", function() {
	marker.openInfoWindow(infoWindow);
});

map.addOverlay(marker);

// Show info window after loading page.
setTimeout(function() {
	GEvent.trigger(marker, 'click');
}, 2000);

// Calculate route on form submit.
$('#form-route').submit(function() {
	var value = $('#field-adres').val();
	// validate value

	directions.clear();
	directions.load("from: " + value + ", NL to: Nieuwezijds Voorburgwal 160, Amsterdam, NL");

	var i = 0;
	interval = window.setInterval(function() {
		if (++i == 100) {
			window.clearInterval(interval);
		}

		var status = directions.getStatus();

		if (status.code == 200) {
			$('#form-error').hide();
			map.closeInfoWindow();
			$('#directions').show();
			window.clearInterval(interval);
			return;
		}

		if (status.code > 200) {
			$('#form-error').show('normal');
			window.clearInterval(interval);
			return;
		}
	}, 200);

	return false;
});

$('#button-hide-directions').click(function() {
	directions.clear();
	$('#directions').slideUp('fast');
});

// Run GUnload on document unload to prevent memory leaks.
$(document).unload(function() {
	GUnload();
});

/*
// Create our "tiny" marker icon
var blueIcon = new GIcon(G_DEFAULT_ICON);
blueIcon.image = "blue.gif";

// Set up our GMarkerOptions object
markerOptions = { icon:blueIcon };

var marker = new GMarker(point, markerOptions);

map.addOverlay(marker);
*/

// showAddress('Nieuwezijds Voorburgwal 170, 1012 SH, Amsterdam');
});

/**
 * Finds an address on the map.

function showAddress(address) {
	if (geocoder == false) {
		return;
	}

	geocoder.getLatLng(address, function(point) {
		if (!point) {
			alert(address + " not found");
			return;
		}

		window.prompt(address, point);

		map.setCenter(point, 13);
		var marker = new GMarker(point);
		map.addOverlay(marker);
		marker.openInfoWindowHtml(address);
	});
} */
