$(document).ready(function() {

  /* poprawienie wysokosci divow z podkategoriami */
//  if ($('.subcategories .category').length > 0) {
//    fixSubcategories();
//    $(window).bind('resize', subcategoriesResize);
//  }

});

var subcategoriesPerRow = 0;
var subcategoryWidth = 0;

function subcategoriesResize(eventObject) {
  var old = subcategoriesPerRow;
  subcategoriesPerRow = getSubcategoriesPerRow();
  if (subcategoriesPerRow != old) {
    fixSubcategories();
  }
}

function getSubcategoriesPerRow() {
  var totalWidth = $('.subcategories').width();
  if (subcategoryWidth <= 0) {
    var catDiv = $('.subcategories .category');
    subcategoryWidth = catDiv.outerWidth();
    subcategoryWidth += eval(catDiv.css('margin-left').replace('px', ''));
    subcategoryWidth += eval(catDiv.css('margin-right').replace('px', ''));
  }
  return parseInt(totalWidth / subcategoryWidth);
}

function fixSubcategories() {
  var catsNum = $('.subcategories .category').length;
  for (i = 0; i < catsNum; i++) {
    $('.subcategories .category').removeClass('category-row' + i + '-cell');
  }

  subcategoriesPerRow = getSubcategoriesPerRow();
  var rowHeights = new Array();
  var rowNum = -1;

  $('.subcategories .category').each(function(index, element) {
    var indexInRow = index % subcategoriesPerRow;
    if (0 == indexInRow) {
      rowNum++;
      rowHeights[rowNum] = 0;
    }

    var catDiv = $(this);
    catDiv.addClass('category-row' + rowNum + '-cell');
    var detailsDiv = catDiv.children('.details');
    var imageDiv = catDiv.children('.image');
    var catHeight = detailsDiv.height();
    if (imageDiv.height() > catHeight) {
      catHeight = imageDiv.height();
    }
    if (catHeight > rowHeights[rowNum]) {
      rowHeights[rowNum] = catHeight;
    }
  });

  for (rowNum = 0; rowNum < rowHeights.length; rowNum++) {
    $('.category-row' + rowNum + '-cell').height(rowHeights[rowNum]);
  }
}
