/*
 * Copyright (c) 2008 Impact Computing Corporation
 */

function isBrowserIE()
{
    // crude but effective check for browser type
    // see: http://www.javascriptkit.com/javatutors/objdetect3.shtml
    return (document.all ? true : false);
}

function getAllDescendantNodes(element, tagType)
{
    if (! tagType)
    {
        tagType = "*";
    }
    return element.getElementsByTagName(tagType);
}

function getElementsByClassName(searchClass, node, tag)
{
    var classElements = new Array();
    if (node == null)
    {
        node = document;
    }
    if (tag == null)
    {
        tag = '*';
    }
    var tagElements = node.getElementsByTagName(tag);
    var n = tagElements.length;
    var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
    for (var i = 0; i < n; i++)
    {
        if (pattern.test(tagElements[i].className))
        {
            classElements.push(tagElements[i]);
        }
    }
    return classElements;
}

