// Copyright (C) 2006 Cognos Incorporated. All rights reserved.
// Cognos (R) is a trademark of Cognos Incorporated.
// -- Checkes/Unchecks a list of checkboxes in a list
var thisListForm;
function setCheck(state, formObj, prefix)
{
	var checkedState = (state == true);
	thisListForm = document.forms[formObj];
	if (thisListForm)
	{
		var elementCount = thisListForm.length;
		var eleI;
		for(var i=0; i < elementCount; i++)
		{
			eleI = thisListForm.elements[i];
			if (eleI.name && eleI.name.indexOf(prefix) == 0) 
				eleI.checked = checkedState;
		}
	}
}
// -- Checkes/Unchecks a list of checkboxes in a list
function toggleChecks(control,prefix,formObjIn)
{
	var formObj;
	if (!formObjIn){
		formObj = 'pform';
	} else
	{
		formObj = formObjIn;
	}
	thisListForm = document.forms[formObj];
	if (thisListForm)
	{
		var elementCount = thisListForm.length;
		var eleI;
		for(var i=0; i < elementCount; i++) {
			eleI = thisListForm.elements[i];
			if (eleI.type=='checkbox' && eleI.name && eleI.name.indexOf(prefix) == 0) 
				eleI.checked = control;
		}
	}
	
}

// -- Checks or unchecks the control checkbox if all list entries are selected or when one entry checkbox unselected when all list checkboxes were selected.

function resetControlCheck(formObj, idObj, cbName)
{
	thisListForm = document.forms[formObj];
	if (thisListForm)
	{
		var allSet = true;
		var elementCount = thisListForm.length;
		var eleI;
		for(var i=0; i < elementCount; i++) 
		{
			eleI = thisListForm.elements[i];
			if (eleI.type && eleI.type=='checkbox' && eleI.name && eleI.name.indexOf(cbName) == 0 && eleI.checked == false)
			{
				 allSet = false;
				 break;
			}
		}
		if( allSet )
		{
			thisListForm[idObj].checked=true;
		}
		else
		{
			thisListForm[idObj].checked=false;
		}
	}
}

// -- Determines if at least one item is checked in a list.
function isEmptySelection(formObj, prefix)
{
	thisListForm = document.forms[formObj];
	var elementCount = thisListForm.length;
	var bEmpty = true;
	for (var i=0; i < elementCount; i++)
	{
		if (thisListForm.elements[i].name.indexOf(prefix) == 0 && thisListForm.elements[i].checked)
		{
			bEmpty = false;
			break;
		}
	}
	return bEmpty;			
}

// -- Returns the number of items checked in a list.
function selectionCount(formObj, prefix)
{
	thisListForm = document.forms[formObj];
	var len = 0;
	var elementCount = thisListForm.length;
	for (var i=0; i < elementCount ; i++)
	{
		if (thisListForm.elements[i].name.indexOf(prefix) == 0 && thisListForm.elements[i].checked)
		{
			len = len + 1;
		}
	}
	return len;
}
