$(document).ready(function(){


  $("select#id_qsearch-t_country").change(function(){
    if ( $(this).val() ) {
        var ac = $("#id_custom_city")[0].autocompleter;
        ac.setExtraParams( { country: $("select#id_qsearch-t_country").val() } );
        ac.flushCache();
        $("#id_custom_city").val('');
        $('#custom_city_block').hide();

        $("select#id_qsearch-t_region").html('<option value="" selected="selected">...loading</option>');
        $("select#id_qsearch-t_city").html('<option value="" selected="selected">...loading</option>');
        $.getJSON("/catalog/tqs_ajax_both/",{id: $(this).val(), ajax: 'true' , lang: lang}, function(j){
          var options = '<option value="" selected="selected">---------</option>';
          for (var i = 0; i < j[0].length; i++) {
            options += '<option value="' + j[0][i].optionValue + '">' + j[0][i].optionDisplay + '</option>';
          }
          $("select#id_qsearch-t_region").html(options);
          
          var options = '<option value="" selected="selected">---------</option>';
          for (var i = 0; i < j[1].length; i++) {
            options += '<option value="' + j[1][i].optionValue + '">' + j[1][i].optionDisplay + '</option>';
          }
          options += '<option value="-1">'+other+'</option>';
          $("select#id_qsearch-t_city").html(options);          
          
        });
    
    }
  })

  $("select#id_qsearch-t_region").change(function(){
    if ( $(this).val() ) {
        var ac = $("#id_custom_city")[0].autocompleter;
        ac.setExtraParams( { 
            country: $("select#id_qsearch-t_country").val(),
            region: $("select#id_qsearch-t_region").val()
         } );
        ac.flushCache();
    
        $("select#id_qsearch-t_city").html('<option value="" selected="selected">...loading</option>');
        $.getJSON("/catalog/tqs_get_cities/",{id: $(this).val(),country: $("select#id_qsearch-t_country").val(), ajax: 'true', lang: lang}, function(j){
          var options = '<option value="" selected="selected">---------</option>';
          for (var i = 0; i < j.length; i++) {
            options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
          }
          options += '<option value="-1">'+other+'</option>';
          $("select#id_qsearch-t_city").html(options);
        })
    } else {
        var ac = $("#id_custom_city")[0].autocompleter;
        ac.setExtraParams( { 
            country: $("select#id_qsearch-t_country").val()
         } );
        ac.flushCache();    
    }
  })
  
  $("select#id_qsearch-t_city").change(function(){
    if ( $(this).val() ) {      
        if($(this).val() ==-1){
            $('#id_custom_city').val('');
            $('#custom_city_block').show();
            $('#id_custom_city').focus();
        } else {
            $('#custom_city_block').hide();
        }
        $.getJSON("/catalog/get_region/",{id: $(this).val(), ajax: 'true'}, function(j){
            $('select#id_qsearch-t_region').val(j.region);
        });
    }
  });  



});
