
var delay=100;var counterror=0;var paese;var indirizzocompleto;var longitudine;var latitudine;if(GBrowserIsCompatible()){var geo=new GClientGeocoder();var reasons=[];reasons[G_GEO_SUCCESS]="Ok";reasons[G_GEO_MISSING_ADDRESS]="Indirizzo non valorizzato";reasons[G_GEO_UNKNOWN_ADDRESS]="Indirizzo sconosciuto";reasons[G_GEO_UNAVAILABLE_ADDRESS]="Indirizzo non disponibile";reasons[G_GEO_BAD_KEY]="Chiave API non valida";reasons[G_GEO_TOO_MANY_QUERIES]="Numero di richieste superato";reasons[G_GEO_SERVER_ERROR]="La richiesta non pu&ograve; essere inoltrata";reasons[403]="Errore 403";function getAddress(search,next){geo.getLocations(search,function(result)
{if(result.Status.code==G_GEO_SUCCESS){var opzioni='';if(result.Placemark.length>1){for(var pi=0;pi<result.Placemark.length;pi++){if(result.Placemark[pi].AddressDetails.Country.AddressLine){var indirizzo=result.Placemark[pi].AddressDetails.Country.AddressLine;}
else{var indirizzo=result.Placemark[pi].address;}
opzioni+=indirizzo;if(pi<result.Placemark.length-1)opzioni=opzioni+'#';};next("op|"+opzioni);return;}
else{var p=result.Placemark[0].Point.coordinates;var lat=p[1];var lng=p[0];var accuracy=result.Placemark[0].AddressDetails.Accuracy;if(result.Placemark[0].AddressDetails.Country.AddressLine){var indirizzo=result.Placemark[0].AddressDetails.Country.AddressLine;}
else if(accuracy==1){var indirizzo="";}
else{var indirizzo=result.Placemark[0].address;}
var paese=result.Placemark[0].AddressDetails.Country.CountryNameCode;next("ok|"+indirizzo+"|"+paese+"|"+lat+"|"+lng+"|"+accuracy);}}
else{if(result.Status.code==G_GEO_TOO_MANY_QUERIES){delay++;}else{counterror+=1;var reason="Code "+result.Status.code;if(reasons[result.Status.code]){reason=reasons[result.Status.code]}
if(reason==""&&result.Placemark[0].AddressDetails.Country.AdministrativeArea==null)
reason=reasons[G_GEO_UNKNOWN_ADDRESS]
next("ko|"+reason);}}});}
function GeoReferenzia(indirizzo,fn_risposta){ResetVariabiliGlobali();if(indirizzo!=""){getAddress(indirizzo,fn_risposta);}}}
else{alert("Attenzione, le Google Maps API non sono compatibili con questo browser");}
function ResetVariabiliGlobali()
{counterror=0;paese="";indirizzocompleto="";longitudine="";latitudine="";}