/*
   var xmlDocMare;
   var meteoMareXMLHTTPRequest = null;
      
   function loadMeteoMareXML(nomeFile)
   function meteoMareRequest(idCheck, nomeFilemeteoMareXML)
   function removemeteoMareLayer()
   function loadmeteoMareAjaxXMLRequest(nomeFile)
   function loadmeteoMareAjaxXML(nomeFile)
   function loadmeteoMareTag()   
*/ 

   var xmlDocMare;
   var meteoMareXMLHTTPRequest = null;
   var timeoutId=null;
   
   function loadMeteoMareXML(nomeFile)
   {
    	 var meteoLiveLayer = new VEShapeLayer();
    	 aggiungiMapLayer('meteoLiveLayer', meteoLiveLayer);
    	 addLoadingPushPin('meteoLiveLayer');   
    meteoMareResponseReceived=false;
    //alert("nome file:" + nomeFile);
    //codice per IE
    if (window.ActiveXObject)
    {
     xmlDocMare=new ActiveXObject("Microsoft.XMLDOM");
     xmlDocMare.async=false;
     xmlDocMare.load(nomeFile);
     loadmeteoMareTag()
    }
    //codice per Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
     xmlDocMare=document.implementation.createDocument("","",null);
     xmlDocMare.load(nomeFile);
     xmlDocMare.onload=loadmeteoMareTag;
    }
    else
    {
     alert('Il tuo browser non è supportato');
    }
    return false;
   }
   
   function meteoMareRequest(idCheck, nomeFilemeteoMareXML)
   {
    myCheck  = getObject(idCheck);
    if (myCheck.checked==true)    
    {
     rit = loadMeteoMareAjaxXMLRequest(nomeFilemeteoMareXML);     
     rit = addMeteoMareControlRequest();
     controllaDimensioni();
    }
    else
    {
     removeMeteoMareLayer();
   	 removeMeteoMareControl();
    }
   }

   function removeMeteoMareLayer()
   {
      ml1 = layers.get('meteoMareLayer1');
     if (ml1 != undefined)
    	 map.DeleteShapeLayer(ml1.shapes);
    	 
   	 ml2 = layers.get('meteoMareLayer2');
     if (ml2 != undefined)
   	  map.DeleteShapeLayer(ml2.shapes);
     
     ml3 = layers.get('meteoMareLayer3');
   	 if (ml3 != undefined)
    	 map.DeleteShapeLayer(ml3.shapes);
   }   

   function loadmeteoMareAjaxXMLRequest(nomeFile)
   {
   addLoadingPushPin('meteoLiveLayer');
    meteoMareResponseReceived=false;
    meteoMareXMLHTTPRequest = makeRequest(nomeFile, 'xml');
    if (meteoMareXMLHTTPRequest.readyState != 4)
     meteoMareXMLHTTPRequest.onreadystatechange = loadmeteoMareAjaxXML;   
    else 
     loadmeteoMareAjaxXML();
   }
      
   function loadmeteoMareAjaxXML()
   {
   if (meteoMareXMLHTTPRequest.readyState == 4)
   {
     //codice per IE
     //alert("Chiamato meteoMare");
     rimuoviLayerMeteoMare();
     if (window.ActiveXObject)
     {
      xmlDocMare=new ActiveXObject("Microsoft.XMLDOM");
      xmlDocMare.loadXML(meteoMareXMLHTTPRequest.responseText);
      loadmeteoMareTag();
     }
     //codice per Mozilla, Firefox, Opera, etc.
     else 
     {
      var parser=new DOMParser();
      xmlDocMare=parser.parseFromString(meteoMareXMLHTTPRequest.responseText,"text/xml");
      loadmeteoMareTag();
     }
     controllaDimensioni(null);
    }
    return false;
   }
   
   var toogleMareVento=-1;
   function toogleMareVentoLayers()
   {
     if (toogleMareVento != -1)
     {
		     if (toogleMareVento == 1)
		     {
			  meteoMareLayerVento1.shapes.Hide();  
		 	  meteoMareLayerVento2.shapes.Hide(); 
		 	  meteoMareLayerVento3.shapes.Hide(); 

		      controllaVisualizzazioneLayer('meteoMareLayerMare1');
		   	  controllaVisualizzazioneLayer('meteoMareLayerMare3');
              controllaVisualizzazioneLayer('meteoMareLayerMare2');
		 	  toogleMareVento = 0;
		 	 } 
		 	 else
		 	 {
		      meteoMareLayerMare1.shapes.Hide(); 
		   	  meteoMareLayerMare2.shapes.Hide(); 
		   	  meteoMareLayerMare3.shapes.Hide();   
			  controllaVisualizzazioneLayer('meteoMareLayerVento1');
			  controllaVisualizzazioneLayer('meteoMareLayerVento2');
			  controllaVisualizzazioneLayer('meteoMareLayerVento3');
		 	  toogleMareVento = 1;
		  	 } 
  	        timeoutId =  window.setTimeout('toogleMareVentoLayers()',4000);
     }
   }
   
   function loadmeteoMareTag()
   {
    rimuoviLayerMeteoMare();
     
     //Gestione dei tre layer fissi del meteoMare
     meteoMareLayerMare1 = new SkipperLayer();
     meteoMareLayerMare1.maxZoom=12;
     meteoMareLayerMare1.minZoom=9;
     meteoMareLayerMare2 = new SkipperLayer();
     meteoMareLayerMare2.maxZoom=12;
     meteoMareLayerMare2.minZoom=8;
     meteoMareLayerMare3 = new SkipperLayer();
     meteoMareLayerMare3.maxZoom=12;
     meteoMareLayerMare3.minZoom=5;
     
     meteoMareLayerVento1 = new SkipperLayer();
     meteoMareLayerVento1.maxZoom=12;
     meteoMareLayerVento1.minZoom=9;
     meteoMareLayerVento2 = new SkipperLayer();
     meteoMareLayerVento2.maxZoom=12;
     meteoMareLayerVento2.minZoom=8;
     meteoMareLayerVento3 = new SkipperLayer();
     meteoMareLayerVento3.maxZoom=12;
     meteoMareLayerVento3.minZoom=5;    
     
     meteoMareResponseReceived=true; 
     
     if(xmlDocMare!=null &&  xmlDocMare.getElementsByTagName("meteo_mare_vento").length>0){
	     dimensione = xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore").length;
	     for(cn=0; cn<dimensione; cn++)
	     {
	      latitude_meteoMare=(xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("latitude")[0].text);
	      longitude_meteoMare=(xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("longitude")[0].text);
	      priorityId=(xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("priority_id")[0].text);      
	      URLImmagine=(xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("URL_tempo")[0].text);
	
	      titoloDaInserire = "<table cellpadding=0 cellspacing=0 border=0 width='315px'>";
	   	  titoloDaInserire += "<tr class='no_text'>";
	   	  titoloDaInserire += "<td><img src='/skippercms/resources/img/varie/angolo_sx_giallo_info.gif'></td>";
	   	  titoloDaInserire += "<td width='100%' class='intestazione_giallo_info_testo_bianco'>" + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("nome")[0].text) + "</td>";
	   	  titoloDaInserire += "<td class='intestazione_giallo_info_testo_blu' align='right'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:void(0);\" onclick=\"nascondiContenutoPP(); return false;\">X</a></td>";
	   	  titoloDaInserire += "<td><img src='/skippercms/resources/img/varie/angolo_dx_giallo_info.gif'></td>";
	   	  titoloDaInserire += "</tr>";
	   	  titoloDaInserire += "</table>";
	
	      titolo = titoloDaInserire; //titolo = '<div style="bgcolor=#FFFFFF; background-color:#FFFFFF">' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("nome")[0].text) + "<div align=\"right\"><a href=\"javascript:void(0);\" onclick=\"nascondiContenutoPP(); return false;\">X</a></div></div>";      
		  descrizione = '<div style="bgcolor=#FFFFFF; background-color:#FFFFFF"><b>' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("desc_tempo")[0].text) + '</b><br />';
		  descrizione += (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("temp")[0].text) + ' gradi';
	  	  descrizione += ', vento ' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_int")[0].text) + 'B ' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_dir")[0].text);
	 	  //descrizione += ', ' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_dir")[0].text);
	
	      descrizioneDaInserire = "<table cellpadding=0 cellspacing=0 border=0 width='300'>";
	      descrizioneDaInserire += "<tr><td colspan=3 class='testo_nero_info_box'>";
	      descrizioneDaInserire += '<b>' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("desc_tempo")[0].text) + '</b><br />';
		  descrizioneDaInserire += (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("temp")[0].text) + ' gradi';
	  	  descrizioneDaInserire += ', vento ' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_int")[0].text) + 'B ' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_dir")[0].text);      
	      descrizioneDaInserire += "</td></tr>";
	      descrizioneDaInserire += "<tr class='no_text'><td><img src='/skippercms/resources/img/varie/angolo_sx_bianco2.gif'></td><td width='100%' height='17' class='sfondo_bianco'></td>";
	      descrizioneDaInserire += "<td><img src='/skippercms/resources/img/varie/angolo_dx_bianco.gif'></td></tr></table>";
	
	      descrizione = descrizioneDaInserire;
	  
	      URLImmagineMare   = '/skippercms/resources/img/meteoMare/mare/' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("id_mare")[0].text) + '.gif';	  
	      URLImmagineVento  = '/skippercms/resources/img/meteoMare/vento/' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_dir")[0].text) + '.gif';	  
	      URLImmagineNumero = '/skippercms/resources/img/meteoMare/numero/' + (xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("settore")[cn].getElementsByTagName("previsione")[0].getElementsByTagName("v_int")[0].text) + '.gif';	  
		  var myPinMare = AddPushPinShape(latitude_meteoMare, longitude_meteoMare, URLImmagineMare, titolo, descrizione);
		  var myPinVento = AddPushPinShape(latitude_meteoMare, longitude_meteoMare, URLImmagineVento, titolo, descrizione);
	 	  var myPinNumero = AddPushPinShape(latitude_meteoMare, longitude_meteoMare, URLImmagineNumero, titolo, descrizione);
	      /*alert ('loc:'+(xmlDocMare.getElementsByTagName("meteo_mare_vento")[0].getElementsByTagName("localita")[cn].getElementsByTagName("nome")[0].text)+' pin:'+myPin);*/
		  if (priorityId == "1")
		  {
	       meteoMareLayerMare1.shapes.AddShape(myPinMare);
	  	   meteoMareLayerVento1.shapes.AddShape(myPinVento);
	  	   meteoMareLayerVento1.shapes.AddShape(myPinNumero);
	 	  }
	 	  else if (priorityId == "2")
	 	  {
	 	   meteoMareLayerMare2.shapes.AddShape(myPinMare);
	  	   meteoMareLayerVento2.shapes.AddShape(myPinVento);
	  	   meteoMareLayerVento2.shapes.AddShape(myPinNumero);
	 	  }
	 	  else if (priorityId == "3")
	 	  {
	 	   meteoMareLayerMare3.shapes.AddShape(myPinMare);
	  	   meteoMareLayerVento3.shapes.AddShape(myPinVento);
	  	   meteoMareLayerVento3.shapes.AddShape(myPinNumero);
	 	  }
	   	   else
	    	   alert('PriorityId non definito');
		 }
		 if(meteoResponseReceived){
	 		removeLoadingPushPin('meteoLiveLayer');
	 	 }
	 }else{
	 	if(meteoResponseReceived){
	 		alert('I dati del servizio Meteo non sono disponibili.');
	 		removeLoadingPushPin('meteoLiveLayer');
	 	}
	 }
	 map.AddShapeLayer(meteoMareLayerMare1.shapes);
	 map.AddShapeLayer(meteoMareLayerMare2.shapes);
	 map.AddShapeLayer(meteoMareLayerMare3.shapes);	 
	 map.AddShapeLayer(meteoMareLayerVento1.shapes);
	 map.AddShapeLayer(meteoMareLayerVento2.shapes);
	 map.AddShapeLayer(meteoMareLayerVento3.shapes);	 	 
	 
	 meteoMareLayerMare1.shapes.Hide(); 
 	 meteoMareLayerMare2.shapes.Hide(); 
 	 meteoMareLayerMare3.shapes.Hide(); 
	 meteoMareLayerVento1.shapes.Hide(); 
 	 meteoMareLayerVento2.shapes.Hide(); 
 	 meteoMareLayerVento3.shapes.Hide();
 	 toogleMareVento = 1;
	
	 //Aggiunta/aggiornamento layer meteoMare
   	 
   	 aggiungiLayer('meteoMareLayerMare1', meteoMareLayerMare1);
	 aggiungiLayer('meteoMareLayerMare2', meteoMareLayerMare2);
	 aggiungiLayer('meteoMareLayerMare3', meteoMareLayerMare3);
	 
	 aggiungiLayer('meteoMareLayerVento1', meteoMareLayerVento1);
	 aggiungiLayer('meteoMareLayerVento2', meteoMareLayerVento2);
	 aggiungiLayer('meteoMareLayerVento3', meteoMareLayerVento3);
	 
	 if (timeoutId!=null)
	 	window.clearTimeout(timeoutId);
     toogleMareVentoLayers();
	 
     controllaDimensioni(null);
   }
   
function rimuoviLayerMeteoMare()
{

 rimuoviLayer('meteoMareLayerMare1');
 rimuoviLayer('meteoMareLayerMare2');
 rimuoviLayer('meteoMareLayerMare3');
 rimuoviLayer('meteoMareLayerVento1');
 rimuoviLayer('meteoMareLayerVento2');
 rimuoviLayer('meteoMareLayerVento3'); 
}
