
// JavaScript Document

$(document).ready(function(){

  // Functie die de vertrek-tekstvelden invulden na een selectie uit de pulldown
  $("select[name=vertrek_vestiging]").change(function(){

    id = $(this).val();

    $("form[name=addressform] input[name=street2]").val(adres[id]);
    $("form[name=addressform] input[name=city2]").val(plaats[id]);
    $("form[name=addressform] input[name=postcode2]").val(postcode[id]);
    $("form[name=addressform] select[name=country2] option[value="+land[id]+"]").attr("selected", true);

  });
	 

	$("div#map_samenvatting div.formBlk input").livequery('change',function(){
    
    nieuweLocatie = $(this).val();
    type = $(this).attr('name');
    
    if(type == 'bestemming'){
      
      calcRoute(aankomst, nieuweLocatie);
      
    } else if(type == 'vertrek'){
    
      calcRoute(nieuweLocatie, bestemming);
    }

	});
	
	
	
});



  function initialize() {
  
    directionsDisplay = new google.maps.DirectionsRenderer();
//    directionsDisplayDetail = new google.maps.DirectionsRenderer();

    var chicago = new google.maps.LatLng(41.850033, -87.6500523);
    
    var myOptions = {
      zoom:7,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: chicago
    }
    
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("directionsPanel"));

//    map2 = new google.maps.Map(document.getElementById("map_canvas_detail"), myOptions);
//    directionsDisplayDetail.setMap(map2);
    

  }

  // Functie voor het controleren of er alternatieven worden geboden voor het ingevulde adres
  // 
  // Aanroep:
  // checkAddress('Wulverhorst, 3417 Montfoort, The Netherlands', 'Weg der Verenigde Naties, IJsselstein, The Netherlands');
  //  
  function checkAddress(addressFrom, addressTo) {

    var geocoder = new google.maps.Geocoder();
    
    if (geocoder) {

      geocoder.geocode( { 'address': addressFrom}, function(resultsFrom, status) {
        checkMultiLocations(resultsFrom, 'vertrek');
      });

      geocoder.geocode( { 'address': addressTo}, function(resultsTo, status) {
        checkMultiLocations(resultsTo, 'bestemming');
      });
    }
  }
  
  function calcRoute(start, end) {
    
    var request = {
        origin:start, 
        destination:end,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    
    directionsService.route(request, function(response, status) {

       afstand = response.routes[0].legs[0].distance['text'];
       minuten = response.routes[0].legs[0].duration['value'] / 60;
       vertrekadres = response.routes[0].legs[0].start_address;
       bestemmingsadres = response.routes[0].legs[0].end_address;

       html = 
        '<h2>'+ language.summary +'</h2><br>' +
        '<table class="routeSamenvatting" width="100%" border="0" cellspacing="0">' +
          '<tbody>' +
            '<tr>' +
              '<th>'+ language.departure +':</th>' +
              '<td>' + vertrekadres + '</td>' +
            '</tr>' +
            '<tr class="odd">' +
              '<th>'+ language.destination +':</th>' +
              '<td>' + bestemmingsadres + '</td>' +
            '</tr>' +
            '<tr>' +
              '<th>Time:</th>' +
              '<td>' + Math.round(minuten) + ' '+ language.minutes +
            '</tr>' +
            '<tr class="odd">' +
              '<th>'+ language.distance +':</th>' +
              '<td>' + afstand + '</td>' +
            '</tr>' +
          '</tbody>' +
        '</table>' +
        '<div class="nofloat"></div>';
       
       $("#map_samenvatting").html(html);

      checkAddress(start, end);

      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);

/*        directionsDisplayDetail.setDirections(response);
        map2.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
*/
        

      }
    });
  }  
  
  
  
  function checkMultiLocations(result, aankomstOfBestemming){
    
    html = "";
    
    if(result.length > 1){
      
      html = '<div class="formBlk">' + '<h3><span>'+ language.check +' '+aankomstOfBestemming+'</span></h3>';

      for(i=0; i < result.length; i++){

        chkSelect = (i == 0)  ? ' checked="checked"' : '';

        html += 
        '<label><input type="radio" name="'+aankomstOfBestemming+'" value="'+result[i]['formatted_address']+'"' + chkSelect + '> ' + result[i]['formatted_address'] + '</label>' +
        '<span class="separator"></span>';
      
      }
      
      html += '</div>';

    } else {
    
      html += '<input type="hidden" name="'+aankomstOfBestemming+'" value="'+result[0]['formatted_address']+'">';
      
    }
    
    $("#map_samenvatting").prepend(html);

  }



