var known_items  = new Object();
var selected_ids = new Object();
  
function intelliSearch_initialize(context, allow_multiple_selection) {
  if(allow_multiple_selection) {
	  known_items[context]  = new Object();
	  selected_ids[context] = new Array();
  } else {
    known_items[context]  = "";
    selected_ids[context] = "";
  }
}

function intelliSearch_addItem(context, id, name) {
  known_items[context][id] = name;
  selected_ids[context].push(id);
  html = "";
  list = "";
  for(var count=0; count<selected_ids[context].length; count++) {
    id    = selected_ids[context][count];
    name  = known_items[context][id];
    html += "<li id='selected_item_" + context + "_" + id + "'><a href='#' onclick='intelliSearch_removeItem(\"" + context + "\", \"" + id + "\")'>" + name + "</a></li>"
    if(list.length==0) list = id;
    else list += "," + id; 
  }
  $('selected_' + context).innerHTML = html;
  $('list_of_selected_items_' + context).value = list;
}

function intelliSearch_replaceItem(context, new_id, new_name) {
  known_items[context][new_id] = new_name;
  selected_ids[context].push(new_id);

  html = "<li id='selected_item_" + context + "_" + new_id + "'>" + new_name + "</li>"
  $('selected_' + context).innerHTML = html;
}

function intelliSearch_removeItem(context, id) {
  html = "";
  old_selected_ids = selected_ids[context];
  new_selected_ids = new Array();
  
  for(var count=0; count<selected_ids[context].length; count++) {
    current_id = old_selected_ids[count];
    if(id != current_id) {
      new_selected_ids.push(current_id);
      name  = known_items[context][current_id];
      html += "<li id='selected_item_" + context + "_" + current_id + "'>" + name + "</li>"
      if(list.length==0) list = current_id;
      else list += "," + current_id; 
    }
  }
  selected_ids[context] = new_selected_ids;
  $('selected_' + context).innerHTML = html;
  $('list_of_selected_items_' + context).value = list;
}

