mdlreg = new RegExp("([0-9]*)px", "i");
mdlzindex = 100000; 
var treepoi;
var treeeventi;
var accordion1,accordion2,accordion3;
var lastindex;
var treepercorsi;
var poispoi;
var poispercorsi;
var layerclicked;
var tkeeperss;
var elementiapertiinpoi = false;
var elementiapertiinpercorsi = false;
var elementiapertiineventi = false;
var redElements = new Array();
function DraggableLayer(elemento,zindx,contentid,index,typs,typsName,pois,motorericerca) {
	this.mdlclicked = false;
	this.mdlx;
	this.mdly;
	this.mdlx1=0;
	this.mdly1=0;
	this.mdlXoffset;
	this.mdlYoffset;
	this.zindx = zindx;
	this.mdlmaxYsize = 400;
	this.mdlminYsize = 200;
	this.mdlelement = elemento;
	this.contentid = contentid;
	this.index = index;
	this.typs = typs;
	this.typsName = typsName;
	this.motorericerca = motorericerca;
	this.tree;
	var self = this;
	
	//if (this.typs)
		//alert(this.typs.length);
	
	if (index==1)
		poispoi = this.pois;
	else if (index==2)
		poispercorsi = this.pois;
	else if (index==4 || index==5) {
		tkeeperss = pois;
	}
	
	document.getElementById(contentid).innerHTML=AccordionGenerator(index,motorericerca,getPoiClass( zoom ));
	panelid = "panel2"+index;
	//alert(panelid + " " +document.getElementById(panelid));
	if (getPoiClass( zoom )=='Singolo') {
		document.getElementById(panelid).style.display="inline";
	}
	if (index==1)
		accordion1 = new Spry.Widget.Accordion("ac"+index, { defaultPanel: 0, enableAnimation: false });
	else if (index==2)
		accordion2 = new Spry.Widget.Accordion("ac"+index, { defaultPanel: 0, enableAnimation: false });
	else if (index==3)
		accordion3 = new Spry.Widget.Accordion("ac"+index, { defaultPanel: 0, enableAnimation: false });
	else if (index==4)
		accordion4 = new Spry.Widget.Accordion("ac"+index, { defaultPanel: 0, enableAnimation: false });
	else if (index==5)
		accordion5 = new Spry.Widget.Accordion("ac"+index, { defaultPanel: 0, enableAnimation: false });
	if (index!=4 && index!=5)
		this.tree= genAlberodeiTipi(index);
	else if (index==4)
		genAlberoAtleti(null,index,null);
	else
		genAlberoTrackers(null,index,null);
	//alert(this.tree.rootId);
		
	DraggableLayer.prototype.clickser = function(event) {
		if (!this.mdlclicked) {
			itemX = document.getElementById(this.mdlelement).style.left;
			itemY = document.getElementById(this.mdlelement).style.top;
			arX = mdlreg.exec(itemX);
			arY = mdlreg.exec(itemY);
			if (event.pageX || event.pageY) {
				//alert('FF');
				clickX = event.pageX;
				clickY = event.pageY;
				this.mdlXoffset = clickX - arX[1];
				this.mdlYoffset = clickY - arY[1];
			} else {
				//alert('IE');
				clickX = event.offsetX + arX[1];
				clickY = event.offsetY + arY[1];
				//this.mdlXoffset = arX[1];
				//this.mdlYoffset = arY[1];
				this.mdlXoffset = clickX;
				this.mdlYoffset = clickY;
			}
			document.getElementById(this.mdlelement).className = 'drag';
			document.getElementById(this.mdlelement).style.cursor = 'move';
		}
		this.mdlclicked = true;
	}
	
	DraggableLayer.prototype.movers = function(event) {
		if (this.mdlclicked == true) {
			if (event.pageX || event.pageY) {
				this.mdlx = event.pageX - this.mdlXoffset;
				this.mdly = event.pageY - this.mdlYoffset;
			} else {
				this.mdlx = event.offsetX - 20;
				this.mdly = event.offsetY - 20;
			}
			document.getElementById(this.mdlelement).className = 'drag';
			if (this.mdlx>0 && this.mdly>0) {
				this.mdly1 = this.mdly;
				this.mdlx1 = this.mdlx;
				document.getElementById(this.mdlelement).style.top = this.mdly + 'px';
				document.getElementById(this.mdlelement).style.left = this.mdlx + 'px';
			}
		}
	}
	
	DraggableLayer.prototype.unclicks = function(event) {
		this.mdlclicked = false;
		if (this.mdly1==0)
			this.mdly1=toppixellayer;
		if (this.mdlx1==0)
			this.mdlx1=leftpixellayer;
		document.getElementById(this.mdlelement).style.top = this.mdly1 + 'px';
		document.getElementById(this.mdlelement).style.left = this.mdlx1 + 'px';
		document.getElementById(this.mdlelement).style.className = 'regular';
		document.getElementById(this.mdlelement).style.cursor = 'auto';
	}
	
	DraggableLayer.prototype.expander = function() {
		expander(this.mdlelement,this.mdlmaxYsize,this.index);
	}
	
	DraggableLayer.prototype.shrinker = function() {
		shrinker(this.mdlelement,this.mdlminYsize,this.index);
	}
	
	DraggableLayer.prototype.hide = function() {
		document.getElementById(this.mdlelement).style.display = "none";
		document.getElementById(this.contentid).style.display = "none";
		if (this.index==4) {
			g_selectedtrackerkeeper = "***";
		}
		if (this.index==5) {
			if (g_popup5opened)
				g_popup5tobeopened = true;
			g_popup5opened = false;
			//fermaanalisi();
		}
        //alert('g_popup5tobeopened : '+g_popup5tobeopened+" - this.index : "+this.index);
	}
	
	DraggableLayer.prototype.show = function() {
		//alert(this.mdlelement+" "+this.contentid+" "+this.index);
		document.getElementById(this.mdlelement).style.zIndex = mdlzindex++;
		document.getElementById(this.mdlelement).style.display = "inline";
		document.getElementById(this.contentid).style.display = "inline";
		if (this.index==5) {
			g_popup5opened = true;
			g_popup5tobeopened = false;
			if ($('#theDate1').val()=='') {
				$("#theDate1").val($.format.date(new Date(), 'dd/MM/yyyy'));
			}
			$('#theDate1').datepicker({
				showOn: "button",
				buttonImage: "images/calendar.gif",
				buttonImageOnly: true
			});
			if ($('#theDate2').val()=='') {
				$("#theDate2").val($.format.date(new Date(), 'dd/MM/yyyy'));
			}
			$('#theDate2').datepicker({
				showOn: "button",
				buttonImage: "images/calendar.gif",
				buttonImageOnly: true
			});
			fermaanalisi();
			setTimeout('avviaanalisi()',1000);
		}
		if (this.index==1 && g_openlastpanel1) {
			accordion1.openFirstPanel();
			g_popup1.genAlberodeiPoi(null,1);
			g_openlastpanel1=false;
			accordion1.openLastPanel();
		}
		if (this.index==2 && g_openlastpanel2) {
			accordion2.openFirstPanel();
			g_popup2.genAlberodeiPoi(null,2);
			g_openlastpanel2=false;
			accordion2.openLastPanel();
		}
		if (this.index==3 && g_openlastpanel3) {
			accordion3.openFirstPanel();
			g_popup3.genAlberodeiPoi(null,3);
			g_openlastpanel3=false;
			accordion3.openLastPanel();
		}
	}
	
	function expander(elemento,maxysize,index) {
		//ary = mdlreg.exec(document.getElementById(elemento).style.height);
		tempY = 0;
		//tempY = (+ary[1]);
		//tempY = (tempY + 10);
		arx = mdlreg.exec(document.getElementById(elemento).style.width);
		tempX = (+arx[1]);
		tempX = (tempX + 10);
		//document.getElementById(elemento).style.height = tempY + 'px';
		document.getElementById(elemento).style.width = tempX + 'px';
		//updateaccordionsheight(tempY-70,index);
		if (tempY < maxysize)
			t = setTimeout("DraggableLayer.prototype.expander", 35);
	}
	
	function updateaccordionsheight(tempY,index) {
		document.getElementById("ac"+index+"apc1").style.height = tempY + 'px';
		document.getElementById("ac"+index+"apc2").style.height = tempY + 'px';
	}
	
	function shrinker(elemento,minysize,index) {
		//ary = mdlreg.exec(document.getElementById(elemento).style.height);
		tempY = 0;
		//tempY = (+ary[1]);
		//tempY = (tempY - 10);
		arx = mdlreg.exec(document.getElementById(elemento).style.width);
		tempX = (+arx[1]);
		tempX = (tempX - 10);
		//document.getElementById(elemento).style.height = tempY + 'px';
		document.getElementById(elemento).style.width = tempX + 'px';
		//updateaccordionsheight(tempY-70,index);
		if (tempY > minysize)
			t = setTimeout("DraggableLayer.prototype.shrinker", 35);
	}
	
	function genAlberodeiTipi(index) {
		//alert(index+" "+typsName);
		document.getElementById("ac"+index+"apc1").innerHTML=treecreator(index);
		this.tree=new dhtmlXTreeObject(document.getElementById('treeBox'+index),"100%","100%",index-1); 
		this.tree.setImagePath("http://www.newgeo.it/images/iconng/"); 
		this.tree.enableCheckBoxes(false); 
		this.tree.enableDragAndDrop(false); 	
		lastindex=index;
		this.tree.attachEvent("onClick",onNodeSelect);	
		
		var level1 = new Array();
	    for (i=0;i<typs.length;i++ ) {
	    	var l1 = typs[ i ].substring( 0, 3 );
		    var	found=false;
		    for (j=0;j<level1.length;j++ ) {
		    	if (level1.slice(j,j+1)==l1) {
		    		found=true;
		    		break;
		    	}
		    }
			if (!found) {
		    	//alert(typs[ i ]+" "+l1+" "+typsName[l1]);
				if (typsName[l1]) {
					level1.push(l1);
			    	//alert(typs[ i ]+" "+l1+" "+typsName[l1].menu);
					img = typsName[l1].menu;
					imgs=img.split('/');
					img=imgs[imgs.length-1];
					this.tree.insertNewChild(index-1,l1,typsName[l1].nome,0,img,img,img,"CHILD"); 
					this.tree.setItemText(l1,typsName[l1].nome,typsName[l1].nome);
					this.tree.closeAllItems(l1);
				}
			}
	    }
		
		var level2 = new Array();
	    for (i=0;i<typs.length;i++ ) {
	    	var l2 = typs[ i ].substring( 0, 6 );
		    var	found=false;
		    for (j=0;j<level2.length;j++ ) {
		    	if (level2.slice(j,j+1)==l2) {
		    		found=true;
		    		break;
		    	}
		    }
			if (!found) {
				if (typsName[l2]) {
					level2.push(l2);
					//if (mapOID==57691 && typsName[l2]==null) 
					//alert(l2+" - "+typsName[l2]);
					img = typsName[l2].menu;
					imgs=img.split('/');
					img=imgs[imgs.length-1];
					this.tree.insertNewChild(l2.substring(0,3),l2,typsName[l2].nome,0,img,img,img,"CHILD"); 
					this.tree.setItemText(l2,typsName[l2].nome,typsName[l2].nome);
				}
			}
	    }
	
	    for (i=0;i<level1.length;i++ ) {
			this.tree.closeAllItems(level1[i]);
		}
	    
	    for (var i=0;i<typs.length;i++ ) {
	    	var t = typs[ i ];
			if (typsName[t]) {
				img = typsName[t].menu;
				imgs=img.split('/');
				img=imgs[imgs.length-1];
				this.tree.insertNewChild(t.substring(0,6),t,typsName[t].nome,0,img,img,img,"CHILD"); 
				this.tree.setItemText(t,typsName[t].nome,typsName[t].nome);
				openCategoryIfSelectedByAdmin(t,this.tree,true);
				//openTreeItemIfSelectedByAdmin(t,this.tree);
			}
		}
	    //for (var i=0;i<typs.length;i++ ) {
	    	//var t = typs[ i ];
	    //}
		if (index==1 && parseInt(templateNuvoletta)==10){
		   document.getElementById(elemento).style.zIndex = mdlzindex++;
		   document.getElementById(elemento).style.display = "inline";
		   document.getElementById(contentid).style.display = "inline";
		   var poiclass = getPoiClass( zoom );
		   genAlberoPoi(null,1,poiclass);
		   if (poiclass=='Singolo' && !elementiapertiinpoi) {
	       		accordion1.openLastPanel();
	       		g_openlastpanel1=true;
		   } else {
	       		elementiapertiinpoi=false;
	       		if (poiclass=='Singolo' ) {
		       		accordion1.openLastPanel();
		       		g_openlastpanel1=true;
	       		}
		   }
		}   
		   
		return this.tree;
	}
	
	function openCategoryIfSelectedByAdmin(category,albero,loadpois) {
        for ( var qwerty = 0;qwerty < openedcat.length;qwerty++ ) {
            if ( (openedcat[ qwerty ]) == (category) ) {
            	//alert(openedcat[ qwerty ]);
	            openCategory( openedcat[ qwerty ],albero,loadpois);
            }
        }
	}

	function openCategory( nodeId,albero,loadpois ) {
		redElements.push(nodeId);
		if (nodeId.substring(0,1)=="0") {
			elementiapertiinpoi=true;
		} else if (nodeId.substring(0,1)=="1")
			elementiapertiinpercorsi=true;
		else if (nodeId.substring(0,1)=="2")
			elementiapertiineventi=true;
		if (loadpois)  
        	loadPois( [ nodeId ], null, null, nodeId.substring(0,1),true );
		
		/*
		} else {
	       if (nodeId.substring(0,1)=="0") {
			   var poiclass = getPoiClass( zoom );
			   genAlberoPoi(null,1,poiclass);
			   if (poiclass=='Singolo' && !elementiapertiinpoi) {
		       		accordion1.openLastPanel();
		       		g_openlastpanel1=true;
			   } else {
		       		elementiapertiinpoi=false;
		       		if (poiclass=='Singolo' ) {
			       		accordion1.openLastPanel();
			       		g_openlastpanel1=true;
		       		}
			   }
	       }
	       else if (nodeId.substring(0,1)=="1") {
			   var poiclass = getPoiClass( zoom );
			   genAlberoPoi(null,2,poiclass);
			   if (poiclass=='Singolo' && !elementiapertiinpoi) {
		       		accordion2.openLastPanel();
		       		g_openlastpanel2=true;
			   } else {
		       		elementiapertiinpoi=false;
		       		if (poiclass=='Singolo' ) {
			       		accordion2.openLastPanel();
			       		g_openlastpanel2=true;
		       		}
			   }
	       }
	       else if (nodeId.substring(0,1)=="2") {
			   var poiclass = getPoiClass( zoom );
			   genAlberoPoi(null,3,poiclass);
			   if (poiclass=='Singolo' && !elementiapertiinpoi) {
		       		accordion3.openLastPanel();
		       		g_openlastpanel3=true;
			   } else {
		       		elementiapertiinpoi=false;
		       		if (poiclass=='Singolo' ) {
			       		accordion3.openLastPanel();
			       		g_openlastpanel3=true;
		       		}
			   }
	       }
	       
        }*/
        albero.setItemColor(nodeId, '#FF0000', '#FF0000');
	    albero.openItem(nodeId);
	}

	DraggableLayer.prototype.openCategory=function( nodeId ) {
		openCategory(nodeId,this.tree,true);
	}

	DraggableLayer.prototype.removeAllCategories=function() {
	    for (j=0;j<redElements.length;j++ ) {
	    	var nId = redElements.slice(j,j+1)
	        removePois( [ nId ], null );
	        this.tree.setItemColor(nId, '#000000', '#FFFFFF');
	    }
	    redElements = new Array();
	}
	
	//function openTreeItemIfSelectedByAdmin(category,albero) {
    //    for ( var qwerty = 0;qwerty < openedcat.length;qwerty++ ) {
    //        if ( (openedcat[ qwerty ]) == (category) ) {
	//            albero.openItem(openedcat[ qwerty ]);
    //        }
    //    }
	//}
	
	function onNodeSelect(nodeId){
        if (nodeId.length>=9) {
	        showModal();
		    var	found=false;
		    var indexfound = 0;
		    for (j=0;j<redElements.length;j++ ) {
		    	if (redElements.slice(j,j+1)==nodeId) {
		    		found=true;
		    		indexfound=j;
		    		break;
		    	}
		    }
			if (!found) {
				var tipodipoi=0;//POI
				if (nodeId.substring(0,1)=="1") {
					tipodipoi=1;//percorso
				} else if (nodeId.substring(0,1)=="2")
					tipodipoi=2;//evento
				redElements.push(nodeId);
		        loadPois( [ nodeId ], null, null, tipodipoi );
		        self.tree.setItemColor(nodeId, '#FF0000', '#FF0000');
			} else {
				redElements.splice(indexfound,1);
		        removePois( [ nodeId ], null );
		        self.tree.setItemColor(nodeId, '#000000', '#FFFFFF');
			}
        }
	} 
	
	
	
	function genAlberoPoi(filtro,index,poiclass) {
		//alert('** poi '+filtro+" "+index);
		if (poiclass && poiclass!=null && poiclass=='Singolo') {
			//alert(layerpois.length);
			poispoi = layerpois;
		    var tf = 'tipofiltro'+index;
		    var treepoisear = "treepoisearch"+index;
			if (treepoi!=null)
				for ( var i in poispoi ) {
			        var ap = poispoi[ i ];
					treepoi.deleteItem(ap.OID+"-"+ap.type);
				}
			if (filtro==null) {
				document.getElementById("ac"+index+"apc2").innerHTML=treecreatorpoi(index);
				document.getElementById(treepoisear).innerHTML=treepoisearch(index,poispoi);
				treepoi=new dhtmlXTreeObject(document.getElementById('treeBoxPoi'+index),"100%","100%",0);
			} else {
				//alert(treepoi);
			} 
			treepoi.setImagePath("http://www.newgeo.it/images/iconng/"); 
			treepoi.enableCheckBoxes(false); 
			treepoi.enableDragAndDrop(false); 	
			treepoi.attachEvent("onClick",DraggableLayer.prototype.onNodeSelectPoi);	
			for ( var i in poispoi ) {
		        var ap = poispoi[ i ];
		        if (ap.type) {
			        if (index==1 && ap.type.substring(0,1)!="0")
			        	continue;
			        else if (index==2 && ap.type.substring(0,1)!="1")
			        	continue;
			        else if (index==3 && ap.type.substring(0,1)!="2")
			        	continue;
		        }
		        if (filtro!=null) {
			        var valu = "";
			        if ( document.getElementById( tf ).selectedIndex == 0 )
			            valu = ap.name.toUpperCase();
			        else
			            if ( document.getElementById( tf ).selectedIndex == 1 )
			                valu = ap.citta.toUpperCase();
			            else
			                if ( document.getElementById( tf ).selectedIndex == 2 ) {
			                    valu = ap.stelle.toUpperCase();
			                }
			        if ( valu.indexOf( filtro.toUpperCase() ) < 0 )
			        	continue; 
		        }
		        var icon = ap.icon;
		        var tipoicon = getTypeNameFromTypeOID( ap.type );
		
		        if ( ap.icon == null ) {
		            icon = "http://www.newgeo.it/images/iconng/7392.png";
		            tipoicon = g_traduzioni.mydraggablelayerobj_js_informazionituristiche;
		        }
		
				img = icon;
				imgs=img.split('/');
				img=imgs[imgs.length-1];
				treepoi.insertNewChild(0,ap.OID+"-"+ap.type,ap.name,0,img,img,img,"CHILD"); 
				treepoi.setItemText(ap.OID+"-"+ap.type,ap.name,tipoicon);
				treepoi.enableTreeLines("enable");
		    }
		}
	}
	
	function genAlberoAtleti(filtro,index,poiclass) {
	    var tf = 'tipofiltro'+index;
	    var ret = "";
		if (filtro==null) {
			document.getElementById("ac"+index+"apc2").innerHTML=treecreatoratleti(index);
		} 
        ret += "<table  CELLPADDING='0' CELLSPACING='0' WIDTH='100%' border='0' align='center' height='100%' >\n";
		for ( var i in tkeeperss ) {
	        var ap = tkeeperss[ i ];
	      	ret += "<tr height='50'>\n";
	        var icon = ap.tk_foto;
	        if ( ap.tk_foto == null ) {
	            icon = "http://www.newgeo.it:8081/imageweb/img/trackerkeepers/def.jpg";
	        }
	        ret += "<td width='50' align='center'><A id='"+ap.id_trackershowed+"' HREF='#' onclick='javascript:showschedagarista(this.id)'><IMG height='50' SRC='"+icon+"'/></A></td>\n";
	        ret += "<td width='26' align='center' style='font-weigth:bold;font-size:24px;color:#"+ap.colore+";text-decoration:underline'><A id='"+ap.id_trackershowed+"' HREF='#' onclick='javascript:showschedagarista(this.id)' style='color:#"+ap.colore+"'>"+ap.id_trackershowed+"</A></td>\n";
	        ret += "<td style='font-size:12px'><A id='"+ap.id_trackershowed+"' HREF='#' onclick='javascript:showschedagarista(this.id)'>"+ap.tk_name+"</A></td>\n";
	      	ret += "</tr>\n";
		}
		ret += "</table>\n";
		document.getElementById('treeBoxPoi'+index).innerHTML=ret;
	}
	
	function genAlberoTrackers(filtro,index,poiclass) {
		var date = new Date();
	    var tf = 'tipofiltro'+index;
	    var ret = "";
		if (filtro==null) {
			document.getElementById("ac"+index+"apc2").innerHTML=treecreatortrackers(index);
		} 
        ret += "<table  CELLPADDING='2' CELLSPACING='0' WIDTH='100%' border='0' align='left' >\n";
	      	ret += "<tr>\n";
	        ret += "<td width='10%' align='right'>\n";
	        ret += "<input type='radio' id='dirid' name='tipo' value='d' checked onchange='richiestadiretta();'/>";
	        ret += "</td>\n";
	        ret += "<td width='15%' align='left' style='font-size:12px'>\n";
	        ret += "diretta";
	        ret += "</td>\n";
	        ret += "<td width='10%' align='center'>\n";
	        ret += "<input type='radio' id='repid' name='tipo' value='r' onchange='richiestareplay()'/>";
	        ret += "</td>\n";
	        ret += "<td width='15%' align='left' style='font-size:12px'>\n";
	        ret += "replay";
	        ret += "</td>\n";
	        ret += "<td width='50%' align='left' style='font-size:12px'>\n";
	        ret += "</td>\n";
	      	ret += "</tr>\n";
        //alert('genAlberoTrackers '+tkeeperss.length);
        ret += "</table>\n";
        ret += "<br>\n";
        ret += "<table  CELLPADDING='2' CELLSPACING='0' WIDTH='100%' border='0' align='center' >\n";
		for ( var i in tkeeperss ) {
	        var ap = tkeeperss[ i ];
	      	ret += "<tr>\n";
	      	var salt = "onclick='javascript:showaltimetria(";
	      	salt += ap.id_trackershowed;
	      	salt += ",\"";
	      	salt += ap.tk_name;
	      	salt += "\")'";
	      	var checked = "";
	        ret += "<td width='20' style='font-size:12px'>"+"<input style='border: none;' type='checkbox' name='chks' id='chk"+ap.id_trackershowed+"' value='"+ap.id_trackershowed+"'"+checked+" onchange='richiestavisionemezzo(this.id);'/>"+"</td>\n";
	        ret += "<td style='font-size:12px'>&nbsp;<a href='javascript:showInfo("+ap.id_trackershowed+",\""+ap.id_trackershowed+"\")'>"+ap.tk_name+"</a></td>\n";
	      	ret += "</tr>\n";
		}
		ret += "</table>\n";
        ret += "<table  CELLPADDING='2' CELLSPACING='0' WIDTH='100%' border='0' align='center' >\n";
	      	ret += "<tr>\n";
	      	var giorno = date.getDate()+"";
	      	if (giorno.length<2)
	      		giorno ="0"+giorno;
	      	var mese = (date.getMonth()+1)+"";
	      	if (mese.length<2)
	      		mese ="0"+mese;
	      	//alert(giorno.length+" "+mese.length);
	        ret += "<td width='50%' align='left'>"+g_traduzioni.mydraggablelayerobj_js_dal+"&nbsp;&nbsp;<input type='text' style='width:60px' id='theDate1' onchange='richiestaaggiornasocket()'></a></td>\n";
	        ret += "<td width='50%' align='left'>"+g_traduzioni.mydraggablelayerobj_js_al+"&nbsp;&nbsp;<input type='text' style='width:60px' id='theDate2' onchange='richiestaaggiornasocket()'></a></td>\n";
	      	ret += "</tr>\n";
	      	ret += "<tr>\n";
	        ret += "<td width='50%' align='left'>"+g_traduzioni.mydraggablelayerobj_js_dalle+"&nbsp;&nbsp;<input type='text' style='width:40px' value='00:00' id='thehour1' onchange='validatehour(this.value,this.id)'></td>\n";
	        //alert(g_traduzioni.mydraggablelayerobj_js_alle);
	        ret += "<td width='50%' align='left'>"+g_traduzioni.mydraggablelayerobj_js_alle+"&nbsp;&nbsp;<input type='text' style='width:40px' value='24:00' id='thehour2' onchange='validatehour(this.value,this.id)'></td>\n";
	      	ret += "</tr>\n";
		ret += "</table>\n";
        ret += "<table  CELLPADDING='2' CELLSPACING='0' WIDTH='100%' border='0' align='center' >\n";
	      	ret += "<tr>\n";
	        ret += "<td  colspan='2' align='center'><button id='veditraccia' disabled type='button' onclick='javascript:veditracciato();'>"+g_traduzioni.mydraggablelayerobj_js_veditracciato+"</button></td>\n";
	      	ret += "</tr>\n";
		ret += "</table>\n";
		//alert(ret);
  		document.getElementById('treeBoxPoi'+index).innerHTML=ret;
	}

	function checknull(s) {
		if (s=="null")
			s="";
		return s;	
	}
	
	function genAlberoPercorsi(filtro,index,poiclass) {
		//alert('** percorsi '+filtro+" "+index+" "+treepercorsi+" "+poispercorsi);
		var selectedpp1 = new Array();
		if (poiclass && poiclass!=null && poiclass=='Singolo') {
			var poispercorsi = layerpois;
		    var tf = 'tipofiltro'+index;
		    var treepoisear = "treepoisearch"+index;
			if (treepercorsi!=null && poispercorsi!=null)
	    		for (var i=0;i<poispercorsi.length;i++ ) {
			        var ap = poispercorsi[ i ];
					treepercorsi.deleteItem(ap.OID+"-"+ap.type);
				}
			if (filtro==null) {
				document.getElementById("ac"+index+"apc2").innerHTML=treecreatorpoi(index);
				document.getElementById(treepoisear).innerHTML=treepoisearch(index,poispercorsi);
				treepercorsi=new dhtmlXTreeObject(document.getElementById('treeBoxPoi'+index),"100%","100%",0);
			} else {
				//alert(treepercorsi);
			} 
			treepercorsi.setImagePath("http://www.newgeo.it/images/iconng/"); 
			treepercorsi.enableCheckBoxes(false); 
			treepercorsi.enableDragAndDrop(false); 	
			treepercorsi.attachEvent("onClick",DraggableLayer.prototype.onNodeSelectPoi);	
			if (poispercorsi!=null) {
    		for (var i=0;i<poispercorsi.length;i++ ) {
		        var ap = poispercorsi[ i ];
		        if (index==1 && ap.type.substring(0,1)!="0")
		        	continue;
		        else if (index==2 && ap.type.substring(0,1)!="1")
		        	continue;
		        else if (index==3 && ap.type.substring(0,1)!="2")
		        	continue;
		        if (filtro!=null) {
			        var valu = "";
			        if ( document.getElementById( tf ).selectedIndex == 0 )
			            valu = ap.name.toUpperCase();
			        else
			            if ( document.getElementById( tf ).selectedIndex == 1 )
			                valu = ap.citta.toUpperCase();
			            else
			                if ( document.getElementById( tf ).selectedIndex == 2 ) {
			                    valu = ap.stelle.toUpperCase();
			                }
			        //alert((valu.indexOf( filtro.toUpperCase() ) < 0));
			        if ( valu.indexOf( filtro.toUpperCase() ) < 0 )
			        	continue; 
		        }
		        selectedpp1.push(ap);
		        var icon = ap.icon;
		        var tipoicon = getTypeNameFromTypeOID( ap.type );
		
		        if ( ap.icon == null ) {
		            icon = "http://www.newgeo.it/images/iconng/7392.png";
		            tipoicon = g_traduzioni.mydraggablelayerobj_js_informazionituristiche;
		        }
		
				img = icon;
				imgs=img.split('/');
				img=imgs[imgs.length-1];
				treepercorsi.insertNewChild(0,ap.OID+"-"+ap.type,ap.name,0,img,img,img,"CHILD"); 
				treepercorsi.setItemText(ap.OID+"-"+ap.type,ap.name,tipoicon);
				treepercorsi.enableTreeLines("enable");
		    }
			}//if poipercorsi == null
		}
		return selectedpp1;
	}
	
	function filtraAlberoPercorsiSuCheck(filtro,index,poiclass,selectedpp) {
		if (poiclass && poiclass!=null && poiclass=='Singolo') {
			if (treepercorsi!=null) {
	    		for (var i=0;i<selectedpp.length;i++ ) {
			        var ap = selectedpp[ i ];
					treepercorsi.deleteItem(ap.OID+"-"+ap.type);
				}
	    		for (var i=0;i<selectedpp.length;i++ ) {
			        var ap = selectedpp[ i ];
			        if ((filtro+"")!=(ap.hastracciato+"")) {
			        	continue; 
			        } 
			        var icon = ap.icon;
			        var tipoicon = getTypeNameFromTypeOID( ap.type );
			
			        if ( ap.icon == null ) {
			            icon = "http://www.newgeo.it/images/iconng/7392.png";
			            tipoicon = g_traduzioni.mydraggablelayerobj_js_informazionituristiche;
			        }
			
					img = icon;
					imgs=img.split('/');
					img=imgs[imgs.length-1];
					treepercorsi.insertNewChild(0,ap.OID+"-"+ap.type,ap.name,0,img,img,img,"CHILD"); 
					treepercorsi.setItemText(ap.OID+"-"+ap.type,ap.name,tipoicon);
					treepercorsi.enableTreeLines("enable");
			    }
			}
		}
	}

	DraggableLayer.prototype.datefilter = function() {
		var datada=giradata(document.getElementById("theDate1").value);
		var dataa=giradata(document.getElementById("theDate2").value);
		if (datada!="" && dataa!="") {
			var poiseventi = layerpois;
			for ( var i in poiseventi ) {
		        var ap = poiseventi[ i ];
				treeeventi.deleteItem(ap.OID+"-"+ap.type);
			}
			for ( var i in poiseventi ) {
		        var ap = poiseventi[ i ];
		        var tf = "filtratext3";
		        var tipof = "tipofiltro3";
		        if ( document.getElementById( tf ) && document.getElementById( tf )!=null && document.getElementById( tf ).value!= g_traduzioni.accordiangenerator_js_filtro && document.getElementById( tf ).value!= "") {
			        var valu = "";
			        if ( document.getElementById( tipof ).selectedIndex == 0 )
			            valu = ap.name.toUpperCase();
			        else
			            if ( document.getElementById( tipof ).selectedIndex == 1 )
			                valu = ap.citta.toUpperCase();
			            else
			                if ( document.getElementById( tipof ).selectedIndex == 2 ) {
			                    valu = ap.stelle.toUpperCase();
			                }
			        //alert(valu+" -- "+document.getElementById( tf ).value.toUpperCase());
			        if ( valu.indexOf( document.getElementById( tf ).value.toUpperCase() ) < 0 )
			        	continue; 
		        }
		        if (datada<ap.inizio && dataa<ap.inizio) {
		        	continue
		        }
		        if (datada>ap.fine && dataa>ap.fine) {
		        	continue
		        }
		        var icon = ap.icon;
		        var tipoicon = getTypeNameFromTypeOID( ap.type );
		
		        if ( ap.icon == null ) {
		            icon = "http://www.newgeo.it/images/iconng/7392.png";
		            tipoicon = g_traduzioni.mydraggablelayerobj_js_informazionituristiche;
		        }
		
				img = icon;
				imgs=img.split('/');
				img=imgs[imgs.length-1];
				treeeventi.insertNewChild(0,ap.OID+"-"+ap.type,ap.name,0,img,img,img,"CHILD"); 
				treeeventi.setItemText(ap.OID+"-"+ap.type,ap.name,tipoicon);
				treeeventi.enableTreeLines("enable");
		    }
		} else {
			alert(g_traduzioni.mydraggablelayerobj_js_alertdate);
		}
	}	
	
	function giradata(ladata) {
		var anno = ladata.substring(6,10);
		var mese = ladata.substring(3,5);
		var giorno = ladata.substring(0,2);
		if (g_lang=="88") {
			mese = ladata.substring(0,2);
			giorno = ladata.substring(3,5);
		}
		return anno+mese+giorno;
	}

	function genAlberoEventi(filtro,index,poiclass) {
		if (poiclass && poiclass!=null && poiclass=='Singolo') {
			var poiseventi = layerpois;
		    var tf = 'tipofiltro'+index;
		    var treepoisear = "treepoisearch"+index;
			if (treeeventi!=null)
				for ( var i in poiseventi ) {
			        var ap = poiseventi[ i ];
					treeeventi.deleteItem(ap.OID+"-"+ap.type);
				}
			if (filtro==null) {
				document.getElementById("ac"+index+"apc2").innerHTML=treecreatorpoi(index);
				document.getElementById(treepoisear).innerHTML=treepoisearch(index,poiseventi);
				treeeventi=new dhtmlXTreeObject(document.getElementById('treeBoxPoi'+index),"100%","100%",0);
			} else {
				//alert(treeeventi);
			} 
			treeeventi.setImagePath("http://www.newgeo.it/images/iconng/"); 
			treeeventi.enableCheckBoxes(false); 
			treeeventi.enableDragAndDrop(false); 	
			treeeventi.attachEvent("onClick",DraggableLayer.prototype.onNodeSelectPoi);	
			for ( var i in poiseventi ) {
		        var ap = poiseventi[ i ];
		        if (ap.type) {
			        if (index==1 && ap.type.substring(0,1)!="0")
			        	continue;
			        else if (index==2 && ap.type.substring(0,1)!="1")
			        	continue;
			        else if (index==3 && ap.type.substring(0,1)!="2")
			        	continue;
		        }
		        if (filtro!=null) {
			        var valu = "";
			        if ( document.getElementById( tf ).selectedIndex == 0 )
			            valu = ap.name.toUpperCase();
			        else
			            if ( document.getElementById( tf ).selectedIndex == 1 )
			                valu = ap.citta.toUpperCase();
			            else
			                if ( document.getElementById( tf ).selectedIndex == 2 ) {
			                    valu = ap.stelle.toUpperCase();
			                }
			        if ( valu.indexOf( filtro.toUpperCase() ) < 0 )
			        	continue; 
		        }
				var datada=giradata(document.getElementById("theDate1").value);
				var dataa=giradata(document.getElementById("theDate2").value);
				if (datada!="" && dataa!="") {
			        if (datada<ap.inizio && dataa<ap.inizio) {
			        	continue
			        }
			        if (datada>ap.fine && dataa>ap.fine) {
			        	continue
			        }
				}
		        var icon = ap.icon;
		        var tipoicon = getTypeNameFromTypeOID( ap.type );
		
		        if ( ap.icon == null ) {
		            icon = "http://www.newgeo.it/images/iconng/7392.png";
		            tipoicon = g_traduzioni.mydraggablelayerobj_js_informazionituristiche;
		        }
		
				img = icon;
				imgs=img.split('/');
				img=imgs[imgs.length-1];
				treeeventi.insertNewChild(0,ap.OID+"-"+ap.type,ap.name,0,img,img,img,"CHILD"); 
				treeeventi.setItemText(ap.OID+"-"+ap.type,ap.name,tipoicon);
				treeeventi.enableTreeLines("enable");
		    }
		}
	}
	
	DraggableLayer.prototype.genAlberodeiPoi = function(filtro,index) {
		//alert('DraggableLayer.prototype.genAlberodeiPoi '+index);
		poiclass = getPoiClass( zoom );
		if (index==1)
			genAlberoPoi(filtro,index,poiclass);
		else if (index==2) {
			filtraAlberoPercorsiSuCheck(true,index,poiclass,genAlberoPercorsi(filtro,index,poiclass));
		} else if (index==3)
			genAlberoEventi(filtro,index,poiclass);
		else if (index==4)
			genAlberoAtleti(filtro,index,poiclass);
		else if (index==5)
			genAlberoTrackers(filtro,index,poiclass);
	}
	
	DraggableLayer.prototype.usecheckbox = function(filtro,index) {
		poiclass = getPoiClass( zoom );
		var val=null;
        if (document.getElementById("filtratext2"))
			val=document.getElementById("filtratext2").value;
		if (val.indexOf(g_traduzioni.mydraggablelayerobj_js_inserisciqui)>=0)
			val="";
		filtraAlberoPercorsiSuCheck(filtro,index,poiclass,genAlberoPercorsi(val,index,poiclass));
	}
	
	DraggableLayer.prototype.onNodeSelectPoi = function (nodeId){
		var inx = nodeId.indexOf("-");
		var oid=nodeId.substring(0,inx);
		var tip=nodeId.substring(inx+1);
		//alert(nodeId+" "+oid+" "+tip);
		if (tip.substring(0,1)=="0") 
			clickOnPOI( oid, null );
		else if (tip.substring(0,1)=="1") {
			clickOnPercorso( oid, null );
		}
		else if (tip.substring(0,1)=="2")
			clickOnEvento( oid, null );
	} 
	
	DraggableLayer.prototype.tipodifiltronew = function(index) {
		//alert("++ "+index);
		var tf = 'tipofiltro'+index;
		var tfdd = 'tipofiltrodropdown'+index;
		var tft = 'tipofiltrotesto'+index;
		var tfs = 'filtrostelle'+index;
		var ft = 'filtratext'+index;
	    tipodifiltroselectedindex = document.getElementById( tf ).selectedIndex;
	
	    if ( document.getElementById( tf ).selectedIndex == 2 ) {
	        document.getElementById( tfdd ).style.display = 'inline';
	        document.getElementById( tft ).style.display = 'none';
	        document.getElementById( tfs ).selectedIndex = 0;
	    }
	
	    else {
	        document.getElementById( tfdd ).style.display = 'none';
	        document.getElementById( tft ).style.display = 'inline';
	        document.getElementById( ft ).value = g_traduzioni.mydraggablelayerobj_js_inserisciquifiltro;
	    }
	
	    DraggableLayer.prototype.genAlberodeiPoi("",index);
	}
	
}

