function CheckAll(sId,bUnCheck) {
	var Order = "check";
	if (document.getElementById(sId).getAttribute("CheckBoxOrder") != null && document.getElementById(sId).getAttribute("CheckBoxOrder") != "")
		Order = document.getElementById(sId).getAttribute("CheckBoxOrder") == "check" ? "uncheck" : "check";

	iChecked = iNotChecked = 0;
	var oRows = document.getElementById(sId).getElementsByTagName("TR");
	for (var i=0;i<oRows.length;i++)
	{
		if (oRows[i].nodeType == 1) {
			oEl = oRows[i].getElementsByTagName("IMG");
			for (var im=0;im<oEl.length;im++)
			{
				
				if (oEl[im].id.indexOf("CB") > -1 && oEl[im].src.indexOf("unselected") == -1) {
					iChecked++;
				}
				if (oEl[im].id.indexOf("CB") > -1 && oEl[im].src.indexOf("unselected") > -1) {
					iNotChecked++;
				}
			}
		}
	}
	
	if (iChecked == 0)
		Order = "check";
	else if (iNotChecked == 0)
		Order = "uncheck";

	if (bUnCheck)
		Order = "uncheck";
		
	for (var i=0;i<oRows.length;i++)
	{
		if (oRows[i].nodeType == 1)
		{
			oEl = oRows[i].getElementsByTagName("IMG");
			for (var im=0;im<oEl.length;im++)
			{
				if (oEl[im].id.indexOf("CB") > -1 && ((oEl[im].src.indexOf("unselected") > -1 && Order=="check") || (oEl[im].src.indexOf("unselected") == -1 && Order=="uncheck")))
				{
					CheckboxButtons(oEl[im]);
				}
			}
		}
	}

	document.getElementById(sId).setAttribute("CheckBoxOrder",Order);
}

function ExpandUnExpandAll(sId) {

	var Order = "expand";
	if (document.getElementById(sId).getAttribute("Expand") != null && document.getElementById(sId).getAttribute("Expand") != "")
		Order = document.getElementById(sId).getAttribute("Expand") == "expand" ? "unexpand" : "expand";
	document.getElementById(sId).setAttribute("Expand",Order);
	
	var oRows = document.getElementById(sId).getElementsByTagName("TR");
	for (var i=0;i<oRows.length;i++)
	{
		if (i%2 == 0 && oRows[i].nodeType == 1)
		{
			if ((document.getElementById("TableInfo_"+(i/2+1)).style.display == 'none' && Order == "expand") || (document.getElementById("TableInfo_"+(i/2+1)).style.display != 'none' && Order == "unexpand"))
			{
				var oImgEl = oRows[i].getElementsByTagName("TD")[2].getElementsByTagName("IMG")[0];
				OpenCloseTableInfo(oImgEl,"TableInfo_"+(i/2+1));
			}

		}
	}
}