/**
 * Google Map Tools 
 * Version: 1.1
 * Author: Massimo Ciccolini
 * Author URI: http://web.idra.it/
*/
 
function gmtools_render(id,GMpointsArray,zoom) {
	
	var map = new GMap2(document.getElementById(id));
	
	
	var customUI = map.getDefaultUI();
	
	// Remove MapType.G_HYBRID_MAP
	// customUI.maptypes.hybrid = false; |_tools
	// Remove MapType.G_PHYSICAL_MAP |_tools
	//customUI.maptypes.physical = false;
	
	
	map.setUI(customUI);
	
	// definisce tipo mappa HYBRID o SATELLITE |_tools 
	//map.setMapType(G_HYBRID_MAP);
	//map.setMapType(G_SATELLITE_MAP);
	map.setMapType(G_NORMAL_MAP);
	//map.setMapType(G_PHYSICAL_MAP);
	
	this.findPoint = findPoint;
	this.placing = placing;
	

	//var iconaVariabile = "http://www.geoblog.it/lucidancona/wp-content/plugins/google-map-tools/EMotion.png";  


	for (var i = 0; i <= GMpointsArray.length - 1; i++){
 
	 	this.placing(GMpointsArray[i]);

	}

	 function placing (single, showinfo){

          var latlng = new GLatLng(single.point.lat,single.point.long);
		  map.setCenter(latlng, zoom);

          var categoria = single.categoria;

	var iconaVariabile = 'http://www.geoblog.it/digitalcaputmundi/wp-content/plugins/google-map-tools/'+categoria+'.png';  

	var baseIcona = new GIcon();  
	baseIcona.iconSize=new GSize(15,15);
	baseIcona.shadowSize=new GSize(30,20);
	baseIcona.iconAnchor=new GPoint(15,15);
	baseIcona.infoWindowAnchor=new GPoint(15,0);  

	var icona = [];  
	icona["tutte"] = new GIcon(baseIcona, iconaVariabile);  

          var titolo = " "+single.titolo+" ";
          var breve = single.info;
          var breve1 = single.info;
          var titolomarker = categoria+": "+single.titolo+" ";

		  var marker = new GMarker(latlng,{title:titolomarker,icon:icona["tutte"]});
          map.addOverlay(marker);


          var maxContentDiv = document.createElement('div');
          maxContentDiv.innerHTML = 'GEOgrafico Loading: '+categoria+': '+titolo+'...'

			if(showinfo){
					map.openInfoWindowHtml(latlng, breve1, {  
					maxTitle: titolo,  
					maxContent: maxContentDiv });
					
					var iw = map.getInfoWindow();
					var indirizzo = single.link;
					//var indirizzo = "http://www.idra.it/";
					GEvent.addListener(iw, "maximizeclick", function() {
					GDownloadUrl(indirizzo, function(data) {
					maxContentDiv.innerHTML = data;
					});
					});
					
			}
			if 	(single.info != null){
				GEvent.addListener(marker, "click", function() {
					
					map.openInfoWindowHtml(latlng, breve, {  
					maxTitle: titolo,  
					maxContent: maxContentDiv });
					
					var iw = map.getInfoWindow();
					var indirizzo = single.link;
					GEvent.addListener(iw, "maximizeclick", function() {
					GDownloadUrl(indirizzo, function(data) {
					maxContentDiv.innerHTML = data;
					});
					});
					
				});
			}
			
	}			  
//   inizio aggiunta traccia
	var geoXml_1 = new GGeoXml("http://www.idra.it/kml_geoblog/130510_walk.kml");
	//var geoXml_2 = new GGeoXml("http://www.idra.it/ottobrataromana/rosso2.kml");
	//var geoXml_3 = new GGeoXml("http://www.idra.it/ottobrataromana/azzurro.kml");
	//var geoXml_4 = new GGeoXml("http://www.idra.it/ottobrataromana/giallo.kml");
	//var geoXml = new GGeoXml("http://www.idra.it/ottobrataromana/xHappyNewHear.kml");

		map.addOverlay(geoXml_1);
		//map.addOverlay(geoXml_2);
		//map.addOverlay(geoXml_3);
		//map.addOverlay(geoXml_4);
		//map.addOverlay(geoXml);
//   fine aggiunta traccia
				  

	function findPoint(which) { 
	
		this.placing(GMpointsArray[which], true);
		
	}

}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
		}
		else {
		window.onload = function() {
		oldonload();
		func();
		}
	}
}


function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}
