/*
The Humanities Project Dom Utility
	@summary: 
	@requires: /College/humanities/library/scripts/HP.js
*/

HP.namespace("HP.util.Dom");
HP.util.Dom.getElementsByTagName = function()
{
	var tagName  = arguments[0];
	var rootNode = arguments[1];
	var elementsArr = new Array();
	var i,el;
	
	if (typeof tagName != "string") { tagName = "*"; }
	if (rootNode && rootNode.nodeType != 1) { rootNode = document; }
	
	var elementsObj = rootNode.getElementsByTagName(tagName);
	//return elementsObj;
	i = 0;
	
	while (el = elementsObj[i.toString()])
	{
		if (el.nodeType == 1) { elementsArr.push(el); }
		i++;
	}
	return elementsArr;
}

HP.util.Dom.nodeType = 
{
	"ELEMENT_NODE":1,
	"ATTRIBUTE_NODE":2,
	"TEXT_NODE":3,
	"CDATA_SECTION_NODE":4,
	"ENTITY_REFERENCE_NODE":5,
	"ENTITY_NODE":6,
	"PROCESSING_INSTRUCTION_NODE":7,
	"COMMENT_NODE":8,
	"DOCUMENT_NODE":9,
	"DOCUMENT_TYPE_NODE":10,
	"DOCUMENT_FRAGMENT_NODE":11,
	"NOTATION_NODE":12
};


// @todo: test this function
HP.util.Dom.isElement = function(el)
{
	var isElement = true;
	if (!el) { isElement = false; }
	if (!el.nodeType) { isElement = false; }
	if (el.nodeType != HP.util.Dom.nodeType.ELEMENT_NODE) { isElement = false; }
	return isElement;
};