/********************************************************************************
	
	getElementsByClassName.js
	DOM extension

	class based equivalent of document.getElementsByTagName
	returns array of elements with className passed as argument
	works for multiple classnames
	
	requires arrays.js for IE5.0, IE5.1

********************************************************************************/

if(typeof Document == "undefined" && typeof Element != "undefined" && document.evaluate){
	Document.prototype.getElementsByClassName =
	Element.prototype.getElementsByClassName = function(sClassName){
		var doc = this.ownerDocument;
		var xpExpr = "//*[contains(@class, '" + sClassName + "')]";
		var xpRes = doc.evaluate(xpExpr, this, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null)	
		var a = [];
		var n;
		while(n = xpRes.iterateNext())
			a.push(n);
		return a;
	}
}else{
	document.getElementsByClassName = function(sClassName){
		var all = document.all || document.getElementsByTagName("*");
		var re = new RegExp(sClassName);
		var l = all.length;
		var a = [];
		for(var i=0; i<l; i++){
			if(re.test(all[i].className))
				a.push(all[i])
		}
		return a;
	}
}

