	var map;    var gdir;    var geocoder = null;    var addressMarker;        function initilize() {      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);            //setDirections("San Francisco", "Mountain View", "en_US");      }    }        function setDirections(fromAddress, toAddress, locale) {      gdir.load("from: " + fromAddress + " to: " + toAddress,                { "locale": locale });    }        function handleErrors(){     if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)       alert("Please enter a valid shipping zip code.\nError code: " + gdir.getStatus().code);     else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)       alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);          else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)       alert("Please enter a zip code.\n Error code: " + gdir.getStatus().code);        //   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong    //     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 totalmeters = gdir.getDistance().meters;var milestometers = 1609.344;var totalmiles = totalmeters / milestometers;var ajaxRequest;  // The variable that makes Ajax possible!		try{		// Opera 8.0+, Firefox, Safari		ajaxRequest = new XMLHttpRequest();	} catch (e){		// Internet Explorer Browsers		try{			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");		} catch (e) {			try{				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");			} catch (e){				// Something went wrong				alert("Your browser broke!");				return false;			}		}	}	// Create a function that will receive data sent from the server	ajaxRequest.onreadystatechange = function(){		if(ajaxRequest.readyState == 4){			var ajaxDisplay = document.getElementById('shippingtotaldiv');			ajaxDisplay.innerHTML = ajaxRequest.responseText;		carttotal();		}	}			var queryString = "?miles=" + totalmiles;	ajaxRequest.open("GET", "scripts/calcshipping.php" + queryString, true);	ajaxRequest.send(null);     }	function calcshipping() {				var orginaddress = "887 Brittany Rd, Encinitas, CA 92024";			var testaddress = "92021";	var destination = document.getElementById('destzipcode').value;		setDirections(orginaddress, destination, "en_US");	}