/*
Search in icon folders

Depends on jQuery 1.3.2
*/
var ICON_INDEX = '/media/iconbrowser/icons.json'
var ICON_PATH = '/media/iconbrowser/famfamfam/'

var icon_index = "";

var load = function (data) {
  icon_index = data.icons;
  var txt = [];
  var i = 0;
  // Show tags
  for each (tag in data.tags) {
    if (tag.count >= 3) {
      var size = 8 + (tag.count / 3);
      txt[i] = "<span class=\"tag\" style=\"font-size:" + size +"px;\">" + tag.name + "</span> \n";
      i = i + 1;
    };
  };
  $("#tags").append(txt.join(''));
  // Bind 
  $(".tag").click(function () { process_tag($(this).text()); });
};

var search = function(q) {
  result = new Array();
  if (q.length>1) {
    for (var i=0; i<icon_index.length; i++) {
      pos = icon_index[i].name.indexOf(q);
      if (pos>=0) {
        result.push(icon_index[i]);
      };
    };
  };
  // show results
  $("#icons").text('');
  var txt = [];
  var i = 0;
  for each (icon in result) {
    txt[i] = "<img src=\"" + ICON_PATH + icon.path + "\" alt=\"" + icon.name + "\"/>";
    i = i + 1;
  };
  $("#icons").append(txt.join(''));
};

var process_tag = function (tag) {
  $("#q").attr("value", tag);
  $("#q").trigger("keyup");
};

$(document).ready(function() {
  // do stuff when DOM is ready
  $.get(ICON_INDEX, null, load, 'json');
  // Event
  $("#q").bind("keyup", 
    function (e) { search($('#q').attr("value")); }
  )
});
