
//==================base64相关处理函数===========================================
function   Base64EncodeFile(fileSpec){   
  var   xml_dom  =   new   ActiveXObject("MSXML2.DOMDocument");   
  var   ado_stream   =   new   ActiveXObject("ADODB.Stream");   
  var   tmpNode   =   xml_dom.createElement("tmpNode");   
  tmpNode.dataType   =   "bin.base64";   
    
  ado_stream.TYPE   =   1;               //   1=adTypeBinary     
  if(ado_stream.state==0){     //   0=adStateClosed     1=adStateOpen   
  ado_stream.open();   
  }   
  //alert("ddd="+fileSpec)
  ado_stream.LoadFromFile(fileSpec);   
  tmpNode.nodeTypedValue   =   ado_stream.Read(-1);             //   -1=adReadAll   
  ado_stream.Close();   
  //alert(tmpNode.text)
  return   tmpNode.text;   
  }   
  function   Base64EncodeText(TextStr){   
  var   xml_dom   =   new   ActiveXObject("MSXML2.DOMDocument");   
  var   ado_stream   =   new   ActiveXObject("ADODB.Stream");   
  var   tmpNode   =   xml_dom.createElement("tmpNode");   
  tmpNode.dataType   =   "bin.base64";   
    
  ado_stream.Charset   =   "gb2312";   
  ado_stream.Type   =   2;               //   1=adTypeBinary   2=adTypeText   
  if(ado_stream.state==0){       //   0=adStateClosed     1=adStateOpen   
  ado_stream.Open();   
  }   
  ado_stream.WriteText(TextStr);   
  ado_stream.Position   =   0;   
  ado_stream.Type   =   1;               //   1=adTypeBinary   2=adTypeText   
  tmpNode.nodeTypedValue   =   ado_stream.Read(-1);             //   -1=adReadAll   
  ado_stream.Close();   
    
  return   tmpNode.text;   
  }   
  function   Base64DecodeText(Base64Str){   
  var   xml_dom   =   new   ActiveXObject("MSXML2.DOMDocument");   
  var   ado_stream   =   new   ActiveXObject("ADODB.Stream");   
  var   tmpNode   =   xml_dom.createElement("tmpNode");   
  tmpNode.dataType   =   "bin.base64";   
  tmpNode.text   =   Base64Str;   
    
  ado_stream.Charset   =   "gb2312";   
  ado_stream.Type   =   1;               //   1=adTypeBinary   2=adTypeText   
  ado_stream.Open();   
  ado_stream.Write(tmpNode.nodeTypedValue);   
  ado_stream.Position   =   0;   
  ado_stream.Type   =   2;               //   1=adTypeBinary   2=adTypeText   
  var   str   =   ado_stream.ReadText(-1);             //   -1=adReadAll   
  ado_stream.Close();   
    
  return   str;   
  }   
  function Base64DecodeFile(Base64Str,sFileName){
     var   xml_dom   =   new   ActiveXObject("MSXML2.DOMDocument");  
     var   tmpNode   =   xml_dom.createElement("tmpNode");    
  	 var   ado_stream   =   new   ActiveXObject("ADODB.Stream");  
  	 tmpNode.dataType   =   "bin.base64";   
     tmpNode.text   =   Base64Str;  
     ado_stream.Charset   =   "gb2312";  
  	 //alert(Base64Str);
  	 ado_stream.Type   =   1;
  	 ado_stream.Open();
  	 ado_stream.Write(tmpNode.nodeTypedValue); 
  	 ado_stream.SaveToFile(sFileName,2);
  	 ado_stream.Close(); 
  	  var   str   =  sFileName;
  	 // alert(str); 
  	 return str
  }
 //==========日期格式化函数================
 function getFormatDate(date_obj,date_templet){
  var year,month,day,hour,minutes,seconds,short_year,full_month,full_day,full_day,full_hour,full_minutes,full_seconds;
  if(!date_templet)date_templet = "yyyy-mm-dd hh:ii:ss";
  year = date_obj.getFullYear().toString();
  short_year = year.substring(2,4);
  month = (date_obj.getMonth()+1).toString();
  month.length == 1 ? full_month = "0"+month : full_month = month;
  day = date_obj.getDate().toString();
  day.length == 1 ? full_day = "0"+day : full_day = day;
  hour = date_obj.getHours().toString();
  hour.length == 1 ? full_hour = "0"+hour : full_hour = hour;
  minutes = date_obj.getMinutes().toString();
  minutes.length == 1 ? full_minutes = "0"+minutes : full_minutes = minutes;
  seconds = date_obj.getSeconds().toString();
  seconds.length == 1 ? full_seconds = "0"+seconds : full_seconds = seconds;
  return date_templet.replace("yyyy",year).replace("mm",full_month).replace("dd",full_day).replace("yy",short_year).replace("m",month).replace("d",day).replace("hh",full_hour).replace("ii",full_minutes).replace("ss",full_seconds).replace("h",hour).replace("i",minutes).replace("s",seconds);
}

 //=========从路径中获取文件名=============
 function GetFileNameFromPath(sPath){
    var filesz=sPath.split(".")
    var sfilename=sPath.replace(/.*\\/,"").replace(/\..*$/,"")+"."+filesz[filesz.length-1]
    return sfilename
}
function GetPageUrlPath(){
	  var strHref=location.href;
		var webPage=strHref.slice(strHref.lastIndexOf("/")+1) 
		strHref=strHref.replace(webPage,"");
		return  strHref
}
function GetPageUrlFilename(){
	  var strHref=location.href;
		var webPage=strHref.slice(strHref.lastIndexOf("/")+1) 
		return  webPage
}
//=================自动生成XML文件==========================
function GetXml(iType,sXmlName,sYz,Returnflag,sFieldNameSz,sFieldTypeSz,sAlSz,sWhSz,sTbnm,sSql,sCs,sPx,lPageSize,lPageNum,canshu){
  var i
  var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
  xmldoc1.async 	= false
  if(typeof(sTbnm)=="undefined")sTbnm="";
  if(typeof(sSql)=="undefined")sSql="";
  if(typeof(sCs)=="undefined")sCs="";
  if(typeof(sPx)=="undefined")sPx="";
  if(typeof(lPageSize)=="undefined")lPageSize="20";
  if(typeof(lPageNum)=="undefined")lPageNum="1";
  var oRoot = xmldoc1.createElement("APP")
  oRoot.setAttribute("action","XML_CL")
  var oRoot1= xmldoc1.createElement("CMD-SQL")
  oRoot.appendChild(oRoot1)
  var oRoot2= xmldoc1.createElement("GUID")
  //alert(top.document.getElementById("userguid").value)
  oRoot2.appendChild(xmldoc1.createTextNode(top.document.getElementById("userguid").value));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("TYPE")
  oRoot2.appendChild(xmldoc1.createTextNode(iType));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("NM")
  oRoot2.appendChild(xmldoc1.createTextNode(sXmlName));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("SQLSTR")
  oRoot2.appendChild(xmldoc1.createTextNode(sSql));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("CS")
  oRoot2.appendChild(xmldoc1.createTextNode(sCs));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("PX")
  oRoot2.appendChild(xmldoc1.createTextNode(sPx));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("TBNM")
  oRoot2.appendChild(xmldoc1.createTextNode(sTbnm));   
  oRoot1.appendChild(oRoot2)
   oRoot2= xmldoc1.createElement("PZ")
  oRoot2.appendChild(xmldoc1.createTextNode(lPageSize));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("PN")
  oRoot2.appendChild(xmldoc1.createTextNode(lPageNum));   
  oRoot1.appendChild(oRoot2)
  oRoot2= xmldoc1.createElement("FDLT")
  oRoot1.appendChild(oRoot2)
  var  oRoot3
  var  oRoot4
  if (sFieldNameSz.length>0){
  	  for(i=0;i<sFieldNameSz.length;i++){
  	      oRoot3=xmldoc1.createElement("FD")
  	      oRoot3.setAttribute("NM",sFieldNameSz[i])
  	      if (sFieldTypeSz.length>0)oRoot3.setAttribute("TP",sFieldTypeSz[i])
  	      if (sAlSz.length>0)oRoot3.setAttribute("AL",sAlSz[i])
  	      if (sWhSz.length>0)oRoot3.setAttribute("WH",sWhSz[i])
          oRoot2.appendChild(oRoot3)
         } 
  }
  else{
  	  for(i=0;i<sAlSz.length;i++){
  	      oRoot3=xmldoc1.createElement("FD")
  	      if (sAlSz.length>0)oRoot3.setAttribute("AL",sAlSz[i])
  	      if (sWhSz.length>0)oRoot3.setAttribute("WH",sWhSz[i])
          oRoot2.appendChild(oRoot3)
         } 
  }
  if ((sFieldNameSz.length>0)&&(iType=="0" || iType=="1" || iType=="6")){
    	oRoot2=xmldoc1.createElement("PS")
    	oRoot1.appendChild(oRoot2)
    	for(i=0;i<sFieldNameSz.length;i++){
    		 oRoot3=xmldoc1.createElement("C")
    		 oRoot3.appendChild(xmldoc1.createTextNode(canshu[i])); 
    		 oRoot2.appendChild(oRoot3)
     }
  }
  
  return oRoot.xml;
  
}
//有附件添加或更新数据
function DataToDatabaseAddFj(canshu,tjstr,iType,sXmlName,sFieldNameSz,sFieldTypeSz,sTbnm){
	var sAlSz   =   new   Array();
	var sWhSz   =   new   Array();
	var tempstr =""
	var returnstr=""
	returnstr=GetXml(iType,sXmlName,"","",sFieldNameSz,sFieldTypeSz,sAlSz,sWhSz,sTbnm,"",tjstr,"","20","1",canshu)
	return returnstr
}
//没有附件添加或更新数据
function DataToDatabaseAddFjEx(canshu,tjstr,iType,sXmlName,sFieldNameSz,sFieldTypeSz,sTbnm){
	var sAlSz   =   new   Array();
	var sWhSz   =   new   Array();
	var tempstr =""
	var returnstr=""
	returnstr=GetXml(iType,sXmlName,"","",sFieldNameSz,sFieldTypeSz,sAlSz,sWhSz,sTbnm,"",tjstr,"","20","1",canshu)
	/*trans=new Transfers()
			trans.showData(comeback)
			trans.startTansfer("../ZYWSCommandProcessCenter","POST",tempstr)
			function comeback(doc){
				if (doc != null){
					 var oRoot = doc.documentElement
					 tempstr=oRoot.xml
					 if (tempstr!=""){
								var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
								xmldoc1.async 	= false
							  xmldoc1.loadXML(tempstr);
							  var onode = xmldoc1.selectSingleNode(".//ERR")
							  if (onode.getAttribute("NUM")<>"0" && onode.getAttribute("NUM")<>"0"){
							  	alert(onode.getAttribute("DSC"));returnstr="ERROR"
							  }
							  else returnstr=tempstr
						}
						else  {alert("没有范围任何数据");returnstr="ERROR"}
				}
				else{
					alert("请求数据错误！")
					returnstr="ERROR"
				}
			  data_chuli(returnstr);
			}//
		}
	if (tempstr!=""){
			var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
			xmldoc1.async 	= false
		  xmldoc1.loadXML(tempstr);
		  var onode = xmldoc1.selectSingleNode(".//ERR")
		  if (onode.getAttribute("NUM")<>"0" && onode.getAttribute("NUM")<>"0"){
		  	alert(onode.getAttribute("DSC"));returnstr="ERROR"
		  }
	}
	else  {alert("没有范围任何数据");returnstr="ERROR"}*/
	return returnstr
}
//执行SQL语句
function DataExecute5(sSql,sXmlName){
	var sFieldNameSz   =   new   Array();
  var sFieldTypeSz   =   new   Array();
  var sAlSz   =   new   Array();
	var sWhSz   =   new   Array();
	var canshu   =   new   Array();
	var tempstr =""
	var returnstr=""
	returnstr= GetXml(5,sXmlName,"","",sFieldNameSz,sFieldTypeSz,sAlSz,sWhSz,"",sSql,"","","20","1",canshu)
	/*if (tempstr!=""){
			var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
			xmldoc1.async 	= false
		  xmldoc1.loadXML(tempstr);
		  var onode = xmldoc1.selectSingleNode(".//ERR")
		  if (onode.getAttribute("NUM")<>"0" && onode.getAttribute("NUM")<>"0"){
		  	alert(onode.getAttribute("DSC"));returnstr="ERROR"
		  }
	}
	else  {alert("没有范围任何数据");returnstr="ERROR"}*/
	return returnstr
}
//返回数据列表节点数据
function DataToReturnStrxml(sSql,iType,sXmlName,sFieldNameSz,sFieldTypeSz){
	var sAlSz   =   new   Array();
	var sWhSz   =   new   Array();
	var canshu   =   new   Array();
	returnstr=GetXml(iType,sXmlName,"","",sFieldNameSz,sFieldTypeSz,sAlSz,sWhSz,"",sSql,"","","30000","1",canshu)
	return returnstr
}
//带页码数据列表节点数据
function DataToReturnStrxml_page(sSql,iType,sXmlName,sFieldNameSz,sFieldTypeSz,lPageSize, lPageNum){
	var sAlSz   =   new   Array();
	var sWhSz   =   new   Array();
	var canshu   =   new   Array();
	var tempstr=""
	var returnstr=""
	returnstr= GetXml(iType,sXmlName,"","",sFieldNameSz,sFieldTypeSz,sAlSz,sWhSz,"",sSql,"","",lPageSize,lPageNum,canshu)
  return returnstr
}
//获取系统时间
function GetServerDate(){
  var sFieldNameSz   =   new   Array();
	var sFieldTypeSz   =   new   Array();
	var returnstr=""
	sFieldNameSz[0] = "NOW"
  sFieldTypeSz[0] = "5"
  var sCmdSql = "SELECT GETDATE() AS NOW"
  returnstr=DataToReturnStrxml(sCmdSql,"4","获取系统时间",sFieldNameSz,sFieldTypeSz)
  return returnstr
}
function DataProcReadIni(sName,sXmlPath,sWhere){
	  var sFieldNameSz   =   new   Array();
	 	var sFieldTypeSz   =   new   Array();
	 	var DATAonode,DATAonode2
	  var DATAflightNodes
	  var returnstr=""
	  var temsql=""
	  var tabname=""
	  var i
	  var loopi
    var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
    xmldoc1.async 	= false;
    //alert(sXmlPath)
    xmldoc1.load(sXmlPath);
    //alert(xmldoc1.xml)
    tabname = xmldoc1.selectSingleNode("//APP/TBNM").text
    //alert(tabname)
    DATAonode= xmldoc1.selectSingleNode("//APP/FDLT")
    DATAflightNodes = DATAonode.childNodes
    loopi=0
    for(i=0;i<DATAflightNodes.length;i++){
    	 DATAonode2 = DATAflightNodes.item(i)
    	 if(DATAonode2.getAttribute("FMD")!=null && DATAonode2.getAttribute("FMD")!=""){
    	 	  if(loopi==0)temsql="select "+ DATAonode2.getAttribute("NM")
    	 	  else temsql=temsql+","+ DATAonode2.getAttribute("NM")
    	 	  sFieldNameSz[loopi]=DATAonode2.getAttribute("NM")
    	 	  sFieldTypeSz[loopi]=DATAonode2.getAttribute("TP")
    	 	  loopi++;
    	}
    }
    temsql=temsql +" from "+tabname+" where " +sWhere
    returnstr=DataToReturnStrxml(temsql,"4",sName,sFieldNameSz,sFieldTypeSz)
    return returnstr
}
function DataProcRead(sXmlPath,tempdoc){
	  var i
	  var loopi
	  var onode,onode2
	  var flightNodes
	  var DATAonode,DATAonode2
	  var DATAflightNodes
	  var FMDstr
	  var FMDsz
    var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
    //alert(tempdoc.xml)
    var DATAonode = tempdoc.selectSingleNode("//APP/DS") 
    //alert(DATAonode.xml)
		var DATAflightNodes = DATAonode.childNodes
		//alert("没问题")
	  if (DATAflightNodes.length>0){
	  	     //显示数据
				    DATAonode2 = DATAflightNodes.item(0)
				    xmldoc1.async 	= false
				    xmldoc1.load(sXmlPath)
				    onode = xmldoc1.selectSingleNode("//APP/DTYPE")
				    if (onode.text=="1"){
				    	 onode = xmldoc1.selectSingleNode("//APP/FDLT") 
				    	 flightNodes = onode.childNodes
				    	 loopi=0
				    	 for(i=0;i<flightNodes.length;i++){
				    	 	   var onode2 = flightNodes.item(i)
				    	 	   if(onode2.getAttribute("FMD")!=null  && onode2.getAttribute("FMD")!=""){
				    	 	   	   FMDstr=onode2.getAttribute("FMD")
				    	 	   	   FMDsz=FMDstr.split(",")
				    	 	   	   for(var j=0;j<FMDsz.length;j++){
				    	 	   	      document.getElementById(FMDsz[j]).value=DATAonode2.childNodes.item(loopi).text;
				    	 	   	   }
				    	 	   	   loopi++;
				    	 	  }   
				    	 } 
				    }
				    else if (onode.text=="2"){
				    	for(var i=0;i<DATAflightNodes.length;i++){
								  DATAonode2 = DATAflightNodes.item(i)
								  //alert(DATAonode2.xml)
								  //alert("3="+DATAonode2.childNodes.item(3).text+",1="+DATAonode2.childNodes.item(1).text)
								  if (DATAonode2.childNodes.item(3).text=="0") document.getElementById(DATAonode2.childNodes.item(1).text).checked=false
								  else  document.getElementById(DATAonode2.childNodes.item(1).text).checked=true
								 // alert("3="+DATAonode2.childNodes.item(3).text+",1="+DATAonode2.childNodes.item(1).text)
								 }
				    }
				    else if (onode.text=="3"){
				    	onode = xmldoc1.selectSingleNode("//APP/TABNAME")
				    	var table1 =document.all[onode.text];
              var rows1=table.rows.length;
              for(var i=0;i<rows1;i++)table1.deleteRow();
              
				    	for(var i=0;i<DATAflightNodes.length;i++){
								     var newTr = table1.insertRow(); 
										 newTr.bgColor = '#FFFFFF';
										 var newTd1 = newTr.insertCell(); 
										 newTd1.innerHTML =(i+1)+'、'+ '<input type=text id=' +DATAonode2.childNodes.item(5).text+(i+1)+' name=' +DATAonode2.childNodes.item(5).text+(i+1)+' class=input_blue size='+DATAonode2.childNodes.item(6).text+' value='+DATAonode2.childNodes.item(7).text+' style=background:#ffffff>'; 
								 }
				    }
				    else if (onode.text=="4"){
				    	onode = xmldoc1.selectSingleNode("//APP/TABNAME")
				    	var table1 =document.all[onode.text];
              var rows1=table.rows.length;
              for(var i=0;i<rows1;i++)table1.deleteRow();
              
				    	for(var i=0;i<DATAflightNodes.length;i++){
								     var newTr = table1.insertRow(); 
										 newTr.bgColor = '#FFFFFF';
										 var newTd1 = newTr.insertCell(); 
										 newTd1.innerHTML =(i+1)+'、'+ '附件名称:<input type=text id=' +DATAonode2.childNodes.item(5).text+(i+1)+' name=' +DATAonode2.childNodes.item(5).text+(i+1)+' class=input_blue size='+DATAonode2.childNodes.item(6).text+' style=background:#ffffff>   网络路径:<input type=text id=' +DATAonode2.childNodes.item(5).text+'lj'+(i+1)+' name=' +DATAonode2.childNodes.item(5).text+'lj'+(i+1)+' class=input_blue size='+(parseInt(DATAonode2.childNodes.item(6).text)+10)+' readonly><input class=bn type=button value=上传   style=\'position: relative; width: 50\' onmouseover=this.className=\'bn1\' onmouseout=this.className=\'bn\'>'; 
								 }
				    }
				 }
    	
		}
function DataProcWriteIni(sName,sXmlPath,sWhere){
	  var sFieldNameSz   =   new   Array();
	 	var sFieldTypeSz   =   new   Array();
	 	var sFieldValueSz   =   new   Array();
	 	var DATAonode,DATAonode2
	  var DATAflightNodes
	  var returnstr=""
	  var tabname=""
	  var FMDstr
	  var tempsWhere
	  var clcount
	  var FMDsz
	  var loopi
    var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
    xmldoc1.async 	= false
    //alert(sXmlPath)
    xmldoc1.load(sXmlPath)
    //alert(xmldoc1.xml)
    tabname = xmldoc1.selectSingleNode("//APP/TBNM").text
    DATAonode = xmldoc1.selectSingleNode("//APP/DTYPE")
    if (DATAonode.text=="1"){
				    DATAonode= xmldoc1.selectSingleNode("//APP/FDLT")
				    DATAflightNodes = DATAonode.childNodes
				    loopi=0
				    for(var i=0;i<DATAflightNodes.length;i++){
				    	 DATAonode2 = DATAflightNodes.item(i)
				    	 if(DATAonode2.getAttribute("FMD")!=null && DATAonode2.getAttribute("FMD")!=""){
				    	 	  FMDstr=DATAonode2.getAttribute("FMD")
				    	 	  FMDsz=FMDstr.split(",")
				    	 	  sFieldNameSz[loopi]=DATAonode2.getAttribute("NM")
				    	 	  sFieldTypeSz[loopi]=DATAonode2.getAttribute("TP")
				    	 	  sFieldValueSz[loopi]=document.getElementById(FMDsz[0]).value
				      	}
				      	else{
				      		 sFieldNameSz[loopi]=DATAonode2.getAttribute("NM")
				    	 	   sFieldTypeSz[loopi]=DATAonode2.getAttribute("TP")
				    	 	   sFieldValueSz[loopi]=DATAonode2.getAttribute("DEFAULT") 
				      	}
				    	  loopi++;
				    }
				    returnstr=DataToDatabaseAddFjEx(sFieldValueSz,sWhere,"6",sName,sFieldNameSz,sFieldTypeSz,tabname)
		}
		else if (DATAonode.text=="2"){
			  clcount=parseInt(document.getElementById(xmldoc1.selectSingleNode("//APP/CLCOUNT").text).value)
			  //alert(xmldoc1.selectSingleNode("//APP/CLCOUNT").text)
			  
			  DATAonode= xmldoc1.selectSingleNode("//APP/FDLT")
			  //alert(DATAonode.xml)
			  DATAflightNodes = DATAonode.childNodes
			  for(var i=0;i<clcount;i++){
			  	  //alert(DATAflightNodes.length)
			  	  //alert("xml="+DATAflightNodes.xml)
			  	  for(var j=0;j<DATAflightNodes.length;j++){
				    	 DATAonode2 = DATAflightNodes.item(j)
				    	 //alert(DATAflightNodes.xml)
				    	 //alert(DATAonode2.xml)
				    	 if(DATAonode2.getAttribute("FMD")!=null && DATAonode2.getAttribute("FMD")!=""){
				    	 	  FMDstr=DATAonode2.getAttribute("FMD")
				    	 	  FMDsz=FMDstr.split(",")
				    	 	  if (j==1)tempsWhere=sWhere+ " and "+DATAonode2.getAttribute("NM")+"='"+DATAonode2.getAttribute("FMD")+(i+1)+"'"
				    	 	  //alert(FMDsz[0])
				    	 	  if(DATAonode2.getAttribute("FMDTP")=="1"){
						    	 	  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    	 	  sFieldValueSz[j]=document.getElementById(FMDsz[0]).value;
						    	 	}
						    	else if(DATAonode2.getAttribute("FMDTP")=="2"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  sFieldValueSz[j]=DATAonode2.getAttribute("FMD")+(i+1);
						    	} 
						    	else if(DATAonode2.getAttribute("FMDTP")=="3"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  sFieldValueSz[j]=document.getElementById(DATAonode2.getAttribute("FMD")+(i+1)).value;
						    	} 
						    	else if(DATAonode2.getAttribute("FMDTP")=="4"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  if(document.getElementById(DATAonode2.getAttribute("FMD")+(i+1)).checked) sFieldValueSz[j]="1"
					            else  sFieldValueSz[j]="0"
						    	} 
				      	}
				      	else{
				      		 sFieldNameSz[j]=DATAonode2.getAttribute("NM")
				    	 	   sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
				    	 	   sFieldValueSz[j]=DATAonode2.getAttribute("DEFAULT") 
				      	}
				    }
				    if (returnstr=="")returnstr=DataToDatabaseAddFjEx(sFieldValueSz,tempsWhere,"6",sName,sFieldNameSz,sFieldTypeSz,tabname)
				    else  returnstr=returnstr+DataToDatabaseAddFjEx(sFieldValueSz,tempsWhere,"6",sName,sFieldNameSz,sFieldTypeSz,tabname) 
				 }
			   if (returnstr!="")returnstr="<APPLIST  action=\"XML_CL\">"+returnstr+"</APPLIST>"
		}
		else if (DATAonode.text=="3" || DATAonode.text=="4"){
			  clcount=document.all[xmldoc1.selectSingleNode("//APP/TABNAME").text].rows.length
			  DATAonode= xmldoc1.selectSingleNode("//APP/FDLT")
			  //alert(DATAonode.xml)
			  DATAflightNodes = DATAonode.childNodes
			  for(var i=0;i<clcount;i++){
			  	  //alert(DATAflightNodes.length)
			  	  //alert("xml="+DATAflightNodes.xml)
			  	  for(var j=0;j<DATAflightNodes.length;j++){
				    	 DATAonode2 = DATAflightNodes.item(j)
				    	 //alert(DATAflightNodes.xml)
				    	 //alert(DATAonode2.xml)
				    	 if(DATAonode2.getAttribute("FMD")!=null && DATAonode2.getAttribute("FMD")!=""){
				    	 	  FMDstr=DATAonode2.getAttribute("FMD")
				    	 	  FMDsz=FMDstr.split(",")
				    	 	  if (j==5)tempsWhere=sWhere+ " and "+DATAonode2.getAttribute("NM")+"='"+DATAonode2.getAttribute("FMD")+(i+1)+"'"
				    	 	  //alert(FMDsz[0])
				    	 	  if(DATAonode2.getAttribute("FMDTP")=="1"){
						    	 	  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    	 	  sFieldValueSz[j]=document.getElementById(FMDsz[0]).value;
						    	 	}
						    	else if(DATAonode2.getAttribute("FMDTP")=="2"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  sFieldValueSz[j]=(i+1)+DATAonode2.getAttribute("DEFAULT");
						    	} 
						    	else if(DATAonode2.getAttribute("FMDTP")=="3"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  sFieldValueSz[j]=DATAonode2.getAttribute("FMD")
						    	} 
						    	else if(DATAonode2.getAttribute("FMDTP")=="4"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  sFieldValueSz[j]=DATAonode2.getAttribute("FMD")+(i+1);
						    
						    	} 
						    	else if(DATAonode2.getAttribute("FMDTP")=="5"){
						    		  sFieldNameSz[j]=DATAonode2.getAttribute("NM")
						    	 	  sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
						    		  sFieldValueSz[j]=document.getElementById(DATAonode2.getAttribute("FMD")+(i+1)).value;
						    
						    	} 
				      	}
				      	else{
				      		 sFieldNameSz[j]=DATAonode2.getAttribute("NM")
				    	 	   sFieldTypeSz[j]=DATAonode2.getAttribute("TP")
				    	 	   sFieldValueSz[j]=DATAonode2.getAttribute("DEFAULT") 
				      	}
				    }
				    if (returnstr=="")returnstr=DataToDatabaseAddFjEx(sFieldValueSz,tempsWhere,"6",sName,sFieldNameSz,sFieldTypeSz,tabname)
				    else  returnstr=returnstr+DataToDatabaseAddFjEx(sFieldValueSz,tempsWhere,"6",sName,sFieldNameSz,sFieldTypeSz,tabname) 
				 }
			   if (returnstr!="")returnstr="<APPLIST  action=\"XML_CL\">"+returnstr+"</APPLIST>"
		}
    return returnstr
}
 function DataReportIni(sXmlPath,oReport){
 	  var DATAonode,DATAonode2,DATAonode3
	  var DATAflightNodes
	  var DATAflightNodes1
	  var returnstr=""
	  var temstr=""
	  var tempstr=""
	  var filename=""
	  var i,j,i1
	  var loopi
    var xmldoc1 		= new ActiveXObject("Microsoft.XMLDOM");
   
    xmldoc1.async 	= false;
    xmldoc1.load(sXmlPath);
    filename = "http://"+window.location.host+"/site/cxjsnew/wordmodel/"+xmldoc1.selectSingleNode("//APP/FIELNAME").text
    oReport.Titlebar=false;
	  oReport.Menubar=true;
	  oReport.Toolbars=true;
    //alert(filename)
    oReport.open(filename,true)
    oReport.ActiveDocument.ActiveWindow.View.ShowAll=false;
		oReport.ActiveDocument.ActiveWindow.View.ShowBookmarks=true;
		oReport.ActiveDocument.ActiveWindow.View.ShowHiddenText=true;
		oReport.ActiveDocument.ActiveWindow.View.ShowParagraphs=false;
    DATAonode= xmldoc1.selectSingleNode("//APP/FDLT")
    DATAflightNodes = DATAonode.childNodes
    for(i=0;i<DATAflightNodes.length;i++){
    	  //alert(DATAflightNodes.length)
    	  DATAonode2 = DATAflightNodes.item(i)
    	  //alert(DATAonode2.xml)
    	  if(oReport.ActiveDocument.Bookmarks.Exists(DATAonode2.getAttribute("BKM"))){
      	    if(DATAonode2.getAttribute("BKMTP")=="1"){
      	    	    var objrange =oReport.ActiveDocument.Bookmarks(DATAonode2.getAttribute("BKM")).Range;
			      	    if(DATAonode2.getAttribute("FMT")=="1")objrange.Text=document.getElementById(DATAonode2.getAttribute("NM")).value;
			      	    else if(DATAonode2.getAttribute("FMT")=="2"){
			      	    	 temstr=document.getElementById(DATAonode2.getAttribute("NM")).value;
			      	    	 if(temstr=="")temstr="1900-1-1"
					    			 var sz1=temstr.split(" ");
					    			 var sz2=sz1[0].split("-");
					    			 var ddate=new Date(sz2[0],parseInt(sz2[1])-1,sz2[2],"10","10","10");
					    			 //alert(temstr)
					    			 temstr=getFormatDate(ddate,"yyyy年mm月dd日");
					    			 objrange.Text=temstr
			      	    }
			      	    else if(DATAonode2.getAttribute("FMT")=="4"){
			      	    	 temstr=document.getElementById(DATAonode2.getAttribute("NM")).value;
			      	    	 if(temstr=="")temstr="1900-1-1"
			      	    	 //alert(temstr)
			      	    	 objrange.Text=baodate2chinese(temstr)
			      	    }
			      	    oReport.ActiveDocument.bookmarks.Add(DATAonode2.getAttribute("BKM"), objrange)
			      }
						 else if(DATAonode2.getAttribute("BKMTP")=="2"){
						        if(DATAonode2.getAttribute("FMT")=="3"){
						        	     //temstr=objrange.Text
						        	     //alert(tempstr)
						      	      //if(document.getElementById(DATAonode2.getAttribute("NM")).checked)objrange.Text="√"
						      	      //else  objrange.Text="□"
						      	      //oReport.ActiveDocument.Bookmarks(DATAonode2.getAttribute("BKM")).Select()
						      	      //tempstr=oReport.ActiveDocument.ActiveWindow.Selection.Text
						      	      //alert(tempstr)
						      	      tempstr=" "
						      	      if (document.getElementById(DATAonode2.getAttribute("NM")).checked){
						      	         oReport.ActiveDocument.Bookmarks(DATAonode2.getAttribute("BKM")).Select()
						      	         oReport.ActiveDocument.ActiveWindow.Selection.Delete();
						      	          //oReport.ActiveDocument.Bookmarks(DATAonode2.getAttribute("BKM")).Delete();
						      	        }
						      	      else {
						      	      	 oReport.ActiveDocument.Bookmarks(DATAonode2.getAttribute("BKM")+"_x").Select()
						      	         oReport.ActiveDocument.ActiveWindow.Selection.Delete();
						      	      }
						     	  }
						     	  //oReport.ActiveDocument.bookmarks.Add(DATAonode2.getAttribute("BKM"), objrange)
							}
							else if(DATAonode2.getAttribute("BKMTP")=="3"){
						        if(DATAonode2.getAttribute("FMT")=="1"){
						      	    tempstr=DATAonode2.getAttribute("QZ")
						      	    var curbkstr=DATAonode2.getAttribute("BKM")
						      	    var bksz=tempstr.split(",")
						      	    var curbksz=curbkstr.split("_")
						      	    for(var bki=0;bki<bksz.length;bki++){
						      	    	  //objrange =oReport.ActiveDocument.Bookmarks(curbksz[0]+"_"+bksz[bki]).Range;
						      	    	  //oReport.ActiveDocument.Bookmarks(curbksz[0]+"_"+bksz[bki]).Select()
						      	    	  //temstr=objrange.Text
						      	    	  //if (document.getElementById(DATAonode2.getAttribute("NM")).value==bksz[bki])objrange.Text="√"
						      	    	  //else objrange.Text="□"
						      	    	  if (document.getElementById(DATAonode2.getAttribute("NM")).value==bksz[bki]){
						      	    	  	    oReport.ActiveDocument.Bookmarks(curbksz[0]+"_"+bksz[bki]).Select()
						      	    	  	    oReport.ActiveDocument.ActiveWindow.Selection.Delete();
						      	    	  	   //oReport.ActiveDocument.ActiveWindow.Selection.TypeText("√")
						      	    	  	  }
						      	    	  else{
						      	    	  	//oReport.ActiveDocument.ActiveWindow.Selection.TypeText("□")
						      	    	  	    oReport.ActiveDocument.Bookmarks(curbksz[0]+"_"+bksz[bki]+"_x").Select()
						      	    	  	    oReport.ActiveDocument.ActiveWindow.Selection.Delete();
						      	    	  }
						      	    	  //oReport.ActiveDocument.bookmarks.Add(curbksz[0]+"_"+bksz[bki], objrange)
						      	    }
						     	  }
							}
							else if(DATAonode2.getAttribute("BKMTP")=="4"){
								 //var objrange =oReport.ActiveDocument.Bookmarks(DATAonode2.getAttribute("BKM")).Range;
								 if(DATAonode2.getAttribute("FMT")=="1"){
								 	   tempstr=DATAonode2.getAttribute("QZ")
								 	   var bksz=tempstr.split(",")
								 	   for(var bki=0;bki<bksz.length;bki++){
								 	   	  objrange =oReport.ActiveDocument.Bookmarks(bksz[bki]).Range;
								 	   	  objrange.Text=document.getElementById(DATAonode2.getAttribute("NM")).value;
								 	   	  oReport.ActiveDocument.bookmarks.Add(bksz[bki], objrange)
								 	  } 
								 }
							}
      	    
      	  }
    }
 	  DATAonode= xmldoc1.selectSingleNode("//APP/FDLTLST")
    DATAflightNodes = DATAonode.childNodes
    for(i=0;i<DATAflightNodes.length;i++){
    	  DATAonode2 = DATAflightNodes.item(i)
    	  if(DATAonode2.getAttribute("TBID")!="TEST"){
    	  	 //alert(DATAonode2.getAttribute("TBINS"))
    	    if(DATAonode2.getAttribute("TBTYPE")!=null && DATAonode2.getAttribute("TBTYPE")!=""){
    	     	 var TableIndex=DATAonode2.getAttribute("TBINS")
    	    	 var objTable=oReport.ActiveDocument.Tables(TableIndex)
    	    	 var reccount=document.all[DATAonode2.getAttribute("TBID")].rows.length
    	    	 var hhline=0
    	  	 if(DATAonode2.getAttribute("STARTLIN")!=null)hhline=parseInt(DATAonode2.getAttribute("STARTLIN"))
    	  	 for (i1=0;i1<reccount;i1++){  
    	  	 	     if(DATAonode2.getAttribute("STARTLIN")!=null){
    	  	 	       if(i1>0){
					     	   	   oReport.ActiveDocument.Tables(TableIndex).Rows(hhline+1).Select();
					     	   	   //objTable.Rows(i1+1).Select();
											 oReport.ActiveDocument.ActiveWindow.Selection.InsertRowsBelow();
										}
    	  	 	     }
    	  	 	     else{ 
				    	  	 if(oReport.ActiveDocument.Tables(TableIndex).Rows.Count==(hhline+1)){
					     	   	   oReport.ActiveDocument.Tables(TableIndex).Rows(hhline+1).Select();
					     	   	   //objTable.Rows(i1+1).Select();
											 oReport.ActiveDocument.ActiveWindow.Selection.InsertRowsBelow();
										}
									}
			    	     DATAflightNodes1= DATAonode2.childNodes
			    	     for(j=0;j<DATAflightNodes1.length;j++){
			    	     	   DATAonode3 = DATAflightNodes1.item(j)
			    	     	   //alert(htmlonode2.xml)
			    	     	   
					    	     	   if(DATAonode3.getAttribute("FMT")=="2")objTable.Cell(hhline+2,j+1).Range.Text =i1+"";
					    	         else if(DATAonode3.getAttribute("FMT")=="3"){
								    			 objTable.Cell(i1+2,j+1).Range.Text =document.getElementById(DATAonode2.getAttribute("TBID")+"Row"+(i1+1)).value
						      	    }
						      	  
			    	     }
			    	     hhline++;
    	      }
    	    }
    	    else{
    	  	 var TableIndex=DATAonode2.getAttribute("TBINS")
    	  	 var objTable=oReport.ActiveDocument.Tables(TableIndex)
    	  	  //alert(DATAonode2.getAttribute("TBINS"))
    	  	 var xmldoc2 		= new ActiveXObject("Microsoft.XMLDOM");
    	  	 xmldoc2.async 	= false;
    	  	 tempstr="<tbody>"+document.getElementById(DATAonode2.getAttribute("TBID")).innerHTML+"</tbody>"
    	  	 //tempstr=tempstr.replace(" id="," id=\"")
    	  	 //tempstr=tempstr.replace(" align=left","\" align=\"left\"")
    	  	 //tempstr=tempstr.replace("align=middle","align=\"middle\"")
    	  	 tempstr=replaceCharacters(tempstr," id="," id=\"")
    	  	 tempstr=replaceCharacters(tempstr," align=left","\" align=\"left\"")
    	  	 tempstr=replaceCharacters(tempstr,"align=middle","align=\"middle\"")
    	  	 tempstr=replaceCharacters(tempstr,"BACKGROUND-COLOR: #ffffff\"\"","BACKGROUND-COLOR: #ffffff\"")
    	  	 tempstr=replaceCharacters(tempstr," style=\"CURSOR:","\" style=\"CURSOR:")
    	  	 tempstr=replaceCharacters(tempstr,"&nbsp;"," ")
    	  	 tempstr=replaceCharacters(tempstr,"<BR>","\n")
    	  	 tempstr=replaceCharacters(tempstr,"<br>","\n")
    	  	// prompt("w",tempstr)
    	  	 xmldoc2.loadXML(tempstr)
    	  	 //var htmlTable=document.getElementById(DATAonode2.getAttribute("TBID"))
    	  	// alert(xmldoc2.xml)
    	  	 var htmlNode=xmldoc2.selectSingleNode("//tbody")
    	  	 //alert(htmlNode.xml)
    	  	 var htmlflightNodes= htmlNode.childNodes
    	  	 var hhline=0
    	  	 if(DATAonode2.getAttribute("STARTLIN")!=null)hhline=parseInt(DATAonode2.getAttribute("STARTLIN"))
    	  	 for (i1=0;i1<htmlflightNodes.length;i1++){  
    	  	 	     var htmlonode2 = htmlflightNodes.item(i1) 	
    	  	 	     if(DATAonode2.getAttribute("STARTLIN")!=null){
    	  	 	       if(i1>0){
					     	   	   oReport.ActiveDocument.Tables(TableIndex).Rows(hhline+1).Select();
					     	   	   //objTable.Rows(i1+1).Select();
											 oReport.ActiveDocument.ActiveWindow.Selection.InsertRowsBelow();
										}
    	  	 	     }
    	  	 	     else{ 
				    	  	 if(oReport.ActiveDocument.Tables(TableIndex).Rows.Count==(hhline+1)){
					     	   	   oReport.ActiveDocument.Tables(TableIndex).Rows(hhline+1).Select();
					     	   	   //objTable.Rows(i1+1).Select();
											 oReport.ActiveDocument.ActiveWindow.Selection.InsertRowsBelow();
										}
									}
			    	     DATAflightNodes1= DATAonode2.childNodes
			    	     for(j=0;j<DATAflightNodes1.length;j++){
			    	     	   DATAonode3 = DATAflightNodes1.item(j)
			    	     	   //alert(htmlonode2.xml)
			    	     	   
					    	     	   if(DATAonode3.getAttribute("FMT")=="1")objTable.Cell(hhline+2,j+1).Range.Text =htmlonode2.childNodes.item(DATAonode3.getAttribute("FDINS")).text;
					    	         else if(DATAonode3.getAttribute("FMT")=="2"){
						      	    	 temstr=DATAonode3.getElementsByTagName('td')[DATAonode3.getAttribute("FDINS")].innerHTML;
						      	    	 if(temstr=="")temstr="1900-1-1"
								    			 var sz1=temstr.split(" ");
								    			 var sz2=sz1[0].split("-");
								    			 var ddate=new Date(sz2[0],parseInt(sz2[1])-1,sz2[2],"10","10","10");
								    			 temstr=getFormatDate(ddate,"yyyy年mm月dd日");
								    			 objTable.Cell(i1+2,j+1).Range.Text =temstr
						      	    }
						      	  
			    	     }
			    	     hhline++;
    	      }
    	     }
    	     
    	  }
    }
}
//====字符串替换函数=====
function   replaceCharacters(conversionString,inChar,outChar)   
  {   
      var   convertedString   =   conversionString.split(inChar);   
      convertedString   =   convertedString.join(outChar);   
      return   convertedString;   
  }   

//========把数字日期转换成中文日期=============================

  function num2chinese(s)
  {
   var chinese = ['〇','一','二','三','四','五','六','七','八','九'];
   var len = ['十'];
   
   //将单个数字转成中文.
    s=""+s;
    slen = s.length;
    var result="";
    for(var i=0;i<slen;i++)
    {
        result+=chinese[s.charAt(i)];
    }
     return result;
  }

  function n2c(s)
  { 
    var chinese = ['〇','一','二','三','四','五','六','七','八','九'];
    var len = ['十'];
    //对特殊情况进行处理.
    s=""+s;
    var result="";
    if(s.length==2)
    {
         if(s.charAt(0)=="1")
         {
            if(s.charAt(1)=="0")return len[0];
            return len[0]+chinese[s.charAt(1)];
          }
     if(s.charAt(1)=="0")return chinese[s.charAt(0)]+len[0];
        return chinese[s.charAt(0)]+len[0]+chinese[s.charAt(1)];
     }
     return num2chinese(s)
  }
  function baodate2chinese(s)
  {
     var ydm =['年','月','日'];
     //验证输入的日期格式.并提取相关数字.
     var datePat = /^(\d{2}|\d{4})(\/|-)(\d{1,2})(\2)(\d{1,2})$/; 
     var matchArray = s.match(datePat); 
     var ok="";
     if (matchArray == null) return false;
     for(var i=1;i<matchArray.length;i=i+2)
     {
         ok+=n2c(matchArray[i]-0)+ydm[(i-1)/2];
     }
   return ok;
  }
  //====日期转换结束
//新增行
function addInputboxRow(objname,InputboxId,InputboxSize)
{
 var rows=document.all[objname].rows.length;
 var num=rows+1;
 var newTr = document.all[objname].insertRow(); 
 newTr.bgColor = '#FFFFFF';
 var newTd1 = newTr.insertCell(); 
 newTd1.innerHTML =num+'、'+ '<input type=text id=' +InputboxId+num+' name=' +InputboxId+num+' class=input_blue size='+InputboxSize+' style=background:#ffffff>'; 
}
//删除行
function delInputboxRow(objname,MinLines) {//删除一行
 var table =document.all[objname];
 var rows=table.rows.length;
 if(rows>MinLines){
  table.deleteRow();}
 else{alert("必需输入"+MinLines+"条！");}
}
function addInputboxRowfj(objname,InputboxId,InputboxSize)
{
 var rows=document.all[objname].rows.length;
 var num=rows+1;
 var newTr = document.all[objname].insertRow(); 
 newTr.bgColor = '#FFFFFF';
 var newTd1 = newTr.insertCell(); 
 newTd1.innerHTML =num+'、'+ '附件名称:<input type=text id=' +InputboxId+num+' name=' +InputboxId+num+' class=input_blue size='+InputboxSize+' style=background:#ffffff>   网络路径:<input type=text id=' +'L'+InputboxId+num+' name=' +'L'+InputboxId+num+' class=input_blue size='+(InputboxSize+10)+' readonly><a id=' +'A'+InputboxId+num+' href=#>'+' '+'下载</a><input class=bn type=button value=上传   style=\'position: relative; width: 50\' onclick=dzwj_upload(\''+InputboxId+num+'\') onmouseover=this.className=\'bn1\' onmouseout=this.className=\'bn\'>'; 
 newTd1.innerHTML =newTd1.innerHTML +'<input type=hidden name=' +'H'+InputboxId+num+'>'
}
//删除行
function delInputboxRowfj(objname,MinLines) {//删除一行
 var table =document.all[objname];
 var rows=table.rows.length;
 if(rows>MinLines){
  table.deleteRow();}
 else{alert("必需输入"+MinLines+"条！");}
}
