code: function(node, uri, name) {
          var elements = [];
          if(node.getElementsByTagNameNS) {
              elements = node.getElementsByTagNameNS(uri, name);
          } else {
              // brute force method
              var allNodes = node.getElementsByTagName("*");
              var potentialNode, fullName;
              for(var i=0, len=allNodes.length; i<len; ++i) {
                  potentialNode = allNodes[i];
                  fullName = (potentialNode.prefix) ?
                             (potentialNode.prefix + ":" + name) : name;
                  if((name == "*") || (fullName == potentialNode.nodeName)) {
                      if((uri == "*") || (uri == potentialNode.namespaceURI)) {
                          elements.push(potentialNode);
                      }
                  }
              }
          }
          return elements;
      }
docs: APIMethod: getElementsByTagNameNS
  Get a list of elements on a node given the namespace URI and local name.
  To return all nodes in a given namespace, use '*' for the name
  argument.  To return all nodes of a given (local) name, regardless
  of namespace, use '*' for the uri argument.
  
  Parameters:
  node - {Element} Node on which to search for other nodes.
  uri - {String} Namespace URI.
  name - {String} Local name of the tag (without the prefix).
  
  Returns:
  {NodeList} A node list or array of elements.