function ShowTurns(route){

	var turns = "<h3>Turn-by-Turn Directions</h3>(rounding errors are possible)";
    turns += "<p><b>Distance:</b> " + route.Distance.toFixed(1) + " miles";
    turns += "<br/><b>Time:</b> " + GetTime(route.Time) + "</p>";

    // Unroll route and populate DIV
    var legs          = route.RouteLegs;
    var leg           = null;
    var turnNum       = 0;  // The turn #

	// Get intermediate legs
    for(var i = 0; i < legs.length; i++){
    // Get this leg so we don't have to derefernce multiple times
	    leg = legs[i];  // Leg is a VERouteLeg object

        var legNum = i + 1;
        turns += "<br/><b>Distance for leg " + legNum + ":</b> " + leg.Distance.toFixed(1) + " miles" +
                 "<br/><b>Time for leg "     + legNum + ":</b> " + GetTime(leg.Time) + "<br/><br/>";

    // Unroll each intermediate leg
    	var turn        = null;  // The itinerary leg
        var legDistance = null;  // The distance for this leg
         turns += "<ol>";
        for(var j = 0; j < leg.Itinerary.Items.length; j ++){
			turnNum++;
            turn = leg.Itinerary.Items[j];  // turn is a VERouteItineraryItem object
            turns += "<li>" + turnNum + " : " + turn.Text;
            legDistance    = turn.Distance;

			// So we don't show 0.0 for the arrival
            if(legDistance > 0){
				// Round distances to 1/10ths
                turns += " (" + legDistance.toFixed(1) + " miles";

                // Append time if found
                if(turn.Time != null)
	                turns += "; " + GetTime(turn.Time);

    	        turns += ")</li>";
             }
        }
		

        turns += "</ol>";
    }
turns+="";
    // Populate DIV with directions
    SetDirections(turns);
	getElement('directionsButton').disabled = false;
	getElement('directionsButton').value = 'Go';
}

function SetDirections(s){
	var d = document.getElementById("directionsDiv");
    d.innerHTML = s;
}

// time is an integer representing seconds
// returns a formatted string
function GetTime(time){

	if(time == null)
	    return("");

    if(time > 60){
	// if time == 100
		var seconds = time % 60;       // seconds == 40
        var minutes = time - seconds;  // minutes == 60
        minutes = minutes / 60;    // minutes == 1


        if(minutes > 60){
		// if minutes == 100
        	var minLeft = minutes % 60;        // minLeft    == 40
            var hours   = minutes - minLeft;   // hours      == 60
            hours       = hours / 60;          // hours      == 1

	        return(hours + " hour(s), " + minLeft + " minute(s), " + seconds + " second(s)");
         }else
	         return(minutes + " minutes, " + seconds + " seconds");
    }else
		return(time + " seconds");
}


var llCenter = new VELatLong(35.61645362742137,-97.48922109603882);
	var map = null;
	function GetMap(){
		map = new VEMap('myMap');
		map.LoadMap();
		var latLon = llCenter;
		var shape = new VEShape(
                  VEShapeType.Pushpin, // the type of shape
                  [latLon] // a VELatLong object
                 );
		shape.SetTitle("<div class=\'pinTitle\'>Natural Stone Design</div>");
		shape.SetDescription("<div class=\'pinDetails\'>3900 South Broadway, Suite 4W<br/>Edmond, Oklahoma 73013<br/>Phone: (405) 216-8400 <br/> Fax: (405) 216-8706</div>");

		map.AddShape(shape);
		map.SetCenterAndZoom(llCenter,14);
	}

	function getDirections(){
			getElement('directionsButton').disabled = true;
			getElement('directionsButton').value = 'Building directions...';
			var address = getElement('address');

			if(address.value != ''){
				var locations = new Array(address.value,llCenter);
				var options = new VERouteOptions;
				options.DrawRoute = true;
				options.DistanceUnit   = VERouteDistanceUnit.Mile;
				options.ShowDisambiguation = true;
				options.RouteCallback  = ShowTurns;
				map.GetDirections(locations, options);
			}else{
				alert("Please enter your full address for directions");
				getElement('directionsButton').disabled = false;
				getElement('directionsButton').value = 'Go';
			}
		}
