﻿function DataExecute(DataSql,DataType,exepath){
	
	var DataTypeName;
	try
	{
	if (typeof(DataType)=="undefined")
		DataTypeName="DataExecute";
	else
		DataTypeName=DataType;
	if (typeof(exepath)=="undefined")
		exepath="";
	var xmlDom =new ActiveXObject("Msxml.DOMDocument");
	xmlDom.loadXML("<Root></Root>");
	xmlDom.documentElement.setAttribute("DataSql",DataSql);
	xmlDom.documentElement.setAttribute("DataType",DataTypeName);
	var PageName=exepath+"DataXml.aspx";
	var xmlHttp =new ActiveXObject("Microsoft.XMLHttp");

	xmlHttp.open("POST",PageName,false);
	xmlHttp.setRequestHeader("Content-Type","text/xml");
	
	xmlHttp.send(xmlDom)
	var rv=xmlHttp.responseXML.documentElement.childNodes(0).text;
	//alert("Line:20"+rv);
	}
	catch(e)
	{
		alert("系统错误：函数DataExecute出错；原因："+e)
		rv="~~~T"
	}
return(rv)
}
function insertData()
{
	if (checkAllValue())
	{	alert("插入["+DataExecute(makeSql(0))+"]条记录成功!");	
	if (typeof(window.opener)=="object")
		{
		window.opener.PageDataload(1);
		window.close();
		}
        //clearAll()
	}
}
function updateData(ID)
{
	if (ID>0)
	{		
		ID=parseInt(ID);
		if(checkAllValue())
		{
		alert("更新["+DataExecute(makeSql(ID))+"]条记录成功");
		if (typeof(window.opener)=="object")
		{
		window.opener.PageDataload(1);
		window.close();
		}
		}
	}
	else
	{
		insertData();
	}
	
}
	
function delData(ID)
{
	var strSql="";
	strSql="delete from {#database} where {#ID}="+ID;
	if (confirmDel())
		{
		alert("删除["+DataExecute(strSql) +"]条记录成功");	
		PageDataload(1);
		}
}

function setDefaultValue(ResultDataRoot,view)
{
	
	var myDataSet=ResultDataRoot.selectSingleNode("DataSet");
	var DataCol=myDataSet.selectNodes("DataCol");
	var myCount=myDataSet.getAttribute("ItemCount");	
	var reg;
	var srhFrom=document.srhform;
	if (myCount==1)
	{
		for (var i=0;i<DataCol[0].attributes.length;i++)
		{
			for (var j=0;j<srhFrom.length;j++)
			{
				if (DataCol[0].attributes[i].name==srhFrom[j].name||"_ctl0:"+DataCol[0].attributes[i].name==srhFrom[j].name)
				 {					   
				   if(view==true)
				   {
					   if (typeof(srhFrom[j].Format)!="undefined")
					   	{
							var FormatStr=srhFrom[j].Format.split(":");																			
							switch (FormatStr[0])
							{
								
								case "DataFormat":	
									reg=/{#0}/g;
									var strValue=FormatStr[1].replace(reg,DataCol[0].attributes[i].value)									
									srhFrom[j].parentElement.innerHTML=strValue;
									break;
								case "Function":
									reg=/{#0}/g;									
									var strValue=FormatStr[1].replace(reg,"\""+DataCol[0].attributes[i].value+":"+j+"\"")									
									var a=exeFunction(strValue);
									break;
								case "Select":
								    var mys=getTextFromSelectByValue(srhFrom[j],DataCol[0].attributes[i].value);
								    srhFrom[j].parentElement.innerHTML=mys;
								default:
									srhFrom[j].value=DataCol[0].attributes[i].value;
									srhFrom[j].disabled=true;
							}
							
						}
					   else
					   {
							switch (srhFrom[j].type)
							{
							case "checkbox":
							break;
							case "textarea":
								if (DataCol[0].attributes[i].value!="")
								srhFrom[j].parentElement.innerHTML=TextInDatabase(DataCol[0].attributes[i].value);								
								else
								srhFrom[j].parentElement.innerHTML="&nbsp;"
								break;
							case "hidden":
								break;
							case "text":
								if (DataCol[0].attributes[i].value!="")
								srhFrom[j].parentElement.innerHTML=DataCol[0].attributes[i].value;
								else
								srhFrom[j].parentElement.innerHTML="&nbsp;"
								break;
							case "select-one":
								var mys=getTextFromSelectByValue(srhFrom[j],DataCol[0].attributes[i].value);
								srhFrom[j].parentElement.innerHTML=mys;
								break;
							default:										
							}
					   }
					
				}
				else
				{							    
				switch (srhFrom[j].type)
					{
						case "checkbox":
							if (TextOutDatabase(DataCol[0].attributes[i].value)=="1")
							{
							srhFrom[j].checked=true;
							}
							break;
						case "textarea":
						case "select-one":
						case "hidden":	
						case "text":
							srhFrom[j].value=DataCol[0].attributes[i].value.TextEncode();
							break;
						default:
						srhFrom[j].value=TextOutDatabase(DataCol[0].attributes[i].value).TextEncode();	
					}				
				}
			}		
			}	
		}
	}
	else if(myCount>1)
	{
		
		var orderStr;
		for (var k=0;k<DataCol.length;k++)
		{
			for (var i=0;i<DataCol[k].attributes.length;i++)
			{
				
				for (var j=0;j<srhFrom.length;j++)
				{
					orderStr="";					
					if (DataCol[k].attributes[i].name==srhFrom[j].name||"_ctl0:"+DataCol[k].attributes[i].name==srhFrom[j].name)
					{
						var dataValue=TextOutDatabase(DataCol[k].attributes[i].value).TextEncode()
						//alert("Line:178\n"+dataValue)
						if (srhFrom[j].value.indexOf(dataValue)==-1)
						{
						orderStr=srhFrom[j].value+","
						orderStr+=dataValue						
						if (orderStr.indexOf(",")==0)
						orderStr=orderStr.substring(1,orderStr.length)
						srhFrom[j].value=orderStr;
						}
					}
					
				}
				
			}
			
		}
		
	}
}
function checkAllValue()
{
var returnVaue=true;
var srhFrom=document.srhform;
for (var j=0;j<srhFrom.length;j++)
	{
		if (typeof(srhFrom[j].Check)!="undefined"&&srhFrom[j].value=="")
		{
			if (srhFrom[j].Check=="1")
			{
			returnVaue=false;
			srhFrom[j].style.backgroundColor="#FFCC99";	
			alert("请在变色处输入正确数据!")								
			srhFrom[j].focus();			
			break;	
			}		
		}
		
		if (typeof(srhFrom[j].txtType)=="string")
		{
			if ((srhFrom[j].txtType=="number")&&(srhFrom[j].value==""))
			{
			srhFrom[j].value=0;	
			}
		}
		
	}
	
return returnVaue;
}


function makeSql(ID)
{
	var strSql="";
	var strValue="";
	var reg;
	ID=parseInt(ID);
	var strSrhForm=document.srhform;
	try 
	{
		if (ID>0)
		{
			
			var strSql="";
			for(var i=0;i<strSrhForm.length;i++)
			{		
				
				if (typeof(strSrhForm[i].show)=="undefined")
				{	
					switch (strSrhForm[i].type)
					{
					case "checkbox":
						if (strSrhForm[i].checked)
							strValue='1';
						else
							strValue='0';	
						strSql+="["+strSrhForm[i].name+"]='"+strValue+"',";
						break;
					case "textarea":
					case "select-one":
					case "hidden":
					case "password":
					case "text":
						strValue=strSrhForm[i].value;
						reg=/'/g;				
						strValue=strValue.replace(reg,"''");	
						strSql+="["+strSrhForm[i].name+"]='"+strValue+"',";
						break;
					default:										
					}								
				}
			}
			strSql=strSql.substring(0,strSql.length-1);		
			strSql="update {#database} set "+strSql +" where {#ID}="+ID;
			
		}
		else
		{
			var strName="";	
			var temp;		
			for(var i=0;i<strSrhForm.length;i++)
			{
				
				if (typeof(strSrhForm[i].show)=="undefined")
				{
					switch (strSrhForm[i].type)
					{
						case "checkbox":					
							if (strSrhForm[i].checked)
								temp='1';
							else
								temp='0';						
							strValue+="'"+temp+"',";
							strName+="["+strSrhForm[i].name+"],";					
							break;
						case "textarea":
						case "select-one":
						case "hidden":
						case "password":
						case "text":
							temp=strSrhForm[i].value;
							reg=/'/g;
							temp=temp.replace(reg,"''");
							strValue+="'"+temp+"',";
							strName+="["+strSrhForm[i].name+"],";
							break;
						default:			
					}				
				}
				
			}
			strName=strName.substring(0,strName.length-1);
			strValue=strValue.substring(0,strValue.length-1);
			strSql="insert into {#database} ("+strName+")";
			strSql+=" values ("+strValue+")" ;
		
		}
		reg=/_ctl0:/g
		strSql=strSql.replace(reg,"")	
		//alert("Line 315\n"+strSql);	
		return strSql;
	}
	catch(e)
	{alert("系统错误：函数makeSql出错；原因："+e)}
	}
function clearAll()
{
	var SrhForm=document.srhform;
	for(var i=0;i<SrhForm.length;i++)
	{
		if (typeof(SrhForm[i].clear)!="undefined")
		SrhForm[i].value="";
	}
}
//文本文件进入数据库处理
function TextInDatabase(str)
{
var reg;
reg=/\r/g;
str=str.replace(reg,"<br>");
reg=/\n/g;
str=str.replace(reg,"<br>");
return str	
}
//文本文件编辑时处理
function TextOutDatabase(str)
{
var reg;
reg=/<br>/g;
str=str.replace(reg,"\r");
return str	
}
//清除所有的Cookie
function ClearCookie()
{
	var exp = new Date();
	exp.setTime(exp.getTime()-100);

	var Cookie=document.cookie;

	Cookie=Cookie.replace(" ","");
	var CookieArr=Cookie.split(";");

	for(var i=0;i<CookieArr.length;i++)
	{
		var NVPair=CookieArr[i].split("=");
		document.cookie=NVPair[0]+"=;path=/; expires="+exp.toGMTString()+"; ";
	}
}
//从Cookie中拿到变量值
function GetCookie(CookieName)
{        
	var Cookie=document.cookie;        
	var CookieArr=Cookie.split("; ");
	for(var i=0;i<CookieArr.length;i++)
	{
		var NVPair=CookieArr[i].split("=");
		if(NVPair[0]==CookieName)
			return(unescape(NVPair[1]));
	}
	return "";
}
//设置Cookies
function SetCookie(CookieName,Values)
{
	document.cookie=CookieName+"="+escape(Values)+"; path=/; ";
}
function CheckNum(srcE,instr)
{
	if(instr!=""&&!onlyNumber(instr))
	{
		alert("对不起，请输入数字！");
		srcE.value=0;
		return false;
	}
}

function onlyNumber(instr)
{
	var i,strlength,tempchar,rv;
	rv=false;
	instr=""+instr;

	strlength=instr.length;
	for(i=0;i<strlength;i++)
	{
		tempchar=instr.charCodeAt(i);		
		if(tempchar<=57&&tempchar>=46)
		 rv=true;
		else
		 rv=false
		rv=rv*rv;		 
	}
	return rv;
}


function doSearh(FileName)
{
showModalDialog(FileName,FileName,"dialogWidth:420px;status:no;dialogHeight:260px");
}
function gotourl(url,sname,swidth,sheight,sreplace,sclose)
{
	var objNewWin;
	var stop;
	var sleft;	
	if (swidth=="") swidth = "790";
	if (sheight=="") sheight = "480";
	if (sreplace=="") sreplace = false;
	if (sclose=="") sclose = false;
	stop=(screen.height-sheight)/2-20
	sleft=(screen.width-swidth)/2
	objNewWin = window.open(url,sname,"fullscreen=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=" + swidth + ",height=" + sheight + ",top=" + stop + ",left=" + sleft,sreplace);	
	if (sclose) window.close();
	objNewWin.focus();	
}
function AdvSrh(srcE)
{
	if(srcE.Status=="none")
	{
		srcE.Status="block";
		srcE.innerText="关闭查询";
	}
	else
	{
		srcE.Status="none";
		srcE.innerText="打开查询";
	}	
	AdvRow.style.display=srcE.Status;
	
}

function DatePick(FormObj)
{
	window.showModalDialog("js/datepick.htm",FormObj,"help:no;status:no;scroll:no;center:yes;dialogWidth:150px;dialogHeight:245px;");
}

function getisCheck(isCheck,ID,fName)
{
var rtStr;

if (isCheck=="1")
{rtStr="<input type='checkbox' name='"+fName+"' checked onclick=setIsCheck('"+isCheck+"','"+ID+"','"+fName+"') />";}
else
{rtStr="<input type='checkbox' name='"+fName+"' onclick=setIsCheck('"+isCheck+"','"+ID+"','"+fName+"') />";}

return rtStr;

}
function setIsCheck(isCheck,ID,fName)
{

var strSql;
if (isCheck=="1")
	{
	strSql="Update {#database} set "+fName+"=0 where {#ID}="+ID;
	}
else
	{
	strSql="Update {#database} set "+fName+"=1 where {#ID}="+ID;
	}
DataExecute(strSql);
PageReload(1);
}
//定义公共类===
function Common()
{
	this.RvObj="";
}
function Common.prototype.DatePick(FormObj) //显示日期
{
	window.showModalDialog("js/datepick.htm",FormObj,"help:no;status:no;scroll:no;center:yes;dialogWidth:150px;dialogHeight:245px;");
}
//显示对话框
function Common.prototype.SelectModel(strUrl,Width,Height,FormObj,scroll,RetValue) 
{
	var ReturnStr;
	if (typeof(FormObj)=="undefined")
	FormObj="fzm";
	if (typeof(Width)=="undefined"||Width=="")
	Width="500";
	if (typeof(Height)=="undefined"||Height=="")
	Width="400";	
	if (typeof(scroll)=="undefined")
	scroll="no";
	if (FormObj=="obj")
	{
		if (strUrl.indexOf("?")==-1)
			strUrl+="?"
		else
			strUrl+="&"
		if (typeof(RetValue)!="undefined")
		strUrl=strUrl+RetValue.name+"="+RetValue.value
	}
    ReturnStr=window.showModalDialog(strUrl,FormObj,"help:no;status:no;scroll:"+scroll+";center:yes;dialogWidth:"+Width+"px;dialogHeight:"+Height+"px;");
	if (typeof(ReturnStr)!="undefined"&&typeof(RetValue)!="undefined"&&typeof(ReturnStr)!="object")
	{		
		RetValue.value=ReturnStr.trim();
	}
	if (typeof(ReturnStr)=="object")
	{	
		this.RvObj=ReturnStr;
		setDefaultValue(this.RvObj);		
	}	
}
//处理对话框返回的值
function Common.prototype.ReturnValues()
{
	if (typeof(window.dialogArguments)!="undefined")
	{

		var srcE=event.srcElement;
		var outObject=window.dialogArguments;  	
		srcE=srcE.parentElement;				
		if(srcE.tagName.toLowerCase()=="tr"&&srcE.parentElement.tagName.toLowerCase()=="tbody")
		{ 
	  		if (outObject=="obj")
			{
				var pk;										
				var rvDataNew=ResultDataRoot;				
				var NewDataSet=rvDataNew.selectSingleNode("DataSet")				
				var icount=rvDataNew.getElementsByTagName("DataCol").length;
				var OrderDataSet=OrderDataRoot.selectSingleNode("DataSet")	
				var ItemCount=OrderDataSet.getAttribute("ItemCount")
				var fistName;
				var rvData;
				if (icount+ItemCount>0)
				{
					if (ItemCount>0)
					{						
						fistName=OrderDataRoot.getElementsByTagName("DataCol").item(0);
						fistName=fistName.attributes(0).nodeName.trim();
						pk=srcE.childNodes[0].innerText.trim();
						rvData=OrderDataRoot.selectSingleNode("DataSet/DataCol[@"+fistName+"='"+pk+"']");	
						window.returnValue=OrderDataRoot
					}
					else
					{
						fistName=ResultDataRoot.getElementsByTagName("DataCol").item(0);
						fistName=fistName.attributes(0).nodeName.trim();
						pk=srcE.childNodes[0].innerText.trim();
						rvData=ResultDataRoot.selectSingleNode("DataSet/DataCol[@"+fistName+"='"+pk+"']");	
						for (var i=0;i<icount;i++)
						{
						NewDataSet.removeChild(rvDataNew.getElementsByTagName("DataCol").item(0));				
						}
						NewDataSet.appendChild(rvData);	
						NewDataSet.setAttribute ("ItemCount", "1")
						window.returnValue=rvDataNew;
					}				
				}
				else
					window.returnValue="";
			}
			else
			{
	  		outObject.value=srcE.childNodes[1].innerText;
	  		window.returnValue=srcE.childNodes[0].innerText;	
	  		}
			window.close();	
			return 		
		}
	}
}
function getTextFromSelectByValue(myselect,myvalue)
{      
       for(var i=0;i<myselect.options.length;i++)
       {if(myselect.options[i].value==myvalue)
         return myselect.options[i].text;
       }
} 

//数据绑定
function DataBind(ResultDataRoot)
{
	try
	{
		var DataCol=ResultDataRoot.selectSingleNode("DataSet/DataCol");
		var DataStr="";		
		var reg;		
		DataStr=document.body.innerHTML;
		if (DataCol!=null)
		{
		for(var k=0;k<DataCol.attributes.length;k++)
		{
			reg=new RegExp("{#"+DataCol.attributes[k].name+"}","gi");
			DataStr=DataStr.replace(reg,DataCol.attributes[k].text);
		}
		}	
		if (DataStr.indexOf("{#")>-1)
		{
		var reg=new RegExp("{#.*}","gi");
		DataStr=DataStr.replace(reg,"")
		}
		document.body.innerHTML=DataStr
	}
	catch(ep)
	{
		alert("DataBind函数错误号：#000007\n"+ep.message)
	}
}

//拿到权限字串（职位代号,部门代号,申请类别代号）
function getsplc(sqzw,sqbm,sqlb)
{
	var rv;
	rv=popdialog("../../inc/pop_xzsplj.asp?sqzw="+sqzw+"&sqbm="+sqbm+"&sqlb="+sqlb,"300px","300px")
	return rv;
}
function popdialog(url,swidth,sheight){
	if (swidth=="") swidth = "280";
	if (sheight=="") swidth = "180";
	var sValue = showModalDialog(url,"","dialogWidth:" + swidth + ";status:no;dialogHeight:" + sheight);
	return sValue;
}
/*
该函数返回三种字符串值：OK、DEL、NOMAN ，其中：
	'		×	OK表示生成审核记录成功
	'		×	DEL表示在保存时该条审核流程已被删除
	'		×	NOMAN表示还没有任何人员担任该条审核流程中所设定的审核职位
	'		注意：如果在调用中，如果返回值不为OK，则该函数将删除您已保存的申请基本讯息！
	'		在本模块中，删除申请讯息的函数为pub_Del_sqxx(sqxh)，其中：
*/
function getpub_first_spjl(sqxh,splc,Sqlb)
{
	var rv;
	//Sqlb="16"
	rv= DataExe(sqxh,"pub_first_spjl",splc,Sqlb)
	return rv;
	}
function DataExe(DataSql,DataType,splc,Sqlb){
	//alert("Line:645\n"+DataSql);
	var DataTypeName;
	try
	{
	if (typeof(DataType)=="undefined")
		DataTypeName="DataExecute";
	else
		DataTypeName=DataType;
	var xmlDom =new ActiveXObject("Msxml.DOMDocument");
	xmlDom.loadXML("<Root></Root>");
	
	xmlDom.documentElement.setAttribute("DataSql",DataSql);
	xmlDom.documentElement.setAttribute("splc",splc);
	xmlDom.documentElement.setAttribute("Sqlb",Sqlb);
	xmlDom.documentElement.setAttribute("DataType",DataTypeName);
	var PageName="../../inc/DataXml.asp";
	var xmlHttp =new ActiveXObject("Microsoft.XMLHttp");
	xmlHttp.open("POST",PageName,false);
	xmlHttp.setRequestHeader("Content-Type","text/xml");
	xmlHttp.send(xmlDom)
	var rv=xmlHttp.responseXML.documentElement.childNodes(0).text;
	//alert("Line:666\n"+rv);
	}
	catch(e)
	{
		alert("系统错误：函数DataExecute出错；原因："+e)
		rv="~~~T"
	}
return(rv)
}

function getOrderCheck(pk,pkName)
{
	var rv;
	var checkStr=null;
	var OrderDataSet=OrderDataRoot.selectSingleNode("DataSet")
	var rvData=OrderDataRoot.selectSingleNode("DataSet/DataCol[@"+pkName+"='"+pk+"']");	
	if (rvData!=null)
	checkStr="checked"
	rv="<input name='chkSelect' id='chkSelect' type='checkbox' value='"+pk+"' onClick='testValue(this)' "+checkStr+"></input>";
return rv;
	
}
function dataLoad()
{
	if ((typeof(window.dialogArguments)!="undefined")&&(typeof(chkSelect)!="undefined"))
	{
		//alert("Line:692\n"+PageName+"======"+srhStr+"=="+srhStr.indexOf("%2c"))
		if (chkSelect.length>0&&srhStr.indexOf("%2c")>-1)
		{
			OrderDataRoot=ResultDataRoot
			DataLoading(PageName,'Single',false,srhStr)
		}
	}
}
function testValue(obj)
{
		var srcE=event.srcElement;
		var outObject="obj"; 
		if(srcE.tagName.toLowerCase()=="input")
		{  
	  		if (outObject=="obj")
			{
				var pk;										
				var rvDataNew=ResultDataRoot;				
				var NewDataSet=rvDataNew.selectSingleNode("DataSet")				
				var OrderDataSet=OrderDataRoot.selectSingleNode("DataSet")	
				var ItemCount=OrderDataSet.getAttribute("ItemCount")
				var rvData,fistName;
				if (obj.checked)
				{
					fistName=ResultDataRoot.getElementsByTagName("DataCol").item(0);				
					fistName=fistName.attributes(0).nodeName.trim();			
					pk=srcE.value.trim();	
					rvData=ResultDataRoot.selectSingleNode("DataSet/DataCol[@"+fistName+"='"+pk+"']");	
					OrderDataSet.appendChild(rvData);
					ItemCount=parseInt(ItemCount)+1
				}
				else
				{
					fistName=OrderDataRoot.getElementsByTagName("DataCol").item(0);				
					fistName=fistName.attributes(0).nodeName.trim();			
					pk=srcE.value.trim();	
					rvData=OrderDataRoot.selectSingleNode("DataSet/DataCol[@"+fistName+"='"+pk+"']");
					var rsHave=ResultDataRoot.selectSingleNode("DataSet/DataCol[@"+fistName+"='"+pk+"']");					
					if (rsHave==null)
						NewDataSet.appendChild(rvData);
					else
						OrderDataSet.removeChild(rvData);
					ItemCount=parseInt(ItemCount)-1
				}
				OrderDataSet.setAttribute ("ItemCount", ItemCount)	
				//alert("Line:737"+ResultDataRoot.xml+"\n======NewDataSet end========\n======OrderDataSet========\n"+OrderDataRoot.xml)
			}
			else
			{
	  		outObject.value=srcE.childNodes[1].innerText;
	  		window.returnValue=srcE.childNodes[0].innerText;	
	  		}		
				
		}
	
}
document.write('<div id="ReLoadDiv" style="position:absolute; top:335px; width:230px; height:30px;z-index:60; display:none;left:450px" align="center"> 	<div style="width:92px;float:left;overflow:hidden"><image src="/images/loading.gif" border="0"/></div>		<div id="ReloadTD" style="width:105px;line-height:15px;height:17px;float:left;border:1px #646766 solid;color:#ffffff;background-color:#6699CC;padding-left:3px;"></div></div>')


