if(!String["Equal"]){
String.prototype.Equal=function(str){
		if(typeof(str)=="string"){
			return (this.toLowerCase()==str.toLowerCase());
		}
		return false;
	}
}
var DOM=new Object();

DOM.childElements=function(node){
	if (node.children) return node.children;
	var elements=[];
	for(var i=0;i<node.childNodes.length;i++){
		var child=node.childNodes[i];
		if(child.nodeType==1) elements[elements.length]=child;
	}
	return elements;
}
DOM.childElementsByTag=function(node,tagName){
	var elements=this.childElements(node);
	tagName=tagName.toLowerCase();
	var selecteds=[];
	for(var i=0;i<elements.length;i++){
		var e=elements[i];
		if (e.nodeName.toLowerCase()==tagName) selecteds[selecteds.length]=e;
	}
	return selecteds;
}
DOM.selectNodes=function(startNode,nodeNames){
var a=[];
if(nodeNames.length){
		for(var i=0;i<nodeNames.length;i++){
			var nm=nodeNames[i];
			var elements=startNode.getElementsByTagName(nm);
			for(n=0;n<elements.length;n++){
				a[a.length]=elements[n];
			}
		}
	}
	return a;
}

DOM.iGetAttribute=function(Element,AttributeName){
	if(Element==null) return null;
//	if(!Element.attributes) { alert(AttributeName) }
	for(var i=0;i<Element.attributes.length;i++){
		var a = Element.attributes[i];
		if(a.nodeName.Equal(AttributeName)) return a.nodeValue;
	}
	return null;
}

DOM.hasAttributeValue=function(Element,AttributeName,values){
	if(Element==null) return false;
	if(values.constructor != Array) av=[values];
	else av=values;
	a= this.iGetAttribute(Element,AttributeName);
	if(a==null) return false;
	for(var i=0;i<av.length;i++){
		if(a.Equal(av[i].toString())) return true;
	}
	return false
}