var mapPanel,popup,lonlat,win,lon=1453010.5797277,lat=5417856.5640991,geocoder=new GClientGeocoder,source=new Proj4js.Proj("EPSG:4326"),dest=new Proj4js.Proj("EPSG:900913");Proj4js.defs["EPSG:3004"]="+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +no_def";
var roma40=new Proj4js.Proj("EPSG:3004"),markers2,urlArray=["http://montagneaperte.gfosservices.it/cgi-bin/tc/tilecache.cgi?","http://demo.gfosservices.it/cgi-bin/tc/tilecache.cgi?","http://www.gfosservices.it/cgi-bin/tc/tilecache.cgi?"],singleUrl="http://montagneaperte.gfosservices.it/geoserver/wms?",options={projection:new OpenLayers.Projection("EPSG:900913"),units:"m",maxResolution:76.43702827148438,minResolution:0.5971642833709717,maxExtent:new OpenLayers.Bounds(1384267,5250703,1435744,5345039.5),
restrictedExtent:new OpenLayers.Bounds(1384267,5250703,1435744,5345039.5)},selectionLayerOptions={displayInLayerSwitcher:false};
Ext.onReady(function(){function f(a){var d,c;if(!a||a.Status.code!=200)alert("Status Code:"+a.Status.code);else{c=a.Placemark[0];point=new GLatLng(c.Point.coordinates[1],c.Point.coordinates[0]);d=new Proj4js.Point(c.Point.coordinates[0],c.Point.coordinates[1]);Proj4js.transform(source,roma40,d);clickedPoint='<span class="popup"><b><u>RISULTATI:</u></b><br><b>Coordinate GPS (lat,long): </b>'+a.name+"<br/><b>Coordinate GB Roma40 Fuso 2: </b>"+d.x.toFixed(2)+","+d.y.toFixed(2)+"<br/><b>Indirizzo: </b>"+
c.address+"<br><b>Precisione: </b>"+c.AddressDetails.Accuracy+" (<a href='http://code.google.com/apis/maps/documentation/reference.html#GGeoAddressAccuracy' target='_blank'>Informazioni)</a><br> <br><span style=\"font-size: .67em;\"><b>Note sulle coordinate GB:</b>La conversione da WGS84 a GB Roma 40 Fuso 2<br/> viene svolta utilizzando i parametri towgs84 che permettono di ottenere<br/> un errore inferiore ai 10m.</span></span>"}if(popup!=null){popup.destroy();popup=null}popup=new OpenLayers.Popup.FramedCloud("SDVegetationInfo",
lonlat,new OpenLayers.Size(250,180),clickedPoint,null,true);popup.setBackgroundColor("#bcd2ee");b.addPopup(popup)}function g(a){html="<ul>";if(!a||a.Status.code!=200)html="Nessun risultato individuato";else for(i=0;i<a.Placemark.length;i++){place=a.Placemark[i];lat=place.Point.coordinates[1];lng=place.Point.coordinates[0];if(lat<42.593||lat>43.2199||lng>12.91499||lng<12.42099)html="<b>Il dato ricade fuori dal territorio della Comunit&agrave; Montana </b>";else{indiriz=place.address;html=html+'<a href="javascript:center('+
lat+","+lng+');">'+indiriz+"</a><br />"}}html+="</ul>";if(html=="")document.getElementById("risultatiGoogle").innerHTML="<b>Nessun risultato trovato nel territorio della Comunit&agrave; Montana</b>";else document.getElementById("risultatiGoogle").innerHTML=html}OpenLayers.IMAGE_RELOAD_ATTEMPTS=5;OpenLayers.Util.onImageLoadErrorColor="transparent";var b=new OpenLayers.Map(options);mapPanel=new GeoExt.MapPanel({border:true,region:"center",map:b,center:[lon,lat],zoom:0,layers:[new OpenLayers.Layer.Google("Google Satellite",
{type:G_HYBRID_MAP,sphericalMercator:true,MAX_ZOOM_LEVEL:18,MIN_ZOOM_LEVEL:10}),new OpenLayers.Layer.WMS("Vincolo Idrogeologico",urlArray,{layers:["Valtopina","Trevi","Spoleto","Spello","Nocera Umbra","Massa Martana","Gualdo Cattaneo","Giano dell'Umbria","Castel Ritaldi","Cannara","Campello sul Clitunno","Bevagna","Bettona","Assisi"],format:"image/png",transparent:true},{isBaseLayer:false,visibility:false,displayInLayerSwitcher:false}),new OpenLayers.Layer.WMS("Limiti Comunit&agrave; Montana",singleUrl,
{layers:"montagneAperte:limiti",format:"image/png",transparent:true},{isBaseLayer:false,visibility:true,singleTile:true}),new OpenLayers.Layer.WMS("Ortofoto 2005",urlArray,{layers:"ortofoto2006Montagne",format:"image/jpeg"},{isBaseLayer:true}),new OpenLayers.Layer.Markers("Selection",selectionLayerOptions),new OpenLayers.Layer.WMS("CTR Regione Umbria","http://demo.gfosservices.it/cgi-bin/tc/tilecache.cgi",{layers:"ctrMontagne",format:"image/png"},{isBaseLayer:false,visibility:false,maxResolution:3})]});
markers2=new OpenLayers.Layer.Markers("Selection",selectionLayerOptions);b.addLayer(markers2);OpenLayers.Control.Click=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:true,"double":false,pixelTolerance:0,stopSingle:false,stopDouble:false},initialize:function(){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Click(this,{click:this.trigger},this.handlerOptions)},
trigger:function(a){geocoder=new GClientGeocoder;lonlat=b.getLonLatFromViewPortPx(a.xy);a=new Proj4js.Point(lonlat.lon,lonlat.lat);Proj4js.transform(dest,source,a);latlng=new GLatLng(a.y,a.x);geocoder.getLocations(latlng,f)}});var e=new OpenLayers.Control.Click;b.addControl(e);e.activate();e=new Ext.tree.TreePanel({border:true,region:"west",title:"Layers",width:220,split:true,collapsible:true,collapseMode:"mini",enableDD:false,autoScroll:true,loader:new Ext.tree.TreeLoader({applyLoader:false}),root:new Ext.tree.AsyncTreeNode({title:"Tematismi disponibili",
children:[{text:"Overlay",itemId:"overlay",nodeType:"gx_overlaylayercontainer",expanded:true},{nodeType:"gx_layer",expanded:true,layer:"Vincolo Idrogeologico",isLeaf:false,loader:{param:"LAYERS"}},{text:"Cartografia di base",itemId:"base",nodeType:"gx_baselayercontainer",expanded:true}],rootVisible:true,autoScroll:true,expanded:true}),rootVisible:false,lines:false});new Ext.Viewport({layout:"fit",hideBorders:true,items:{layout:"border",deferredRender:false,items:[mapPanel,e,{contentEl:"desc",region:"east",
bodyStyle:{padding:"5px"},collapsible:true,collapseMode:"mini",split:true,width:250,title:"Ricerca"}]}});Ext.get("Invia").on("click",function(){var a=document.getElementById("indirizzo").value;geocoder.setBaseCountryCode("it");geocoder.getLocations(a,g)});win=new Ext.Window({applyTo:"hello-win",layout:"fit",width:500,height:300,closeAction:"hide",plain:true,items:new Ext.TabPanel({applyTo:"hello-tabs",autoTabs:true,activeTab:0,deferredRender:false,border:false,resizeTabs:true,minTabWidth:160,tabWidth:160}),
buttons:[{text:"Close",handler:function(){win.hide()}}]});win.show()});function center(f,g){var b=new Proj4js.Point(g,f);Proj4js.transform(source,dest,b);mapPanel.map.setCenter(new OpenLayers.LonLat(b.x,b.y),6);markers2.clearMarkers();b=new OpenLayers.Marker(new OpenLayers.LonLat(b.x,b.y),new OpenLayers.Icon("down.png",new OpenLayers.Size(40,40)));markers2.addMarker(b)};
