var numberofprecreatedsuggestionkeywordinputs = 7;

function addSearchParameter()
{
  var i = 1;
  while (document.getElementById('field['+i+']')) {
    i++;
  }

  var newtbody  = document.createElement('tbody');
  newtbody.id   = "tbody"+i;
  var newtr = document.createElement('tr');

  var newtd1  = document.createElement('td');
  newtd1.id   = "td"+i+"_1";
  var newtd2 = document.createElement('td');
  newtd2.id   = "td"+i+"_2";
  var newtd3 = document.createElement('td');
  newtd3.id   = "td"+i+"_3";

  // Create the Bolean select
  var newbol   = document.createElement('select');
  newbol.name  = "bol["+i+"]";
  newbol.id    = "bol["+i+"]";
  newbol.options[0] = new Option("AND", "AND");
  newbol.options[1] = new Option("OR", "OR");
  newbol.options[2] = new Option("NOT", "NOT");

  // Create the field selection
  var newfield  = document.createElement('select');
  newfield.name = "field["+i+"]";
  newfield.id   = "field["+i+"]";
  newfield.onchange = new Function("changeValueField('"+i+"', this);");
  newfield.style.width  = "165px";
  newfield.options[0] = new Option("כל השדות", "all");
  newfield.options[1] = new Option("כותרת", "title");
  newfield.options[2] = new Option("מילות מפתח", "keyword");
  newfield.options[3] = new Option("מפתח מחברים", "author");
  newfield.options[4] = new Option("מפתח קטגוריות", "categories");

  // Create the value field
  var newvalue  = document.createElement('input');
  newvalue.type = "text";
  newvalue.name = "value["+i+"]";
  newvalue.id   = "value"+i;
  newvalue.style.width  = "150px";

  newtd1.appendChild(newbol);
  newtd2.appendChild(newfield);
  newtd3.appendChild(newvalue);
  newtr.appendChild(newtd1);
  newtr.appendChild(newtd2);
  newtr.appendChild(newtd3);
  newtbody.appendChild(newtr);

  var complicatedsearchformtable = document.getElementById('complicatedsearchformtable');
  complicatedsearchformtable.appendChild(newtbody);
}

function changeValueField(id, type)
{
  var valuefieldholder  = document.getElementById("td"+id+"_3");
  var valuefields       = document.getElementById("value"+Number(id));

  if ('search_suggest ac_input' == valuefields.className) {
    returnPrecreatedKeywordsSuggestionInput(valuefields, valuefieldholder);
  } else {
    valuefieldholder.removeChild(valuefields);
  }

  if (type.selectedIndex <= 1) {
    createTextInput(id, valuefieldholder);
  } else if (type.selectedIndex == 2) {
    allocatePrecreatedKeywordsSuggestionInput(id, valuefieldholder);
  } else if (type.selectedIndex == 3) {
    copyPrecreatedSelectOptions(id, 'authors_select', valuefieldholder);
  } else if (type.selectedIndex == 4) {
    copyPrecreatedSelectOptions(id, 'categories_select', valuefieldholder);
  }
}

function createTextInput(id, valuefieldholder)
{
  var newvalue  = document.createElement('input');
  newvalue.type = "text";
  newvalue.name = "value["+id+"]";
  newvalue.id   = "value"+id;
  newvalue.style.width  = "150px";

  valuefieldholder.appendChild(newvalue);
}

function allocatePrecreatedKeywordsSuggestionInput(id, valuefieldholder)
{
  var i = numberofprecreatedsuggestionkeywordinputs;
  while (document.getElementById('search_suggest['+i+']')) {
    i--;
  }
  i++;


  var suggestfield  = document.getElementById('search_suggest['+i+']')
  suggestfield.name = "value["+id+"]";
  suggestfield.id   = "value"+id;
  valuefieldholder.appendChild(suggestfield);
}

function returnPrecreatedKeywordsSuggestionInput(valuefields, valuefieldholder)
{
  var i = numberofprecreatedsuggestionkeywordinputs;
  while (document.getElementById('search_suggest['+i+']')) {
    i--;
  }

  if (i > 0) {
    var precreated_container  = document.getElementById('precreated_container');

    valuefields.name  = "search";
    valuefields.id    = "search_suggest["+i+"]";
    valuefields.value = "";

    precreated_container.appendChild(valuefields);
  } else {
    valuefieldholder.removeChild(valuefields);
  }
}

function copyPrecreatedSelectOptions(id, optionsfromid, valuefieldholder)
{
  var newvalue  = document.createElement('select');
  newvalue.name = "value["+id+"]";
  newvalue.id   = "value"+id;
  newvalue.style.width  = "150px";

  valuefieldholder.appendChild(newvalue);

  $("#"+optionsfromid).copyOptions("#value"+id, "all");

  newvalue.selectedIndex  = 0;
}

