//操作xml的函数集



//=================================
//功能:从服务器取XML
//=================================
function xm_getXML(sXML,sURL)
{
	var oDom = new ActiveXObject("MSXML2.DOMDocument");
	var oDomHttp = new ActiveXObject("MSXML2.XMLHTTP");
		
	if (!oDom.loadXML(sXML))
		return "<Data ErrDesc='输入XML串有误'/>";
		
	var sParam = "unadorned:yes;fullscreen=yes;channelmode=no;toolbar=no;location=no;directories=no;status=no;menubar=no;resizable=no;Help=no;status:no;dialogWidth=300px;dialogHeight=100px;scroll=no;"
	var nSplash = GetLong(oDom.documentElement.getAttribute("Splash"))
	if (nSplash == 0)
	{
		oDomHttp.Open("POST", sURL , false);
		oDomHttp.Send(oDom);
		return oDomHttp.responseXML.xml;
	}
	else
	{
		oDomHttp.Open("POST", sURL , true);
		oDomHttp.Send(oDom);
		return window.showModalDialog("/Public/Splash/splash.htm",oDomHttp,sParam).xml
	}
}

//功能:从服务器保存数据
//=================================
function KT_Save(sXML)
{
	var URL="/Public/asp/Save.asp";
	return xm_getXML(sXML,URL);
}


//=================================
//功能:取打印模板
//=================================
function KT_PrintT(sXML)
{
	var URL="/Public/asp/GetPrintXML.asp";
	sXML = xm_getXML(sXML,URL);
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc")
	if (ErrDesc != "")
	{
		JMsgBox("KT_Get错误！"+ErrDesc,vbCritical,"");
		return ;	
	}	
	return sXML;
}


//=================================
//功能:从服务器取数据
//=================================
function KT_Get(sXML)
{
	var URL="/Public/asp/GetXML.asp";
	var sXML = xm_getXML(sXML,URL);
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc")
	if (ErrDesc != "")
		JMsgBox("KT_Get错误！"+ErrDesc,vbCritical,"");
	return sXML;
}

//=================================
//功能:数据传输
//=================================
function xm_UpLoad(sXML)
{
	var URL="/Public/asp/UpLoad.asp";
	return xm_getXML(sXML,URL);
}


//=================================
//功能:取XML串中节点属性值
//=================================
function xm_getAttribute(sXML, sAttribute)
{
	var oDom = new ActiveXObject("MSXML2.DOMDocument");
	if (!oDom.loadXML(sXML))
		return "";
	
	var elRoot = oDom.documentElement;
	var sValue = elRoot.getAttribute(sAttribute);
	if (sValue==null) sValue="";
	
	return sValue;
}


//=================================
//功能:从Row中取节点Value值
//=================================
function xm_getChildNodeValue(elRow,sNodeName)
{
	if (elRow==null) return "";
		
	var elNode = elRow.getElementsByTagName(sNodeName)(0);
	if (elNode==null) return "";
		
	var sValue = elNode.getAttribute("Value");
	if (sValue==null) sValue="";
		
	return sValue;
}

//=================================
//功能:向Row中设置节点Value值
//=================================
function xm_setChildNodeValue(elRow,sNodeName,sValue)
{
	if (elRow==null) return false;
	
	var Dom = new ActiveXObject("MSXML2.DOMDocument");
	
	var elNode = elRow.getElementsByTagName(sNodeName)(0);
	if (elNode==null) // 若无此节点,则添加
	{
		elNode = Dom.createElement(sNodeName);
		elRow.appendChild(elNode);
	}
	elNode.setAttribute("Value",sValue);
	
	return true;
}

//=================================
//功能:从Row中删除节点
//=================================
function xm_removeChildNode(elRow,sNodeName)
{
	if (elRow==null) return false;
	
	var elNode = elRow.getElementsByTagName(sNodeName)(0);
	if (elNode!=null)
		elRow.removeChild(elNode);
	return true;	
}
//================================
//功能：从节点中取值
//================================
function xm_getRowNodeValue(dom,nRow,sName){
	var objNode=dom.childNodes(0).childNodes(nRow)
	if (objNode==null)
		return ''
	var	objChildNode=objNode.getElementsByTagName(sName)(0)		//取节点	
	if (objChildNode==null)
		return ''
	var strValue=objChildNode.getAttribute("Value")
	if (strValue==null)
		return ''
	else
		return strValue
}

function xm_setRowNodeValue(dom,Row,sName,sValue){
	var objNode=dom.childNodes(0).childNodes(Row)
	if (objNode==null)
		return ''
	var	objChildNode=objNode.getElementsByTagName(sName)(0)		//取节点	
	if (objChildNode==null)
	{
		if (sName=="") return;
		objChildNode = dom.createElement(sName);
		objNode.appendChild(objChildNode);
	}	
	
	objChildNode.setAttribute("Value",sValue)
	return
}

function xm_setCellXML(dom,sName,sValue)
{
	if (dom==null) return;
	var elRoot = dom.documentElement;
	var elRow = elRoot.selectSingleNode("Row[@ID='" + sName + "']");	
	if (elRow == null) 
	{
		elRow = dom.createElement("Row");
		elRow.setAttribute("ID",sName);
		elRoot.appendChild(elRow);
		elRow.setAttribute("Value",sValue);
	}
	elRow.setAttribute("Value",sValue);
}


function xm_setCellValue(sName,sValue)
{
	var o = document.all(sName);
	if (o == null) return;
	if (o.tagName!=null)
	{
		o.value = sValue;
	}
	else
	{
		o[0].value = sValue;
		alert("页面出现多个元素:"+sName)
	}
}

function xm_getCellValue(sName)
{
	var sValue;
	var o = document.all(sName);
	if (o == null) return "";
	if (o.tagName!=null)
	{
		sValue = o.value;
	}
	else
	{
		sValue = o[0].value;
		alert("页面出现多个元素:"+sName)
	}
	return sValue;
}

function xm_checkData()
{
	var elRoot = xmlCard.documentElement;
	for (var i = 0; i < elRoot.childNodes.length; i++)
	{
		var elRow = elRoot.childNodes(i);
		var sName = GetString(elRow.getAttribute("ID"));
		var sCaption = GetString(elRow.getAttribute("Name"));
		var nCheck = GetLong(elRow.getAttribute("AllowNull"));
		var nType = GetLong(elRow.getAttribute("Type"));
		
		var sValue = xm_getRowNodeValue(xmlData,0,sName);
		
		if (nCheck && ((nType!=1 && sValue == "") || (nType==1 && GetDouble(sValue) == 0) ))
		{
			alert(sCaption + "不能为空！");
			document.all(sName).focus();
			return false;
		}
	}
		
	return true;
}

function xm_updateXML()
{
	var elRowData = xmlData.documentElement.childNodes(0);
	
	var elRoot = xmlCard.documentElement;
	for (var i = 0; i < elRoot.childNodes.length; i++)
	{
		var elRow = elRoot.childNodes(i);
		var sLabel = GetString(elRow.getAttribute("Name"));
		if (sLabel != "")	
		{
			var sName = GetString(elRow.getAttribute("ID"));
			var o = document.all(sName);
			if (o != null)
			{
				var sValue = xm_getCellValue(sName)
				xm_setChildNodeValue(elRowData,sName,sValue)
			}
		}
	}
}


	
function xm_getCellXML(dom,sName)
{
	if (dom==null) return "";
	var elRoot = dom.documentElement;
	var elRow = elRoot.selectSingleNode("Row[@ID='" + sName + "']");	
	if (elRow == null)  return "";
	return GetString(elRow.getAttribute("Value"));
}

function xm_setFirstFocus()
{
	for (var i=0;i<xmlCard.documentElement.childNodes.length;i++)
	{
		var sFirst = xmlCard.documentElement.childNodes(i).getAttribute("ID");
		var oFirst = document.all(sFirst);
		if (oFirst != null && oFirst.disabled==false ) 
		{
			oFirst.focus();
			return;
		}
	}
}
function xm_getEleValue(){
	var nRow = List1.row;	
	xmlData.loadXML(List1.getDataXML(nRow));			
	var elRowData = xmlData.documentElement.childNodes(0);
	var elRoot = xmlCard.documentElement;
	for (var i = 0; i < elRoot.childNodes.length; i++)
	{
		var elRow = elRoot.childNodes(i);
		var sName = elRow.getAttribute("ID");
		var sValue = xm_getChildNodeValue(elRowData,sName)
		xm_setCellValue(sName,sValue)
	}	
}	

function xm_setEleValue(){
	var nRow = List1.row;
	var sXML = xmlData.documentElement.childNodes(0).xml;
	List1.UpdateRow(nRow,sXML);
}

function xm_getMenuWindow()
{
	var tmp = window;
	if (tmp.parent == tmp) tmp = dialogArguments;
	while (tmp.parent != tmp)
	{
		tmp = tmp.parent;
	}
	return tmp;
}

function xm_setFilterValue(sName,sValue,sSign,sField)
{
	var elRoot = xmlFilter;
	var sPath = "Row[@ID='" + sName + "']";
	var elRow = elRoot.selectSingleNode(sPath);
	if (elRow == null) 
	{
		elRow = xmlHead.createElement("Row");
		elRow.setAttribute("ID",sName);
		elRow.setAttribute("Filter",sName)
		elRoot.appendChild(elRow);
	}
	elRow.setAttribute("Value",sValue);
	elRow.setAttribute("Sign",sSign);
	elRow.setAttribute("Field",sField);
}


function xm_setRefFilter(dom,sName,sFilter)
{
	try
	{
		var elRoot = dom.documentElement;
		var sPath = "Row[@ID='" + sName + "']";
		var elRow = elRoot.selectSingleNode(sPath);
		if (elRow == null) return;
		elRoot = elRow.childNodes(0);
		var sql = elRoot.getAttribute("SQL");
		sql = sql.replace(/##/, " and " + sFilter + " ## ");
		elRoot.setAttribute("SQL",sql);
	}
	catch (e)
	{
		//alert(e.description);
		throw e;
	}
}

function xm_initSet()
{
	var arrColName = Array("fchrProjectNO","fchrContractNO","fchrPeriodNO")
	var arrSetName = Array("Project","Contract","Period")

	for (var n = 0; n < 3; n++)
	{
		var elRow = xmlCard.selectSingleNode("Data/Row[@ID='"+arrColName[n]+"']");
		if (elRow == null) continue;
		var elRoot = elRow.childNodes(0);
		if (elRoot == null) continue;
		var sFields = GetString(elRoot.getAttribute("Fields"));
		var arrFields = sFields.split(",");
		var sFields1 = GetString(elRoot.getAttribute("Fields1"));
		if (sFields1 == "") sFields1 = sFields;
		var arrFields1 = sFields1.split(",");

		var elRow = xm_getMenuWindow().xmlSet.selectSingleNode("Root/Data[@ID='"+arrSetName[n]+"']").childNodes(0);
		for (var i = 0; i < arrFields.length; i++)
		{
			var sFieldValue = xm_getChildNodeValue(elRow,arrFields[i])
			xm_setRowNodeValue(xmlData, 0, arrFields1[i],sFieldValue)
			xm_setCellValue(arrFields1[i],sFieldValue)
		}
	}
}


function xm_loadCard(sID)
{
	xm_setTitle();
	sID = GetString(sID)
	var sXML
	var dom = new ActiveXObject("MSXML2.DOMDocument");
	if (sID == "") 
	{
		var elRoot = xmlCard.documentElement;
		for (var i = 0; i < elRoot.childNodes.length; i++)
		{
			var elRow = elRoot.childNodes(i);
			var sName = elRow.getAttribute("ID");
			xm_setCellValue(sName,"")
		}

		sXML = xmlCard.documentElement.cloneNode(false).xml
		xmlData.loadXML(sXML);
		var elRow = xmlData.createElement("Row");
		xmlData.documentElement.appendChild(elRow);
		
		xm_initSet();
		return;
	}
	
	var fchrPrimaryKey = xmlCard.documentElement.getAttribute("fchrPrimaryKey");
	sXML = xmlCard.documentElement.cloneNode(false).xml
	dom.loadXML(sXML);
	var elRow = dom.createElement("Row");
	elRow.setAttribute("Filter",fchrPrimaryKey);
	elRow.setAttribute("Value",sID);
	dom.documentElement.appendChild(elRow);
	
	sXML = "<Root Splash='0'>"
	     + UserInfo
	     + dom.xml
	     + "</Root>"
	
	sXML = KT_Get(sXML);
	xmlData.loadXML(sXML);
	xmlData.documentElement.setAttribute("OrderType",xmlCard.documentElement.getAttribute("OrderType"))
	var elRowData = xmlData.documentElement.childNodes(0);
	var elRoot = xmlCard.documentElement;
	for (var i = 0; i < elRoot.childNodes.length; i++)
	{
		var elRow = elRoot.childNodes(i);
		var sName = elRow.getAttribute("ID");
		var sValue = xm_getChildNodeValue(elRowData,sName)
		xm_setCellValue(sName,sValue)
	}
}

function xm_loadList(sID)
{
	xm_setTitle();
		
	sID = GetString(sID)
	if (sID == "") 
	{
		List1.loadHead(xmlHead.xml);
		//List1.addRow();
		return;
	}
	var sXML
	var dom = new ActiveXObject("MSXML2.DOMDocument");
	var fchrPrimaryKey = xmlCard.documentElement.getAttribute("fchrPrimaryKey");

	sXML = xmlHead.documentElement.cloneNode(false).xml
	dom.loadXML(sXML);
	elRow = dom.createElement("Row");
	elRow.setAttribute("Filter",fchrPrimaryKey);
	elRow.setAttribute("Value",sID);
	dom.documentElement.appendChild(elRow);
	sXML = "<Root Splash='0'>"
	     + UserInfo
	     + dom.xml
	     + "</Root>"

	sXML = KT_Get(sXML);
	List1.loadData(sXML)

}
function xm_setTitle()
{
	if (typeof(xmlCard)!="undefined")
		dom = xmlCard;
	else
		dom = xmlHead;
	
	var sType = dom.documentElement.getAttribute("State");
	var sTitle = dom.documentElement.getAttribute("fchrOrderTypeDesc");	
	switch (sType)
	{
		case "Add":
			sTitle=sTitle + "新增";
			break;
		case "Modify":
			sTitle=sTitle + "修改";
			break;
		case "NoUsed":
			sTitle=sTitle + "作废";
			break;
		case "Audit":
			sTitle=sTitle + "审核";
			break;
		case "Cancel":
			sTitle=sTitle + "中止";
			break;
		case "View":
			sTitle=sTitle + "查看";
			break;
		case "Delete":
			sTitle=sTitle + "删除";
			break;	
		default:
			break;															
	}
	if (typeof(spanTitle)!="undefined")
		spanTitle.innerHTML=sTitle;
}
function xm_loadAll(sID)
{
	xm_loadCard(sID);
	xm_loadList(sID);
//		xm_setFirstFocus()
}

function xm_SaveAll()
{
	
	if (typeof(sType)!="undefined")	
		xmlData.documentElement.setAttribute("State",sType);
	var sXML;
	sXML = "<root>"
	     + UserInfo
	     + "<Main>"
	     + xmlData.xml
	     + List1.getXML()
	     + "</Main>"
	     + "</root>";	
	sXML = KT_Save(sXML);	
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc");	
	if (ErrDesc!="")
		JMsgBox("保存失败！"+ErrDesc,vbCritical,"");
	else
		JMsgBox("保存成功！",vbInformation,"");
	
	
	if (typeof(sType)!="undefined" && sType!="Modify")	
	{
		xm_loadAll("");
	}
	
	return sXML;
}

function xm_SaveCard()
{	
	if (typeof(sType)!="undefined")	
		xmlData.documentElement.setAttribute("State",sType);
		
	var sXML;
	sXML = "<root>"
	     + UserInfo
	     + "<Main>"
	     + xmlData.xml
	     + "</Main>"
	     + "</root>";
	txt1.value=sXML;     
	sXML = KT_Save(sXML);
	txt2.value=sXML;
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc");
	
	if (ErrDesc!="")
		JMsgBox("保存失败！"+ErrDesc,vbCritical,"");
	else
		JMsgBox("保存成功！",vbInformation,"");


	if (typeof(sType)!="undefined" && sType=="Add")	
	{
		xm_loadCard("");
	}


	return sXML;
}

function xm_SaveList()
{
	var sXML;
	sXML = "<root>"
	     + UserInfo
	     + "<Main>"
	     + List1.getXML()
	     + "</Main>"
	     + "</root>";
	sXML = KT_Save(sXML);
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc");
	
	if (ErrDesc!="")
		JMsgBox("保存失败！"+ErrDesc,vbCritical,"");
	else
		JMsgBox("保存成功！",vbInformation,"");

	if (typeof(sType)!="undefined" && sType!="Modify")	
	{
		xm_loadList("");
	}

	return sXML;
}


function xm_deleteList()
{
	var nRow = List1.row
	if (nRow <= 0) 
	{
		alert("请选择数据！")
		return;
	}

	var sXML;
	var dom = new ActiveXObject("MSXML2.DOMDocument");
	dom.loadXML(List1.getDataXML(nRow));
	var elRoot = dom.documentElement;
	var elRow = elRoot.childNodes(0);
	elRow.setAttribute("Type",2);
	
	var sKey = GetString(elRoot.getAttribute("fchrPrimaryKey"));
	var sValue = GetString(xm_getChildNodeValue(elRow,sKey));
	if (sValue == "") 
	{
		List1.removeRow(nRow);
		return;
	}

	if (JMsgBox("你确定要删除吗？",vbQuestion+vbYesNo,"")==vbNo)
	{
		return;
	}	
	

	sXML = "<root>"
	     + UserInfo
	     + "<Data>"
	     + dom.xml
	     + "</Data>"
	     + "</root>";
	sXML = KT_Save(sXML);
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc");
	if (ErrDesc!="")
		JMsgBox("删除失败！"+ErrDesc,vbCritical,"");
	else
	{
		JMsgBox("删除成功！",vbInformation,"");
		List1.removeRow(nRow)
	}
	return sXML;
}


function xm_disableAll()
{
	var oRows = xmlCard.selectNodes("/Data/Row");
	for(var i=0;i<oRows.length;i++)
	{
		var oRow = oRows(i);
		var sID = oRow.getAttribute("ID");
		var o = document.all(sID);
		if (o!=null)
		{
			o.disabled = true;
		}	
	}
	
	if (typeof(xmlHead) != "undefined" )
		xmlHead.documentElement.setAttribute("Freeze","1")	
}

/////////////////////////////////
//     列表页面的公共方法      //
/////////////////////////////////
function xm_ListLoad(i)
{
	xm_setTitle();
	i = GetLong(i);


	nIsRefresh = GetLong(xmlFilter.getAttribute("IsRefresh"))
	if (nIsRefresh == 1)
	{
		i = GetLong(xmlFilter.getAttribute("PageIndex"))
		if (i == 0) i = 1;
		xmlFilter.setAttribute("IsRefresh",0)
	}
	xmlFilter.setAttribute("PageIndex",i)
	
	var nPageSize = GetLong(xmlFilter.getAttribute("PageSize"));
	if (nPageSize == 0)
	{
		nPageSize = GetLong(xm_getAttribute(UserInfo,"PageSize"));
		xmlFilter.setAttribute("PageSize",nPageSize)
	}


	if (sType != "")
	{
		var nIsFirst = GetLong(xmlFilter.getAttribute("IsFirst"));
		//第一次查询,按日期过滤
		if (nIsFirst != 0)
		{
			xm_setFilterValue("fdtmDateBegin",GetDate(-1),">=","fdtmDate")
			xm_setFilterValue("fdtmDateEnd",GetDate(0),"<=","fdtmDate")
		}
	
		switch(sType)
		{
		case "Audit":
			xm_setFilterValue("fintAudit","(0,3)"," in ")
			xm_setFilterValue("fbitCancel","0","=")
			xm_setFilterValue("fbitNoUsed","0","=")
			break;
		case "Modify":
			xm_setFilterValue("fintAudit","(0,2)"," in ")
			xm_setFilterValue("fbitCancel","0","=")
			xm_setFilterValue("fbitNoUsed","0","=")
			break;
		case "NoUsed":
			xm_setFilterValue("fintAudit","(0,2,3)"," in ")
			xm_setFilterValue("fbitCancel","0","=")
			xm_setFilterValue("fbitNoUsed","0","=")
			break;
		case "Cancel":
			xm_setFilterValue("fintAudit","(1)"," in ")
			xm_setFilterValue("fbitCancel","0","=")
			xm_setFilterValue("fbitNoUsed","0","=")
			break;
		case "View":
			break;
		default:
			break;
		}
	}

	var sXML = xmlFilter.xml;

	sXML = "<Root Splash='0'>"
	     + UserInfo
	     + sXML
	     + "</Root>"
	
	txt2.value = sXML
	sXML = KT_Get(sXML);
	txt3.value = sXML;
	txt1.value = xm_getAttribute(sXML,"SQL");
	var n = xm_getAttribute(sXML,"PageCount");
	PageCtl.SetPage(n,i);	
	
	List1.loadData(sXML)
}

function xm_ListNoUsed()
{
	xm_ListUpdate(2);
}

function xm_ListAudit()
{
	xm_ListUpdate(3);
}

function xm_ListCancel()
{
	xm_ListUpdate(4);
}

function xm_ListDelete()
{
	xm_ListUpdate(5);
}



function xm_ListUpdate(fintStateType)
{
	var dom = new ActiveXObject("MSXML2.DOMDocument");
	dom.loadXML(List1.getSelectedKeyXML());
	
	if (dom.documentElement.childNodes.length == 0)
	{
		alert("请选择");
		return;
	}

	fintStateType = GetLong(fintStateType);
	var sUpdate,fchrNotes,fintAudit;
	switch (fintStateType)
	{
	case 2:	//作废
		sUpdate = " set fbitNoUsed = 1 "
		fchrNotes = "作废"
		fintAudit = 0
		break;
	case 4: //中止
		sUpdate = " set fbitCancel = 1 "
		fchrNotes = "中止"
		fintAudit = 0
		break;
	case 3: //审核
		var szRef = "/Public/asp/Audit.asp?UserInfo="+UserInfo;
		var sReturn = showModalDialog(szRef, window,"Help=no;status:no;dialogWidth=380px;dialogHeight=360px;scroll=no;"); 
		if (sReturn == "") return;

		fchrNotes = xm_getAttribute(sReturn,"fchrNotes");
		fintAudit = GetLong(xm_getAttribute(sReturn,"fintAudit"));
		sUpdate = " set fintAudit = " + fintAudit

		break;
	case 5: //删除
		break;
	}

	var IDList = "";
	var fchrPrimaryKey = GetString(dom.documentElement.getAttribute("fchrPrimaryKey"))
	var fchrTable = GetString(dom.documentElement.getAttribute("fchrTable"))
	var fchrTableSub = GetString(dom.documentElement.getAttribute("fchrTableSub"))
	var fchrOperatorID = xm_getAttribute(UserInfo,"fchrOperatorID");
	for (var i = 0; i < dom.documentElement.childNodes.length; i++)
	{	
		var elRow = dom.documentElement.childNodes(i);
		var sValue = xm_getChildNodeValue(elRow,fchrPrimaryKey);
		if (i > 0) IDList += ",";
		IDList += "'" + sValue + "'";
	}
	IDList = " (" + IDList + ") ";
	
	var sql = ""
	sql = " update " + fchrTable + sUpdate  + "\n"
	    + " where " + fchrPrimaryKey + " in " + IDList + "\n"
	    + " insert into sys_State(fchrOrderID,fchrOperatorID,fintStateType,fchrNotes,fintAudit)" + "\n"
	    + " select " + fchrPrimaryKey + ",'" + fchrOperatorID + "'," + fintStateType + ",'" + fchrNotes + "'," + fintAudit + "\n"
	    + " from " + fchrTable + "\n"
	    + " where " + fchrPrimaryKey + " in " + IDList + "\n"

	if (fintStateType == 3 && fintAudit == 1 )
	{
		var sList = IDList.replace(/'/g,"''");
		switch (fchrTable.toLowerCase())
		{
		case "projectchange":
			sql += " set nocount on exec s_AddCodeProject '" + sList + "',3 set nocount off "
			break;
		case "projectdate":
			sql += " set nocount on exec s_AddCodeProject '" + sList + "',4 set nocount off "
			break;
		}
	}
	
	//删除
	if (fintStateType == 5)
	{
		if (JMsgBox("此操作将彻底删除数据，要继续吗？",vbQuestion+vbYesNo,"")==vbNo)
		{
			return;
		}	
		sql = "delete " + fchrTable + " where " + fchrPrimaryKey + " in " + IDList + "\n"
		if (fchrTableSub != "")
		{
			sql += "delete " + fchrTableSub + " where " + fchrPrimaryKey + " in " + IDList + "\n"
		}
	}

	//alert(sql)
	//return;
	dom.loadXML("<Data/>")
	dom.documentElement.setAttribute("SQL",sql)
	dom.documentElement.setAttribute("Type",0)	
	
	//txt1.value = sql;
	var sXML = "<Data>" + UserInfo + dom.xml + "</Data>";
	//txt2.value = sXML;
	sXML = KT_Get(sXML);
	//txt3.value = sXML;
	
	var ErrDesc = xm_getAttribute(sXML,"ErrDesc");	
	if (ErrDesc=="")
	{
		alert("操作成功!");	
		xm_ListLoad(PageCtl.PageIndex);    
	}
	
	return sXML;
}

function xm_initFilter()
{
	var dom = xm_getMenuWindow().xmlFilter;
	var elRoot = dom.documentElement;
	var sType = xmlHead.documentElement.getAttribute("State")
	var sOrderType = xmlHead.documentElement.getAttribute("OrderType")
	var sPath = "//Data[@OrderType='"+sOrderType+"' $and$ @State='"+sType+"']";
	
	var elRow = elRoot.selectSingleNode(sPath);
	if (elRow == null)
	{
		var dom1 = new ActiveXObject("MSXML2.DOMDocument");
		dom1.loadXML(xmlHead.documentElement.cloneNode(false).xml);
		elRow = dom1.documentElement;
		elRow.setAttribute("IsFirst",1);
		elRoot.appendChild(elRow);
	}
	else
	{
		elRow.setAttribute("IsRefresh",1);
	}

	xmlFilter = elRow;
}



function showAudit(nAudit)
{
	var sOperatorName = xm_getAttribute(UserInfo,"fchrOperatorName");
	var szRef = "/Public/asp/Audit.asp?nAudit=" + nAudit + "&sOperatorName=" + sOperatorName;
	var wndReturn = showModalDialog(szRef, window,"Help=no;status:no;dialogWidth=380px;dialogHeight=360px;scroll=no;"); 
	return String(wndReturn);

}
function showLog(sID)
{
	
	var szRef = "/Public/asp/State.asp?ID=" + sID + "&UserInfo=" + UserInfo;
	var wndReturn = showModalDialog(szRef, window,"Help=no;status:no;dialogWidth=480px;dialogHeight=400px;scroll=no;"); 
	return String(wndReturn);

}

//======屏幕分辨率======
function IsScreen(intRate)
 {
  var availWidth=window.screen.availWidth
  if (availWidth==intRate)
   return true;
  else
   return false; 
 }
/*
1.添加默认过滤添加
2.添加删除功能[2004-02-11,yks]
3.修改函数xm_deleteList[2004-02-22,yks]
4.修改xm_getXML中不能同步的bug[2004-02-24,yks]
5.修改xm_ListUpdate,可以删除子表[2004-03-04,yks]
*/