function createMarker(point, icon, name) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(name);
	});
	return marker;
}

function loadGooglemap(points, onlyOne, zoom, type) {
	
	var markers = new Object();
	
	if(onlyOne) {
		//markers[0] = createMarker(points, 'test');
		current = createMarker(points, 'test');
	} else { // Array
		count = 0;
		$.each(points, function(index, value) {			
			map_icon = "http://gaultmillau-at.kurier.at/img/gmap/icong_"+type+"_"+(count+1)+".png";
			markers[index] = createMarker(new GLatLng(value["latitude"], value["longitude"]), map_icon, value["name"]);
			
			count = count+1;
		});
	}
	
	initialize(markers, zoom);
	
}

function initialize(markers, zoom) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(center, zoom);
		map.addOverlay(current);
		
		$.each(markers, function(index, value) {
			map.addOverlay(value);
		});
	} else {
		alert("Sorry, Google Maps kann mit Ihrem Browser nicht angezeigt werden");
	}
}

function show_nearby_wineries() {
	$("#nearby_list_wineries").show();
	
	var points = new Object();
	
	$("#nearby_list_wineries .wines").each(function() {
		var id = $(this).val();
		
		var infos = new Object();
		
		infos["link"] = $("#link_"+id).attr("href");
		infos["name"] = $("#link_"+id).text();
		infos["latitude"] = $("#latitude_"+id).val();
		infos["longitude"] = $("#longitude_"+id).val();
				
		points[id] = infos;
		
	});
	
	$("#nearby_list_hotels").hide();
	$("#nearby_list_restaurants").hide();
	
	loadGooglemap(points, false, 14, 'wineries');
}

function show_nearby_restaurants() {
	$("#nearby_list_restaurants").show();
	
	var points = new Object();
	
	$("#nearby_list_restaurants .restaurant").each(function() {
		var id = $(this).val();
		
		var infos = new Object();
		
		infos["link"] = $("#link_"+id).attr("href");
		infos["name"] = $("#link_"+id).text();
		infos["latitude"] = $("#latitude_"+id).val();
		infos["longitude"] = $("#longitude_"+id).val();
				
		points[id] = infos;
		
	});
	
	$("#nearby_list_hotels").hide();
	$("#nearby_list_wineries").hide();
	
	loadGooglemap(points, false, 8, 'restaurants');
}

function show_nearby_hotels() {
	$("#nearby_list_hotels").show();
	
	var points = new Object();
	
	$("#nearby_list_hotels .hotel").each(function() {
		var id = $(this).val();
		
		var infos = new Object();
		
		infos["link"] = $("#link_"+id).attr("href");
		infos["name"] = $("#link_"+id).text();
		infos["latitude"] = $("#latitude_"+id).val();
		infos["longitude"] = $("#longitude_"+id).val();
				
		points[id] = infos;
		
	});
	
	$("#nearby_list_restaurants").hide();
	$("#nearby_list_wineries").hide();
	
	loadGooglemap(points, false, 8, 'hotels');
}
