rem: var rowdata = new Array(searchAttr, searchOp, searchVal); 
add: var rowdata = new Array(null, searchAttr, null, searchOp, null, searchVal, null); 
context: function createFilterRow(filter, index){    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(searchAttr, searchOp, searchVal);    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 searchtermContainer = document.getElementById("searchterms");    var searchTerm = document.createElement("searchterm");    // need to add it to the document before we can do anything about it    searchTerm.id = "searchTerm" + index;    searchtermContainer.appendChild(searchTerm);    // now re-find the inserted element    searchTerm = document.getElementById(searchTerm.id);        searchTerm.searchattribute = searchAttr;    searchTerm.searchoperator = searchOp;    searchTerm.searchvalue = searchVal;    // probably a noop?    //    searchTerm.initialize(filter, index);    // now return the row    return searchrow;}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/239a230202589defa2d0ffdb51e99d4ea3188267/FilterEditor.js/buggy/mailnews/base/search/resources/content/FilterEditor.js