rem: searchTermElement.booleanNodes = stringNodes; 
add: searchTermObj.booleanNodes = stringNodes; 
context: function createSearchRow(index, scope, searchTerm){    var searchAttr = document.createElement("searchattribute");    var searchOp = document.createElement("searchoperator");    var searchVal = document.createElement("searchvalue");    // now set up ids:    searchAttr.id = "searchAttr" + index;    searchOp.id  = "searchOp" + index;    searchVal.id = "searchVal" + index;    searchAttr.setAttribute("for", searchOp.id + "," + searchVal.id);    var rowdata = new Array(null, searchAttr,                            null, searchOp,                            null, searchVal,                            null);    var searchrow = constructRow(rowdata);    searchrow.id = "searchRow" + index;    // should this be done with XBL or just straight JS?    // probably straight JS but I don't know how that's done.    var searchTermElement = document.createElement("searchterm");    searchTermElement.id = "searchTerm" + index;    gSearchTermContainer.appendChild(searchTermElement);    searchTermElement = document.getElementById(searchTermElement.id);        searchTermElement.searchattribute = searchAttr;    searchTermElement.searchoperator = searchOp;    searchTermElement.searchvalue = searchVal;    // now invalidate the newly created items because they've been inserted    // into the document, and XBL bindings will be inserted in their place    searchAttr = searchOp = searchVal = undefined;        // and/or string handling:    // this is scary - basically we want to take every other    // treecell, (note the i+=2) which will be a text label,    // and set the searchTermElement's    // booleanNodes to that    var stringNodes = new Array;    var treecells = searchrow.firstChild.childNodes;    var j=0;    for (var i=0; i<treecells.length; i+=2) {        stringNodes[j++] = treecells[i];    }    searchTermElement.booleanNodes = stringNodes;        gSearchRowContainer.appendChild(searchrow);    searchTermElement.searchScope = scope;    // the search term will initialize the searchTerm element, including    // .booleanAnd    if (searchTerm)        searchTermElement.searchTerm = searchTerm;        // here, we don't have a searchTerm, so it's probably a new element -    // we'll initialize the .booleanAnd from the existing setting in    // the UI    else        searchTermElement.booleanAnd = getBooleanAnd();}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/a1506acc69c234bfc1d70317dd1df41d2e597055/searchTermOverlay.js/buggy/mailnews/base/search/resources/content/searchTermOverlay.js