function HierarGrid_toggleRow(sender)
	{
		if(sender == null)
			return;
			
		var state = 1;

		//if the hidden row has not already been generated, clone the panel into a new row
		var existingRow = window.document.getElementById(sender.id + "showRow");
		if (existingRow==null)
		{
			//getting a reference to the table
			var table = GetParentElementByTagName(sender, "TABLE");
			var index = GetParentElementByTagName(sender, "TR").sectionRowIndex + 1;
			//concatenate name of hidden panel => replace "Icon" from sender.id with "Panel"\n
			rowDivName = HierarGrid_ReplaceStr(sender.id, "Icon", "Panel");
			var rowDiv = window.document.getElementById(rowDivName);
			//adding new row to table
			var newRow = table.insertRow(index);
			newRow.id = sender.id + "showRow";
			//adding new cell to row
			var newTD = document.createElement("TD");
			newTD.colSpan = 4;
			
			var myTD = newRow.appendChild(newTD);
			//clone Panel into new cell
			var copy = rowDiv.cloneNode(false);
			copy.innerHTML = rowDiv.innerHTML;
			
			copy.style.display = "";
			myTD.innerHTML = copy.innerHTML;
			rowDiv.parentNode.removeChild(rowDiv);
			
			sender.innerHTML = "<img src='../images-support/delta_down.gif' alt='Collapse' border='0' />";
			state = 1;
		}
		else
		{
			if (existingRow.style.display=="none")
			{
				existingRow.style.display = "";
				sender.innerHTML = "<img src='../images-support/delta_down.gif' alt='Collapse' border='0' />";
				state = 1;
			}
			else
			{
				existingRow.style.display = "none";
				sender.innerHTML = "<img src='../images-support/delta_right.gif' alt='Expand' border='0' />";
				state = 0;
			}
		}
		//ChangeRowState(sender, state);
	}
	
	function HierarGrid_ReplaceStr(orgString, findString, replString)
	{
		pos = orgString.lastIndexOf(findString);
		return orgString.substr(0, pos) + replString + orgString.substr(pos + findString.length);
	}
	
	function GetParentElementByTagName(element, tagName)
	{
		var element=element;
		while(element.tagName != tagName)
			element = element.parentNode;
		return element;
	}
	
	/*function ChangeRowState(sender, state)
	{
	return;
		var table = GetParentElementByTagName(sender, "TABLE");
		var hiddenfield = table.getAttribute("ExpandedClientIDsName");
		
		// var rowStates = document.getElementsByName(hiddenfield)[0].value;
	
		if(state == 1)
		{
			if(rowStates.indexOf(sender.id) == -1)
				rowStates += ", " + sender.id;
		}
		else if (state == 0)
		{
			rowStates = rowStates.replace(sender.id, "");
		}
			
	
		//document.getElementsByName(hiddenfield)[0].value = rowStates;
	}*/
