﻿  var popuplat;
  var popuplon;
  var startpt = null;
  var endpt = null;

  function ShowPopupMenu(e)
  {
    popuplat = e.view.LatLong.Latitude;
    popuplon = e.view.LatLong.Longitude;
    var latlong = map.LatLongToPixel(new VELatLong(popuplat,popuplon));

    var x = map.GetLeft();
    var y = map.GetTop();

    var menu = document.getElementById('popupmenu');
    menu.style.display='block'; //Showing the menu
    menu.style.left = latlong.x + x; //Positioning the menu
    menu.style.top = latlong.y + y;
  }

  function RemovePopupMenu()
  {
    var menu = document.getElementById('popupmenu').style.display='none';
  }

  function SetStart()
  {
    try {
    map.DeletePushpin('start');
    } catch(err) {}

    startpt = new VELatLong(popuplat, popuplon);
    var pin = new VEPushpin('start', startpt, null, 'Start Here', 'Starting point');
    map.AddPushpin(pin);

    RemovePopupMenu();
  }

  function SetEnd()
  {
    try {
    map.DeletePushpin('end');
    } catch(err) {}

    endpt = new VELatLong(popuplat, popuplon);
    var pin = new VEPushpin('end', endpt, null, 'End Here', 'End point');
    map.AddPushpin(pin);

    RemovePopupMenu();
  }

  function GetDirections()
  {
    
    try {
        map.GetRoute(startpt, endpt, VEDistanceUnit.Kilometers, VERouteType.Quickest, OnGotRoute);
    } catch(err) {}
    

    RemovePopupMenu();
  }

  function OnGotRoute(route)
  {
    var routeinfo="Route info:\n\n";
    routeinfo+="Total distance: ";
    routeinfo+=   route.Itinerary.Distance+" ";
    routeinfo+=   route.Itinerary.DistanceUnit+"\n";
    var steps="";
    var len = route.Itinerary.Segments.length;
    for(var i = 0; i < len ;i++)
    {
      steps+=route.Itinerary.Segments[i].Instruction+" -- (";
      steps+=route.Itinerary.Segments[i].Distance+") ";
      steps+=route.Itinerary.DistanceUnit+"\n";
    }
    routeinfo+="Steps:\n"+steps;
    alert(routeinfo);
  }
  
 function deleteRoute()
 {
    try {
    map.DeletePushpin('start');
    } catch(err) {}

    try {
    map.DeletePushpin('end');
    } catch(err) {}
 
    try
    {
        map.DeleteRoute();
    }
    catch (err)
    {}
    
    RemovePopupMenu();
    
 }

