$(document).ready(function(){
  
  $('.fp_swap_button').click(function(){
    var id = $(this).attr('id');
    $('#fp_swap_flight,#fp_swap_car,#fp_swap_hotel').addClass('hidden');
    $('#' + id.replace('_button','')).removeClass('hidden');
  });
  
  $(".datetime").datepicker({
    duration: '',
    showTime: true,
    constrainInput: true,
    yearRange: '2010:2020'
  });
  
  $(".date").datepicker({
    duration: '',
    showTime: false,
    constrainInput: true,
    yearRange: '2010:2020',
    dateFormat: 'dd/mm/yy'
  });
  
  $('#departure_date').live('change',function(){
    date_part = $(this).val().split('/');
    var day = date_part[0];
    var month = date_part[1];
    var year = date_part[2];
    var date_compare = new Date(year,month-1,day);
    var date_today = new Date();
    if(date_compare > date_today){
      //this is allowed
    }
    else{
      $.fn.colorbox({html:"The date has to be larger than today's date"});
      $(this).val('');
      setTimeout('$.fn.colorbox.close();',3000);
    }
  });
  
  $('#dateField1').change(function(){
    date_part = $(this).val().split('/');
    var day = date_part[0];
    var month = date_part[1];
    var year = date_part[2];
    var date_compare = new Date(year,month-1,day);
    
    date_part = $('#departure_date').val().split('/');
    var day = date_part[0];
    var month = date_part[1];
    var year = date_part[2];
    var date_today = new Date(year,month-1,day);
    
    if(date_compare > date_today){
      //this is allowed
    }
    else{
      $.fn.colorbox({html:"The return date has to be larger than the departure date"});
      $(this).val('');
      setTimeout('$.fn.colorbox.close();',3000);
    }
  });
  
  $('.find_place').keyup(function(){
    if($(this).val().length > 2){
      var elem = $(this);
      //find data that matches
      $.ajax({
        type:'post',
        url:'includes/ajax/find_places.php',
        data:'search=' + $(this).val(),
        success:function(returnText){
          //alert(returnText);
          if(elem.attr('id') == 'External_FlightFareSearch_From'){
            $('#place_results_from').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_FlightFareSearch_To'){
            $('#place_results_to').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_CarSearch_PickUpLocation'){
            $('#car_results_pickup').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_CarSearch_DropOffLocation'){
            $('#car_results_dropoff').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_HotelSearch_City'){
            $('#hotel_results_city').html(returnText).removeClass('hidden');
          }
        },
        error:function(error){
          alert('error:' + error);
        }
      });
      //show the new box
    }
    else{
      $('#place_results_from').addClass('hidden');
      $('#place_results_to').addClass('hidden');
      $('#car_results_pickup').addClass('hidden');
      $('#car_results_dropoff').addClass('hidden');
      $('#hotel_results_city').addClass('hidden');
    }
  });
  
  $('.select_place').live('click',function(){
    if($(this).parent('span').attr('id') == 'place_results_from'){
      $('#External_FlightFareSearch_From').val($(this).attr('id'));
    }
    else if($(this).parent('span').attr('id') == 'place_results_to'){
      $('#External_FlightFareSearch_To').val($(this).attr('id'));
    }
    else if($(this).parent('span').attr('id') == 'car_results_pickup'){
      $('#External_CarSearch_PickUpLocation').val($(this).attr('id'));
    }
    else if($(this).parent('span').attr('id') == 'car_results_dropoff'){
      $('#External_CarSearch_DropOffLocation').val($(this).attr('id'));
    }
    else if($(this).parent('span').attr('id') == 'hotel_results_city'){
      $('#External_HotelSearch_City').val($(this).attr('id'));
    }
    $('#place_results_from').addClass('hidden');
    $('#place_results_to').addClass('hidden');
    $('#car_results_pickup').addClass('hidden');
    $('#car_results_dropoff').addClass('hidden');
    $('#hotel_results_city').addClass('hidden');
  });
  
  $('.find_airport').keyup(function(){
    if($(this).val().length > 2){
      var elem = $(this);
      //find data that matches
      $.ajax({
        type:'post',
        url:'/amadeus/includes/ajax/find_airports.php',
        data:'search=' + $(this).val(),
        success:function(returnText){
          if(elem.attr('id') == 'External_FlightFareSearch_From'){
            $('#place_results_from').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_FlightFareSearch_To'){
            $('#place_results_to').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_CarSearch_PickUpLocation'){
            $('#car_results_pickup').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_CarSearch_DropOffLocation'){
            $('#car_results_dropoff').html(returnText).removeClass('hidden');
          }
          else if(elem.attr('id') == 'External_HotelSearch_City'){
            $('#hotel_results_city').html(returnText).removeClass('hidden');
          }
        }
      });
      //show the new box
    }
    else{
      $('#place_results_from').addClass('hidden');
      $('#place_results_to').addClass('hidden');
      $('#car_results_pickup').addClass('hidden');
      $('#car_results_dropoff').addClass('hidden');
      $('#hotel_results_city').addClass('hidden');
    }
  });
  
});
