context: function getTextContent(element, preformatted) {    if (element.nodeType == 3 /*Node.TEXT_NODE*/) {        var text = element.data;        if (!preformatted) {            text = text.replace(/\n|\r|\t/g, " ");        }        return text;    }    if (element.nodeType == 1 /*Node.ELEMENT_NODE*/) {        var childrenPreformatted = preformatted || (element.tagName == "PRE");        var text = "";        for (var i = 0; i < element.childNodes.length; i++) {            var child = element.childNodes.item(i);            text += getTextContent(child, childrenPreformatted);        }        // Handle block elements that introduce newlines        // -- From HTML spec:        //<!ENTITY % block        //     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |        //      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">        //        // TODO: should potentially introduce multiple newlines to separate blocks        if (element.tagName == "P" || element.tagName == "BR" || element.tagName == "HR" || element.tagName == "DIV") {            text += "\n";        }        return text;    }    return '';}
meta: 3428	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3428/bdf50299ec90235355e5c177afdd0f378929ba91/htmlutils.js/clean/code/javascript/core/scripts/htmlutils.js