function elByN(strName) { return document.getElementsByName(strName); }
function elById(strId) { return document.getElementById(strId); }

function multiselect_select(elsCurrent, strId){
	var booFound=false;
	var intIdUnit=0;
	var strName=elsCurrent.name;
	var els=document.getElementsByTagName('input');
	
	strIdCompare = strId + intIdUnit;
	for(var intCount=0; intCount<els.length; ++intCount)
		if((els[intCount].name==strName+'[]' || els[intCount].name==strName) && els[intCount].id==strIdCompare)
		{			
			if(booFound == false) booFound=true;
			else {
				els[intCount].checked=elsCurrent.checked;
				els[intCount].disabled=elsCurrent.checked;
			}
			setBackground(els[intCount]);
			intIdUnit = intIdUnit + 1;
			strIdCompare = strId + intIdUnit;
		}//end if els[intCount].name
}

function multiselect_clear(strName){
	var els=document.getElementsByTagName('input');
	
	for(var i=0; i<els.length; ++i)
		if((els[i].name==strName+'[]' || els[i].name==strName)){
			els[i].checked=false;
			els[i].disabled=false;
			setBackground(els[i]);
		}
}

function multiselect_hasSelected(strName){
	var els=document.getElementsByTagName('input');
	
	for(var i=0; i<els.length; ++i)
		if((els[i].name==strName+'[]' || els[i].name==strName) && els[i].checked)
			setBackground(els[i]);
}

function setBackground(els){
	var elParent=els.parentNode.parentNode;
	var strBackground=els.checked?'#06C':'#fff';
	var strColour=els.checked?'#fff':'#000';
	elParent.style['backgroundColor']=strBackground;
	elParent.style['color']=strColour;
}

function updateBackground(els){	
	setBackground(els);
}