// JavaScript Document

var strStrada="";
var strStradaUrb="";
var strNumeroStrada="";
var objIdStradaCiv="";
var nCivico="";
var edificio="";
var theReplyStradario="";
var objIdStrada="";
var codstrada="";
var objIdStradaUrb="";
var mostraCivico=false;
var CODISTAT="";
var layerStradeExtra="";

var strStradario="";//usata nell'aimsXML

var useTips = true;           
var TipsLayerID = -1;         
var TipsField = "";           
var TipsX = new Array();      
var TipsY = new Array();      
var TipsValues = new Array(); 

function getOBJID(theR){
  var pos = theR.indexOf("OBJECTID=",0);
  var endPos = theR.indexOf('" ',pos);
  var st = theR.substring(pos+10,endPos);
  return st;
 }
 
 
function visualizzaStrada(theReply){
    i=0;
	var t_larg = rightEnv[i] - leftEnv[i];
	var t_alt = topEnv[i] - bottomEnv[i];
	var larg_Margin = 0;
	var alt_Margin = 0;
    larg_Margin = t_larg * selectMargin;
	alt_Margin = t_alt * selectMargin;
	left = leftEnv[i] - larg_Margin/8;
    right = rightEnv[i] + larg_Margin/8;
    bottom = bottomEnv[i] - alt_Margin/8;
    top = topEnv[i]  + alt_Margin/8;

	strStradario = strStradaZoom();
	nCivico="";
	attivaStradario();
	
	controlla_fattore();

}



function strStradaZoom(){
    var theString = '<LAYER type="featureclass" name="zoom" id="zoom">\n';
    theString += '<DATASET fromlayer="'+layerID[activeLayerIndex]+'" />\n';
    theString += '<QUERY where="';
	theString += strStrada;
	strComune ="";
	theString += '"/>\n';
	theString += '<GROUPRENDERER>\n';
	theString += ' <SIMPLERENDERER><SIMPLELINESYMBOL transparency="0.8" type="solid" width="5" captype="round" jointype="round" color="235,0,0" />\n';
    theString += ' </SIMPLERENDERER>\n';
	theString += ' <SIMPLELABELRENDERER howmanylabels ="one_label_per_name" field="TOPO_ROUTE" linelabelposition="PlaceOnTop" >\n';
    theString += '         <TEXTSYMBOL antialiasing="FALSE" fontcolor ="255,255,255" font="Arial" fontstyle="regular" fontsize="10" glowing="235,0,0" />\n';
    theString += ' </SIMPLELABELRENDERER>\n';
	theString += '</GROUPRENDERER></LAYER>\n';
    return theString;
}


function visualizzaStradaUrb(theReply){
    i=0;
	var t_larg = rightEnv[i] - leftEnv[i];
	var t_alt = topEnv[i] - bottomEnv[i];
	var larg_Margin = 0;
	var alt_Margin = 0;
	
    larg_Margin = t_larg * selectMargin;
	alt_Margin = t_alt * selectMargin;
	
	left = leftEnv[i] - (larg_Margin/4);
    right = rightEnv[i] + (larg_Margin/4);
    bottom = bottomEnv[i] - (alt_Margin/4);
    top = topEnv[i]  + (alt_Margin/4);

	strStradario = strStradaZoomUrb();
	
	attivaStradarioUrb();
	inserisciMetrica(false,"",0,0);
	controlla_fattore();
}

function calcolaEnvelopeStrada(tot){
	/*
	var xminimo=0;
	var yminimo=0;
	var xmassimo=0;
	var ymassimo=0;
	var i=0;
	xminimo=leftEnv[i];
	yminimo=bottomEnv[i];
	xmassimo=topEnv[i];
	ymassimo=rightEnv[i];
	
	for (i=0;i<=tot;i++){
		
		if (leftEnv[i]<xminimo){xminimo=leftEnv[i];}
		if (bottomEnv[i]<yminimo){yminimo=bottomEnv[i];}
		if (topEnv[i]>xmassimo){xmassimo=topEnv[i];}
		if (rightEnv[i]>ymassimo){ymassimo=rightEnv[i];}
	}
	i=0;
	leftEnv[i]=xminimo;
	bottomEnv[i]=yminimo;
	topEnv[i]=xmassimo;
	rightEnv[i]=ymassimo;	
	*/
	
}

function strStradaZoomUrb(){
    var theString = '<LAYER type="featureclass" name="zoom" id="zoom">\n';
    theString += '<DATASET fromlayer="'+layerID[activeLayerIndex]+'" />\n';
    theString += '<QUERY where="';
	theString += strStradaUrb;
	strComune ="";
	theString += '"/>\n';
	theString += '<GROUPRENDERER>\n';
	theString += ' <SIMPLERENDERER><SIMPLELINESYMBOL transparency="0.5" type="solid" width="6" captype="round" jointype="round" color="235,0,0" />\n';
    theString += ' </SIMPLERENDERER>\n';
	theString += ' <SIMPLELABELRENDERER howmanylabels ="one_label_per_name" field="TOPO_COM" linelabelposition="PlaceOnTop" >\n';
    theString += '         <TEXTSYMBOL antialiasing="FALSE" fontcolor ="255,255,255" font="Arial" fontstyle="regular" fontsize="10" glowing="235,0,0" />\n';
    theString += ' </SIMPLELABELRENDERER>\n';

	theString += '</GROUPRENDERER></LAYER>\n';	
	
	if (nCivico!=""){
		var layerCivici=0;
		for (k=0;k<layerName.length;k++){

			if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
				layerCivici=k;
			}
		}	
		
		theString += '<LAYER type="featureclass" name="zoom" id="zoom">\n';
		theString += '<DATASET fromlayer="'+layerID[layerCivici]+'" />\n';
		theString += '<QUERY where="';
		theString += 'CODCIVICO=&apos;';
		theString += nCivico ;
		theString += '&apos;';
		theString += '"/>\n';
		theString += '<GROUPRENDERER>\n';
		theString += ' <SIMPLERENDERER><SIMPLEMARKERSYMBOL  color="0,0,255" type="circle" width="10"  overlap="true"/>\n';
		theString += ' </SIMPLERENDERER>\n';
		theString += ' <SIMPLELABELRENDERER howmanylabels ="one_label_per_name" field="NUMCIVICO" linelabelposition="PlaceOnTop" >\n';
		//theString += '         <TEXTSYMBOL antialiasing="FALSE" font="Arial" fontstyle="regular" fontsize="10" glowing="255,255,0" />\n';
		theString+='<CALLOUTMARKERSYMBOL font="Times New Roman" fontstyle="bold" fontsize="12" fontcolor="0,0,0" backcolor="252,239,3" interval="10" boundarycolor="0,0,0" transparency="0.8" antialiasing="false" />';
		//theString += '<TEXTSYMBOL transparency="0.8" printmode="titlecaps" antialiasing="true" font="Courier New" fontstyle="bolditalic" fontsize="12" glowing="192,192,192" shadow="255,200,0" fontcolor="0,255,100" blockout="124,124,124" interval="3" />'
		theString += ' </SIMPLELABELRENDERER>\n';
		theString += '</GROUPRENDERER></LAYER>\n';
		if (edificio!=""){
				var layeredifici=0;
				for (k=0;k<layerName.length;k++){
					if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
						layeredifici=k;		
					}
				}	
				theString += '<LAYER type="featureclass" name="zoom" id="zoom">\n';
				theString += '<DATASET fromlayer="'+layerID[layeredifici]+'" />\n';
				theString += '<QUERY where="';
				theString += 'CODEDIFICIO=&apos;';
				theString += edificio ;
				theString += '&apos;';
				theString += '"/>\n';
				theString += '<GROUPRENDERER>\n';
				theString += ' <SIMPLERENDERER><SIMPLEPOLYGONSYMBOL antialiasing="true" fillcolor="253,203,2" fillinterval="8" filltype="diagcross" filltransparency="1.0" boundarywidth="4" boundarycolor="253,203,2" boundarytransparency="0.6" boundary="true" overlap="true" />\n';
				theString += ' </SIMPLERENDERER>\n';				
				theString += '</GROUPRENDERER></LAYER>\n';
		}
			
	}

	return theString;
}

function attivaStradario(){
	 strLyrVisibile='';
	
	 for (k=0;k<layerName.length;k++){

			if (layerName[k].toUpperCase()=="PROVINCIALI"){
				layerVisible[k]=false;
							}
			if (layerName[k].toUpperCase()=="REGIONALI"){
				layerVisible[k]=false;
							}
			if (layerName[k].toUpperCase()=="STATALI"){
				layerVisible[k]=false;
							}
			if (layerName[k].toUpperCase()=="CASESPARSE"){
				layerVisible[k]=false;				
			}
			if (layerName[k].toUpperCase()=="STRADE_"+CODISTAT){
				layerVisible[k]=false;				
			}
			if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
				layerVisible[k]=false;				
			}
			
			if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
				layerVisible[k]=false;				
				
			}
			if (layerName[k].toUpperCase()=="Progressive chilometriche".toUpperCase()){
				layerVisible[k]=false;				
			}			
	   }
	   attivaSfondoStradario();
	   layerVisible[activeLayerIndex]=true;
	  
	   strLyrVisibile = ' <LAYERLIST> ';
	   for (var i=0; i<numLayerField ; i++){
	         var orderIndex = ordinaLayer(i);
             strLyrVisibile += '  <LAYERDEF id="'+layerID[i]+'" visible="'+layerVisible[i]+'" />';
       }
	   strLyrVisibile += '</LAYERLIST>';
  	
}
function attivaStradarioUrb(){
	strLyrVisibile='';		
	layerVisible[activeLayerIndex]=true;	
			
		for (k=0;k<layerName.length;k++){
			if (nCivico!=""){
				if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
					layerVisible[k]=false;	
				}
				if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
					layerVisible[k]=true;
				}
			}
			if (layerName[k].toUpperCase()=="PROVINCIALI"){
				layerVisible[k]=false;
							}
			if (layerName[k].toUpperCase()=="REGIONALI"){
				layerVisible[k]=false;
							}
			if (layerName[k].toUpperCase()=="STATALI"){
				layerVisible[k]=false;
							}
			if (layerName[k].toUpperCase()=="CASESPARSE"){
				layerVisible[k]=false;				
			}
		}	
	//}
	attivaSfondoStradario();
	
	strLyrVisibile = ' <LAYERLIST> ';
    for (var i=0; i<numLayerField ; i++){
		 var orderIndex = ordinaLayer(i);
		 strLyrVisibile += '  <LAYERDEF id="'+layerID[i]+'" visible="'+layerVisible[i]+'" />';
    }
    strLyrVisibile += '</LAYERLIST>';
 // alert(strLyrVisibile);
}

function disattivaStradario(){
	for (k=0;k<layerName.length;k++){

			if (layerName[k].toUpperCase()=="PROVINCIALI"){
				layerVisible[k]=false;
			}
			if (layerName[k].toUpperCase()=="REGIONALI"){
				layerVisible[k]=false;
			}
			if (layerName[k].toUpperCase()=="STATALI"){
				layerVisible[k]=false;			
			}
			if (layerName[k].toUpperCase()=="CASESPARSE"){
				layerVisible[k]=false;
			}
			if (layerName[k].toUpperCase()=="Progressive chilometriche".toUpperCase()){
				layerVisible[k]=false;
			}
			if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
				layerVisible[k]=false;
			}
			if (layerName[k].toUpperCase()=="STRADE_"+CODISTAT){
				layerVisible[k]=false;
			}
			if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
				layerVisible[k]=false;
			}
						
			strLyrVisibile = ' <LAYERLIST> ';
		    for (var i=0; i<numLayerField ; i++){
				 var orderIndex = ordinaLayer(i);
				 strLyrVisibile += '  <LAYERDEF id="'+layerID[i]+'" visible="'+layerVisible[i]+'" />';
		    }
		    strLyrVisibile += '</LAYERLIST>';
		}
		
		strStrada="";
		strStradaUrb="";
		strNumeroStrada="";
		objIdStradaCiv="";
		nCivico="";
		edificio="";
		theReplyStradario="";
		objIdStrada="";
		codstrada="";
		objIdStradaUrb="";
		
		inserisciMetrica(false,"",0,0);
		
		clearTips();
		
		
}
function visualizzaMetrica(metrica,x,y){
   inserisciMetrica(true,metrica,x,y);
   metrica = metrica*1000;
   metrica = Math.round(metrica);
   metrica=metrica/1000;
   stopMapLoading();
}
function visualizzaKM(metrica,x,y){
   inserisciMetrica(true,metrica,x,y);
   stopMapLoading();
}
function pointSelectionKm(primoX,primoY,secondoX,secondoY) {

	getMapXY(primoX,primoY);
	var T_primoX = mapX; 
	var T_primoY = mapY; 
  
	getMapXY(secondoX,secondoY);
	var T_secondoX = mapX; 
	var T_secondoY = mapY; 
	
	var T_minX = Math.min(T_primoX,T_secondoX);
	var T_maxX = Math.max(T_primoX,T_secondoX);
	var T_minY = Math.min(T_primoY,T_secondoY);
	var T_maxY = Math.max(T_primoY,T_secondoY);
	
	clickPointX[0] = T_minX;
	clickPointX[1] = T_maxX;
	clickPointX[2] = T_maxX;
	clickPointX[3] = T_minX;
	
	clickPointY[0] = T_minY;
	clickPointY[1] = T_minY;
	clickPointY[2] = T_maxY;
	clickPointY[3] = T_maxY;
	
	nPunti = 4;
		
	//Richiesta degli elementi selezionati
	startMapLoading();
	beginRecord = 1;
	var strXML = writeXML('Polygon');

	sendToServer(imsURL + CustomService,strXML,9);

}

function inserisciMetrica(vedi,metrica,x,y){
   metrica = metrica*1000;
   metrica = Math.round(metrica);
   metrica=metrica/1000;

    var layer = getLayer1("Metrica");	 
	if (vedi){
	 
	    layer.top = getY2px(y)-15;
		layer.left = getX2px(x);
		layer.width	= 70;
		layer.height = 20 ; 
		document.getElementById("Metrica").innerHTML="<table border='1' cellpadding=0 cellspacing=0 bordercolor='#c60000' bgcolor='white'><tr><td><font face='Trebuchet MS' color='Black' size='1'>Km:"+metrica+"</font></td></tr></table>";
		
		showLayer("Metrica"); 
		
	}else{
	    hideLayer("Metrica");
	}
  }
  
  
function pointSelectionUrb(primoX,primoY,secondoX,secondoY) {

	getMapXY(primoX,primoY);
	var T_primoX = mapX; 
	var T_primoY = mapY; 
	
	getMapXY(secondoX,secondoY);
	var T_secondoX = mapX; 
	var T_secondoY = mapY; 
	
	var T_minX = Math.min(T_primoX,T_secondoX);
	var T_maxX = Math.max(T_primoX,T_secondoX);
	var T_minY = Math.min(T_primoY,T_secondoY);
	var T_maxY = Math.max(T_primoY,T_secondoY);
	
	clickPointX[0] = T_minX;
	clickPointX[1] = T_maxX;
	clickPointX[2] = T_maxX;
	clickPointX[3] = T_minX;
	
	clickPointY[0] = T_minY;
	clickPointY[1] = T_minY;
	clickPointY[2] = T_maxY;
	clickPointY[3] = T_maxY;
	
	nPunti = 4;
	strPoly = addPointUrb();
		
	startDataLoading();
	beginRecord = 1;
	var strXML = writeXML('Polygon');
	sendToServer(imsURL + CustomService,strXML,11);

}

function addPointUrb() {
   delSelection();
   for (k=0;k<layerName.length;k++){
		if (layerName[k].toUpperCase()=="CIVICI"){
			setActiveLayer(k);
		}
   }
   
   if (layerType[activeLayerIndex] != "point") { 
         var theString = '<LAYER type="acetate" name="acetate" id="acetate">\n'; 
         theString += '<OBJECT units="database">\n';
         theString += '      <POINT coords="'+clickPointX[0]+' '+clickPointY[0];
         theString += '">\n';
         theString += '<GROUPRENDERER>\n';
		 theString += ' <SIMPLERENDERER><SIMPLEMARKERSYMBOL  color="0,0,255" type="circle" width="10"  overlap="true"/>\n';
		 theString += ' </SIMPLERENDERER>\n';
		 theString += ' <SIMPLELABELRENDERER field="NUMCIVICO" linelabelposition="PlaceOnTop" howmanylabels="one_label_per_name">\n';
		 theString+='<CALLOUTMARKERSYMBOL font="Times New Roman" fontstyle="bold" fontsize="12" fontcolor="0,0,0"  backcolor="215,215,215" interval="10" boundarycolor="255,255,0" transparency="0.8" antialiasing="false" />';
		 theString += ' </SIMPLELABELRENDERER>\n';
		 theString += '</GROUPRENDERER></LAYER>\n';
         theString += '  </OBJECT>\n';
         theString += '</LAYER>\n';
   }else{
	     if(!useKm) var theString =  addSelection();
   }	 
    
   return theString;
}
function visualizzaUrb(theReply){
    i=0;
	var t_larg = rightEnv[i] - leftEnv[i];
	var t_alt = topEnv[i] - bottomEnv[i];
	var larg_Margin = 0;
	var alt_Margin = 0;
    larg_Margin = t_larg * selectMargin;
	alt_Margin = t_alt * selectMargin;
	left = leftEnv[i] - larg_Margin/8;
    right = rightEnv[i] + larg_Margin/8;
    bottom = bottomEnv[i] - alt_Margin/8;
    top = topEnv[i]  + alt_Margin/8;

	strStradario = strStradaZoom();
	nCivico="";
	attivaStradario();
	
	controlla_fattore();

}
function visualizzaCivico(theReply){
    i=0;
	var t_larg = rightEnv[i] - leftEnv[i];
	var t_alt = topEnv[i] - bottomEnv[i];
	var larg_Margin = 0;
	var alt_Margin = 0;
    larg_Margin = t_larg * selectMargin;
	alt_Margin = t_alt * selectMargin;
	left = leftEnv[i] - larg_Margin/8;
    right = rightEnv[i] + larg_Margin/8;
    bottom = bottomEnv[i] - alt_Margin/8;
    top = topEnv[i]  + alt_Margin/8;

	strStradario = strCivico();
	nCivico="";
	attivaStradario();
	
	controlla_fattore();

}
function recuperaCivico(theR){
	
	  var pos = theR.indexOf("CODCIVICO=",0);
	  var endPos = theR.indexOf('" ',pos);
	  var st = theR.substring(pos+11,endPos);
	  
	  nCivico=st;
	  
	  pos = theR.indexOf("CODEDIFICIO=",0);
	  endPos = theR.indexOf('" ',pos);
	  st = theR.substring(pos+13,endPos);
	  
	  edificio=st;
	  
	  pos = theR.indexOf("CODGESTCIV=",0);
	  endPos = theR.indexOf('" ',pos);
	  st = theR.substring(pos+12,endPos);
	  
	  codstrada=st;
	  
}

function strCivico(){
	for (k=0;k<layerName.length;k++){
			if (layerName[k].toUpperCase()=="STRADE_"+CODISTAT){
				setActiveLayer(k);
			}
	  }
	  
	var theString = '<LAYER type="featureclass" name="zoom" id="zoom">\n';
	theString += '<DATASET fromlayer="'+layerID[activeLayerIndex]+'" />\n';
	theString += '<QUERY where="';
	theString += 'CODGESTCIV=&apos;';
	theString += codstrada ;
	theString += '&apos;';
	theString += '"/>\n';
	theString += '<GROUPRENDERER>\n';
	theString += ' <SIMPLERENDERER><SIMPLELINESYMBOL transparency="0.5" type="solid" width="6" captype="round" jointype="round" color="235,0,0" />\n';
	theString += ' </SIMPLERENDERER>\n';
	theString += ' <SIMPLELABELRENDERER howmanylabels ="one_label_per_name" field="TOPO_COM" linelabelposition="PlaceOnTop">\n';
	theString += '         <TEXTSYMBOL antialiasing="FALSE" fontcolor ="255,255,255" font="Arial" fontstyle="regular" fontsize="10" glowing="235,0,0" />\n';
	theString += ' </SIMPLELABELRENDERER>\n';

	theString += '</GROUPRENDERER></LAYER>\n';
		
	if (nCivico!=""){
		var layerCivici=0;
		for (k=0;k<layerName.length;k++){

			if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
				layerCivici=k;
			}
		}	
		
		theString += '<LAYER type="featureclass" name="zoom" id="zoom">\n';
		theString += '<DATASET fromlayer="'+layerID[layerCivici]+'" />\n';
		theString += '<QUERY where="';
		theString += 'CODCIVICO=&apos;';
		theString += nCivico ;
		theString += '&apos;';
		theString += '"/>\n';
		theString += '<GROUPRENDERER>\n';
		theString += ' <SIMPLERENDERER><SIMPLEMARKERSYMBOL  color="0,0,255" type="circle" width="10"  overlap="true"/>\n';
		theString += ' </SIMPLERENDERER>\n';
		theString += ' <SIMPLELABELRENDERER howmanylabels ="one_label_per_name" field="NUMCIVICO" linelabelposition="PlaceOnTop" >\n';
		theString+='<CALLOUTMARKERSYMBOL font="Times New Roman" fontstyle="bold" fontsize="12" fontcolor="0,0,0"  backcolor="252,239,3" interval="10" boundarycolor="0,0,0" transparency="0.8" antialiasing="false" />';
		theString += ' </SIMPLELABELRENDERER>\n';
		theString += '</GROUPRENDERER></LAYER>\n';
		
		if ((edificio!="")&&(edificio!=null)&&(edificio!="null")){
			var layeredifici=0;
			for (k=0;k<layerName.length;k++){
				if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
					layeredifici=k;
				}
			}	
			
			theString += '<LAYER type="featureclass" name="zoom" id="zoom">\n';
			theString += '<DATASET fromlayer="'+layerID[layeredifici]+'" />\n';
			theString += '<QUERY where="';
			theString += 'CODEDIFICIO=&apos;';
			theString += edificio ;
			theString += '&apos;';
			theString += '"/>\n';
			theString += '<GROUPRENDERER>\n';
			theString += ' <SIMPLERENDERER><SIMPLEPOLYGONSYMBOL antialiasing="true" fillcolor="253,203,2" fillinterval="8" filltype="diagcross" filltransparency="0.6" boundarywidth="4" boundarycolor="253,203,2" boundarytransparency="0.6" boundary="true" overlap="true" />\n';
			theString += ' </SIMPLERENDERER>\n';
			theString += '</GROUPRENDERER></LAYER>\n';
			}
	}
	return theString;
}



function setTipsField(f,layertype,layerIsScaled) {
    TipsFiled = f;
    sendTipsRequest(layertype, layerIsScaled);
}
function sendTipsRequest(layertype, useMapExtent) {

	  clearTips();
	  var layerCivici=0;
	  for (k=0;k<layerName.length;k++){
	
		  if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
			  layerCivici=k;
		  }
	  }	
	  theString = '<ARCXML VERSION="1.1">\n<REQUEST>\n';
	  if (layertype == "point") {
		theString += '<GET_FEATURES outputmode="xml" geometry="true" envelope="false"' ;
		theString += ' compact="true" beginrecord="0" >\n';
	  } else {
		theString += '<GET_FEATURES outputmode="xml" geometry="false" envelope="true"';
		theString += ' compact="true" beginrecord="0" >\n';
	  }
   	  theString += '<LAYER id="' + layerID[layerCivici] + '" />';
	  theString += '<QUERY subfields ="#SHAPE# NUMCIVICO" where="';
	  theString += 'CODGESTCIV=&apos;';
	  theString += codstrada ;
	  theString += '&apos;';
	  theString += '"/>\n';
	  theString += '</GET_FEATURES>';
	  theString += '</REQUEST>';
	  theString += '</ARCXML>';
	  
	  
	  
	  sendToServer(imsURL + CustomService,theString, 12);
}

function clearTips() {
  TipsX = new Array();
  TipsY = new Array();
  TipsValues = new Array();
  hideTip();
}

function fillTipsCoords(theReply) {
	
  featureCount = justGetFeatureCount(theReply);
  hasEnvelopes = (theReply.indexOf("<ENVELOPE minx=") > -1);
  spos = 0;
  epos = 0;
  
  if ( ! hasEnvelopes) {
    spat = "<COORDS>";
    for (i=0;i<featureCount;i++) {
      spos = theReply.indexOf(spat, spos) + spat.length;
      epos = theReply.indexOf("</COORDS>", spos);
      xy = theReply.substring(spos,epos);
	  
	  var posDelim=xy.indexOf(' ');
	  TipsX[TipsX.length]=xy.substring(0,posDelim).toString();
	  TipsY[TipsY.length]=xy.substring(posDelim+1,xy.length).toString();
	  
      spos = epos;
    }
      
  } else {
   
    xmlEndPos = 0;
    for (i=0; i<featureCount; i++) {
      theEnvelope = getEnvelopeXYs(theReply, xmlEndPos);
      TipsX[TipsX.length] = theEnvelope[0] + ((theEnvelope[2] - theEnvelope[0]) / 2);
      TipsY[TipsY.length] = theEnvelope[1] + ((theEnvelope[3] - theEnvelope[1]) / 2);
    }
  }  
  
  
  var layerCivici=0;
  var layerEdifici=0;
  for (k=0;k<layerName.length;k++){
		if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
			layerCivici=k;
		}
		if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
			layerEdifici=k;
		}
  }	
   
  var str = '<LAYER type="featureclass" name="zoom" id="zoom">\n';
  str += '<DATASET fromlayer="'+layerID[layerCivici]+'" />\n';
  str += '<QUERY where="';
  str += 'CODGESTCIV=&apos;';
  str += codstrada ;
  str += '&apos;';
  str += '"/>\n';
  str += '<GROUPRENDERER>\n';
  str += ' <SIMPLERENDERER><SIMPLEMARKERSYMBOL  color="0,120,179" type="circle" width="8"  overlap="true"/>\n';
  str += ' </SIMPLERENDERER>\n';
  str += '</GROUPRENDERER></LAYER>\n';
  /*str += '<LAYER type="featureclass" name="zoomEdifici" id="zoomEdifici">\n';
  str += '<DATASET fromlayer="'+layerID[layerEdifici]+'" />\n';
  str += '<QUERY where="OBJECTID>0';
 // str += 'CODGESTCIV=&apos;';
  //str += codstrada ;
  //str += '&apos;';
  str += '"/>\n';
  str += '<GROUPRENDERER>\n';
  str += ' <SIMPLERENDERER><SIMPLEPOLYGONSYMBOL fillcolor ="120,120,120" antialiasing="true"  boundarywidth="2" boundarycolor="0,0,0" boundarytransparency="0.5" boundary="true" overlap="true" />\n';
  str += ' </SIMPLERENDERER>\n';
  str += '</GROUPRENDERER></LAYER>\n';*/
  strStradario+=str;
  //alert(strSingleZoom);
	//layerVisible[layerCivici]=true;
	layerVisible[layerEdifici]=true;
	strLyrVisibile = ' <LAYERLIST> ';
	for (var i=0; i<numLayerField ; i++){
		 var orderIndex = ordinaLayer(i);
		 strLyrVisibile += '  <LAYERDEF id="'+layerID[i]+'" visible="'+layerVisible[i]+'" />';
	}
	strLyrVisibile += '</LAYERLIST>';
 
  controlla_fattore();
  
  
}
function searchTipsByXY(x,y) {
  s = "";
 
  tol = (right - left) / 100;

  for (i=0; i<TipsX.length; i++) {
    cX = TipsX[i];
    cY = TipsY[i];  
    if (  (cX > (x - tol)) && (cX < (x + tol)) ) {
      if ( (cY > (y - tol)) && (cY < (y + tol)) ) {
        s = "n° "+TipsValues[i] ;
		
      }
    }
  }
  
  return s;
}

function visualizzaCivicoLabel(Civico,x,y){

   inserisciCivico(true,Civico,x,y);

   stopMapLoading();
}
function hideTip(){
	inserisciCivico(false,"",0,0);
}

function inserisciCivico(vedi,Civico,x,y){
  
    var layer = getLayer1("Civico");	 
	if (vedi){
	    
	    layer.top = getY2px(y)-15;
		layer.left = getX2px(x);
		layer.width	= 70;
		layer.height = 20 ; 		
		document.getElementById("Civico").innerHTML="<table border='1' cellpadding=0 cellspacing=0 bordercolor='#c60000' bgcolor='white'><tr><td><font face='Trebuchet MS' color='Black' size='1'>"+Civico+"</font></td></tr></table>";
		
		if (Civico!=''){
			showLayer("Civico"); 
		}else{
			hideLayer("Civico");
		}
		
	}else{
	    hideLayer("Civico");
	}
  }
  function memEnvelopeCivico(theR,num) {
    theString = theR.toUpperCase();
	var tempString = "";
	var startpos=0;
	var endpos;
	
	//Get the start of the ENVELOPE element
	startpos=theString.indexOf("FEATURECOUNT",startpos);
	//alert("startpos="+startpos);
	var pos = theString.indexOf("ENVELOPE",startpos);
	var successivo = false;
	if (pos!=-1) {
		for(var i=0;i<num;i++) {
		if (successivo) pos = theString.indexOf("ENVELOPE",startpos); else successivo = true;
					pos = pos + 8;
					
					//Extract minx
					startpos = theString.indexOf("MINX=",pos);
					startpos += 6;
					var endpos = theString.indexOf(dQuote,startpos);
					tempString = theString.substring(startpos,endpos);
					leftEnv[i] = parseFloat(tempString); 
					
					//Extract miny
					startpos = theString.indexOf("MINY=",pos);
					startpos += 6;
					endpos = theString.indexOf(dQuote,startpos);
					tempString = theString.substring(startpos,endpos);
					bottomEnv[i] = parseFloat(tempString); 
		
					//Extract maxx
					startpos = theString.indexOf("MAXX=",pos);
					startpos += 6;
					endpos = theString.indexOf(dQuote,startpos);
					tempString = theString.substring(startpos,endpos);
					rightEnv[i] = parseFloat(tempString); 
		
					//Extract maxy
					startpos = theString.indexOf("MAXY=",pos);
					startpos += 6;
					endpos = theString.indexOf(dQuote,startpos);
					tempString = theString.substring(startpos,endpos);
					topEnv[i] = parseFloat(tempString); 
					
					
					//alert(i+" "+leftEnv[i]+" " +bottomEnv[i]+" "+rightEnv[i]+" "+topEnv[i]);
		}
	} else {
		alert(theR);
		}
	

}

//Svuota tutta le variabili globali che selezionano.
function delSelectionSelect() {
    strPoly = "";
    strSingleZoom = "";
	strPointMultipla = "";
	//strStradario="";
	useMultiplaStampa = false;
	//disattivaStradario();
	//clearTips();
    parent.textFrame.location = path+'blank.htm';
}

function attivaStradarioSelect(){
		
	   layerVisible[layerStradeExtra]=true;
	   for (k=0;k<layerName.length;k++){
			if (layerName[k].toUpperCase()=="STRADE_"+CODISTAT){
				layerVisible[k]=false;	}
			
			if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
				layerVisible[k]=false;	}
			
	
			if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
				layerVisible[k]=false;
				
			}
		}	
	   attivaSfondoStradario;
  	
}
function attivaStradarioUrbSelect(){
	
	    layerVisible[layerStradeExtra]=false;
	
		for (k=0;k<layerName.length;k++){
			if (layerName[k].toUpperCase()=="STRADE_"+CODISTAT){
				layerVisible[k]=true;	}
			
			if (layerName[k].toUpperCase()=="CIVICI_"+CODISTAT){
				layerVisible[k]=false;	}
			
	
			if (layerName[k].toUpperCase()=="EDIFICI_"+CODISTAT){
				layerVisible[k]=true;
				
			}
		}	
		attivaSfondoStradario;
	
}
//da personalizzare in ogni sito

function attivaSfondoStradario(){
	
	 for (k=0;k<layerName.length;k++){
		
			if (layerName[k].toUpperCase()=="MURLO_10K.TIF".toUpperCase()){
				layerVisible[k]=true;	}
			
			if (layerName[k].toUpperCase()=="MURLO_25K.TIF".toUpperCase()){
				layerVisible[k]=true;	}
				
			if (layerName[k].toUpperCase()=="*ImageDirectory0".toUpperCase()){
				layerVisible[k]=true;	}
				
			if (layerName[k].toUpperCase()=="*ImageDirectory".toUpperCase()){
				layerVisible[k]=true;	}
			
		}	
	
	
}
