
//=================================================================
//==展开/关闭更多查询线索（条件）的图标按纽，其隐/显状态 toggle
//==that代表与 this 关键词（即当前按纽）对应的另外一个图标
//==其中点击了id为 "...More"样式的图标，打开Container,否则，关闭
//=================================================================
function ToggleLessMore(imgThis,imgThat,divContainer)
{
	if (imgThis.style.display=="inline")
	{
		imgThis.style.display="none";
		imgThat.style.display="inline";
	} 
	else
	{
		imgThis.style.display="inline";
		imgThat.style.display="none";
	}

	
	//-------------------------------------
	//--如果点击的是"More"图标，那么，显然是要打开Container
	//-------------------------------------
	if (imgThis.id.indexOf("More")!=-1)
	{
		divContainer.style.display="block";
	}
	else
	{
		divContainer.style.display="none";
	}	
}

//=================================================================
//==同上面的函数一个道理，区别是，这里 打开/关闭 的将是一批“子容器”
//==提供的参数是“父容器”，控制的是“父容器”里面的“子容器”，注意，不包含“孙容器”
//==用在 PortalDataGrid 中展开“单纯容器”里面包含的下一级单纯容器
//=================================================================
function ToggleLessMoreHierarchical(imgThis,imgThat,divParentContainer)
{
	if (imgThis.style.display=="inline")
	{
		imgThis.style.display="none";
		imgThat.style.display="inline";
	} 
	else
	{
		imgThis.style.display="inline";
		imgThat.style.display="none";
	}
	
	//-------------------------------------
	//--如果点击的是"More"图标，那么，显然是要打开该Container包含的所有下“一”级Container
	//-------------------------------------
	if (imgThis.id.indexOf("More")!=-1)
	{
		OpenCloseChildren(divParentContainer,"");
	}
	else
	{
		OpenCloseChildren(divParentContainer,"none");
	}
}

//=================================================================
//==一个帮助函数，用于 ToggleLessMoreHierarchical 
//==在 PortalDataGrid 中，关闭/打开 当前“父容器”中包含的所有下“一”级“容器”
//==遵从严格的命名规则，容器的命名按 CnSn 规则， C代表当前容器所在的列，S标志垂直序列号； C 其实也反映了等级，C2控制的是C3(C4不在控制内，C4由C3控制)
//=================================================================
function OpenCloseChildren(divParentContainer,strStyleDisplay)
{
	//----------------------------------------
	//--获取该父容器的 ID (字符串)
	//----------------------------------------
	ParentContainerID=divParentContainer.id;

	//----------------------------------------
	//--获取该父容器中所有子容器（可能也包含孙子，重孙子）
	//----------------------------------------
	var divChildren=document.getElementById(ParentContainerID).getElementsByTagName("div");
	
	//----------------------------------------
	//--从“父容器”ID中解析出父的等级 （CnSn 中C后面的数字） 
	//--从 divC2S5 --> C2S
	//----------------------------------------
	var RegularExpression=new RegExp("C[0-9]+S");
	var Matches=RegularExpression.exec(ParentContainerID);
	var ParentContainerHierarchy=Matches[0];
	
	//----------------------------------------
	//--除掉首尾的 "C", "S" 得到纯数字，就是 C 等级
	//----------------------------------------
	ParentContainerHierarchy=ParentContainerHierarchy.replace("C","").replace("S","");

	//----------------------------------------
	//--“儿子级别”的容器的 C 等级
	//----------------------------------------
	var ChildrenContainerHierarchy=parseInt(ParentContainerHierarchy)+1;
	var ChildrenContainerIDPattern="C"+ChildrenContainerHierarchy

	//----------------------------------------
	//--根据命名规则，只挑选“儿子”级别（下一级）的子容器，其它“孙子，重孙子”级别的过滤掉
	//----------------------------------------
	for (var i=0; i<=divChildren.length-1; i++)
	{
		//----------------------------------------
		//--“儿子级别”的容器的名字里含 “本级”的标志，说明它是儿子容器（而不是孙子容器，更不是重孙子容器）
		//----------------------------------------
		if (divChildren[i].id.indexOf(ChildrenContainerIDPattern)!=-1)
		{
			divChildren[i].style.display=strStyleDisplay;
		}
	}

}
