function checkAllByName(caller, formId, regexString, value, action)
{
	var f = document.getElementById(formId);
	for(var i = 0; i < f.length; i++)
	{
		var e = f.elements[i];
		if(e.name && e.type == 'checkbox')
		{
			var n = e.name;
			if (n.match(regexString) != null) 
			{
				if(action == 'check' && !e.disabled)
				{
					e.checked = value;
				}
				else if (action == 'enable')
				{
					e.disabled = !value;
				}
			}
		}
	}
	if(value)
	{
		caller.active = false;
	}
	return false;
}

function disableCheckboxes(o, a)
{
	for(i = 0; i < a.length; i++)
	{
		if(o.checked)
		{
			checkAllByName(o, "expTypes", a[i], !o.checked, "check");
		}
		checkAllByName(o, "expTypes", a[i], !o.checked, "enable");
	}
	if(o.checked)
	{
		document.getElementById("expTypesBottom").className = "off clearfix";
	}
	else
	{
		document.getElementById("expTypesBottom").className = "on clearfix";
	}
}
