var MIN_STR_LENGTH = 2; // минимальная длина поисковой строки
var SCROLL_TOP = 200;   // начальное положение поиска на странице

var $fixed_element = null; // div, holding the search and filter
var $pricelist = null; // table, holding all searchable content

$(document).ready(function(){
  //$("#inline-search").keyup(find_text);
  $pricelist = $(".b-buyup-price");
  $fixed_element = $(".b-right-fix");

  $("#ClassAllClasses", $fixed_element.eq(0)).attr('checked', 'checked');
  $("#BrandAllBrands", $fixed_element.eq(0)).attr('checked', 'checked');

  $(".b-pricelist-filter-by-brand input", $fixed_element).click(filter_by_brand);
  $(".b-pricelist-filter-by-type input", $fixed_element).click(filter_by_type);

  // for IE6 & 7 using CSS expressions, therefore no need in js
  // in normal browsers using position:fixed
  if (!$.browser.msie || ($.browser.msie && $.browser.version != '6.0' && $.browser.version != '7.0')) {
    $(window)
    .scroll(keep_in_sight)
    .each(keep_in_sight);
  }
})

/**
 * keeps search field visible on scrolling window
 */
function keep_in_sight() {
  var scroll = $(this).scrollTop();
  if (scroll > SCROLL_TOP) {
    $fixed_element.css({top: 0});
  }
  else {
    $fixed_element.css({top: (SCROLL_TOP - scroll) +  "px"});
  }
}


/**
 * show and hide whole companies corresponding to filter
 */
function filter_by_brand(ev) {
  var e = window.event ? window.event.srcElement : ev.target;
  if (e.value == "AllBrands") {
    $("tbody", $pricelist).show();
    $("thead", $pricelist).show();
  }
  else {
    $("thead[cmp=" + e.value + "]", $pricelist).show();
    $("tbody[cmp=" + e.value + "]", $pricelist).show();
    $("thead[cmp!=" + e.value + "]", $pricelist).hide();
    $("tbody[cmp!=" + e.value + "]", $pricelist).hide();
  }
}

/**
 * show and hide cartridges corresponding to filter
 */
function filter_by_type(ev) {
  var e = window.event ? window.event.srcElement : ev.target;
  if (e.value == "AllClasses") {
    $("tr", $pricelist).show()
  }
  else {
    $("tr." + e.value, $pricelist).show();
    $("tr[class][class!=" + e.value + "]", $pricelist).hide()
  }
}