/*
$HeadURL: svn+secure://svn.comminternet.com/main/websites/capecodforsale.com/trunk/web/common/framework/javascript/cxDOM.js $
$LastChangedRevision: 6653 $
$LastChangedDate: 2009-07-16 09:50:52 -0400 (Thu, 16 Jul 2009) $
*/

function cxDOM_canGetElementByID()
{
    if (document.getElementById || document.all || document.layers)
	return true;
    else
	return false;
}

// Gets an element by ID. Does not work in Netscape 4 with nested layers.
function cxDOM_getElementByID(pID)
{
    if (document.getElementById)
	return document.getElementById(pID);
    else if (document.all)
	return document.all[pID];
    else if (document.layers)
	return document.layers[pID];
    else
	return null;
}

function cxDOM_getElementsByTagName(pTagName, pParentElement)
{
    var tags = null;

    if (!pTagName)
	pTagName = "*";
    if (!pParentElement)
	pParentElement = document;

    // If we can use getElementsByTagName(), just do that.
    if (pParentElement.getElementsByTagName)
    {
	tags = pParentElement.getElementsByTagName(pTagName);

	// Some versions of IE don't return anything if you use the special value "*" to get all tags.
	// In that case, return the IE-specific all collection for the element.
	if (pTagName == "*" && (!tags || tags.length == 0))
	    tags = pParentElement.all;

    } else {

	if (pTagName == "*")
	    tags = pParentElement.all;
	else if (pParentElement.all && pParentElement.all.tags)
	    tags = pParentElement.all.tags(pTagName);
    }

    return tags || new Array();
}

function cxDOM_getParent(pElement)
{
    if (pElement.parentNode)
	return pElement.parentNode;
    else if (pElement.parentElement)
	return pElement.parentElement;
    else
	return null;
}
