var this_map;

function get_map(id) {
	$().unload(GUnload);

	if (!GBrowserIsCompatible()) {
		alert('Can not start googlemap');
		return;
	}

	var map=new GMap2(document.getElementById(id));
	map.setMapType(G_HYBRID_MAP);
	map.addControl(new GMapTypeControl());
	this_map = map;
	return map;
}

function get_icon() {
	var icon = new GIcon();
	icon.image = "/gfx/camping_ikon.png" ;
	icon.iconAnchor = new GPoint(8,14);
	icon.infoWindowAnchor = new GPoint(16, 0);
	icon.iconSize = new GSize(12, 16);
	return icon;
}

var cached_icon;

function directions(to,lat,long,name) {

	var html = '<h3>'+name+'</h3>';
	html += to ? 
		'Find ruter: <b>Hertil</b> - <a href="javascript:directions(0,'+lat+','+long+',\''+name+'\')">Herfra</a>' +
		'<br>Start adresse:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
		'<input type="text" SIZE=30 MAXLENGTH=30 name="saddr" id="saddr"/><br>' +
		'<INPUT value="Find rute" TYPE="SUBMIT">' +
		'<input type="hidden" name="daddr" value="' + lat + ',' + long + '"/>' :

		'Find ruter: <a href="javascript:directions(1,'+lat+','+long+',\''+name+'\')">Hertil</a> - <b>Herfra</b>' +
		'<br>Slut adresse:<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
		'<input type="text" SIZE=30 MAXLENGTH=30 name="daddr" id="daddr"/><br>' +
		'<INPUT value="Find rute" TYPE="SUBMIT">' +
		'<input type="hidden" name="saddr" value="' + lat + ',' + long +'"/>';

	var latlng = new GLatLng(lat,long);
	this_map.openInfoWindowHtml(latlng,html);
}

function create_marker(args) {
	var lat   = args.row ? args.row[0] : args.lat;
	var long  = args.row ? args.row[1] : args.long;
	var title = args.row ? args.row[2] : args.title;
	var path  = args.row ? args.row[3] : args.path;
	var desc  = args.row ? args.row[4] : args.desc;

	var latlng = args.latlong || new GLatLng(lat,long);

	cached_icon = args.icon || cached_icon || get_icon();  

	var marker = new GMarker(
		latlng,
		{ icon: cached_icon }
	);

	if (args.bounds && !args.bounds.contains(latlng))
		args.bounds.extend(latlng);

	var html = '<h3>'+title+'</h3>';
	if (desc) html += '<span class="description">'+desc+'</span><br>';
	html += 'Kørselsvejledning: <a href="#" onclick="directions(1,'+lat+','+long+',\''+title+'\');return false">Hertil</a>';
	html += ' <a href="#" onclick="directions(0,'+lat+','+long+',\''+title+'\');return false">Herfra</a>';
	if (path) html += '<br><a href="'+path+'">Læs mere om pladsen</a>';

	if (args.open) args.map.openInfoWindowHtml(latlng,html);

	GEvent.addListener(marker,"mouseover", function() {
		args.map.openInfoWindowHtml(latlng,html);
	});

	if (path) {
		GEvent.addListener(marker,"click", function() {
			location.href = path;
		});
	}

	return marker;
}

function place_markers(map,points) {
	map.setCenter(new GLatLng(points[0][0],points[0][1]),15);

	var bounds = map.getBounds();

	for(var i=0;i<points.length-1;i++) {
		map.addOverlay(
			create_marker({
				row: points[i],
				bounds: bounds,
				map: map
			})
		);
	}

	map.setZoom(map.getBoundsZoomLevel(bounds));
	map.setCenter(bounds.getCenter());
}


