/*
   var xmlDoc;
   var itinerariXMLHTTPRequest = null;

   function loadItinerariXML(nomeFile)
   function itinerariRequest(idCheck, nomeFileItinerariXML)
   function removeItinerariLayer()   
   function loadItinerariAjaxXMLRequest(nomeFile)   
   function loadItinerariAjaxXML()   
   function loadItinerariTag()   
   function attivaItinerario(idItinerario)   
*/
   var xmlDoc;
   var portiAggregatiXMLHTTPRequest = null;
   
   function loadPortiAggregatiXML(nomeFile)
   {
    //alert(nomeFile);
    //codice per IE
    if (window.ActiveXObject)
    {
     xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.async=false;
     xmlDoc.load(nomeFile);
     loadPortiAggregatiTag();
    }
    //codice per Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
     xmlDoc=document.implementation.createDocument("","",null);
     xmlDoc.load(nomeFile);
     xmlDoc.onload=loadPortiTag;
    }
    else
    {
     alert('Il tuo browser non è supportato');
    }
    return false;
   }
   
   function portiAggregatiRequest(idCheck, nomeFilePortiAggregatiXML)
   {
    myCheck  = getObject(idCheck);
    if (myCheck.checked==true)    
    {
     rit = loadPortiAggregatiAjaxXMLRequest(nomeFilePortiAggregatiXML);     
     controllaDimensioni(null);
    }
    else
    {
     removePortiAggregatiLayer();
    }
   }

   function removePortiAggregatiLayer()
   {
     pl1 = layers.get('portiLayer1');
     
     if (pl1 != undefined)
    	 map.DeleteShapeLayer(pl1.shapes);
   	 pl2 = layers.get('portiLayer2');
   	      
     if (pl2 != undefined)
   	  map.DeleteShapeLayer(pl2.shapes);

     pl3 = layers.get('portiLayer3');
   	 
   	 if (pl3 != undefined)
    	 map.DeleteShapeLayer(pl3.shapes);
     
     pl4 = layers.get('portiLayer4');     
     
   	 if (pl4 != undefined)
    	 map.DeleteShapeLayer(pl4.shapes);
    
     rimuoviMapLayer('portiLayer');
     portiVisualizzati=false;     
   }   

   function removePortiLiveLayer()
   {
     pl1 = layers.get('portiLayer1');
     
     if (pl1 != undefined)
    	 map.DeleteShapeLayer(pl1.shapes);
   	 pl2 = layers.get('portiLayer2');
   	      
     if (pl2 != undefined)
   	  map.DeleteShapeLayer(pl2.shapes);

     pl3 = layers.get('portiLayer3');
   	 
   	 if (pl3 != undefined)
    	 map.DeleteShapeLayer(pl3.shapes);
     
     pl4 = layers.get('portiLayer4');     
     
   	 if (pl4 != undefined)
    	 map.DeleteShapeLayer(pl4.shapes);
    
     rimuoviMapLayer('portiLayer');
     portiLiveVisualizzati=false;
   }   

   function loadPortiAggregatiAjaxXMLRequest(nomeFile)
   {

    portiAggregatiXMLHTTPRequest = makeRequest(nomeFile, 'xml');

    if (portiAggregatiXMLHTTPRequest.readyState != 4)
     portiAggregatiXMLHTTPRequest.onreadystatechange = loadPortiAggregatiAjaxXML;   
    else 
     loadPortiAggregatiAjaxXML();

   }
      
   function loadPortiAggregatiAjaxXML()
   {

   if (portiAggregatiXMLHTTPRequest.readyState == 4)
   {
     //codice per IE
     removePortiLayer();
     if (window.ActiveXObject)
     {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.loadXML(portiAggregatiXMLHTTPRequest.responseText);
      loadPortiTagNew();
     }
     //codice per Mozilla, Firefox, Opera, etc.
     else 
     {
      var parser=new DOMParser();
      xmlDoc=parser.parseFromString(portiAggregatiXMLHTTPRequest.responseText,"text/xml");
      loadPortiTagNew();
     }
    }
    return false;
   }
   
   function imageURLBySize(numeroPorti)
   {
    if (numeroPorti > 5)
     return "/skippercms/resources/img/aggregatori/faro_big.gif"; 
    else if (numeroPorti > 2)
     return "/skippercms/resources/img/aggregatori/faro_medium.gif";
    else 
     return "/skippercms/resources/img/aggregatori/faro_small.gif";
   }


   function loadPortiAggregatiTag()
   {
     //Gestione dei tre layer fissi del itinerari
     portiAggregatiLayer4 = new SkipperLayer();
     portiAggregatiLayer4.maxZoom=13;
     portiAggregatiLayer4.minZoom=10;
     portiAggregatiLayer3 = new SkipperLayer();
     portiAggregatiLayer3.maxZoom=9;
     portiAggregatiLayer3.minZoom=9;
     portiAggregatiLayer2 = new SkipperLayer();
     portiAggregatiLayer2.maxZoom=8;
     portiAggregatiLayer2.minZoom=8;
     portiAggregatiLayer1 = new SkipperLayer();
     portiAggregatiLayer1.maxZoom=7;
     portiAggregatiLayer1.minZoom=9;
     
     dimensione_regioni = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione").length);


     for(cn=0; cn<dimensione_regioni; cn++)
     {
      /*Scorrimento della regione*/      

      titolo      = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("denominazione_regione")[0].text);
      latitudes    = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("latitude")[0].text);
      longitudes   = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("longitude")[0].text);
      priorityId  = 3;
      descrizione = '';
      dimensione_province = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia").length);
      numero_porti_regione=0;

      for (cn_prov=0; cn_prov < dimensione_province; cn_prov++)
      {
       titolo_prov      = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("nome_provincia")[0].text);
       latitude_prov    = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("latitude")[0].text);
       longitude_prov   = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("longitude")[0].text);
       descrizione_prov = '';
       dimensione_comuni = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune").length);

       numero_porti_provincia = 0;       
       //Scorrimento comuni
       for (cn_comuni=0; cn_comuni < dimensione_comuni; cn_comuni++)
       {
        titolo_comuni      = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("nome_comune")[0].text);
        latitude_comuni    = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("latitude")[0].text);
        longitude_comuni   = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("longitude")[0].text);
        id_comuni          = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("id_comune")[0].text);
        comuni_pub         = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("comune_pubblicato")[0].text);        
        descrizione_comuni = '';
        dimensione_porti = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto").length);
        numero_porti_comune = 0;

        //--Scorrimento porti

        for (cn_porti=0; cn_porti < dimensione_porti; cn_porti++)
        {
         titolo_porti      = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("nome_porto")[0].text);
         id_porto          = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("id_porto")[0].text);
         latitude_porti    = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("latitude")[0].text);
         longitude_porti   = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("longitude")[0].text);
         porto_pub         = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("porto_pubblicato")[0].text);         
         descrizione_porto = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("descrizione")[0].text);                  
         meteoLive_porto = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("meteo_live")[0].text);                   
         indirizzo_porto = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("indirizzo")[0].text);                   
         capProvincia_porto = (xmlDoc.getElementsByTagName("porti_italia")[0].getElementsByTagName("regione")[cn].getElementsByTagName("provincia")[cn_prov].getElementsByTagName("comune")[cn_comuni].getElementsByTagName("porto")[cn_porti].getElementsByTagName("capProvincia")[0].text);                           

         if (porto_pub == "1")
         {          
          descrizione_porti = 'porto di <a href="/schedaPorto.do?method=show&idPorto='+id_porto+'">' + titolo_porti + '</a><br />';
          descrizione_porti += indirizzo_porto + "<br />";
          descrizione_porti += capProvincia_porto + "<br />";          

          if (meteoLive_porto != "NO")
           descrizione_porti += '<div align="right">' + message_resource['meteoLive'] + '&nbsp;<img src="/skippercms/resources/img/varie/meteoLive.gif" /></div><br />';


          /*
          if (comuni_pub == "1")
           descrizione_porti += '</a> nel comune di <a href="schedaInfoTuristiche.do?method=show&idContent=' + id_comuni + '" >' + titolo_comuni + '</a>';
          else
           descrizione_porti += '</a> nel comune di ' + titolo_comuni;        
          */
          
          
          descrizione_comuni += descrizione_porti + '<br />';
         
          priorityId_porti  = 3;
          //URLImmagine_porti = '/skippercms/resources/img/porto/barca.gif';
          URLImmagine_porti = imageURLBySize(1);          
          descrizione_porti = '<div  style="height:150px; overflow : auto; width:180px;">' + descrizione_porti + '</div>';
          var myPortoPin = AddPushPinShape(latitude_porti, longitude_porti, URLImmagine_porti, titolo_porti, descrizione_porti);
          portiAggregatiLayer1.shapes.AddShape(myPortoPin);
         }
        } 
        descrizione_prov += descrizione_comuni;
        numero_porti_comune = dimensione_porti;        
        numero_porti_provincia += numero_porti_comune;
        priorityId_comuni  = 3;
        URLImmagine_comuni = imageURLBySize(numero_porti_comune);
        titolo_comuni += '(' + numero_porti_comune + ')';
        if (numero_porti_comune > 0)
        {
         descrizione_comuni = '<div  style="height:150px; overflow : auto; width:180px;">' + descrizione_comuni + '</div>';
         var myComunePin = AddPushPinShape(latitude_comuni, longitude_comuni, URLImmagine_comuni, titolo_comuni, descrizione_comuni);
         portiAggregatiLayer2.shapes.AddShape(myComunePin);
        }
       } 
       numero_porti_regione += numero_porti_provincia;    
       titolo_prov += '(' + numero_porti_provincia + ')';
       priorityId_prov  = 3;
       descrizione += descrizione_prov;
       URLImmagine_prov = imageURLBySize(numero_porti_provincia);
       if (numero_porti_provincia > 0)
       {
        descrizione_prov = '<div  style="height:150px; overflow : auto; width:180px;">' + descrizione_prov + '</div>';
        var myProvinciaPin = AddPushPinShape(latitude_prov, longitude_prov, URLImmagine_prov, titolo_prov, descrizione_prov);
        portiAggregatiLayer3.shapes.AddShape(myProvinciaPin);
       }
     }
     titolo += '(' + numero_porti_regione + ')';
     URLImmagine = imageURLBySize(numero_porti_regione);
     if (numero_porti_regione >  0)
     {
      descrizione = '<div  style="height:150px; overflow : auto; width:180px;">' + descrizione + '</div>';
      var myRegionePin = AddPushPinShape(latitudes, longitudes, URLImmagine, titolo, descrizione);
      portiAggregatiLayer4.shapes.AddShape(myRegionePin);
     }
    }
     	 
	 map.AddShapeLayer(portiAggregatiLayer1.shapes);
	 map.AddShapeLayer(portiAggregatiLayer2.shapes);
	 map.AddShapeLayer(portiAggregatiLayer3.shapes);	 
	 map.AddShapeLayer(portiAggregatiLayer4.shapes);	 	 
	 portiAggregatiLayer1.shapes.Show(); 
 	 portiAggregatiLayer2.shapes.Show(); 
 	 portiAggregatiLayer3.shapes.Show(); 
 	 portiAggregatiLayer4.shapes.Show(); 
	
	
	 //Aggiunta/aggiornamento layer itinerari
	 aggiungiLayer('portiAggregatiLayer1', portiAggregatiLayer1);
	 aggiungiLayer('portiAggregatiLayer2', portiAggregatiLayer2);
	 aggiungiLayer('portiAggregatiLayer3', portiAggregatiLayer3);
	 aggiungiLayer('portiAggregatiLayer4', portiAggregatiLayer4);	 	 	 

     controllaDimensioni();
   }
   

