var map; var gdir; var geocoder = null; var addressMarker; function createAddress(pAdd, pCity, dAdd, dCity) { var fromAddress = new String(); var toAddress = new String(); var localeName = new String(); fromAddress = pAdd.value+", "+pCity.value+", AZ"; toAddress = dAdd.value+", "+dCity.value+", AZ"; document.getElementById("directions").innerHTML="";//clear current directions if any document.getElementById("disclaimer").innerHTML="

Estimates are for general information only as a courtesy of TucsonCab.com and do not constitute a contract for service. Your fare is between you and your driver.

Drivers! Want calls like this dispatched right to your cell phone? Visit TucsonCab.com and sign up as an affiliate driver.";//clear disclaimer for display setDirections(fromAddress, toAddress); } function setDirections(fromAddress, toAddress, locale) { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); gdir = new GDirections(map, document.getElementById("directions")); GEvent.addListener(gdir, "load", onGDirectionsLoad); GEvent.addListener(gdir, "error", handleErrors); } gdir.load("from: " + fromAddress + " to: " + toAddress); } function handleErrors(){ if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) alert("We are unable to find an address. Please be sure to include the correct abbreviation for street (st), road (rd), avenue (ave), etc." + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) alert("An unknown error occured. Please refresh the page and try again.\n Error code: " + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) alert("It seems you left a part of the pickup or destination address fields blank. Please try again.\n Error code: " + gdir.getStatus().code); // else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS) // alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_BAD_KEY) alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code); else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code); else alert("An unknown error occurred."); } function onGDirectionsLoad(){ // Use this function to access information about the latest load() // results. var totalFare; var tripDistance; var resultHTML; var tripMiles; tripDistance = gdir.getDistance(); tripMiles = tripDistance.html; tripMiles = tripMiles.substring(0,tripMiles.length - 8); resultHTML = tripMiles; tripMiles = parseFloat(tripMiles); resultHTML = resultHTML + " miles total distance
"; totalFare = Math.round((2.50+(2*tripMiles)+(2*tripMiles/5))); resultHTML = resultHTML + "$"+totalFare+" total fare including tip.
"; document.getElementById("estimate").innerHTML = resultHTML; // e.g. // document.getElementById("getStatus").innerHTML = gdir.getStatus().code; // and yada yada yada... } function pPop(){ document.dirForm.pAdd.value=document.dirForm.pPopular.options[document.dirForm.pPopular.selectedIndex].value; } function dPop(){ document.dirForm.dAdd.value=document.dirForm.dPopular.options[document.dirForm.dPopular.selectedIndex].value; }