function refresh(name) {
   if (undefined == typeof(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) {
         jQuery('select[name='+filter[i][0]+']').each(function() {
            this.selectedIndex = 0;
            this.disabled = true;
         });
      }
      if (active) {
         if (load) {
            jQuery('select[name='+filter[i][0]+']').attr('disabled', 'disabled');
            jQuery('select[name='+filter[i][0]+']').html('<option>Загрузка...</option>');
            n = i;
            jQuery.post(filter[i][1], {id: jQuery('select[name=' + name + ']').attr('value')}, function(data) {
               jQuery('select[name='+filter[n][0]+']').html(data);
               jQuery('select[name='+filter[n][0]+']').each(function() {
                  this.selectedIndex = 0;
                  this.disabled = false;
               });
            });
            disable = true;
         } else {
            jQuery('select[name='+filter[i][0]+']').attr('disabled', '');
         }
         active = false;
         if (!jQuery('select[name='+filter[i][0]+']').attr('value')) {
            disable = true;
         }
      }
      if (name == jQuery('select[name='+filter[i][0]+']').attr('name')) {
         if (!jQuery('select[name='+filter[i][0]+']').val() || 0 == jQuery('select[name='+filter[i][0]+']').val()) {
            active = false;
            disable = true;
         } else {
            active = true;
            disable = false;
         }
      }
   }
}

