function refresh(name) {
   if (undefined == filter) {
      return;
   }
   active = false;
   disable = false;
   load = true;
   if (undefined == name) {
      name = filter[0][0];
      load = false;
   }
   n = 0;
   for (i = 0; i < filter.length; i++) {
      if (disable) {
         $('select[@name='+filter[i][0]+']').each(function() {
            this.selectedIndex = 0;
            this.disabled = true;
         });
      }
      if (active) {
         if (load) {
            // Загрузка данных аджаксом
            $('select[@name='+filter[i][0]+']').attr('disabled', 'disabled');
            $('select[@name='+filter[i][0]+']').html('<option>Загрузка...</option>');
            n = i;
            $.get(filter[i][1] + '/' + $('select[@name='+name+']').attr('value'), function(data) {
               $('select[@name='+filter[n][0]+']').html(data);
               $('select[@name='+filter[n][0]+']').each(function() {
                  this.selectedIndex = 0;
                  this.disabled = false;
               });
            });
            disable = true;
         } else {
            $('select[@name='+filter[i][0]+']').attr('disabled', '');
         }
         active = false;
         if (!$('select[@name='+filter[i][0]+']').attr('value')) {
            disable = true;
         }
      }
      if (name == $('select[@name='+filter[i][0]+']').attr('name')) {
         if (!$('select[@name='+filter[i][0]+']').val() || 0 == $('select[@name='+filter[i][0]+']').val()) {
            active = false;
            disable = true;
         } else {
            active = true;
            disable = false;
         }
      }
   }
}
