/*
function loadPorti() 



*/
var nomePortoValore = null;
var creaPortiForm = null; 
var portoCreataAdv = null; 
var portoCreataHTTPRequest = null;
var cercaPortiHTTPRequest = null;
var cercaPortoLayer = null;
var savePortiHTTPRequest = null;
var controllaPortoHTTPRequest = null;

 
var portiVisualizzati = false;

//Carica/nasconde i porti sulla mappa
function togglePorti()
{
 removeAllCheckedExcept('porti');
 if (portiVisualizzati)
 {
  //DisattivaAllPortiIco(); //Disattiva tutte le icone dei servizi del porto
  removePortiServ();
 }
 else
 {
   portiVisualizzati = true;
   //attivaAllPortiIco(); //attiva tutte le icone dei servizi del porto
   baseUri = '/transf.do?method=transformPortiAggregatiByServicesXML';
   chkR = checkTipiPortiSelezionati();
   //if (chkR != "")
   //{
    uri = baseUri;
    registerPortiServLayer(uri);
    controllaDimensioni(null); 
   //}
  }
}

 //Verifica l'elenco dei check effettivamente selezionati per il filtro dei servizi sui porti.
 //NOTA: è importante che l'id dopo 'portochk' corrisponda all'id del servizio
 function checkTipiPortiSelezionati()
 {
   chkR = "";
   
   c = getObject('portochk8');
   if (c.checked==true)
    chkR += " 8";
   c = getObject('portochk40');
   if (c.checked==true)
    chkR += " 40"; 
   c = getObject('portochk42');
   if (c.checked==true)
    chkR += " 42";
   c = getObject('portochk61');
   if (c.checked==true)
    chkR += " 61";
   c = getObject('portochk39');
   if (c.checked==true)
    chkR += " 39";      
   c = getObject('portochk6');
   if (c.checked==true)
    chkR += " 6";    
    
   c = getObject('portochk7');
   if (c.checked==true)
    chkR += " 7";    
    
   return chkR;
 }

 //Registra i layer dei porti
 function registerPortiServLayer(uri)
   {
     portiLayer = new VEShapeLayer();
     portiLayer1 = new SkipperLayer();
     portiLayer1.maxZoom=6;
     portiLayer1.minZoom=2;
     portiLayer1.loaded=false;
     portiLayer1.loadfunction="loadPortiServXMLRequest('" + uri + "&livello=1', 'portiLayer');";

     portiLayer2 = new SkipperLayer();
     portiLayer2.maxZoom=8;
     portiLayer2.minZoom=7;
     portiLayer2.loaded=false;
     portiLayer2.loadfunction="loadPortiServXMLRequest('" + uri + "&livello=2', 'portiLayer');";

     portiLayer3 = new SkipperLayer();
     portiLayer3.maxZoom=11;
     portiLayer3.minZoom=9;
     portiLayer3.loaded=false;
     portiLayer3.loadfunction="loadPortiServXMLRequest('" + uri + "&livello=3', 'portiLayer');";

     portiLayer4 = new SkipperLayer();
     portiLayer4.maxZoom=17;
     portiLayer4.minZoom=12;
     portiLayer4.loaded=false;
     portiLayer4.loadfunction="loadPortiServXMLRequest('" + uri + "&livello=4', 'portiLayer');";


     aggiungiMapLayer('portiLayer', portiLayer);     

     aggiungiLayer('portiLayer1', portiLayer1);
     aggiungiLayer('portiLayer2', portiLayer2);
     aggiungiLayer('portiLayer3', portiLayer3);
     aggiungiLayer('portiLayer4', portiLayer4);                    
   }

function loadPortiServXMLRequest(nomeFile)
   {
    nomeFile += "&chk=" +  checkTipiPortiSelezionati();
    skipperLayerNew = getMapLayer('portiLayer');
    if (skipperLayerNew != null)
     {
	    skipperLayerNew.Hide();
	    portiAggregateXMLHTTPRequest = makeRequest(nomeFile, 'xml');
	    addLoadingPushPin('loadPortiXMLRequest');
	    if (portiAggregateXMLHTTPRequest.readyState != 4)
	     portiAggregateXMLHTTPRequest.onreadystatechange = loadPortiServXMLNEW;   
	    else 
	     loadPortiServXMLNEW();
	 }    
   }
   
  var xmlDocPorti=null;
   
  function loadPortiServXMLNEW()
  {
  if (portiAggregateXMLHTTPRequest != null)
    if (portiAggregateXMLHTTPRequest.readyState == 4)
    {
     //codice per IE
     if (window.ActiveXObject)
     {
       xmlDocPorti=new ActiveXObject("Microsoft.XMLDOM");
       xmlDocPorti.loadXML(portiAggregateXMLHTTPRequest.responseText);
       rit = loadXMLPushPinTag('portiLayer', xmlDocPorti);
     }
     //codice per Mozilla, Firefox, Opera, etc.
     else 
     {
      var parser=new DOMParser();
      xmlDocPorti=parser.parseFromString(portiAggregateXMLHTTPRequest.responseText,"text/xml");
      rit = loadXMLPushPinTag('portiLayer', xmlDocPorti);
   	 
     }
     removeLoadingPushPin('loadPortiXMLRequest');   
     removeLoadingPushPin('portiLoading');
     myLayer = getMapLayer('portiLayer');
  try{
     
     map.AddShapeLayer(myLayer);
   	
	// myLayer.Show();    
	 }
   catch(e)
   {
    //alert(e.message);
   }
  }
    
    
   return false; 
  }



function DisattivaAllPortiIco()
{
 elementi = new Array(); 
 elementi [0]= "8";
 elementi [1]= "40";
 elementi [2]= "42";
 elementi [3]= "61";
 elementi [4]= "39";
 elementi [5]= "6";     
 elementi [6]= "7"; 
 for(i=0;i<elementi.size;i++)
 {
 	idTipo = "imgPorto_" + elementi[i];
	img_o = getObject(idTipo);
 	img_o.src = "/skippercms/resources/img/tipologie_porti/" + elementi[i] + ".gif";
 	idTipo1 = "portochk" + elementi[i];
 	o = getObject(idTipo1);
 	o.checked=false;  
 }
}
 
 function attivaAllPortiIco()
{
 elementi = new Array(); 
 elementi [0]= "8";
 elementi [1]= "40";
 elementi [2]= "42";
 elementi [3]= "61";
 elementi [4]= "39";
 elementi [5]= "6";     
 elementi [6]= "7"; 
 for(i=0;i<elementi.length;i++)
 {
  	idTipo = "imgPorto_" + elementi[i];
 	img_o = getObject(idTipo);
 	img_o.src = "/skippercms/resources/img/tipologie_porti/" + elementi[i] + "_c.gif";
 	idTipo1 = "portochk" + elementi[i];
 	o = getObject(idTipo1);
 	o.checked=true;  
 }
}

//
function cambiacona(nomeico,id)
{
	nomecompleto=id + "_c.gif";
	
	
	if(nomeico== nomecompleto)
	{
		idImg = "imgPorto_" + id;
		img_o = getObject(idImg);
		img_o.src = "/skippercms/resources/img/tipologie_porti/" + id + ".gif";
	}
	else
	{
		idImg = "imgPorto_" + id;
		img_o = getObject(idImg);
		img_o.src = "/skippercms/resources/img/tipologie_porti/" + id + "_c.gif";
	}
}


//Nel pannello di creazione della nuova porto, setta la tipologia selezionata
function settaTipoPorto(id)
{
 idTipo = "portochk" + id;
 o = getObject(idTipo);
 if (o.checked==true)
 {
  o.checked = false;
  idImg = "imgPorto_" + id;
  img_o = getObject(idImg);
 
  img_o.src = "/skippercms/resources/img/tipologie_porti/" + id + "_c.gif";
 } else
 {
  o.checked = true;  
  idImg = "imgPorto_" + id;
  img_o = getObject(idImg);
  
  img_o.src = "/skippercms/resources/img/tipologie_porti/" + id + ".gif";  
 }
}

//Rimuove tutte le porti dalla mappa
function removePortiServ()
{
 portiVisualizzati = false;
 rimuoviMapLayer('portiLayer');

 rimuoviLayer('portiLayer1');
 rimuoviLayer('portiLayer2');
 rimuoviLayer('portiLayer3');          
 rimuoviLayer('portiLayer4');    

  RemoveMyControl(portoCreataAdv);
  creaPortiForm = null;
}


//Parserizza l'XML delle porti
function loadPortiTag()
{
     addLoadingPushPin('portiSingoleTag');
     removePortiTrovateLayer();
    
     //Gestione dei layer delle porti
     portiTrovateLayer1 = new SkipperLayer();
     portiTrovateLayer1.maxZoom=11;
     portiTrovateLayer1.minZoom=9;
     
     dimensione_porti = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto").length);
 
     for(cn=0; cn < dimensione_porti; cn++)
     {
      /*Scorrimento della regione*/      

      titolo      = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("nome")[0].text);
      latitudes   = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("latitude")[0].text);
      longitudes  = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("longitude")[0].text);
      idPorto  = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("id_porto")[0].text); 
           
      preferenze = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("numero_preferenze")[0].text)
      categorie  = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("categorie")[0].text)      
   
      priorityId  = 3;
      //descrizione = (xmlDoc.getElementsByTagName("porti")[0].getElementsByTagName("porto")[cn].getElementsByTagName("descrizione")[0].text);
      titoloUrl = '<div class="sfondo_titolo_aggregatore_porto"><a href="/schedaPorto.do?method=show&idContent=' + idPorto + '">' + titolo + '</a></div><br />';
       
      descrizione = '<div  style="height:150px; overflow : auto; width:180px;">'; 
      if (preferenze != "0" )
       descrizione += 'preferita da ' + preferenze + ' utenti.&nbsp;&nbsp;';       
     
      descrizione += categorie + '</div><br />';
     
      URLImmagine = '/skippercms/resources/img/varie/ancora.gif';
      var myPortoPin = AddPushPinShape(latitudes, longitudes, URLImmagine, titoloUrl, descrizione);
      portiTrovateLayer1.shapes.AddShape(myPortoPin);
    }

     if (portiTrovateLayer1 != null)
     {
      map.AddShapeLayer(portiTrovateLayer1.shapes);
      portiTrovateLayer1.shapes.Show(); 
     } 

     //Aggiunta/aggiornamento layer
     aggiungiLayer('portiTrovateLayer1', portiTrovateLayer1);

     controllaDimensioni();
     removeLoadingPushPin('portiTrovate');
     removeLoadingPushPin('portiSingoleTag');
}



