function inizializza_mappa_location(map_div_id, lat, lng, google_pub_id) {
	
	var map;
	
	if(GBrowserIsCompatible()) {
		
		map = new GMap2(document.getElementById(map_div_id));
		map.setMapType(G_NORMAL_MAP);
		map.addControl(new GLargeMapControl3D());
		var lat_lng = new GLatLng(lat, lng);
		map.setCenter(lat_lng, 14);	
		var marker = new GMarker(lat_lng);
		
		map.addOverlay(marker);
		
		//sistemare problema ads quando si ricarica la piantina
		/*
		var adsManagerOptions = {
			maxAdsOnMap: 10,
			style: 'adunit'
		};
		
		adsMng = new GAdsManager(map, google_pub_id, adsManagerOptions);
		adsMng.enable();
		*/
	}
	
	return map;
};

function setDirections(fromAddress, toAddress, locale){
	gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
}

function open_popup(destination, scrollto){

	$.scrollTo(
		$(scrollto),
		'slow',
		{
			onAfter:
	    		function(){
	    			jQuery.facebox(function() {
						jQuery.get(
							destination,
							function(data){
								jQuery.facebox(data);
							}
					  	)
					}
					);
	    		}
	    }
	);

}

function create_and_initialize_map(citta){
	
	icon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/orange/blank.png";
	icon.iconAnchor = new GPoint(15, 34);
	icon.infoWindowAnchor = new GPoint(10, 0);
	map = new GMap2(document.getElementById(map_name));
	
	map.addControl(new GLargeMapControl());
	map.setMapType(G_NORMAL_MAP);
	
	/*
	if($('#' + map_name).html() == ""){
		var adsManagerOptions = {
			maxAdsOnMap: 10,
			style: 'adunit'
		};
		
		adsMng = new GAdsManager(map, '<?php print GOOGLE_PUBLISHER_ID ?>', adsManagerOptions);
		adsMng.enable();
	}
	*/
	
	geocoder = new GClientGeocoder();
	geocoder.getLatLng(citta, function(point){
		if(point != null){
			map.setCenter(point, 11);
		}
	});
	
}
	
function createMarker(point, title, logo, nomeLocale, info, numeri, label){
	
	var labelOffset;
	if(label > 9)
		labelOffset = new GSize(-12, -34);
	else
		labelOffset = new GSize(-9, -34);
		
	opts = { 
		"icon": icon,
		"labelText": label,
		"title": title,
		"labelOffset": labelOffset
	};				

	var marker = new LabeledMarker(point, opts);
	infoWindow = '<div class="info-window"><ul class="contenuto">';
	infoWindow += '<li class="logo">' + logo + '</li>';
	infoWindow += '<li class="titolo">' + nomeLocale + '</a></li>';
	infoWindow += '<li class="info">' + info + '</li>';
	
	if(numeri != "")
		infoWindow += '<li class="info">' + numeri + '</li>';
		
	infoWindow += '</ul></div>';
	marker.bindInfoWindowHtml(infoWindow);
	
	GEvent.addListener(marker, "mouseover", function(){
		marker.setImage('http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png');
	});
	
	GEvent.addListener(marker, "mouseout", function() {
		marker.setImage('http://gmaps-samples.googlecode.com/svn/trunk/markers/orange/blank.png');
	});
	
	gmarkers[gmarkers_count - 1] = marker;
    
	return marker;
	
};
	
function placeMarker(lat, lng, title, logo, nomeLocale, info, numeri, label){
			
	var marker = createMarker(new GLatLng(lat, lng), title, logo, nomeLocale, info, numeri, label);
	map.addOverlay(marker);
	
};