function product_sort(sort_type, descending) {
  if (sort_type == "date") {
    sort_order = product_size_sort_order;
  }
  else {
    sort_order = product_cost_sort_order;
  }

  if (descending) {
    sort_order = sort_order.slice().reverse();
  }

  ul = $('.sliderGallery ul');
  for(i = 0; i < sort_order.length; i++) {
    li = $('#'+sort_order[i]).remove();
    ul.append(li);
  }
}

function restrict_to_piece_type(type) {
  if (type == 'all') {
    $('.sliderGallery li').show();
  }
  else {
    $('.sliderGallery li').hide();
    $('.sliderGallery li.'+type).show();
  }
  reset_product_slider();
}

function reset_product_slider() {
  $('div.sliderGallery #product_slider').slider('destroy');
  // reset the slider position back to the left
  $('div.sliderGallery ul').css('left', 0);
  set_product_slider();
}

function set_product_slider() {
  var container = $('div.sliderGallery');
  var ul = $('ul', container);

  var itemsWidth = ul.innerWidth() - container.outerWidth();

  $('#product_slider').slider({
    min: 0,
    max: itemsWidth,
    slide: function (event, ui) {
      ul.css('left', ui.value * -1);
    }
  });
  $('.ui-slider-handle', container).css('left', 0);
}