function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)") : null;
	var oCurrent;
	var oAttribute;
	for(var i=0; i<arrElements.length; i++){
		oCurrent = arrElements[i];
		oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
		if(typeof oAttribute == "string" && oAttribute.length > 0){
			if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){
				arrReturnElements.push(oCurrent);
			}
		}
	}
	return arrReturnElements;
}

function moveSelectItem(box1,box2)
{
	if(box1.options.selectedIndex<0)
	    return false;
	var val_box1=box1.options[box1.selectedIndex].value;
	var text_box1=box1.options[box1.selectedIndex].text;
	//appends options from box1 to box2
	box2.options[box2.options.length]=new Option(text_box1,val_box1,false,false);
	//removes options from box1
	box1.options[box1.selectedIndex]=null;
}

function selectAllElements(box)
{
	for(i=0; i < box.options.length; i++)
	{
		box.options[i].selected = true;
	}
}
