$(document).ready(function () {
  // jquery - rounded corners
  $('.block-bottom-wrapper-div').corner("bottom cc:#EFEFEF");

  $("#bezorgen-check").click(function () {
    if ($('#bezorgen-check').is(':checked')) {
      $("#postcode input").removeClass("postcode-inactive");
      $("#postcode-text-wrapper-div strong").removeClass("postcode-text-inactive");
      $('#postcode input').removeAttr('disabled');
    }
    else {
      $("#postcode input").addClass("postcode-inactive");
      $("#postcode-text-wrapper-div strong").addClass("postcode-text-inactive");
      $('#postcode input').attr('disabled', true);
    }
  });

  $('#bereken-submit-img').click(function () {
    bereken_prijs();
  });

  // Dialog Link
  $('#opp-uitleg-img').click(function () {
    $('#opp-uitleg-div').dialog('open');
    return false;
  });
  
  // Dialog			
  $('#opp-uitleg-div').dialog({
    autoOpen: false,
    width: 400,
    modal: true,
    show: 'fold',
    buttons: {
      "Ok": function () {
        $(this).dialog("close");
      }
    }
  });
  
  $('#compubase-div a').attr("target","_blank");

});

function bereken_prijs() {
  var weren_adres = 'Gemertseweg 15, 5427 ET, Boekel, Nederland';
  var geocoder, location1, location2, gDir;

  // Oppervlakte verplicht
  if (!$('#oppervlakte-input').val()) {
    alert('U dient eerst een oppervlakte in te vullen!');
    return;
  }

  if ($('#bezorgen-check').is(':checked')) {
    // Minimaal 15 m
    var aantal_meters = $('#oppervlakte-input').val();
    if (aantal_meters < 15) {
      alert('Als u de optie "bezorgen" kiest, dient u minimaal 15 m\u00B2 te bestellen.');
      return;
    }
    
    
    // Postcode verplicht
    var postcode = $('#postcode-input').val().replace(' ', '');
    //console.log(postcode);
    if (!postcode) {
      alert('Als u de optie "bezorgen" kiest, dient u de postcode in te vullen!');
      return;
    }
    // Check postcode formaat
    if (!check_postcode(postcode)) {
      alert('Formaat van de postcode is niet correct (9999 AA)!');
      return;
    }

    geocoder = new GClientGeocoder();
    geocoder.setBaseCountryCode('NL');
    gDir = new GDirections();
    gDir.locale = 'nl';
    GEvent.addListener(gDir, "load", function () {
      var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
      var drivingTijd = gDir.getDuration().seconds / 3600;
      $('#results-div').addClass('result');
      $('#results-div').load('/bereken_prijs.php?p_opp=' + $('#oppervlakte-input').val() + '&p_reist=' + drivingTijd);
      
    });

    geocoder.getLocations(weren_adres, function (response) {
      if (!response || response.Status.code != 200) {
        alert("Sorry, we waren niet in staat om het adres van Weren Graszoden te geocoderen.");
      }
      else {
        location1 = {
          lat: response.Placemark[0].Point.coordinates[1],
          lon: response.Placemark[0].Point.coordinates[0],
          address: response.Placemark[0].address
        };

        postcode = postcode + ', Nederland';
        geocoder.getLocations(postcode, function (response2) {
          //console.log(response2);
          if (!response2 || response2.Status.code != 200) {
            alert("Sorry, wij hebben uw postcode niet kunnen achterhalen. Controleer uw postcode en probeer het nogmaals.");
          }
          else {
            location2 = {
              lat: response2.Placemark[0].Point.coordinates[1],
              lon: response2.Placemark[0].Point.coordinates[0],
              address: response2.Placemark[0].address
            };
            gDir.load('from: ' + location1.address + ' to: ' + location2.address);
          }
        });
      }
    });
  }
  else {
    $('#results-div').addClass('result');
    $('#results-div').load('/bereken_prijs.php?p_opp=' + $('#oppervlakte-input').val());
  }
}

function check_postcode(postcode) {
  var filter_po = /^[1-9]{1}[0-9]{3}[ ]?[a-z]{2}/i;
  return filter_po.exec(postcode);
}