// TODO insert(node, function)? // TODO insert(function, string)? // TODO insert(function, function)? d3_selectionPrototype.insert = function(name, before) { name = d3.ns.qualify(name); function insert() { return this.insertBefore( document.createElement(name), d3_select(before, this)); } function insertNS() { return this.insertBefore( document.createElementNS(name.space, name.local), d3_select(before, this)); } return this.select(name.local ? insertNS : insert); };