if (document.layers)
{
  nav4FindLayer =
	  function (doc, id)
	  {
		var i;
		var subdoc;
		var obj;
    
		for (i = 0; i < doc.layers.length; ++i)
		{
		  if (doc.layers[i].id && id == doc.layers[i].id)
			return doc.layers[i];
        
		  subdoc = doc.layers[i].document;
		  obj    = nav4FindLayer(subdoc, id);
		  if (obj != null)
			return obj;
		}
		return null;
	  };

  nav4FindElementsByName = 
	  function (doc, name, elmlist)
	  {
		var i;
		var j;
		var subdoc;
    
		for (i = 0; i < doc.images.length; ++i)
		{
		  if (doc.images[i].name && name == doc.images[i].name)
		  {
			elmlist[elmlist.length] = doc.images[i];
		  }
		}

		for (i = 0; i < doc.forms.length; ++i)
		{
		  for (j = 0; j < doc.forms[i].elements.length; j++)
		  {
			if (doc.forms[i].elements[j].name && name == doc.forms[i].elements[j].name)
			{
			  elmlist[elmlist.length] = doc.forms[i].elements[j];
			}
		  }

		  if (doc.forms[i].name && name == doc.forms[i].name)
		  {
			elmlist[elmlist.length] = doc.forms[i];
		  }
		}

		for (i = 0; i < doc.anchors.length; ++i)
		{
		  if (doc.anchors[i].name && name == doc.anchors[i].name)
		  {
			elmlist[elmlist.length] = doc.anchors[i];
		  }
		}

		for (i = 0; i < doc.links.length; ++i)
		{
		  if (doc.links[i].name && name == doc.links[i].name)
		  {
			elmlist[elmlist.length] = doc.links[i];
		  }
		}

		for (i = 0; i < doc.applets.length; ++i)
		{
		  if (doc.applets[i].name && name == doc.applets[i].name)
		  {
			elmlist[elmlist.length] = doc.applets[i];
		  }
		}

		for (i = 0; i < doc.embeds.length; ++i)
		{
		  if (doc.embeds[i].name && name == doc.embeds[i].name)
		  {
			elmlist[elmlist.length] = doc.embeds[i];
		  }
		}

		for (i = 0; i < doc.layers.length; ++i)
		{
		  if (doc.layers[i].name && name == doc.layers[i].name)
		  {
			elmlist[elmlist.length] = doc.layers[i];
		  }
        
		  subdoc = doc.layers[i].document;
		  nav4FindElementsByName(subdoc, name, elmlist);
		}
	  };

  xbGetElementById =
	  function (id, windowRef)
	  {
		if (!windowRef)
		  windowRef = window;

		return nav4FindLayer(windowRef.document, id);
	  };

  xbGetElementsByName =
	  function (name, windowRef)
	  {
		if (!windowRef)
		  windowRef = window;

		var elmlist = new Array();

		nav4FindElementsByName(windowRef.document, name, elmlist);

		return elmlist;
	  };

}
else if (document.all)
{
  xbGetElementById = 
	  function (id, windowRef) 
	  { 
		if (!windowRef) 
		{
		  windowRef = window; 
		}
		var elm = windowRef.document.all[id]; 
		if (!elm) 
		{
		  elm = null; 
		}
		return elm; 
	  };

  xbGetElementsByName =
	  function (name, windowRef)
	  {
		if (!windowRef)
		  windowRef = window;

		var i;
		var idnamelist = windowRef.document.all[name];
		var elmlist = new Array();

		if (!idnamelist.length || idnamelist.name == name)
		{
		  if (idnamelist)
			elmlist[elmlist.length] = idnamelist;
		}
		else
		{
		  for (i = 0; i < idnamelist.length; i++)
		  {
			if (idnamelist[i].name == name)
			  elmlist[elmlist.length] = idnamelist[i];
		  }
		}

		return elmlist;
	  };

}
else if (document.getElementById)
{
  xbGetElementById = 
	  function (id, windowRef) 
	  { 
		if (!windowRef) 
		{
		  windowRef = window; 
		}
		return windowRef.document.getElementById(id); 
	  };

  xbGetElementsByName = 
	  function (name, windowRef) 
	  { 
		if (!windowRef) 
		{
		  windowRef = window; 
		}
		return windowRef.document.getElementsByName(name); 
	  };
}
else 
{
  xbGetElementById = 
	  function (id, windowRef) 
	  { 
		return null; 
	  };

  xbGetElementsByName = 
	  function (name, windowRef) 
	  { 
		return new Array(); 
	  };
}
