var lineaCacheSingolo = null;
function nascondiLineaSingolo () {
	if (lineaCacheSingolo != null) {
		map.closeInfoWindow();
		lineaCacheSingolo.hide();
		lineaCacheSingolo = null;
	}
}
  
function lineaSingoloLoad(idlinea) {
   	WorkingLinee = true;
   	ShowLoading();
   	GDownloadUrl(baseurl + "XmlCoords_linee.php?dettL=" + idlinea,loadXMLLineeSingolo)
}

 
 // carica i dati sulla mappa quando arriva lo stream XML

 
function loadXMLLineeSingolo(dati) {
	if (dati){                    
		var xml = GXml.parse(dati);
		var linee = xml.documentElement.getElementsByTagName("linea");
		
		for (var i = 0; i < linee.length; i++){
			//AddLineaToCache(linee[i].getAttribute("idGeo"), createLinea(linee[i], linee[i].childNodes[0].nodeValue) )
			AddLineaSingoloToCache(linee[i].getAttribute("idGeo"), createLineaSingolo(linee[i]))
			//createLinea(linee[i].getAttribute("vertici"));
		}	
	}
	HideLoading();
	WorkingLinee = false;

}

// Creates a marker whose info window displays the letter corresponding
// to the given index.
function createLineaSingolo(singleLinea, infotxt) {
	
	appo2 = String(singleLinea.getAttribute("vertici")).substr(1);
	appo3 = String(appo2).substr(0, appo2.length-1);
	appo1 = appo3.split ("),(");
	var latlngs = [];
	for(id = 0; id < appo1.length; id += 1) {
		latlngs.push (new GLatLng(appo1[id].split(",")[1],appo1[id].split(",")[0]))
	}
	
	var colore = "#FF0000";
	if (singleLinea.getAttribute("colore") != "") {
		colore = "#"+singleLinea.getAttribute("colore");
	}
	//var polyline = new GPolyline(latlngs, '#FF0000', 4, 0.8);
	var polyline = new GPolyline(latlngs, colore, 4, 0.8);
	var focusPolyline = function(latlngsClick) {
		if (singleLinea.childNodes[1].nodeValue != "") {
			tabsInfo = [new GInfoWindowTab("Info",singleLinea.childNodes[0].nodeValue),
			new GInfoWindowTab("Dettagli",singleLinea.childNodes[1].nodeValue)]
			map.openInfoWindowTabsHtml(latlngsClick,tabsInfo);
		} else {
			map.openInfoWindowHtml(latlngsClick,singleLinea.childNodes[0].nodeValue);
		}
		map.panTo(latlngsClick);
		return false;
	}
	GEvent.addListener(polyline, 'click', focusPolyline);

	curCatLinee = singleLinea.getAttribute("categoria");
	
	return polyline;
}

// Add current marker to Arrays
function AddLineaSingoloToCache(idPunto, linea) { 	
/*
	if (lineaCache[curCatLinee] == null) {
		lineaCache[curCatLinee] = new Array;
	}
	if (lineaCache[curCatLinee][curtipoLinee] == null) {
		lineaCache[curCatLinee][curtipoLinee] = new Array;
	}
	if(lineaCache[curCatLinee][curtipoLinee][idPunto]==null) {
		lineaCache[curCatLinee][curtipoLinee][idPunto]=linea;  
		// se  la priva volta che carico il marker lo piazzo
*/
		lineaCacheSingolo = linea;
		map.addOverlay(linea);
/*
	}
*/
}
