
  // na wszelki wypadek...
  function is_array(obj)
  {
    return (obj.constructor.toString().indexOf("Array") == -1 ? false : true)    
  }
  
  // usuwanie duplikatow, funkcja dodawana do prototypu Array
  Array.prototype.unique = function () {
  	var r = new Array();
  	o:for(var i = 0, n = this.length; i < n; i++)
  	{
  		for(var x = 0, y = r.length; x < y; x++)
  		{
  			if(r[x]==this[i])
  			{
  				continue o;
  			}
  		}
  		r[r.length] = this[i];
  	}
  	return r;
  }  

  $().ready(function()
  {
    var tagi = Array();
    //   lista klas kazdego produktu
    $(".product").each(function()
    {
      // pobieramy atrybut "class" i rozbijamy na tablice
      var classes = $(this).attr("class").split(" ");
      
      // wszystkie klasy oprocz "product" umieszczamy w tablicy tagi
      for(a = 0; a < classes.length; a++)
        if(classes[a] != 'product') // && !in_array(present, tagi))
          tagi.push(classes[a]);

      // usuwamy klase "product" z poczatku stringa
      $(this).append('<div class="klasy">' + classes.join(', ').substr(9) + '</div>');
    });

    // usuwamy duplikaty tagow
    tagi = tagi.unique();
    
    // tworzenie checkbox'ow do wyszukiwania
    $("#searcher").append('<div id="tags">');

    for(a = 0; a < tagi.length; a++)
      $("#searcher").append('<span class="tag_input"><input type="checkbox" class="tag_checkbox" id="' + tagi[a] + '"><label class="tag_label" for="' + tagi[a] + '">' + tagi[a] + '</label></span>')

    $("#searcher").append('</div>');
    
    $(".tag_checkbox").change(function()
    {
      if($(this).attr("checked"))
        $("." + $(this).attr("id")).fadeIn();
      else
        $("." + $(this).attr("id")).each(function()
        {
          var myClasses = $(this).attr("class").split(" ");
          // flaga sprawdzajaca, czy ktorakolwiek z klas danego produktu jest zaznaczona
          var is_checked = false;
          // i sprawdzenie, czy klasy produktu wszystkie sa odznaczone
          for(a = 0; a < myClasses.length; a++)
            if($("#" + myClasses[a]).attr("checked"))
              // jesli ktoras z klas jest zaznaczona, nie mozemy ukryc produktu
              is_checked = true;
          // wszystkie klasy produktu sa odznaczone, ukrywamy
          if(!is_checked)
            $(this).fadeOut();
        });
    });
  });

