/*
   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 itinerariXMLHTTPRequest = null;
   
   function loadItinerariXML(nomeFile)
   {
    //codice per IE
    if (window.ActiveXObject)
    {
     xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.async=false;
     xmlDoc.load(nomeFile);
     loadItinerariTag()
    }
    //codice per Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
     xmlDoc=document.implementation.createDocument("","",null);
     xmlDoc.load(nomeFile);
     xmlDoc.onload=loadItinerariTag;
    }
    else
    {
     alert('Il tuo browser non è supportato');
    }
    return false;
   }
   
   function itinerariRequest(idCheck, nomeFileItinerariXML)
   {
    myCheck  = getObject(idCheck);
    if (myCheck.checked==true)    
    {
     rit = loadItinerariAjaxXMLRequest(nomeFileItinerariXML);     
     controllaDimensioni(null);
    }
    else
    {
     removeItinerariLayer();
    }
   }

   function removeItinerariLayer()
   {
      ml1 = layers.get('itinerariLayer1');
     if (ml1 != undefined)
    	 map.DeleteShapeLayer(ml1.shapes);
    	 
   	 ml2 = layers.get('itinerariLayer2');
     if (ml2 != undefined)
   	  map.DeleteShapeLayer(ml2.shapes);
     
     ml3 = layers.get('itinerariLayer3');
   	 if (ml3 != undefined)
    	 map.DeleteShapeLayer(ml3.shapes);
   }   

   function loadItinerariAjaxXMLRequest(nomeFile)
   {
    itinerariXMLHTTPRequest = makeRequest(nomeFile, 'xml');
    if (itinerariXMLHTTPRequest.readyState != 4)
     itinerariXMLHTTPRequest.onreadystatechange = loadItinerariAjaxXML;   
    else 
     loadItinerariAjaxXML();
   }
      
   function loadItinerariAjaxXML()
   {
   if (itinerariXMLHTTPRequest.readyState == 4)
   {
     //codice per IE
     removeItinerariLayer();
     if (window.ActiveXObject)
     {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.loadXML(itinerariXMLHTTPRequest.responseText);
      loadItinerariTag();
     }
     //codice per Mozilla, Firefox, Opera, etc.
     else 
     {
      var parser=new DOMParser();
      xmlDoc=parser.parseFromString(itinerariXMLHTTPRequest.responseText,"text/xml");
      loadItinerariTag();
     }
    }
    return false;
   }
   
   function loadItinerariTag()
   {
     //Gestione dei tre layer fissi del itinerari
     itinerariLayer1 = new SkipperLayer();
     itinerariLayer1.maxZoom=17;
     itinerariLayer1.minZoom=8;
     itinerariLayer2 = new SkipperLayer();
     itinerariLayer2.maxZoom=17;
     itinerariLayer2.minZoom=7;
     itinerariLayer3 = new SkipperLayer();
     itinerariLayer3.maxZoom=17;
     itinerariLayer3.minZoom=5;
     
     dimensione = (xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario").length);
     
     
     for(cn=0; cn<dimensione; cn++)
     {
      titolo=(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("nome_itinerario")[0].text);
      latitude=(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("latitude")[0].text);
      longitude=(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("longitude")[0].text);
      priorityId=(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("priority_id")[0].text);      
      URLImmagine=(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("URL_itinerario")[0].text);
      descrizione= 'da:<b>'+(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("da")[0].text)+'</b>'+' a:<b>'+(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("a")[0].text)+'</b><br />';
      descrizione +=(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("descrizione")[0].text)+'<br/>';
      
      descrizione += '<a href="javascript:void(0)" onclick="attivaItinerario(' + (xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("id_itinerario")[0].text) + ');">';
      descrizione += message_resource['linkItineraryMenu'] + '</a>';
      descrizione += '<br /><a href="itinerario.do?method=show&idItinerario='+(xmlDoc.getElementsByTagName("itinerari")[0].getElementsByTagName("itinerario")[cn].getElementsByTagName("id_itinerario")[0].text)+'">';
      descrizione += message_resource['linkItineraryPage'] + '</a>';      
	  var myPin = AddPushPinShape(latitude, longitude, URLImmagine, titolo, descrizione);

	  if (priorityId == "1")
	  {
 	   itinerariLayer1.shapes.AddShape(myPin);
 	  }
 	  else if (priorityId == "2")
 	  {
   	   itinerariLayer2.shapes.AddShape(myPin);
 	  }
 	  else if (priorityId == "3")
 	  {
   	   itinerariLayer3.shapes.AddShape(myPin);
 	  }
   	   else
    	   alert('PriorityId non definito');
	 }
	 map.AddShapeLayer(itinerariLayer1.shapes);
	 map.AddShapeLayer(itinerariLayer2.shapes);
	 map.AddShapeLayer(itinerariLayer3.shapes);	 
	 itinerariLayer1.shapes.Show(); 
 	 itinerariLayer2.shapes.Show(); 
 	 itinerariLayer3.shapes.Show(); 
	
	
	 //Aggiunta/aggiornamento layer itinerari
	 val1 = layers.get('itinerariLayer1');
     if (val1 == undefined)
     {
      layers.put('itinerariLayer1', itinerariLayer1);
      }
     else 
     {
      layers.remove('itinerariLayer1');
      layers.put('itinerariLayer1', itinerariLayer1);
     }

	 val2 = layers.get('itinerariLayer2');
     if (val2 == undefined)
     {
      layers.put('itinerariLayer2', itinerariLayer2);
      }
     else 
     {
      layers.remove('itinerariLayer2');
      layers.put('itinerariLayer2', itinerariLayer2);
     }
     
     val3 = layers.get('itinerariLayer3');
     if (val3 == undefined)
     {
      layers.put('itinerariLayer3', itinerariLayer3);
      }
     else 
     {
      layers.remove('itinerariLayer3');
      layers.put('itinerariLayer3', itinerariLayer3);
     }
     
     controllaDimensioni();
   }
   
   function attivaItinerario(idItinerario)
   {
    removeServiceControl();
    addRouteItinerarioControlRequest(idItinerario);
   }
