var queryList = [];
var queryHtml = '';
var keyword = 1;
var queries = 0;

function GSearchLoaded() {
  addField();
  Form.focusFirstElement('words');
  addField();
}

function doSearch() {
  getQuery();
  var query = $('query');
  if (!Element.hasClassName(query.childNodes[0], "searched")) {
    Element.addClassName(query.childNodes[0], "searched");
  }
  $("query").innerHTML = queryHtml;
  document.getElementsByName("search")[0].value = '(' + queryList.join(' AND ') + ') OR ' + queryList.join(' OR ');
  document.getElementsByClassName("gsc-search-button")[1].click();
}


function queryOnOff(element) {
  var onoff = element.parentNode.getAttribute('class');
  if (onoff == "on") {
    element.parentNode.removeAttribute('class', 'on');
    element.parentNode.setAttribute('class', 'off');
  } else if (onoff == "off") {
    element.parentNode.removeAttribute('class', 'off');
    element.parentNode.setAttribute('class', 'on');
  }
  doSearch();
}


function addField() {
  var id = "q" + keyword;
  var str = '<li class="on"><a href="javascript:void(0);" onclick="queryOnOff(this); return false"><img src="img/spacer.gif" alt="" /></a><input type="text" name="';
     str += id;
     str += '" id="';
     str += id;
     str += '" tabindex="';
     str += keyword;
     str += '" value="" class="text" onfocus="checkField(); return false" /></li>';
  var children = $A($("words").childNodes);
  new Insertion.Bottom(children[1], str);

  new Effect.Appear(id, {
      from:0.5,
      to:1.0,
      delay:0,
      fps:30,
      duration: 0.5,
      beforeStartInternal: function(effect) {
      },
      afterFinishInternal: function(effect) {
      }
  });
  keyword ++;
}



function getQuery() {
  queryList = [];
  queryHtml = '';
  queries = 0;
  var elements = Form.getElements('words');
  elements.each(
    function(val,idx) {
      var query = '';
      if (val.value) {
        queries ++;
        if (val.parentNode.className == "on") {
//          var query_array = val.value.split(' ');
//          if (query_array.length > 1) {
//            query += '"';
//            for (var i = 0; i<query_array.length; i++) {
//              query += query_array[i];
//              query += ' ';
//            }
//            query += '"';
//          } else {
            query = val.value;
//          }
          queryList.push( '"' + query + '"' );
          queryHtml += '<span class="plus">+</span>';
          queryHtml += '<em>';
          queryHtml += query;
          queryHtml += '</em>';
        }
      } else if (!val.value) {
        if (idx != 0 && idx != elements.length - 1) {
          Element.remove(val.parentNode);
        }
      }
    }
  );
}

//removeChild( oldChild )

function checkField() {
  getQuery();
  var query = $('query');
  if (Element.hasClassName(query.childNodes[0], "searched")) {
    Element.removeClassName(query.childNodes[0], "searched");
  }
  doSearch();
  addField();
}
