var terreni="Terreni";
var fabbricati="Fabbricati";
var strade="Strade";
var canali="Canali";

function viewObjCoord(x,y,layername,geokey)
    {
        var map=parent.mappa.document.mappa;
		
		map.setAutorefresh(false); 

		var Pt = map.mcsToLonLat(x, y);
		var PtX = map.mcsToLonLat(y,x);
        map.zoomScale(Pt.getY(),Pt.getX(),2500);
	    
		var setup=map.getRedlineSetup();
		var symb=setup.getSymbolAttr();
		symb.setSymbol("ricerca4");
		symb.setWidth(30,"M");
		symb.setHeight(30,"M");


		var lyr = map.getMapLayer("Risultati ricerca");
	    
		if (lyr==null)
		{
			lyr=map.createLayer("redline", "Risultati ricerca");
		}
		
		lyr.removeAllObjects()
		//lyr.rebuild()
		
		lyr.setShowInLegend(false);
	    
		var obj=lyr.createMapObject("Risultatoricerca","Risultato della ricerca.","");
		
		PtX.setX(Pt.getX());
		PtX.setY(Pt.getY());
		
		obj.addSymbolPrimitive(PtX,false);
			
	  map.setAutorefresh(true); 
	  //viewObj(layername,geokey);
	  map.refresh();

	}

function viewObjCoordInvoker(x,y,layername,geokey)
    {
        var map=opener.parent.mappa.mappa;
		
		map.setAutorefresh(false); 

		var Pt = map.mcsToLonLat(x, y);
		var PtX = map.mcsToLonLat(y,x);
        map.zoomScale(Pt.getY(),Pt.getX(),2500);
	    
		var setup=map.getRedlineSetup();
		var symb=setup.getSymbolAttr();
		symb.setSymbol("ricerca4");
		symb.setWidth(30,"M");
		symb.setHeight(30,"M");


		var lyr = map.getMapLayer("Risultati ricerca");
	    
		if (lyr==null)
		{
			lyr=map.createLayer("redline", "Risultati ricerca");
		}
		
		lyr.removeAllObjects()
		//lyr.rebuild()
		
		lyr.setShowInLegend(false);
	    
		var obj=lyr.createMapObject("Risultatoricerca","Risultato della ricerca.","");
		
		PtX.setX(Pt.getX());
		PtX.setY(Pt.getY());
		
		obj.addSymbolPrimitive(PtX,false);
			
	  map.setAutorefresh(true); 
	  //viewObj(layername,geokey);
	  map.refresh();

	}

function viewObj(layername,objkey,zoomonselection)
   {
      var curmap=parent.mapframe.document.mappa;
      curmap.setAutorefresh(false)
	  var found=false;
	  curmap.getSelection().clear();

	  var ct_layer=curmap.getMapLayer(layername);//case sensistive !!
      
	  if (ct_layer!=null)
       {
         var collection=ct_layer.getMapObjects();
         var selection=curmap.getSelection();
         
         var size=collection.size();

         for (i=0;i<size;i++)
            {
               var objtemp=collection.item(i);
       
               if (objkey==objtemp.getKey())
                  {
                     selection.addObject(objtemp,false);
                     i=size+1;
					 found=true;
                  }
            }//for

		  if (found==true)
		  {
		
 if(zoomonselection==true)
			  {	 
			var obj_coll=selection.getMapObjectsEx(ct_layer);
			 var obj=obj_coll.item(0);
			 var obj_extent=obj.getExtent();
			
			 var lat=(obj_extent.getMinLat()+obj_extent.getMaxLat())/2;
			 var lon=(obj_extent.getMinLon()+obj_extent.getMaxLon())/2;

			  curmap.zoomScale(lat,lon,5000);
}
 else
			 {
			  curmap.zoomSelected();
			 }

		   curmap.getSelection().clear();	
		  }
		   else
		   {
	          alert("Oggetto non  trovato sulla mappa.");
	          //loc="error.asp?layer="+layername+"&geokey="+objkey; 
	          //window.open(loc,'',"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1,height=1");
	        }//else
       

       }//if!=null   
curmap.setAutorefresh(true);
       curmap.refresh(); 
	  		
   }//viewobj

function viewObj_OnSelected(layername,objkey)
   {
      var curmap=parent.mappa.mappa;
	  var found=false;
	  curmap.getSelection().clear();

	  var ct_layer=curmap.getMapLayer(layername);//case sensistive !!
      
	  if (ct_layer!=null)
       {
         var collection=ct_layer.getMapObjects();
         var selection=curmap.getSelection();
         
         var size=collection.size();

         for (i=0;i<size;i++)
            {
               var objtemp=collection.item(i);
               if (objkey==objtemp.getName())
                  {
                     selection.addObject(objtemp,false);
                     //i=size+1;
					 found=true;
                  }
            }//for

		  if (found==true)
			{curmap.zoomSelected();}
		   else
		   {
	          loc="error.asp?layer="+layername+"&geokey="+objkey; 
	          window.open(loc,'',"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1,height=1");
	        }//else

       }//if!=null    
	  		
   }//viewobj


/*
 Non so perche' ma sto metodo non 
 funziona. 

function viewAll(layername,array_key)
   {
	   var len=array_key.length;
	   
	   var curmap=parent.mappa.mappa;
	  
	   curmap.getSelection().clear();
	   
	   alert("Array di dimenzione "+len)
	   
	   for (i=0;i<len;i++)
		{
			alert(array_key[i])
			viewObj(layername,array_key[i],false);	
		}
		curmap.zoomSelected();
	   
   }//viewAll 
*/

function viewAll(layername,array_key)
   {
	   var len=array_key.length;
	   
	   var curmap=parent.mappa.mappa;
	   
	   curmap.getSelection().clear();
	   
	   var ct_layer=curmap.getMapLayer(layername);//case sensistive !!
	   
	   if (ct_layer!=null)
        {
          var collection=ct_layer.getMapObjects();
          var selection=curmap.getSelection();
         
          var size=collection.size();
          
		  for (j=0;j<len;j++)
			{
			 for (i=0;i<size;i++)
			  {
				var objtemp=collection.item(i);
       
				if (array_key[j]==objtemp.getKey())
				   {
        			 selection.addObject(objtemp,false);
                     i=size+1;
			      }
              }//for (i)
            }//for (j) 
		}//if!=null    

       curmap.zoomSelected();
	   
   }//viewAll 


   function getMap()
{
    if (navigator.appName == "Netscape")
        return document.mappa;
    else
        return document.mappa;
}

/*
function displayAbout()
{
    getMap().aboutDlg();
}

function map_PanMode()
{
  	getMap().panMode();
}

function map_SelectMode()
{
  	getMap().selectMode();
}

function map_ZoomInMode()
{
  	getMap().zoomInMode();
}

function map_ZoomOutMode()
{
  	getMap().zoomOutMode();
}

function map_ZoomOut()
{
  	getMap().zoomOut();
}

function map_NoUse()
{
	alert("Funzionalita' non implementata")
}


function map_ZoomPrevious()
{
	getMap().zoomPrevious()
}

function map_Stop()
{
  	getMap().stop();
}

function map_Copy()
{
  	getMap().copyMap();
}

function map_Print()
{
  	getMap().printDlg();
}

function map_ZoomScale(scale)
{
   var map=getMap();
   map.zoomScale(map.getLon(),map.getLat(),scale);
}


*/

function map_ZoomSelected()
{
	// Rubata in blocco dalle API di Mapguide
	var map = getMap();
    // Assign collection of selected features to variable
    var selected = map.getSelection().getMapObjectsEx(null);
    // If collection is not empty, zoom to its members...
    if (selected.size() > 0)
        map.zoomSelected();
    // ...otherwise, display alert
    else
        alert("E' necessario selezionare almeno un elemento\nprima di effettuare lo zoom.");
}



function onDoubleClickObject(mapobject)
{
    var loc="";
    var lyr=mapobject.getMapLayer();
    
    loc="popup.aspx?layer="+lyr.getName()+"&geokey="+mapobject.getKey();
    window.open(loc,'Ricerca',"toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=600,height=400");
}

function openReport(layer,partita,codistat)
{
	value=codistat+"-"+partita
    loc="popup_report.asp?layer="+layer+"&geokey="+value;
    window.open(loc,'Ricerca',"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=300");
}

function openDetail(geokey)
{
	value=geokey
    loc="popup_report.asp?layer=terreni&geokey="+value;
    window.open(loc,'Ricerca',"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=300");
}
