


var geo;var reasons=[];var msgNameGlobal=msgNameGlobal;var specialLatLon=[];specialLatLon.push([51.5226542637838,-0.102823619124874]);specialLatLon.push([37.7734014176373,-122.42743022017]);specialLatLon.push([34.0551945389759,-118.254142520925]);specialLatLon.push([25.8028670645798,-80.2021119440648]);specialLatLon.push([41.9024666844365,-87.6343955676535]);specialLatLon.push([40.7215082045066,-73.9984044603727]);specialLatLon.push([41.8954059963049,12.4953488185386]);specialLatLon.push([48.8744470612331,2.35108382358482]);specialLatLon.push([45.4769984409893,9.18450586963745]);specialLatLon.push([45.4371405869943,12.3304585782233]);specialLatLon.push([35.6765567038185,139.771668505929]);geo=new GClientGeocoder();reasons[G_GEO_SUCCESS]="Success";reasons[G_GEO_MISSING_ADDRESS]="Missing Address: The address was either missing or had no value.";reasons[G_GEO_UNKNOWN_ADDRESS]="Unknown Address:  No corresponding geographic location could be found for the specified address.";reasons[G_GEO_UNAVAILABLE_ADDRESS]="Unavailable Address:  The geocode for the given address cannot be returned due to legal or contractual reasons.";reasons[G_GEO_BAD_KEY]="Bad Key: The API key is either invalid or does not match the domain for which it was given";reasons[G_GEO_TOO_MANY_QUERIES]="Too Many Queries: The daily geocoding quota for this site has been exceeded.";reasons[G_GEO_SERVER_ERROR]="Server error: The geocoding request could not be successfully processed.";var standards=[["road","rd"],["street","st"],["avenue","ave"],["av","ave"],["drive","dr"],["saint","st"],["north","n"],["south","s"],["east","e"],["west","w"],["expressway","expy"],["parkway","pkwy"],["terrace","ter"],["turnpike","tpke"],["highway","hwy"],["lane","ln"]];function standardize(a){for(var i=0;i<standards.length;i++){if(a==standards[i][0]){a=standards[i][1];}}return a;};function different(a,b){var c=b.split(",");b=c[0];a=a.toLowerCase();b=b.toLowerCase();a=a.replace(/'/g,"");b=b.replace(/'/g,"");a=a.replace(/\W/g," ");b=b.replace(/\W/g," ");a=a.replace(/\s+/g," ");b=b.replace(/\s+/g," ");awords=a.split(" ");cH=b.split(" ");var reply=false;for(var i=0;i<cH.length;i++){if(standardize(awords[i])!=standardize(cH[i])){reply=true}}return(reply);};function place(lat,lng){var zoom=13;var a=0;var amax=specialLatLon.length;var cityMinLat=0;var cityMaxLat=0;var cityMinLon=0;var cityMaxLon=0;for(a=0;a<amax;a++){cityMinLat=specialLatLon[a][0]-.5;cityMaxLat=specialLatLon[a][0]+.5;cityMinLon=specialLatLon[a][1]-.5;cityMaxLon=specialLatLon[a][1]+.5;if(lat>cityMinLat&&lat<cityMaxLat&&lng>cityMinLon&&lng<cityMaxLon){zoom=15;}}var point=new GLatLng(lat,lng);map.setCenter(point,zoom);map.addOverlay(new GMarker(point));document.getElementById(msgNameGlobal).innerHTML="";};function showAddress(cL,msgName){msgNameGlobal=msgName;var search=document.getElementById(cL).value;geo.getLocations(search,function(result){if(result.Status.code==G_GEO_SUCCESS){if(result.Placemark.length>1){document.getElementById(msgNameGlobal).innerHTML="Did you mean:";for(var i=0;i<result.Placemark.length;i++){var p=result.Placemark[i].Point.coordinates;document.getElementById(msgNameGlobal).innerHTML+="<br>"+(i+1)+": <a "+'class="messageExternal" style="color: blue"'+"href='javascript:place("+p[1]+","+p[0]+")'>"+result.Placemark[i].address+"</a>";}}else{document.getElementById(msgNameGlobal).innerHTML="";if(different(search,result.Placemark[0].address)){document.getElementById(msgNameGlobal).innerHTML="Did you mean: ";var p=result.Placemark[0].Point.coordinates;document.getElementById(msgNameGlobal).innerHTML+="<a "+'class="messageExternal" style="color: blue"'+"href='javascript:place("+p[1]+","+p[0]+")'>"+result.Placemark[0].address+"</a>";}else{var p=result.Placemark[0].Point.coordinates;place(p[1],p[0]);document.getElementById(msgNameGlobal).innerHTML="Located: "+result.Placemark[0].address;}}}else{var reason="Code "+result.Status.code;if(reasons[result.Status.code]){reason=reasons[result.Status.code]}alert('Could not find "'+search+'" '+reason);}});}