/*
 * prototype's getElementsByClassName fails in IE 5.5 because IE 5 doesn't
 * care for dcoument.getElementsByTagName('*')
 * this extension is IE 5.5 safe
 */
Object.extend(document, {
	/**
	 * Get elements that match tag AND class
	 * Modeled on prototype getElementsByClassName()
	 * @param	tagName	String, tagName to match, e.g. "SELECT"
	 * @param	className	String, CSS class to match
	 * @param	parentElement, optional	HTML Element Node, Find elements descended from this element	
	 * @return	Array of HTML Element Nodes
	 */
	getElementsByTagClass : function(tagName, className, parentElement) {
		// dmw: boolean selector doesn't work if direct object reference is passed.
		var children = (arguments.length>2 ? $(parentElement).getElementsByTagName(tagName) : document.getElementsByTagName(tagName)) ;
		return $A(children).inject([], function(elements, child) {
		if (Element.hasClassName(child, className))
		  elements.push(child);
		return elements;
		});
	}
});

// two utitlity functions to obscure addies for guardMailto
obscure = function(arr) {
	return(arr.join(""));
}
erucsbo = function(arr) {
	return(arr.reverse.join(""));
}