docs: function (parentNode, index, reverse) {
              if (!parentNode) {
                  return null;
              }
              var childNodes = parentNode.childNodes, count = 0, l = childNodes.length;
              for (var i = (reverse) ? l - 1 : 0; (reverse) ? i >= 0 : i < l; (reverse) ? i-- : i++) {
                  if (childNodes[i].nodeType == 1) {
                      // this is an element
                      if (count == index) {
                          return childNodes[i];
                      }
                      count++;
                  }
              }
              return null;
          }