var map;
var tileServer = 0;
var tileVersion = 2.61;

function getNavTeq() {
	copyrights = new GCopyrightCollection('Map data');
	copyrights.addCopyright(new GCopyright(
		'gmaps-navteq',
		new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)),
		0,
		'&copy;2007 NAVTEQ'
	));
	
	var tileset = new GTileLayer(copyrights, 0, 17);
	tileset.getTileUrl = function(tile, zoom){
		tileServer++;
		if (tileServer > 3) tileServer = 0;
		return 'http://mt' + tileServer + '.google.com/mt?n=404&v=w' + tileVersion + '&x=' + tile.x + '&y=' + tile.y + '&zoom=' + (17 - zoom) + '';
	};
	tileset.isPng = function() { return false; }
	tileset.getOpacity = function() { return 1.0; }

	var maptype = new GMapType(
		[tileset],
		new GMercatorProjection(17),
		'NAVTEQ',
		{
			shortName:'NT',
			tileSize:256,
			maxResolution:17,
			minResolution:0
		}
	);

	return maptype;
}



function windowHeight() {
	// Standard browsers (Mozilla, Safari, etc.)
	if (self.innerHeight)
		return self.innerHeight;
	// IE 6
	if (document.documentElement && document.documentElement.clientHeight)
		return document.documentElement.clientHeight;
	// IE 5
	if (document.body)
		return document.body.clientHeight;
	// Just in case.
	return 0;
}

function handleResize() {
	var height = windowHeight() - document.getElementById('toolbar').offsetHeight - 30;
	document.getElementById('map').style.height = height + 'px';
	document.getElementById('sidebar').style.height = height + 'px';
}

function setPermalink() {
	document.getElementById('permalink-link').setAttribute('href', '?ll=' + map.getCenter().toUrlValue() + '&z=' + map.getZoom());
}

function init() {
	handleResize();
	
	map = new GMap(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
	
	G_NORMAL_MAP.getName = function() { return 'TeleAtlas'; }
	map.addMapType(G_NORMAL_MAP);
	map.addMapType(getNavTeq());
	map.removeMapType(G_HYBRID_MAP);
	map.removeMapType(G_SATELLITE_MAP);
	map.addControl(new GMapTypeControl());
	
	GEvent.addListener(map, 'moveend', setPermalink);
	setPermalink();
}

window.onresize = handleResize;
window.onload = init;
