var addr = null;
var dirs = null;
var map = null;
OpenLayers.ImgPath = 'img/';
var searchFloatingPanel = null;
var routeFloatingPanel = null;
var layerSwitcher = null;
var overview = null;
var keyboardHandler =null;
var numRisultatiPagina = 10;
var zoombar = null;
var printWin = null;
var measureControls = null;
var distanze = null;
var aree =null;
var perimetri = null;
var olonSaveStrMap = null;
var hashTableComuni = new Hashtable();
var objects = null;
var scaleline = null;
var arrayLayers = [];
var infoPanel = null;
var mouseposition = null;
var scale = null;
var zoombox = null;
var mouse = null;
var panzoombutton = null;


function init() {
    OpenLayers.Popup.WIDTH=310;

    try

    {

        if (proxy!=null && proxy!='') {
		    Roja.Proxy = proxy;
		}	

    }

    catch(e)

    {

      

    }
  
    
    loadComuni();

    keyboardHandler = new OpenLayers.Control.KeyboardDefaults();
    //scaleline
    scaleline = new OpenLayers.Control.ScaleLine();
    scale = new OpenLayers.Control.Scale();
    
    mouse = new Roja.Control.MouseDefaults();
    
    //mouseposition = new OpenLayers.Control.MousePosition();
        
	//creo la ZoomBar
    zoombarOptions = {
    	position: new OpenLayers.Pixel(4,4),
    	moveCursoStyle:"pointer",
    	zoomStopWidth: 13,
    	zoomStopHeight:8,
    	sliderIcon:"slider.gif",
    	zoombarIcon:"zoombar.gif",
    	sliderSize: new OpenLayers.Size(13,15),imageLocation:"./",
    	mapCenter: new OpenLayers.LonLat(1496530,4433776),
    	mapZoomLevel:2
	}
	zoombar = new Roja.Control.ZoomBar(zoombarOptions);
	
	//Pan Zoom Button
	var options = {
		position: new OpenLayers.Pixel(341,250),
		//position: new OpenLayers.Pixel(45,250),
		imageLocation: OpenLayers.ImgPath
	}

	// Oggetto PanZoomButton
	panzoombutton = new Roja.Control.PanZoomButton(options);	
    
    var mapName = getConfMapName();
    
    if(mapName == null || mapName == '') {
        mapName = defaultMap;
    }
    
    //caricamento configurazione mappa
    var url = rojaBackendUrl; 
    if (Roja.Proxy && rojaBackendUrl.startsWith("http")) {
			url = Roja.Proxy + Roja.Util.escapeUri(rojaBackendUrl);
    }
    new OpenLayers.Ajax.Request(rojaBackendUrl + "/CJSServlet?action=CJS07MapConfiguration&name=" + mapName +"&format=json",
            {   method: 'get',
                parameters:null,  
                onComplete: initMap,
                onFailure: error
             }
    );    
}




function initMap(request) {
    

    
    
    var jsonString = request.responseText;
    var olon = new Roja.Format.OLON();
    var obj = olon.read(jsonString);
    
 //   console.log(obj);

 //   alert (jsonString);
    
    var options = { 
    	//resolutions: [0.125,0.25,0.5,1,2,4,8,16,32,64,128,256,512,1024,2048],
        fallThrough:true,
        maxResolution: obj.map.maxResolution,
        //maxExtent: new OpenLayers.Bounds(1459976,4299800,1570920,4577800),
        maxExtent: new OpenLayers.Bounds(obj.map.maxExtent.left,obj.map.maxExtent.bottom,obj.map.maxExtent.right,obj.map.maxExtent.top),
        numZoomLevels: obj.map.numZoomLevels,             
        units: obj.map.units,
        projection: obj.map.projection.projCode,
        controls: [keyboardHandler,scaleline,mouse,zoombar,scale,panzoombutton] //,mouseposition
    };
    
    map = new Roja.Map( $('map') , options);

    map.addLayers(obj.map.layers);
    
    var boundsFromUrl = addWMSbyURL(map);
    
    var isMoz=true;
            
    if (navigator.appVersion.indexOf("MSIE")!=-1) {
        isMoz = false;
    }  
				
		   
//	aggiungo il simpleLayerSwitcher modificato, per selezionare i layer addizionali (non BASE)
           optionz = {
                	position:new OpenLayers.Pixel(20,10),
                	rightPosition: true,
					
					/*buttonDropLayer: true,*/
					
					baseLayers: null,
					baseLayersDiv: "tematismi_baselayerz",
					dataLayersDiv: "tematismi_datalayerz",
                	titleMore:"Tematismi",
                	outGroupText: "Dati Esterni"                	
               };
      

           var layerSwitcher2 = new Roja.Control.SimpleLayerSwitcher(optionz);
		   layerSwitcher2.div = document.getElementById('tematismi');
           map.addControl(layerSwitcher2);
         
           if (document.getElementById('tematismi75').innerHTML == null || document.getElementById('tematismi75').innerHTML == ""){
           document.getElementById('tematismi75').innerHTML = "Tematismi";
           document.getElementById('contenitore_tematismi').innerHTML = 
           '<br><br><div id="tematismi">Nessun Tematismo disponibile al momento</div>'+
			'<br>'+
			'<div id="tematismi_link" class="tematismi_link">'+
			'<a href="http://www.sardegnaterritorio.it/j/v/1119?&s=6&v=9&c=7685&na=1&n=10" target="_blank">Consulta altre mappe su <img src="img/sardegna_territorio_link.gif" style="vertical-align:bottom"></a>'+
			'</div>';
           	}
		    
    
    
    //option for routing
    options = {
        iconNumberPosition: "top-center",
        iconNumberSize: new OpenLayers.Size(13,18),
        routingUrl: routingUrl,
        xslPath: routingXslPath,
        routingPars: 'exactStreetName=true&xmlRequest=',
        iconVia1: "routing/via1_shadow.png",
        iconVia2: "routing/via2_shadow.png",
        routeStyle: {
                    strokeColor: "red",
                    strokeOpacity: 0.7,
                    strokeWidth: 5,
                    pointRadius: 6,
                    pointerEvents: "visiblePainted"
                },
        onlyOneMarkerBalloon: true,
        map: map
    };
    
    dirs = new Roja.Directions(options);
    
    dirs.setRoutePanel('risultati');
    /*dirs.events.register("loadComplete", dirs, loadCompleteRouting);*/
    dirs.events.register('loadComplete', dirs, function() {info.closeBaloon(); loadCompleteRouting() }) ;
//    dirs.events.register("loadFailure", dirs, loadFailure);

    // options for finding
    var find = null;
    var context = {
        elements: [routeFloatingPanel, dirs]
    }
    options = {
        geocodeUrl: serviceUrl + '/followmeplus/test/locationservice?',
        xslPath: 'xsl/buildAddressingResponse.xsl',
        map: map,
        iconSize: new OpenLayers.Size(68, 32)
    };
    addr = new Roja.Address(options);
    addr.setAddressPanel('risultati');
    /*addr.events.register("loadComplete", addr, loadComplete);*/
    addr.events.register('loadComplete', addr, function() {info.closeBaloon(); loadComplete() }) ;
    addr.events.register("loadFailure", addr, function() {info.closeBaloon(); loadFailure()} );

	


    //Aggiungo l'overview
    ovmapOptions = {                      
        maxExtent: new OpenLayers.Bounds(1274969.9676923077,4293434.219423077,1718045.3523076922,4584202.440576923)
        //maxExtent: new OpenLayers.Bounds(1459976,4299800,1570920,4577800)
        //maxExtent: new OpenLayers.Bounds(1159976,4299800,1570920,4577800)
    };
            
    options = {                           
        layerBounds: new OpenLayers.Bounds(1268798.48484848,4294254,1730067.51515152,4583277),
        //layerBounds: new OpenLayers.Bounds(1286024,4295801,1724017,4583800),
        //layerBounds: new OpenLayers.Bounds(1159976,4299800,1570920,4577800),
        //minRatio: 0.5,
        //maxRatio: 2048,
        minRatio: 6,
        maxRatio: 512,
        size: new OpenLayers.Size(168, 104),              
        position: new OpenLayers.Pixel(370, 10),
        title: 'Mappa di sintesi',
        zoomboxHideLevel:2,
        mapOptions: ovmapOptions    
    };

    overview =  new Roja.Control.FloatingPanel.Overview(options);
    map.addControl(overview);
    overview.div.style.left="";
    overview.div.style.top="";
    OpenLayers.Util.onImageLoadErrorColor = "transparent";
    
     // style the sketch fancy
    sketchSymbolizers = {
        "Point": {
            pointRadius: 2,
            graphicName: "square",
            fillColor: "#ffff00",
            fillOpacity: 1,
            strokeWidth: 1,
            strokeOpacity: 1,
            strokeColor: "#ffff00"
        },
        "Line": {
            strokeWidth: 2,
            strokeOpacity: 1,
            strokeColor: "#181CB4"
        },
        "Polygon": {
            strokeWidth: 2,
            strokeOpacity: 1,
            strokeColor: "#181CB4",
            fillColor: "white",
            fillOpacity: 0
        }
    };
    var style = new OpenLayers.Style();
    style.addRules([
        new OpenLayers.Rule({symbolizer: this.sketchSymbolizers})
    ]);
    var styleMap = new OpenLayers.StyleMap({"default": style});
   
    options = {
        handlerOptions: {
            style: "default", // this forces default render intent
            layerOptions: {styleMap: styleMap},
            persist: true
        },
        displaySystemUnits: {
	        geographic: ['dd'],
	        english: ['mi', 'ft', 'in'],
	        metric: ['m']
	    }
    };
    measureControls = {
        line: new OpenLayers.Control.Measure(
          Path, options
        ),
        polygon: new OpenLayers.Control.Measure(
            Polygon, options
        ) ,
        point: new OpenLayers.Control.Measure(
            Point, options
        ),
        box: new OpenLayers.Control.Measure(
            Rectangle, options
        )
    };
   
    var control;
    for(var key in measureControls) {
        control = measureControls[key];
        control.events.on({
            "measure": handleMeasurements,
            "measurepartial": handleMeasurements
        });
        map.addControl(control);
    }
    
    
    
        
   options = {
             xslPath: 'xsl/buildGetFeatureInfoGeoserver.xsl',
             //url: urlGeoserverSitr + 'wms?',
             info_format:'application/vnd.ogc.gml',
             id: 'info'
             
        };    
   var info = new InfoSardegnaMappe(options);
        
   	var height_pixel = 258;
   	       
	 switch(obj.map.numZoomLevels) {
        case 15:
            height_pixel = 275;
            break;
        case 14:
            height_pixel = 270;
            break;
        case 13:
            height_pixel = 258;
            break;
        default:
		   	height_pixel = 258;      	
	 }

    //pannello e Custom Button	
	var pannelloOptions = {
					//attenzione se si modifica la position, verificare infoSardegnaMappe.js che ne fa uso
                    position: new OpenLayers.Pixel(52, height_pixel),
					id: 'infoPanel'
                }
	
	infoPanel = new Roja.Control.Panel(pannelloOptions);	
	infoPanel.addControls(info);	
	map.addControl(infoPanel);
		
	
    
    //effettuo lo zoom come da file di configurazione 
    map.setCenter(obj.map.center, obj.map.zoom);
    //map.zoomToMaxExtent();
    
    
    //controllo se accendo/spengo layer e nel caso disattivo il baloon 
	//map.events.register('changelayer', map, function() {info.closeBaloon()}) ;
    map.events.register('changelayer', info, info.closeBaloon) ;
        
          
    
     //set layer switcher
    var layerSwitcherList= new Roja.Control.LayerSwitcherList(
    {
    	div:$('mosaicSelect'),
    	tabIndex:5
    	//messageDiv: $('messageDiv')
    });
    map.addControl(layerSwitcherList);
   
 
   // Calcolo coordinate
    options = {
            title: 'Coordinate del punto'
        }
    
    coordinateButton = new Roja.Control.Coordinate(options);
    map.addControl(coordinateButton);
    
            
      
   	toggleSideBar('open');

	


    // inizializzo i campi di input per la ricerca
    document.getElementById('searchInput').value = 'ad es. via Roma, Cagliari';
    document.getElementById('start').value = 'ad es. via Roma, Cagliari';
    document.getElementById('viaPoint1').value = '';
    document.getElementById('viaPoint2').value = '';
    document.getElementById('end').value = 'ad es. via Milano, Sassari';
    zoombar.events.register('drawComplete', this, function() {info.closeBaloon(); this.correctZoombarPosition});
	
	
    
    var radios = document.getElementsByName('misure');
    for (i=0;i<radios.length;i++) {
           	var radio = radios[i];		 
            OpenLayers.Event.observe(radio, "click", toggleControlMeasure.bind(radio));
            var span = document.getElementById(radio.value);
            OpenLayers.Event.observe(span, "click", toggleControlMeasure.bind(radio));                       
    }     
    
   //creo il div per misurare le distanze  
   var measuredistanza = document.getElementById('measuredistanza');   
   
   var hr = document.createElement("div");
   hr.className = "linehr pos";
   measuredistanza.appendChild(hr);
   
   var p = document.createElement("p");
   p.style.border = "1px solid #FFCC66";
   hr.appendChild(p);
   
   var br = document.createElement("br");
   measuredistanza.appendChild(br);
  
   var titlemeasure = document.createElement("span");
   titlemeasure.className = "titlemeasure";
   titlemeasure.innerHTML = "Misurare distanze";
   measuredistanza.appendChild(titlemeasure);
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   var spanmeasure = document.createElement("span");
   spanmeasure.className = "spanmeasure";
   spanmeasure.innerHTML = "Fai clic sulla mappa per tracciare un percorso da misurare.";
   measuredistanza.appendChild(spanmeasure);
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   spanmeasure = document.createElement("span");
   spanmeasure.className = "titledistanzearee";
   spanmeasure.innerHTML = "Lunghezza:";
   measuredistanza.appendChild(spanmeasure);
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   var input = document.createElement("input");
   input.className = "inputmisure";
   input.type = 'text';
   input.id = 'resultMeasure';
   measuredistanza.appendChild(input);
       
   var option = null;  
   
   var inputunita = document.createElement('select');
   inputunita.className = 'selectmisure';
   inputunita.style.marginLeft='10px';
   inputunita.id = 'unitamisura';
   inputunita.name = 'unitamisura';
   measuredistanza.appendChild(inputunita);       
   
    //questo vettore contiene dopo aver calcolato la distanza
   // le rispettive misure della distanza nelle unit� rispettive   
   distanze = {
   	'm':'',
   	'km':'',
   	'mi':'',
   	'nm':''
   };
   //questo vettore contiene dopo aver calcolato l'area
   // le rispettive misure dell'areaa nelle unit� rispettive   
   aree = {
   	'm2':'',
   	'km2':'',
   	'et':''
   };
   //questo vettore contiene dopo aver calcolato i perimetri
   // le rispettive misure dei perimetri nelle unit� rispettive   
   perimetri = {
   	'm':'',
   	'km':''
   }; 
   
   //inputunita: unita in cui si converte
   //measure: la misura che si vuol convertire
   //inputrisultato: il campo dove si inserisce il risultato convertito
    var context = {
   	'inputunita':'unitamisura',
  	'measure': 'distanza',
   	'inputrisultato': 'resultMeasure'
   } 
    
   //passo alla funzione il nome dell'elemento che contiene la list box delle
   // unit� di misura (inputunita)
   // poi il nome dell'elemento che contiene l'ultima unit� selezionata (inputunitasel)
   // e poi il nome dell'elemento che contiene il risultato della conversione. 
   OpenLayers.Event.observe(inputunita, "change", convertMeasure.bind(context)); 
  
   option = document.createElement('option');
   option.value = 'm';		 
   option.innerHTML = 'Metri';	
   inputunita.appendChild(option);   
   
   option = document.createElement('option');
   option.value = 'km';		 
   option.innerHTML = 'Chilometri';	
   inputunita.appendChild(option);   
    
   option = document.createElement('option');
   option.value = 'mi';		
   option.innerHTML = 'Miglia';	
   inputunita.appendChild(option); 
   
   option = document.createElement('option');
   option.value = 'nm';	
   option.innerHTML = 'Miglia nautiche';	
   inputunita.appendChild(option);      
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   br = document.createElement("br");
   measuredistanza.appendChild(br);
   
   input = document.createElement("input");
   input.type = 'button';
   input.className = "inputmisure";
   input.value = 'Cancella percorso';
   input.style.width = '120px';
   measuredistanza.appendChild(input);
   
   OpenLayers.Event.observe(input, "click", cancellaPercorso.bind(measureControls));
   
  
   //creo il div per misurare le aree e i perimetri
   
   var measurearea = document.getElementById('measurearea');   
      
   hr = document.createElement("div");
   hr.className = "linehr pos";
   measurearea.appendChild(hr);
   
   p = document.createElement("p");
   p.style.border = "1px solid #FFCC66";
   hr.appendChild(p);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
  
   titlemeasure = document.createElement("span");
   titlemeasure.className = "titlemeasure";
   titlemeasure.innerHTML = "Misurare aree";
   measurearea.appendChild(titlemeasure);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   spanmeasure = document.createElement("span");
   spanmeasure.className = "spanmeasure";
   spanmeasure.innerHTML = "Seleziona la forma adatta tra quelle qui sotto e fai clic sulla mappa per tracciare un'area e il suo perimetro da misurare.";
   measurearea.appendChild(spanmeasure);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   //immagine per selezionare la figura da disegnare, in questo caso poligono
   var div = document.createElement("div");
   div.className = 'imgmisure';
   measurearea.appendChild(div);   
   var img = document.createElement("img");   
   img.id='poligono';
   img.src=OpenLayers.ImgPath + 'toolbar/external/pol_on.png';
   div.appendChild(img);
   
   div = document.createElement("div");
   div.className = 'floating';
   div.style.marginLeft='5px';
   div.style.marginTop='5px';
   measurearea.appendChild(div);   
   spanmeasure = document.createElement("span");
   spanmeasure.className = "floating spanmeasure";
   spanmeasure.innerHTML = "Poligono";
   div.appendChild(spanmeasure);
   
   OpenLayers.Event.observe(img, "click", selezionaFigura.bind(measureControls['polygon']));  
   
   //immagine per selezionare la figura da disegnare, in questo caso rettangolo
   div = document.createElement("div");
   div.className = 'imgmisure';
   div.style.marginLeft='10px';
   measurearea.appendChild(div);   
   img = document.createElement("img");  
   img.id='rettangolo'; 
   img.src=OpenLayers.ImgPath + 'toolbar/external/rect_off.png';
   div.appendChild(img);
   
   
   div = document.createElement("div");
   div.className = 'floating';
   div.style.marginLeft='5px';
   div.style.marginTop='5px';
   measurearea.appendChild(div);   
   spanmeasure = document.createElement("span");
   spanmeasure.className = "floating spanmeasure";
   spanmeasure.innerHTML = "Rettangolo";
   div.appendChild(spanmeasure);
   
   OpenLayers.Event.observe(img, "click", selezionaFigura.bind(measureControls['box']));  
   
   //immagine per selezionare la figura da disegnare, in questo caso cerchio
   div = document.createElement("div");
   div.className = 'imgmisure';
   div.style.marginLeft='10px';
   measurearea.appendChild(div);   
   img = document.createElement("img"); 
   img.id='cerchio';  
   img.src=OpenLayers.ImgPath + 'toolbar/external/cir_off.png';
   div.appendChild(img);
   
   div = document.createElement("div");
   div.className = 'floating';
   div.style.marginLeft='5px';
   div.style.marginTop='5px';
   measurearea.appendChild(div);   
   spanmeasure = document.createElement("span");
   spanmeasure.className = "floating spanmeasure";
   spanmeasure.innerHTML = "Cerchio";
   div.appendChild(spanmeasure);
   
   OpenLayers.Event.observe(img, "click", selezionaFigura.bind(measureControls['point']));  
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   spanmeasure = document.createElement("span");
   spanmeasure.className = "titledistanzearee";
   spanmeasure.innerHTML = "Area:";
   measurearea.appendChild(spanmeasure);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   input = document.createElement("input");
   input.className = "inputmisure";
   input.type = 'text';
   input.id = 'resultMeasureArea';
   measurearea.appendChild(input);
   
   inputunita = document.createElement('select');
   inputunita.className = 'selectmisure';
   inputunita.style.marginLeft='5px';
   inputunita.id = 'unitamisuraarea';
   inputunita.name = 'unitamisuraarea';
   measurearea.appendChild(inputunita);
   
   var context = {
   	'inputunita':'unitamisuraarea',
   	'measure': 'area',
   	'inputrisultato': 'resultMeasureArea'
   } 
    
   //passo alla funzione il nome dell'elemento che contiene la list box delle
   // unit� di misura (inputunita)
   // poi il nome dell'elemento che contiene l'ultima unit� selezionata (inputunitasel)
   // e poi il nome dell'elemento che contiene il risultato della conversione. 
   OpenLayers.Event.observe(inputunita, "change", convertMeasure.bind(context));
   
   option = document.createElement('option');
   option.value = 'm2';		 
   option.style.width = '95px';
   option.innerHTML = 'Metri quadri';	
   inputunita.appendChild(option);   
   
   option = document.createElement('option');
   option.value = 'et';		
   option.style.width = '95px'; 
   option.innerHTML = 'Ettari';	
   inputunita.appendChild(option); 
   
   option = document.createElement('option');
   option.value = 'km2';		 
   option.style.width = '95px';
   option.innerHTML = 'Chilometri quadri';	
   inputunita.appendChild(option); 
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   br = document.createElement("br");
   measurearea.appendChild(br);
  
   spanmeasure = document.createElement("span");
   spanmeasure.className = "titledistanzearee";
   spanmeasure.innerHTML = "Perimetro:";
   measurearea.appendChild(spanmeasure);
   
   br = document.createElement("br");
   measurearea.appendChild(br);  
  
   input = document.createElement("input");
   input.className = "inputmisure";
   input.type = 'text';
   input.id = 'resultMeasurePerimetro';
   measurearea.appendChild(input);
   
   inputunita = document.createElement('select');
   inputunita.className = 'selectmisure';
   inputunita.style.marginLeft='5px';
   inputunita.id = 'unitamisuraperimetro';
   inputunita.name = 'unitamisuraperimetro';
   measurearea.appendChild(inputunita);
   
   var context = {
   	'inputunita':'unitamisuraperimetro',
   	'measure': 'perimetro',
   	'inputrisultato': 'resultMeasurePerimetro'
   } 
    
   //passo alla funzione il nome dell'elemento che contiene la list box delle
   // unit� di misura (inputunita)
   // poi il nome dell'elemento che contiene l'ultima unit� selezionata (inputunitasel)
   // e poi il nome dell'elemento che contiene il risultato della conversione. 
   OpenLayers.Event.observe(inputunita, "change", convertMeasure.bind(context));
   
   option = document.createElement('option');
   option.value = 'm';		 
   option.innerHTML = 'Metri';	
   inputunita.appendChild(option);   
   
   option = document.createElement('option');
   option.value = 'km';		 
   option.innerHTML = 'Chilometri';	
   inputunita.appendChild(option); 
   
   br = document.createElement("br");
   measurearea.appendChild(br);
   
   br = document.createElement("br");
   measurearea.appendChild(br);  
   
   input = document.createElement("input");
   input.type = 'button';
   input.className = "inputmisure";
   input.value = 'Cancella';
   input.style.width = '80px';
   measurearea.appendChild(input);
    
   OpenLayers.Event.observe(input, "click", cancellaPercorso.bind(measureControls));  
   
   
  
   //creo il div per il calcolo coordinate  
   var measurecoord = document.getElementById('measurecoord');   
   
   var hr = document.createElement("div");
   hr.className = "linehr pos";
   measurecoord.appendChild(hr);
   
   var p = document.createElement("p");
   p.style.border = "1px solid #FFCC66";
   hr.appendChild(p);
   
   var br = document.createElement("br");
   measurecoord.appendChild(br);
  
   var titlecond = document.createElement("span");
   titlecond.className = "titlemeasure";
   titlecond.innerHTML = "Condividi punto";
   measurecoord.appendChild(titlecond);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   var spancond = document.createElement("span");
   spancond.className = "spanmeasure";
   spancond.innerHTML = "Fai clic sulla mappa per ottenere le coordinate e condividere il punto selezionato.";
   measurecoord.appendChild(spancond);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   titlecoord = document.createElement("span");
   titlecoord.className = "titledistanzearee";
   titlecoord.innerHTML = "Coordinate del punto:";
   measurecoord.appendChild(titlecoord);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   var inputcoord = document.createElement("input");
   inputcoord.className = "inputcoordinate";
   inputcoord.type = 'text';
   inputcoord.id = 'resultCoord';
   inputcoord.style.width = "280px";
   measurecoord.appendChild(inputcoord);
   

   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   titlelink = document.createElement("span");
   titlelink.className = "titledistanzearee";
   titlelink.innerHTML = "Copia e incolla i link:";
   measurecoord.appendChild(titlelink);
   
   br = document.createElement("br");
   measurecoord.appendChild(br);
   
   var inputlink = document.createElement("input");
   inputlink.className = "inputcoordinate";
   inputlink.type = 'text';
   inputlink.id = 'resultLink';
   inputlink.style.width = "280px";
   measurecoord.appendChild(inputlink);
   
   OpenLayers.Event.observe(inputlink, "click", selectInput.bind(inputlink));
         
  
   checkUrl(location.search);      

	//verifico che sia stato passato un parametro nell'url e in caso switcho visuale e layer
   //changeLayerForWMSbyURL(map);
    checkBaseLayerByURL(map); 
	//toggleSideBarOutput('tematismi');
}; // fine init


    
findPosX = function(obj) {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) {
            curleft += obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj = obj.offsetParent;
        } else if(obj.x) {
            curleft += obj.x;
        }
    return curleft;
}

findPosY = function(obj) {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
            curtop += obj.offsetTop;
            if(!obj.offsetParent)
            {
                break;           
            }
            obj = obj.offsetParent;
        } else if(obj.y) {
            curtop += obj.y;
        }
    return curtop;
}

function al() {
	alert("al");	
}

