﻿

function seekname(start, name) {
  if (start.getAttribute) {
  if (start.getAttribute("name") != undefined && start.getAttribute("name") != null) {
    if (start.getAttribute("name") == name) return start;
  }
  }
  for (var i = 0; i < start.childNodes.length; i++) {
    var node = start.childNodes[i];
    if (node != null && node != undefined) {
      if (node.getAttribute) {
      if (node.getAttribute("name") != undefined && node.getAttribute("name") != null) {
        if (node.getAttribute("name") == name) return node;
      }
      }
    }
    var f = seekname(node,name);
    if (f != undefined && f != null) return f;
  }
  return null;
}

function seektag(start, name) {
  if (start.nodeName == name) return start;

  for (var i = 0; i < start.childNodes.length; i++) {
    var node = start.childNodes[i];
    if (node != null && node != undefined) {
        if (node.nodeName == name) return node;
        var f = seektag(node,name);
        if (f != undefined && f != null) return f;
    }
  }
  
  var sib = start;
  while (sib != null && sib != undefined) {
    sib = sib.nextSibling;
    if (sib == null || sib == undefined) break;
    if (sib.nodeName == name) return sib;
    var f = seektag(sib,name);
    if (f != undefined && f != null) return f;
  }
  
  return null;
}

