var clusterer;

var customIcons = new GIcon(); 
customIcons.image = '/images/ico_point.png';
customIcons.iconSize = new GSize(60, 52);
customIcons.iconAnchor = new GPoint(14, 52);
customIcons.infoWindowAnchor = new GPoint(14, 0);


var customClusterIcons = new GIcon(); 
customClusterIcons.image = '/images/ico_point.png';	//ico_point_group.png
customClusterIcons.iconSize = new GSize(60, 52);
customClusterIcons.iconAnchor = new GPoint(14, 52);
customClusterIcons.infoWindowAnchor = new GPoint(14, 0);

var mappa_grande = "";

function loads(city) {
	var markerGroups = { "point_gen": []};
	if (city == undefined){
		city = "null";
	}
	mappa_grande = "";
	tipology = "point_gen";
	tipology_name =  "PuntiPlus";
		
	if (GBrowserIsCompatible()) {
		
		mappa_grande = new GMap2(document.getElementById("map"));
		mappa_grande.setCenter(new GLatLng(42.801, 13.666), 7);
		
		var mapTypeControl = new GMapTypeControl();
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		mappa_grande.addControl(mapTypeControl, topRight);
		
		mappa_grande.addControl(new GSmallMapControl());
		
		GDownloadUrl("/assets/markerdata_search.php?city_id="+city, function(data) {
			var xml = GXml.parse(data);
			var markers = xml.getElementsByTagName("marker");
			
			for (var i=0; i<markers.length; i++) {
				var name = markers[i].getAttribute("name");
				var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
				marker_allo = createMarker_allo(point, markers[i].getAttribute("name"), "point_gen", "", "", markers[i].getAttribute("description"), "0");
				markerGroups["point_gen"].push(marker_allo);
			}
			var cluster = new ClusterMarker(mappa_grande, { markers:markerGroups["point_gen"], clusterMarkerIcon:customClusterIcons, markers_type:tipology_name});
			cluster.fitMapToMarkers();
		});
	}
}


function createMarker_allo(point, name, tipology, my_url, photo, description, rating) {
	var option = { icon: customIcons };
	var marker = new GMarker(point, option);
	var ratings = "";
	var html = '<div class="class_point_gen"><h2>'+name+'</h2><p>'+Base64.decode(description)+'</p></div>';
	var infoBoxOptions = {
		"content": html,
		"offsetHorizontal": -95,
		"offsetVertical": 10,
		"height": 70,
		"width": 220,
		"className": "class_info"
	};
	
	var infoBox = new InfoBox(point, infoBoxOptions);
	marker.infoBox = infoBox;
	
	
	GEvent.addListener(marker, "click", function (){
		//parent.open(my_url, '_self');
	});  
	GEvent.addListener(marker, "mouseover", function (){
		
		if (mappa_grande.infoBox) {
			mappa_grande.removeOverlay(mappa_grande.infoBox);
		}
		mappa_grande.infoBox = marker.infoBox;
		mappa_grande.addOverlay(mappa_grande.infoBox);
	});
	GEvent.addListener(marker, "mouseout", function (){
		if (mappa_grande.infoBox) {
			mappa_grande.removeOverlay(mappa_grande.infoBox);
		}
	});
	return marker;
}