rem: dump("\nHave a searchterm (" + searchTerm.attrib + "/" + searchTerm.op + "/" + searchTerm.value + ")\n"); 
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;    var searchTermObj = new searchTermContainer;    // is this necessary?    //searchTermElement.id = "searchTerm" + index;    gSearchTerms[gSearchTerms.length] = searchTermObj;        searchTermObj.searchattribute = searchAttr;    searchTermObj.searchoperator = searchOp;    searchTermObj.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 searchTermObj'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];    }    searchTermObj.booleanNodes = stringNodes;        gSearchRowContainer.appendChild(searchrow);    dump("createSearchRow: Setting searchScope = " + scope + "\n");    searchTermObj.searchScope = scope;    // the search term will initialize the searchTerm element, including    // .booleanAnd    if (searchTerm) {        dump("\nHave a searchterm (" +             searchTerm.attrib + "/" +             searchTerm.op + "/" +             searchTerm.value + ")\n");        searchTermObj.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        searchTermObj.booleanAnd = getBooleanAnd();}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/a7a6aaec82021225369a825c4902d7f206319316/searchTermOverlay.js/buggy/mailnews/base/search/resources/content/searchTermOverlay.js