﻿/*

Function getElementsByClassName

Searches the DOM for all elements with an attribute 'class' that matches a given value, 
and returns an array of matches. Optionally can be given a branch of the DOM tree and 
a type of tag (a, div, etc.) to search.

$Header: /WebSites/library/javascript/general/getElementsByClassName.js 1     12/17/07 11:02a Bpena $

*/

if (!document.getElementsByClassName) { 
    document.getElementsByClassName = function(searchClass,node,tag) {
            var classElements = new Array();
            if ( node == null )
                    node = document;
            if ( tag == null )
                    tag = '*';
            var els = node.getElementsByTagName(tag);
            var elsLen = els.length;
            var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
            for (i = 0, j = 0; i < elsLen; i++) {
                    if ( pattern.test(els[i].className) ) {
                            classElements[j] = els[i];
                            j++;
                    }
            }
            return classElements;
    }
}

