											
											///////////////////////////////////////////////////////////////////////////////////////
											///////////////////////////////////////////////////////////////////////////////////////
											//////////
											//////////   文 件 名：HtmCtlScript.js
											//////////
											//////////   作    者：LSH
											//////////
											//////////   创建时间：2006 - 10 - 27
											//////////
											//////////   版    本：
											//////////
											//////////   文件说明：客户端页面控制
											//////////
											///////////////////////////////////////////////////////////////////////////////////////
											///////////////////////////////////////////////////////////////////////////////////////








//----------------------------------------------------------------------------------
//方 法 名：OnClickControlLeftMenu()
//方法说明：控制页面中左边栏目的显示和隐藏效果，并且设置选中项的背景色
//----------------------------------------------------------------------------------
function OnClickControlLeftMenu(strTdID,strNum,strLMHeadID)
{
	/*
		参  数：strTdID -- 当前选中的ID
		      ：strNum  -- 当前选中为某个td的号码
		      ：strLMHeadID -- 每个菜单头的ID（例如：DVB系列产品,安防系列产品）,此ID控制每个选中菜单的背景颜色
		返回值：
	*/

	var intCount = strNum;
	
	for(var i = 0; i < intCount; i++)
	{
		if(("tdLeftMenu_" + i) != strTdID)
		{
			//window.document.all("tdLeftMenu_" + i,"0").style.display = "none";
			window.document.all("tdLeftMenu_" + i).style.display = "none";
		}
		//设置非选中项的每个背景为空
		if(("tdLMHead_" + i) != strLMHeadID)
		{
			//window.document.all("tdLMHead_" + i,"0").bgColor = "#E7E7E7";
			window.document.all("tdLMHead_" + i).bgColor = "#E7E7E7";
		}
	}
	
	//此处控制菜单可以全部隐藏
	//if(window.document.all(strTdID,"0").style.display == "")
	if(window.document.all(strTdID).style.display == "")
	{
		//window.document.all(strTdID,"0").style.display = "none";
		//window.document.all(strLMHeadID,"0").bgColor   = "#E7E7E7";
		window.document.all(strTdID).style.display = "none";
		window.document.all(strLMHeadID).bgColor   = "#E7E7E7";
	}
	else
	{
		//window.document.all(strTdID,"0").style.display = "";
		//window.document.all(strLMHeadID,"0").bgColor   = "#f6f6f6";
		window.document.all(strTdID).style.display = "";
		window.document.all(strLMHeadID).bgColor   = "#E7E7E7";
	}
}

//=================================================================================================================================================================
//-----------------------------------------------------------------
//树型菜单的全局变量
var g_strLevelID = "";
var g_strSpanID  = "";
//-----------------------------------------------------------------

//前台页面中多级别树型菜单控制
//----------------------------------------------------------------------------------
//方 法 名：OnClickMoreLeftMenu()
//方法说明：超过3级的菜单显示和隐藏控制（暂时没有使用）
//----------------------------------------------------------------------------------
function OnClickMoreLeftMenu(strTDID,strCount,strLevelCount,strCurMenu)
{
	/*
		参  数：strTDID  -- 当前选中的ID
		      ：strCount -- 此栏目下共有多少个子项
		      ：strLevelCount
		      ：strCurMenu
		返回值：
	*/

	for(var i = 0; i < strCount; i++)
	{
		var strTmp = "tabMoreLeftMenuID_" + strLevelCount + "_" + strCurMenu + "_" + i;
		alert(strTmp);
		window.document.all(strTmp,"0").style.display = "";
	}
	
	return;
	//此处控制菜单可以全部隐藏
	if(window.document.all(strTDID,"0").style.display == "")
	{
		window.document.all(strTDID,"0").style.display = "none";
	}
	else
	{
		window.document.all(strTDID,"0").style.display = "";
	}
}

//----------------------------------------------------------------------------------
//方 法 名：GetDataByXmlHttp()
//方法说明：超过3级的菜单显示从这里获取数据
//----------------------------------------------------------------------------------
//function GetDataByXmlHttp(strPCID,strSpanID,strCatalogID,strItemCount)
function GetDataByXmlHttp(strPCID,strSpanID,strCatalogID,strCurLevelID,strLevelIDs)
{
	/*
		参  数：strPCID       -- 当前级别的ID
		      ：strSpanID     -- 当前Span标签的ID，每个下级项的此标签下添加
		      ：strCatalogID  --
		      ：strItemCount  -- 当前菜单下有多少个子菜单（没有使用）
		      ：strCurLevelID -- 当前要选中的栏目级别的ID，如果为空表示不选中当前栏目级别
		      ：strLevelIDs   -- 当前要选中的栏目的所有的上级ID
		返回值：
	*/

	//如果已经获取数据，不在重复获取
	if(document.getElementById(strSpanID).childNodes.length == 1)
	{
		var oXmlHttp,strResponseText,DataToSend;
		
		oXmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); 
		oXmlHttp.open("POST","/UserControl/Products/GetDataXmlhttp.aspx",false);
		DataToSend  = "PCID=" + escape(strPCID);
		DataToSend += "&CatalogID="+ escape(strCatalogID) +"";
		//如果栏目级别不为空，把这个ID发送到服务器，找到此ID所在的栏目
		if(strCurLevelID != "")
		{
			DataToSend += "&CurLevelID="+ escape(strCurLevelID) +"";
			DataToSend += "&LevelIDs="+ escape(strLevelIDs) +"";
		}

		oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		oXmlHttp.send(DataToSend);
		strResponseText = oXmlHttp.ResponseText.replace(/^(<!--)([^(-->)]*)|^(-->)|^\s+|\s+$/gim,"");
		delete oXmlHttp;

		if(strResponseText != "")
		{
			var strInfo = "";
			var strHtml = "";
			
			var strLevelTmp = "";
			var strLevelID  = "";
			var arrLevelID  = new Array();
			
			var oXmlDom     = new ActiveXObject("MSXML2.DomDocument"); 

			if (oXmlDom.loadXML(strResponseText))
			{
				var oRoot = oXmlDom.documentElement;
				strInfo   = oRoot.childNodes.item(oRoot.childNodes.length - 2).text;
				
				if(strCurLevelID != "")
				{
					//获取从服务器传递的当前选中ID的所有上级ID
					strLevelID = oRoot.childNodes.item(oRoot.childNodes.length - 1).text;
					if(strLevelID != null && strLevelID != "")
					{
						arrLevelID   = strLevelID.split(",");
						
						for(var j = 0; j < arrLevelID.length; j++)
						{
							if(arrLevelID[j] != strPCID)
							{
								strLevelTmp += arrLevelID[j] + ",";
							}
						}
						
						arrLevelID = null;
						
						strLevelTmp = strLevelTmp.substr(0,strLevelTmp.length - 1);
						arrLevelID = strLevelTmp.split(",");

						g_strLevelID = arrLevelID[arrLevelID.length - 1];
					}
				}
				else
				{
					g_strLevelID = "";
				}

				//当前目录存在下级菜单
				if(strInfo == "True")
				{
					window.document.all(strSpanID,"0").innerHTML += BuildBtnTab(oRoot,strSpanID,strCatalogID,strCurLevelID,strLevelIDs);
					//alert(window.document.all(strSpanID,"0").innerHTML);
					//自动选定一个栏目
					if(arrLevelID != null && arrLevelID.length > 0)
					{
						GetDataByXmlHttp(g_strLevelID,g_strSpanID,strCatalogID,strCurLevelID,strLevelTmp);
					}
				}
				//没有下级菜单
				else
				{
					window.document.all(strSpanID,"0").innerHTML += BuildLinkTab(oRoot,strSpanID,strCatalogID);
				}
			}
			
			delete oXmlDom;
		}
	}
	else
	{
		var oSpan = "";
		
		for(var i = 1; i < document.getElementById(strSpanID).childNodes.length; i++)
		{
			oSpan = document.getElementById(strSpanID).childNodes[i];
			
			//显示菜单
			if(oSpan.style.display == "none")
			{
				oSpan.style.display = "";
			}
			//隐藏菜单
			else
			{
				oSpan.style.display = "none";
			}
		}
	}
}

//----------------------------------------------------------------------------------
//方 法 名：BuildBtnTab()
//方法说明：生成每一项的表格，此表格中的每一项还有下一级菜单
//----------------------------------------------------------------------------------
function BuildBtnTab(oChild,strSpanID,strCatalogID,strCurLevelID,strLevelIDs)
{
	/*
		参  数：oChild       -- 从服务器返回的数据（XML）
		      ：strSpanID    -- 要在这个Span标签下添加子项
		      ：strCatalogID --
		      ：strCurLevelID--
		      ：strLevelIDs  -- 
		返回值：Html字符串
	*/
	
	var strHtmlStr = "";
	var strPCName  = "";
	var strPCID    = "";
	var strSpanJSID= "";                //生成下已经的Span标签ID
	
	for(var i = 0; i < oChild.childNodes.length - 2; i++) 
	{
		//alert(oChild.childNodes[i].childNodes[0].text);
		//alert(oChild.childNodes[i].childNodes[1].text);
		//oChild.childNodes[i].selectSingleNode("PICID").text;
		//alert(oChild.childNodes[i].selectSingleNode("PC_ID").text)
		//alert(oChild.childNodes[i].selectSingleNode("PC_NAME").text)
		
		strSpanJSID = "tdLeftMenuMore_"+ strSpanID +"_"+ i +"";
		
		strPCID   = oChild.childNodes[i].childNodes[0].text;
		strPCName = oChild.childNodes[i].childNodes[1].text;
		
		if(g_strLevelID != null && g_strLevelID != "" && strPCID == g_strLevelID)
		{
			g_strSpanID = strSpanJSID;
		}
		
		strHtmlStr += "<span id = '"+ strSpanJSID +"' style = 'width:100%'><table width = '100%' border = '1' cellpadding = '0' cellspacing = '0' bgcolor = '#CC0000'>";
		strHtmlStr += "<tr><td background = '/main/Images/Product/LM_Line.gif'></td></tr>"
		strHtmlStr += "<tr>";
		//strHtmlStr += "<td height = '20' onclick = javascipt:GetDataByXmlHttp('"+ strPCID +"','" + strSpanJSID + "','"+ strCatalogID +"','" + strCurLevelID + "','" + strLevelIDs + "') style = 'cursor:hand'>"+ GetSpaceCount(strSpanJSID) +" <img src='/Images/C_TitleArrow.gif'>&nbsp;"+ strPCName +"</td>";
		strHtmlStr += "<td height = '20' onclick = javascipt:GetDataByXmlHttp('"+ strPCID +"','" + strSpanJSID + "','"+ strCatalogID +"','" + strCurLevelID + "','" + strLevelIDs + "') style = 'cursor:hand'>"+ GetSpaceCount(strSpanJSID) +" <img src='/main/Images/Product/LM_Arrow_Ten.gif' align = 'absmiddle'>"+ strPCName +"</td>";
		strHtmlStr += "</tr>";
		strHtmlStr += "</table></span>";
	}

	return strHtmlStr;
}

//----------------------------------------------------------------------------------
//方 法 名：BuildLinkTab()
//方法说明：生成每一项的表格，此表格中的每一项没有下一级菜单
//----------------------------------------------------------------------------------
function BuildLinkTab(oChild,strSpanID,strCatalogID)
{
	/*
		参  数：oChild       -- 从服务器返回的数据（XML）
		      ：strSpanID    -- 要在这个Span标签下添加子项
		      ：strCatalogID --
		返回值：Html字符串
	*/
	
	var strHtmlStr = "";
	var strPCName  = "";
	var strPCID    = "";
	var strMenuURL = "";
	var strSpanJSID= "";

	for(var i = 0; i < oChild.childNodes.length - 2; i++) 
	{
		strSpanJSID = "tdLeftMenuMore_"+ strSpanID +"_"+ i +"";
		
		strPCID    = oChild.childNodes[i].childNodes[0].text;
		strPCName  = oChild.childNodes[i].childNodes[1].text;
		strMenuURL = oChild.childNodes[i].childNodes[2].text;
		
		strHtmlStr += "<table width = '100%' border = '0' cellpadding = '0' cellspacing = '0'>";
		strHtmlStr += "<tr><td width = '100%' background = '/main/Images/Product/LM_Line.gif'></td></tr>"
		strHtmlStr += "<tr>";
		//strHtmlStr += "<td height = '20'>"+ GetSpaceCount(strSpanJSID) +" <img src='/Images/C_TitleArrow.gif'>&nbsp;<a href = '" + strMenuURL + "?PCID="+ strPCID +"&CatalogID="+ strCatalogID +"'>"+ strPCName +"</a></td>";
		if(strProductLeftMenuPCID == strPCID)
		{
			//选中的项高亮显示
			strHtmlStr += "<td height = '20' style = 'padding-left:"+ GetSpaceCount(strSpanJSID) +"'><img src='/main/Images/Product/LM_Arrow_Ten.gif' align = 'absmiddle'> <a href = '" + strMenuURL + "?PCID="+ strPCID +"&CatalogID="+ strCatalogID +"' style = 'color:#CC0000'>"+ strPCName +"</a></td>";
		}
		else
		{
			strHtmlStr += "<td height = '20' style = 'padding-left:"+ GetSpaceCount(strSpanJSID) +"'><img src='/main/Images/Product/LM_Arrow_Ten.gif' align = 'absmiddle'> <a href = '" + strMenuURL + "?PCID="+ strPCID +"&CatalogID="+ strCatalogID +"'>"+ strPCName +"</a></td>";
		}
		strHtmlStr += "</tr>";
		strHtmlStr += "</table>";
	}
	
	return strHtmlStr;
}

//----------------------------------------------------------------------------------
//方 法 名：GetSpaceCount()
//方法说明：填充菜单项前面的空格，使菜单项有层次级别
//----------------------------------------------------------------------------------
function GetSpaceCount(strSpanID)
{
	/*
		参  数：strSpanID -- 此ID在此处标识当前菜单为那一级
		返回值：&nbsp;字符串
	*/
	
	var arrSpanID = strSpanID.split("_");                     //使用"_"切割当前Span标签的ID
	var intCount  = (arrSpanID.length - 10) / 2 + 1;          //计算当前菜单在第几级
	var strSpace  = "&nbsp;";
	
	/*
	for(var i = 0; i < intCount; i++)
	{
		strSpace += "&nbsp;&nbsp;"
	}
	*/

	strSpace = 12 * intCount + 10;
	
	return strSpace + "px";
}
//=================================================================================================================================================================

