function carschecker()
{
  var has_errors = true;
  var sresponse = '';

  $.ajax({
    type: "POST",
    async: false,
    url: "/suggester/carschecker",
    dataType: "json",
    data: {
      pickup_phrase: $("#pickup").val(),
      dropoff_phrase: $("#dropoff").val(),
      pckloc: $("#drploc").val(),
      drploc: $("#drploc").val(),
      lang: $("body").attr("lang")
    },
    beforeSend: function(XMLHttpRequest) {
      $('#pickup').removeClass('error');
      $('#dropoff').removeClass('error');
    },
    success: function(data) {
      if (data.message == "OK") {
        sresponse = data;
        $("#dropoff").val(data.dropoff.loc_name);
        $("#drploc").val(data.dropoff.loc_code);
        $("#pickup").val(data.pickup.loc_name);
        $("#pckloc").val(data.pickup.loc_code);
      } else {
        sresponse = data;
        $('#pickup').addClass('error');
        $('#dropoff').addClass('error');
      }
    }
  });

  return sresponse;
}

function callSuggester(lang) {
  // suggester
  
  $('#searcher_cars .suggester').suggester({
    focusOn: '#pickup_name',
    requestUrl: '/proxy.php?st=os&aid=awakacje&lang=' + lang + '&phrase=',
    suggesterFade: true,

    pickup_loc_name: 'pickup',
    pickup_loc_code: 'pckloc',

    dropoff_loc_name: 'dropoff',
    dropoff_loc_code: 'drploc',

    callbackOnEnter: function() {
        submit_search();
    }
  });
}

$(document).ready(function() {
   /**
   * CARS SEARCHFORM
   *
   */
  var lang = $("body").attr("lang");
  $('#pckloc').val('');
  $('#pickup').val('');
  $('#drploc').val('');
  $('#dropoff').val('');

  // datepicker
  $('#searcher_cars .calendar').ypscalendar({
    startInput: '#pckdate',
    endInput: '#drpdate',

    dateFormat: 'dd.mm.yy',

    minDate: +3,
    range: 1
  });

  callSuggester(lang);

  // validation
  $('#searcher_cars').submit(function() {
    var has_errors = false;
    var sresponse = '';

    if ($.trim($('#pckloc').val()) == "") {
      has_errors = true;
    }

    if ($.trim($('#drploc').val()) == "") {
      has_errors = true;
    }

    sresponse = carschecker();
    if (sresponse.message != "OK") {
      $("#choose_from_suggester").html('<strong>'+sresponse.message+'</strong>').show().delay(4000).fadeOut(400);
      has_errors = true; 
    } else {
      has_errors = false;
    }
    
    return !has_errors;
  });
});

