var directionDisplay;
	var directionsService = new google.maps.DirectionsService();
	var image = 'img/park.png';
	var map;
	
	
	 //pulls variables from querystring, i cant figure it out with pure javascript.
      function getQueryVariable(variable) {
	      var query = window.location.search.substring(1);
		      var vars = query.split("&");
		      for (var i=0;i<vars.length;i++) {
		      var pair = vars[i].split("=");
		      if (pair[0] == variable) {
		         var retVal = pair[1]
		      	 var retVal = retVal.replace("+", " ");
		      	 var retVal = retVal.replace("+", " ");
		      	 var retVal = retVal.replace("+", " ");
		      	 var retVal = retVal.replace("+", " ");
		      	 var retVal = retVal.replace("+", " ");
		      	 var retVal = retVal.replace("+", " ");
		      	 var retVal = retVal.replace("%2C", ".");
		      	 var retVal = retVal.replace("%2C", ".");
				 var retVal = retVal.replace("%2C", ".");
		     	 return retVal;
		      }
	      }
      }
	//stole this functionality from here:  http://www.movable-type.co.uk/scripts/latlong.html
	function calcRadius(lat1, lon1, lat2, lon2) {
			//var R = 6371; // km  //mean radius of earth in km
			var R = 3956; // miles  //mean radius of earth in miles
			lat1 = parseFloat(lat1);
			lon1 = parseFloat(lon1);
			lat2 = parseFloat(lat2);
			lon2 = parseFloat(lon2);
			var dLat = (lat2-lat1).toRad();
			var dLon = (lon2-lon1).toRad(); 
			var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
			        Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * 
			        Math.sin(dLon/2) * Math.sin(dLon/2); 
			var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
			var d = R * c;
			return d;
		}

	function initialize(page) {
		geocoder = new google.maps.Geocoder();
		directionsDisplay = new google.maps.DirectionsRenderer();
		var mapCenter = new google.maps.LatLng(37.422341, -122.085018);
		var myOptions = {
			zoom:7,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			center: mapCenter
		}
		map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
		directionsDisplay.setMap(map);
		directionsDisplay.setPanel(document.getElementById("directionsPanel"));
		calcRoute();

	    var address = getQueryVariable('end');
	    if (geocoder) {
	      geocoder.geocode( { 'address': address}, function(results, status) {
	        if (status == google.maps.GeocoderStatus.OK) {
	          map.setCenter(results[0].geometry.location);
	          if (page = 'iphone') {
	          	map.setZoom(15);
      		  }
	          var marker = new google.maps.Marker({
	              map: map, 
	              position: results[0].geometry.location
	          });
	          
	          //gets the lat/long of the endpoint's address so the distance between points can be calculated.
	          var endCoords = results[0].geometry.location + "";
			  var comma = endCoords.indexOf(',');
			  var endLat = endCoords.substring(1, comma - 1);
			  var endLon = endCoords.substring(comma+2, endCoords.indexOf(')'));
			  
			  //loops through all points and plots them within radius (calcRadius)
			  for (var i = 0; i < points.length; i++) {
				  var point1 = points[i][1];
				  var point2 = points[i][2];
				  var distance = parseFloat(calcRadius(point1, point2, endLat, endLon));
				  if (distance < parseFloat(getQueryVariable('radius'))) {
				  //if (distance < parseFloat(.4)) {
				  	var myLatlng = new google.maps.LatLng(point1, point2); 
				  	var marker = new google.maps.Marker({position: myLatlng, map: map, icon: image}); 
			  	}
				}			  
	        } else {
	          alert("Geocode was not successful for the following reason: " + status);
	        }
	      });
	    }
	    document.getElementById('start').value = getQueryVariable('start');
	    document.getElementById('end').value = getQueryVariable('end');
	    document.getElementById('radius').value = getQueryVariable('radius');
	}
  
  function calcRoute() {
    var start = getQueryVariable('start');
    var end = getQueryVariable('end');
    //var end = '45 fremont, san francisco';
    var request = {
        origin:start, 
        destination:end,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(request, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
      }
    });
  }