/** Main variable, contains the google map main object */
var map;

var gmarkers = [];
var points = [];
var htmls = [];

// arrays to hold variants of the info window html with get direction forms open
var i = 0;
var to_htmls = [];
var from_htmls = [];

function createMap (idDivMap) {
	map = new GMap2(document.getElementById(idDivMap));
	
	// #3104 Commentate le seguenti due righe ed aggiunto il setting dei controlli di default
	//map.addControl(new GLargeMapControl());
	//map.addControl(new GScaleControl());
	var customUI = map.getDefaultUI();	        
    map.setUI(customUI);
    return map;
}

function createMarker(point, html, icon) {	
	var marker;
	if (icon) {
		marker = new GMarker(point, {icon: icon});
	} else{
		marker = new GMarker(point);
	}
	
    GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(html);
	});
    
	gmarkers[gmarkers.length] = marker;
	htmls[html.length] = html;
	
	return marker;
}

function openInfoWindow(i) {
    gmarkers[i].openInfoWindowHtml(htmls[i]);
}

function getLatLngBounds() {
	var minLongitude;  
	var maxLongitude; 
	var minLatitude;  
	var maxLatitude;
	
	for (var i = 0; i < gmarkers.length; i++) {
		var p = gmarkers[i].getLatLng();
		
		if (minLongitude == undefined) minLongitude = p.lng();
		if (maxLongitude == undefined) maxLongitude = p.lng();
		if (minLatitude == undefined) minLatitude = p.lat();
		if (maxLatitude == undefined) maxLatitude = p.lat();
		
		minLongitude = Math.min(minLongitude,p.lng());
		maxLongitude = Math.max(maxLongitude,p.lng());
		minLatitude = Math.min(minLatitude,p.lat());
		maxLatitude = Math.max(maxLatitude,p.lat());
	}	
		
	var a = new GLatLng(minLatitude, minLongitude, false);
	var b = new GLatLng(maxLatitude, maxLongitude, false);
	
	return new GLatLngBounds(a, b);
}

function getZoomLevel (){
	return map.getBoundsZoomLevel(getLatLngBounds());
}


//functions that open the directions forms
function tohere(i) {
  gmarkers[i].openInfoWindowHtml(to_htmls[i]);
}
function fromhere(i) {
  gmarkers[i].openInfoWindowHtml(from_htmls[i]);
}
