/*
 * JR 3/4/2010	Most of the functions in this file are one-liners built into Prototype.js that are more flexible and more performant.
 * 				Going forward, please use Prototype.js instead of this library.
 */

function getElementsByClass(sClass,node,tag) {
	var aElements=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)"+sClass+"(\\s|$)");
	for (i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){aElements[j]=els[i];j++;}}
	return aElements;
}
function ShowByClass(s) {
	var x=getElementsByClass(s);
	if (!x) return;
	for (var i=0;i<x.length;i++) {
		x[i].style.display='block';
	}
}
function HideByClass(s) {
	var x=getElementsByClass(s);
	if (!x) return;
	for (var i=0;i<x.length;i++) {
		x[i].style.display='none';
	}
}
function ShowByID(s, sClass) {
	if (s.indexOf('showall')>-1) {
		ShowByClass(sClass);
	}
	else {
		var x=document.getElementById(s);
		if (!x) return;
		x.style.display='block';
	}
}
function ToggleByID(s) {
	var x=document.getElementById(s);
	if (x.style.display=='block') {
		sDisplay='none';
		if (document.getElementById('ToggleButton'+s)) {
			document.getElementById('ToggleButton'+s).src = '/common_images/maximize.png?v=' + ATLAS_VERSION;
		}
	}
	else {
		sDisplay='block';
		if (document.getElementById('ToggleButton'+s)) {
			document.getElementById('ToggleButton'+s).src = '/common_images/minimize.png?v=' + ATLAS_VERSION;
		}
	}
	x.style.display=sDisplay;
}

function HideByClassToggleByID(sClass, sID) {
	var x=document.getElementById(sID);
	sDisplay=x.style.display;
	var a=getElementsByClass(sClass);
	for (var i=0;i<a.length;i++) {
		a[i].style.display='none';
	}
	if (sDisplay=='block') sDisplay='none';
	else sDisplay='block';
	x.style.display=sDisplay;
}

function HideByID(s) {
	var x=document.getElementById(s);
	x.style.display='none';
}

function DynamicSelectItem(id,fieldName,selectList,callback) {
	document.getElementById(id).name=fieldName+'[]';
	document.getElementById("div_"+id).style.display="block";
	selectList.selectedIndex=0;
	if(typeof callback == 'function'){
		callback(id,fieldName,selectList);
	}
}
function setClassById(id, newclass) {
	document.getElementById(id).className=newclass;
}
function DynamicUnSelectItem(id,fieldName,selectList,callback) {
	document.getElementById(id).name="hidden_"+fieldName+"[]";
	document.getElementById("div_"+id).style.display="none";
	if(typeof callback == 'function'){
		callback(id,fieldName,selectList);
	}
}
function resetUIDynamicItemLists() {
	var hiddenDivs = document.getElementsByClassName('UIDynamicItemOption');
	for (i = 0;i<hiddenDivs.length;i++) {
		aInputs = hiddenDivs[i].getElementsByTagName("input");
		for (j=0;j<aInputs.length; j++) {
			if (aInputs[j].type == "hidden") {
				aInputs[j].parentNode.removeChild(aInputs[j]);
			}
		}
	}
}
