﻿
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var markerDemo;
var infowindow = null;

var map, map2, map3;

  function initialize() {
    directionsDisplay = new google.maps.DirectionsRenderer();
    directionsDisplay2 = new google.maps.DirectionsRenderer();
    directionsDisplay3 = new google.maps.DirectionsRenderer({preserveViewport: true});
    
    var latlng = new google.maps.LatLng(48.00198, 37.815);
    var myOptions = {
      zoom: 14,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    map2 = new google.maps.Map(document.getElementById("map_2"), myOptions);
    map3 = new google.maps.Map(document.getElementById("map_3"), myOptions);
    

    directionsDisplay.setMap(map);
    directionsDisplay2.setMap(map2);
    directionsDisplay3.setMap(map3);
    CalcDropRoute(directionsService, directionsDisplay, "ул. Артема, 145а, Донецк, Украина", "8, ул. Ходаковского, Донецк, Украина", "distance",[
    {
      location: "ул. Р. Люксембург, 2б, Донецк, Украина", 
      stopover:true
    }
    ]
    );

    var markerA = new google.maps.Marker({
      position: new google.maps.LatLng(47.9896, 37.8341),
      draggable: true, 
      map: map3, 
      title:"Начало маршрута"
    });
    var markerB = new google.maps.Marker({
      position: new google.maps.LatLng(48.010, 37.796),
      draggable: true, 
      map: map3, 
      title:"Конец маршрута"
    });

    markerDemo = new google.maps.Marker({
      position: new google.maps.LatLng(48.002, 37.8161),
      map: map, 
      title:"Мост через Кальмиус"
    });
    infowindow = new google.maps.InfoWindow({
        maxWidth: 300,
        content: "<div class=bigleftfield><a href=/travels/shuttle-launch-1.aspx><img src=/travels/img/florida/shuttle-launch/thumb/endeavour-launch.jpg class=imageLeft width=100 height=100></a><h2>Всплывающее окно</h2>Поскольку у меня нет картинки моста в Донецке, то шутки ради я вставил фотку из нашего путешествия <a href=/travels/shuttle-launch-1.aspx>на запуск шаттла Endeavour</a> <img src=/img/smileys/icon_wink.gif></div>"
    });
    
    google.maps.event.addListener(markerDemo, 'click', function() {
        infowindow.open(map,this);
        //console.info("" + this.getPosition().lat() + ", " + this.getPosition().lng());        
    });    
        
    google.maps.event.addListener(markerA, 'drag', function() {
        //console.info("" + this.getPosition().lat() + ", " + this.getPosition().lng());
        CalcDropRoute(directionsService, directionsDisplay3, markerA.getPosition(), markerB.getPosition(), "distanceDrop");
        markerA.setZIndex(1000);
        markerB.setZIndex(1000);
        
    });
     google.maps.event.addListener(markerB, 'dragend', function() {
        //console.info("" + this.getPosition().lat() + ", " + this.getPosition().lng());
        CalcDropRoute(directionsService, directionsDisplay3, markerA.getPosition(), markerB.getPosition(), "distanceDrop");
    });   

    CalcDropRoute(directionsService, directionsDisplay3, markerA.getPosition(), markerB.getPosition(), "distanceDrop");
    infowindow.open(map,markerDemo);
  }
  
function CalcDropRoute(dirSvc, dirDisplay, start, end, distanceID, waypoints) {
  if (infowindow != null) infowindow.close();
  var request = {
    origin:start, 
    destination:end,
    travelMode: google.maps.DirectionsTravelMode.DRIVING,
    waypoints: waypoints
  };
  dirSvc.route(request, function(result, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      dirDisplay.setDirections(result);
      
      var route = result.routes[0];
      var distance = 0;
      for (var i = 0; i < route.legs.length; i++) {
        distance += route.legs[i].distance.value;
      }
      var distance_str = "" + distance/1000 + " км";

      markerDemo.setVisible(distance/1000 < 10);
      document.getElementById(distanceID).innerHTML = distance_str;
    } else {
        alert("Невозможно построить маршрут: \n" + status);
    }
  });

}

function GetSelectedValue(name) {
    var vect = document.getElementsByName(name);
    for (var i = 0; i < vect.length; i++) {
        if (vect[i].checked) {
            return vect[i].value;
        }
    }
    return "";
}
function CalcDynamicRoute() {
    var startAddr = GetSelectedValue("startRte");
    var transitAddr = GetSelectedValue("transitRte");
    var endAddr = GetSelectedValue("endRte");
    
    var waypoints;
    if (transitAddr != "") {
        waypoints = [
    {
      location: transitAddr, 
      stopover:true
    }
    ];
    }
    CalcDropRoute(directionsService, directionsDisplay, startAddr, endAddr, "distance",waypoints);
}

function Maximize()
{
    var el = document.getElementById("map_canvas");
    el.style.position = "absolute";
    el.style.width="100%";
    el.style.height="100%";
        var latlng = new google.maps.LatLng(48.00198, 37.815);
    var myOptions = {
      zoom: 14,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map.setOptions(myOptions);
}

