
function GetUrlFirstPart()
{
	var tmp12345 = location.pathname ;
	tmp12345 = tmp12345.substring(0,tmp12345.indexOf("/",1));
	if(tmp12345.substring(0,1) != "/") tmp12345 = "/" +tmp12345;
	return tmp12345;
}
function $(elementID)
{
	return document.getElementById(elementID);
}
String.prototype.trimLeft = function()
{
	return this.replace(/^\s*/, "");
}
String.prototype.trimRight = function()
{
	return this.replace(/\s*$/, "");
}
String.prototype.trim = function()
{
	return this.trimRight().trimLeft();
}
Array.prototype.add = function(item)
{
	this.push(item);
}
Array.prototype.addRange = function(items)
{
	var length = items.length;
	if (length != 0)
	{
		for (var index = 0; index < length; index++)
		{
			this.push(items[index]);
		}
	}
}
Array.prototype.clear = function()
{
	if (this.length > 0)
	{
		this.splice(0, this.length);
	}
}
Array.prototype.clone = function()
{
	var clonedArray = [];
	var length = this.length;
	for (var index = 0; index < length; index++)
	{
		clonedArray[index] = this[index];
	}
	return clonedArray;
}
Array.prototype.contains = function(item)
{
	var index = this.indexOf(item);
	return (index >= 0);
}
Array.prototype.dequeue = function()
{
	return this.shift();
}
Array.prototype.indexOf = function(item)
{
	var length = this.length;
	if (length != 0)
	{
		for (var index = 0; index < length; index++)
		{
			if (this[index] == item)
			{
				return index;
			}
		}
	}
	return -1;
}
Array.prototype.insert = function(index, item)
{
	this.splice(index, 0, item);
}
Array.prototype.queue = function(item)
{
	this.push(item);
}
Array.prototype.remove = function(item)
{
	var index = this.indexOf(item);
	if (index >= 0)
	{
		this.splice(index, 1);
	}
}
Array.prototype.removeAt = function(index)
{
	this.splice(index, 1);
}
StringBuilder = function(initialText)
{
	var _parts = new Array();
	if (( typeof (initialText) == 'string') && (initialText.length != 0))
	{
		_parts.add(initialText);
	}
	this.append = function(text)
	{
		if ((text == null) || ( typeof (text) == 'undefined'))
		{
			return;
		}
		if (( typeof (text) == 'string') && (text.length == 0))
		{
			return;
		}
		_parts.add(text);
	}
	this.appendLine = function(text)
	{
		this.append(text);
		_parts.add('\r\n');
	}
	this.clear = function()
	{
		_parts.clear();
	}
	this.isEmpty = function()
	{
		return (_parts.length == 0);
	}
	this.toString = function(delimiter)
	{
		delimiter = delimiter || '';
		return _parts.join(delimiter);
	}
}
var oPubPopup = window.createPopup();
var oPubPopupBody = oPubPopup.document.body;
function ShowWait(displaystr)
{
	if(displaystr=="end") 
	{
		oPubPopup.hide() ;
	}
	else
	{
		if(event != null)
		{
			if(event.srcElement != null)
			{
				if(event.srcElement.tagName.toUpperCase() == "SELECT" ) return;
			}
		}
		var strHTML ="" ;
		strHTML+="<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><td width=0%></td>";
		strHTML+="<TD bgcolor=#ff9900><TABLE WIDTH=100% height=60 BORDER=0 CELLSPACING=2 CELLPADDING=0>";
		strHTML+="<TR><td bgcolor=#eeeeee align=center>"+displaystr+"</td></tr></table></td>";
		strHTML+="<td width=0%></td></tr></table>";
		oPubPopupBody.innerHTML = strHTML ;
		var iwidth=300 ;
		var iheight=60 ;
		var ileft=(screen.availWidth-iwidth)/2 ;
		var itop=(screen.availHeight- iheight)/2 ;
		oPubPopup.show( ileft,itop, iwidth, iheight);
	}
}
function SaveUserData(Main,Sub,strContent)
{
	
	try
	{
		userData=parent.pubdata.oForm.oInput ;
	}
	catch(e)
	{
		return;
	}
	userData.setAttribute(Main+userData.value,strContent) ;
	userData.save(Sub+userData.value) ;
	
}
function LoadUserData(Main,Sub)
{
	try
	{
		userData=parent.pubdata.oForm.oInput ;
	}
	catch(e)
	{
		return "";
	}
	userData.load(Sub+userData.value)   ;
	var sTmp=userData.getAttribute(Main+userData.value) ;
	if (sTmp==null) {sTmp="" ; }
	return sTmp ;
}
function num(str1)
{
	var s1=trim(str1);
	var f1=parseFloat(s1);
	if(isNaN(f1)) {return 0;}
	return f1;
}
function ToInt(str1)
{
	var s1=trim(str1);
	if(s1.charAt(0)=="0") s1 = s1.substring(1,s1.length);
	var f1=parseInt(s1);
	if(isNaN(f1)) {return 0;}
	return f1;
}
function ContDec(sValue,sPointNum) 
{
	var dblValue=parseFloat(sValue) ;
	if (isNaN(dblValue)) {return sValue ;}
	var iPointNum=parseInt(sPointNum);
	if (isNaN(iPointNum)) { iPointNum=0 ;}
	if (iPointNum>9){ iPointNum=9 ;}
	if (iPointNum<0){ iPointNum=0 ;}
	var dbl1=Math.round(dblValue*Math.pow(10,iPointNum))/Math.pow(10,iPointNum) ;
	var s1=dbl1+"" ;
	var num0=0 ;
	if(s1.indexOf(".")==-1)
	{
		num0=iPointNum ;
	}
	else 
	{
			var num1=s1.length-s1.indexOf(".")-1 ;
			if(num1<iPointNum )
			{
				num0=iPointNum-num1 ;
			}
	}
	if (num0>0) 
	{
		var s2="000000000000000" ;
		if(num0==iPointNum) 
		{
			s1=s1+"."+s2.substring(0,num0) ;
		}
		else 
		{
			s1=s1+s2.substring(0,num0);
		}
	}
	return s1 ;
}
function isTrue(svalue) 
{
	if(svalue == false || svalue == "false" || svalue == "False" || svalue == "no"  || svalue == 0  || svalue == "0"  || svalue == "off"  || svalue == "否" || svalue == "假" || svalue == "" )
		return false;
	else
		return true ;
}
function isSpace(strMain)
{
	var strComp=strMain;
	try
	{
		if (strComp=="　" || strComp=="" || strComp==" " || strComp==null || strComp=="null" || strComp.length==0 || typeof strMain == "undefined" || strMain == "undefined" ) 
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	catch(e)
	{
		return false; 
	}
}
function trim(strMain) 
{
	if (strMain==null) {return "";}
	strMain=strMain+"";
	return strMain.trim();
}　　
function repStr(mainStr,findStr,replaceStr)
{
	if(typeof mainStr=="undefined" || mainStr == null) {return "";}
	var convertedString = mainStr.split(findStr);
	convertedString = convertedString.join(replaceStr);
	return convertedString;
}
function repNewLine(sRun) 
{
	return RepStr(sRun,"\r\n","&#13;&#10;");
}
function unRepNewLine(sRun) 
{
	return RepStr(sRun,"&#13;&#10;","\r\n");
}
function repXml(sRun) 
{
	sRun=RepStr(sRun,"&","&amp;");
	sRun=RepStr(sRun,">","&gt;");
	sRun=RepStr(sRun,"<","&lt;");
	return sRun ;
}
function UnRepXml(sSql) 
{
	sSql = RepStr(sSql,"&lt;","<") ;
	sSql = RepStr(sSql,"&gt;",">");
	sSql = RepStr(sSql,"&amp;","&");
	return sSql ;
}
function ChangeToBig(value)
{
	var intFen,i;
	var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;
	if(trim(value)=="")
	{
		return "零";
	}
	if (isNaN(value))
	{
		strErr = "数据"+value+"非法！";
		alert(strErr);
		return "";
	}
	strCheck = value+".";
	strArr = strCheck.split(".");
	strCheck = strArr[0];
	var len = strCheck.length ;
	if(len > 12)
	{
		strErr = "数据"+value+"过大，无法处理！";
		alert(strErr);
		return "";
	}
	try
	{
		i = 0;
		strBig = "";
		var s00="00";
		var svalue = value+"";
		var ipos = svalue.indexOf(".") ;
		var iiLen = svalue.length;
		if(ipos<0)
		{
			strFen = svalue+"00";
		}
		else if(ipos==iiLen-2)
		{
			strFen = svalue.substring(0,iiLen-2)+svalue.substring(iiLen-1,iiLen)+"0";
		}
		else if(ipos==iiLen-3)
		{
			strFen = svalue.substring(0,iiLen-3)+svalue.substring(iiLen-2,iiLen);
		}else
		{
			strFen = svalue.substring(0,ipos)+svalue.substring(ipos+1,ipos+3);
		}
		intFen = strFen.length;
		strArr = strFen.split("");
		while(intFen!=0)
		{
			i = i+1;
			switch(i)
			{
				case 1:strDW = "分";break;
				case 2:strDW = "角";break;
				case 3:strDW = "元";break;
				case 4:strDW = "拾";break;
				case 5:strDW = "佰";break;
				case 6:strDW = "仟";break;
				case 7:strDW = "万";break;
				case 8:strDW = "拾";break;
				case 9:strDW = "佰";break;
				case 10:strDW = "仟";break;
				case 11:strDW = "亿";break;
				case 12:strDW = "拾";break;
				case 13:strDW = "佰";break;
				case 14:strDW = "仟";break;
			}
			switch (strArr[intFen-1])
			{
				case "1":strNum = "壹";break;
				case "2":strNum = "贰";break;
				case "3":strNum = "叁";break;
				case "4":strNum = "肆";break;
				case "5":strNum = "伍";break;
				case "6":strNum = "陆";break;
				case "7":strNum = "柒";break;
				case "8":strNum = "捌";break;
				case "9":strNum = "玖";break;
				case "0":strNum = "零";break;
			}
			strNow = strBig.split("");
			if((i==1)&&(strArr[intFen-1]=="0"))
			{
				strBig = "整";
			}
			else if((i==2)&&(strArr[intFen-1]=="0"))
			{
				if(strBig!="整")
					strBig = "零"+strBig;
			}
			else if((i==3)&&(strArr[intFen-1]=="0"))
			{
				strBig = "元"+strBig;
			}
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
			{
				strBig = "零"+strBig;
			}
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
			{}
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
			{}
			else if((i==7)&&(strArr[intFen-1]=="0"))
			{
				strBig ="万"+strBig;
			}
			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
			{
				strBig = "零"+strBig;
			}
			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
			{}
			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
			{}
			else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
			{
				strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
			}
			else if(i==11)
			{
				if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
				{
					strBig ="亿"+"零"+strBig.substring(1,strBig.length);
				}
				else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟"))
				{
					strBig ="亿"+strBig.substring(1,strBig.length);
				}
				else if((strNow[0]=="万")&&(strNow[2]=="仟"))
				{
					strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);
				}
				else if((strNow[0]=="万")&&(strNow[2]!="仟"))
				{
					strBig = strNum+strDW+strBig.substring(1,strBig.length);
				}	
				else 
				{
					strBig = strNum+strDW+strBig;
				}
			}
			else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))
			{
				strBig = "零"+strBig;
			}
			else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))
			{}
			else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
			{}
			else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
			{
				strBig = strNum+strDW+strBig.substring(1,strBig.length);
			}
			else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))
			{
				strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);
			}
			else
			{
				strBig = strNum+strDW+strBig;
			}
			strFen = strFen.substring(0,intFen-1);
			intFen = strFen.length;
			strArr = strFen.split("");
		}
		if(strBig=="整") {strBig="零";}
		return strBig;
	}
	catch(err)
	{
		return "";
	}
}
function SqlToField(sql) 
{
	var sXml="<No>"+RepXml(sql)+"</No>";
	var retX=SendHttp(location.protocol+"//"+location.host + fcpubdata.servletPath + "/WebBill"+fcpubdata.dotnetVersion+"?SqlToField",sXml);
	return retX	;
}
function RepOpenSql(sql,slikevalue) 
{
	if(isSpace(sql)){ return ""; }
	if(fcpubdata.databaseTypeName == "mysql")
	{
		sql=trim(sql);
		if(sql.substring(0,4).toUpperCase() == "EXEC")
		{
			alert("因mysql数据库不支持存储过程!故无法使用此功能!");
			return sql;
		}
	}
	sql=repStr(sql,"\r\n"," ");
	var posStart=0;
	var posEnd=0;
	var ret="";
	var re = new RegExp();
	re.compile("(:[a-zA-Z0-9_\.\$]*)([), =+%']|$|\s)","gi");
	var sInput=sql;
	var nextpoint=0;
	while ((arr = re.exec(sInput)) != null) 
	{
		posEnd=arr.index;
		var s1=RegExp.$1;
		var sRep="";
		if(s1==":get_userid")
		{
			sRep="'"+trim(getuser())+"'";
		}
		else if(s1==":v_get")
		{
			sRep=slikevalue;
		}
		else if(s1==":get_date")
		{
			sRep="'"+getdate()+"'";
		}
		else if(s1==":get_time")
		{
			sRep="'"+getTime()+"'";
		}
		else if(s1==":get_datetime")
		{
			sRep="'"+getdatetime()+"'";
		}
		else if(s1.substring(0,2) == ":$")
		{
			sRep= eval(s1.substring(2,s1.length)) ;
			sRep=sRep;
		}
		else 
		{
			var arr2=s1.split(".");
			if(arr2.length == 1)
			{
				if(s1 == ":pubdjbh")
				{
					sRep="'"+pubdjbh+"'";
				}
				else
				{
					sRep=s1;
				}
			}
			else 
			{
				var stmp1=arr2[0].substring(1,arr2[0].length);
				var oDs=eval(stmp1);
				if(oDs != null) 
				{
					if(oDs.Empty=="null")
					{
						sRep="''";
					}
					else 
					{
						try
						{
							sRep="'"+oDs.Fields.Field[arr2[1]].Value+"'";
						}
						catch(E)
						{
							alert(stmp1+"中不存在字段"+arr2[1]);sRep="'"+"'";
						}
					}
				}
			}
		}
		ret+=sql.substring(posStart+nextpoint,posEnd+nextpoint);
		ret+=sRep;
		posStart=arr.index+s1.length;
	}
	if(ret == "")
	{
		ret=sql;
	}
	else if(posStart<=sql.length) 
	{
		ret+=sql.substring(posStart,sql.length);
	}
	if(isSpace(ret)) 
	{ 
		ret="" ;
	}
	return ret;
}
function inserts(sSql) 
{
	var retX=SendHttp(location.protocol+"//"+location.host + fcpubdata.servletPath + "/WebBill"+fcpubdata.dotnetVersion+"?inserts",sSql);
	return retX;
}
function fc_insert(sSql) 
{
	if(fcpubdata.databaseTypeName == "mysql" && sSql.substring(0,4).toUpperCase() == "EXEC" )
	{
		alert("因mysql数据库不支持存储过程!故无法使用此功能!");
		return "";
	}
	var sXml="<No>"+sSql+"</No>";
	var retX=SendHttp(location.protocol+"//"+location.host+ fcpubdata.servletPath + "/WebBill"+fcpubdata.dotnetVersion+"?fc_insert",sXml);
	return retX;
}
function fc_select(sSql,PageNo,PageSize) 
{
	if(fcpubdata.databaseTypeName == "mysql" && sSql.substring(0,4).toUpperCase() == "EXEC" )
	{
		alert("因mysql数据库不支持存储过程!故无法使用此功能!");
	}
	var sql1 = RepXml(sSql) ;
	var sXml="<No>"+sql1+"</No>"+"<No1>"+PageNo+"</No1>"+"<No2>"+PageSize+"</No2>";
	var retX=SendHttp(location.protocol+"//"+location.host+ fcpubdata.servletPath + "/WebBill"+fcpubdata.dotnetVersion+"?fc_select",sXml);
	return retX;
}
function curDate() 
{
	var dDate=new Date();
	var s1=""+dDate.getYear();
	var s2=dDate.getMonth()+1;
	if (s2<10) 
	{
		s2="0"+s2;
	}
	else 
	{
		s2=""+s2;
	}
	var s3=dDate.getDate();
	if (s3<10) 
	{
		s3="0"+s3;
	}
	else
	{
		s3=""+s3;
	}
	return s1+"-"+s2+"-"+s3 ;
}
function getdate()
{
	if(fcpubdata.databaseTypeName != "sqlserver") return curDate() ;
	var sql="select convert(varchar(10),getdate(),20) ";
	var s1=SqlToField(sql);
	return s1;
}
function curTime()
{
	var s1="";
	var c = ":";
	var d = new Date();
	var iHours=d.getHours() ;
	var iMinutes=d.getMinutes() ;
	if(iHours<10)
	{
		iHours="0"+iHours;
	}
	else
	{
		iHours=""+iHours;
	}
	if(iMinutes<10)
	{
		iMinutes="0"+iMinutes;
	}
	else
	{
		iMinutes=""+iMinutes;
	}
	s1= iHours + c;
	s1+= iMinutes;
	return s1;
}
function curDateTime()
{
	var s1=curDate()+" ";
	var c = ":";
	var d = new Date();
	var iHours=d.getHours() ;
	var iMinutes=d.getMinutes() ;
	var iSeconds=d.getSeconds() ;
	if(iHours<10)
	{
		iHours="0"+iHours;
	}
	else
	{
		iHours=""+iHours;
	}
	if(iMinutes<10)
	{
		iMinutes="0"+iMinutes;
	}
	else
	{
		iMinutes=""+iMinutes;
	}
	if(iSeconds<10)
	{
		iSeconds="0"+iSeconds;
	}
	else
	{
		iSeconds=""+iSeconds;
	}
	s1+= iHours + c;
	s1+= iMinutes + c;
	s1+= iSeconds ;
	return s1;
}
function CopyToPub(str)
{
	window.clipboardData.setData("Text",str);
}
function Trim(strMain)
{
	return trim(strMain);
}
function SelectSql(sSql,PageNo,PageSize)
{
	return fc_select(sSql,PageNo,PageSize);
}
function InsertSql(sSql)
{
	return fc_insert(sSql);
}
function InsertSqls(sSql)
{
	return inserts(sSql);
}
function GetDate()
{
	return getdate();
}
function RepStr(mainStr,findStr,replaceStr)
{
	return repStr(mainStr,findStr,replaceStr);
}
function IsSpace(strMain)
{
	return isSpace(strMain);
}
function RepXml(sSql)
{
	return repXml(sSql);
}
function unRepXml(sSql)
{
	return UnRepXml(sSql);
}
function Num(str1)
{
	return num(str1);
}
function IsTrue(svalue)
{
	return isTrue(svalue);
}
function SetDom(sXml) 
{
	var oXml=new ActiveXObject("Microsoft.XMLDOM");
	oXml.async=false;
	oXml.loadXML (sXml);
	return oXml;
}
function SetDomFile(sPath) 
{
	var oXml ;
	try
	{
		oXml=new ActiveXObject("Msxml2.DOMDocument");
	}
	catch(e)
	{
	}
	if(typeof oXml == "undefined") oXml=new ActiveXObject("Microsoft.XMLDOM");
	oXml.async=false;
	oXml.load (sPath);
	return oXml;
}
function RemoveRoot(strX)
{
	if (strX.length>13)
	{
		strX=strX.substring(6,strX.length-7);
		return strX;
	}
	else 
	{
		return "";
	}
}
function CssPart(csstext)
{
	if(typeof csstext == "undefined" ) return "";
	var sRet="";
	var arr=csstext.split(";");
	var l=arr.length;
	for(var i=0;i<l;i++)
	{
		var arr1=arr[i].split(":");
		if(arr1.length != 2) continue ;
		var stitle=trim(arr1[0]);
		var svalue=trim(arr1[1]);
		if(stitle == "FONT-WEIGHT" || stitle == "FONT-SIZE" || stitle == "COLOR" || stitle == "FONT-STYLE" || stitle == "FONT-FAMILY" || stitle == "BACKGROUND-COLOR" || stitle =="TEXT-DECORATION" )
		{
			sRet+=stitle+":"+svalue+";"	;
		}
	}
	return sRet;
}
function ClearCssPart(obj,attrNameJs,attrName) 
{
	if(typeof(obj) == "undefined" || typeof(attrName) == "undefined") return ;
	eval("obj.style."+attrNameJs+"='';") ;
	var s1 =  obj.style.cssText ;
	attrName = attrName.toUpperCase() ;
	obj.style.cssText = RepStr(s1,attrName,"") ;
}
function HaveUpload() 
{
	try
	{
		var s1=upload1.id;
		if(s1!="upload1") {return false;}
	}
	catch(e)
	{
		return false;
	}
	return true;
}
function getMaxNo(sTag,strMK) 
{
	return SendHttp(location.protocol+"//"+location.host+ fcpubdata.servletPath + "/WebBill"+fcpubdata.dotnetVersion+"?getRecnum","<no>"+sTag+"</no>");
}
function getMaxIntNo(sTag) 
{
	return SendHttp(location.protocol+"//"+location.host+ fcpubdata.servletPath + "/WebBill"+fcpubdata.dotnetVersion+"?getMaxIntNo","<no>"+sTag+"</no>");
}
function getAbsLeft(e)
{
	var l=e.offsetLeft;
	while(e=e.offsetParent)
	{
		if(e.style.position != "absolute")
		{
			l+=e.offsetLeft;
		}
		else
		{
			l +=e.style.pixelLeft;
		}
	}
	return l;
}
function getAbsTop(e)
{
	var t=e.offsetTop;
	while(e=e.offsetParent)
	{
		if(e.style.position != "absolute")	
		{
			t += e.offsetTop;
		}
		else
		{
			t += e.style.pixelTop;
		}
	}
	return t;
}
function getPosLeft(e)
{
	var l=e.offsetLeft;
	while(e=e.parentNode)
	{
		l+=e.offsetLeft;
	}
	return l;
}
function getPosTop(e)
{
	var t=e.offsetTop;
	while(e=e.parentNode)
	{
		t+=e.offsetTop;
	}
	return t;
}
function uploadImg()
{
	var oImg=event.srcElement;
	if(oImg.isContentEditable) return;
	var arr = window.showModalDialog(fcpubdata.Path+"/fceform/common/uploadimgmain.htm",oImg,"scroll:no;status:no;dialogHeight:150px;dialogWidth:350px;dialogTop:180;dialogLeft:250px") ;
	if(typeof arr == "undefined") return;
	var ods=GetDsMainObj();
	if(ods != null) 
	{
		ods.Fields.Field[oImg.field].Value=arr[2];
		ods.Fields.Field[oImg.field].valid="变";
	}
}
function GetDsMain(bUseSelect) 
{
	var sRet = "DsMain" ;
	if(bUseSelect == true ) 
	{
		var oContXml = SetDom(Parent.SKbillsheet.contxml);
	}
	else
	{
		var oContXml = SetDom(SKbillsheet.contxml);
	}
	var oNode = oContXml.documentElement.selectSingleNode("grid") ;
	var oNodeDs = oContXml.documentElement.selectSingleNode("dataset") ;
	if(oNodeDs != null )
	{
		for(var i=0;i<oNodeDs.childNodes.length;i++)
		{
			if(oNodeDs.pubpara == "是") continue ;
			var bool = false ;
			var s = oNodeDs.childNodes(i).text;
			if(oNode != null )
			{
				for(var j=0;j<oNode.childNodes.length;j++)
				{
					var s1 = oNode.childNodes(j).text ;
					if(bUseSelect == true ) s1="Parent."+s1;
					var otmp = eval(s1) ;
					if(s == otmp.dataset )
					{
						bool=true;
						break;
					}
				}
			}
			if(bool == false)
			{
				var s1=oNodeDs.childNodes(i).text ;
				if(bUseSelect == true ) s1="Parent."+s1 ;
				sRet = eval(s1).id;
				break;
			}
		}
	}
	return sRet ;
}
function GetDsMainObj() 
{
	var bErr = false ;
	try 
	{
		var obj = eval(fcpubvar.DsMain);
		if(typeof obj == "undefined")
		{
			obj = eval("window."+fcpubvar.DsMain);
		}
	}
	catch(e)
	{ 
		bErr = true;
	}
	if(bErr)
	{
		fcpubvar.DsMain = GetDsMain(false) ;
		try
		{
			var obj = eval(fcpubvar.DsMain);
			if(typeof obj == "undefined")
			{
				obj = eval("window."+fcpubvar.DsMain);
			}
		}
		catch(e)
		{ 
			return null ;
		}
	}
	return obj;
}
function Pause(numberMillis) 
{
	var dialogScript = 'window.setTimeout( function () { window.close(); }, ' + numberMillis + ');';
	var result = window.showModalDialog('javascript:document.writeln("<script>' + dialogScript + '</script>")');
}
function SetSession(strQueryString,callback)
{
	if ( document.all("ifrSession") == null )
	{
		document.body.insertAdjacentHTML("BeforeEnd", "<IFRAME id=ifrSession name=ifrSession src='' width=0 height=0></IFRAME>");
	}
	document.all.ifrSession.src=location.protocol+"//"+location.host+ fcpubdata.servletPath + "/setSession"+fcpubdata.dotnetVersion + "?"+strQueryString;
	document.all.ifrSession.onreadystatechange= function () 
	{
		if(document.all.ifrSession.readyState != "complete") return;
		if(typeof callback == "function")
		{
			callback();
		}
	}
}
function GetSession(strQueryString,callback)
{
	if(typeof callback == "function")
	{
		if(strQueryString.substring(strQueryString.length-1,strQueryString.length) != "=") 
		{
			strQueryString = strQueryString+"=";
		}
		if ( document.all("ifrSession") == null )
		{
			document.body.insertAdjacentHTML("BeforeEnd", "<IFRAME id=ifrSession name=ifrSession src='' width=0 height=0></IFRAME>");
		}
		fcpubvar.pubSession = "null" ;
		document.all.ifrSession.src=location.protocol+"//"+location.host+ fcpubdata.servletPath + "/getSession"+fcpubdata.dotnetVersion + "?"+strQueryString;
		document.all.ifrSession.onreadystatechange= function () 
		{
			if(document.all.ifrSession.readyState != "complete") return;
			var arrRet=new Array();
			var arr=fcpubvar.pubSession.split("&");
			var ilen=arr.length;
			for(i=0;i<ilen;i++)
			{
				var arr1=arr[i].split("=");
				arrRet[arr1[0]]=arr1[1];
			}
			if(typeof callback == "function")
			{
				callback(arrRet);
			}
		}
	}
	else
	{
		var arrRet=new Array();
		var arr=parent.fcpubvar.pubSession.split("&");
		var ilen=arr.length;
		for(i=0;i<ilen;i++)
		{
			var arr1=arr[i].split("=");
			arrRet[arr1[0]]=arr1[1];
		}
		return arrRet;
	}
}
function GetSessionOne(name) 
{
	return GetSession(name+"=")[name] ;
}
function CancelEvent()
{
	event.cancelBubble = true;
	event.returnValue = false;
}
function ShowHelp(htmlfile) 
{
	window.open(fcpubdata.Path+"/help/" + htmlfile + ".htm","_blank","top=0,left=0,height=400,width=300,status=no,toolbar=yes,menubar=no,location=no,resizable=yes,scrollbars=yes")
}
function ComboToStr(lstSelField2)
{
	var sb = new StringBuilder();
	var len = lstSelField2.options.length;
	for(var i=0;i<len; i++)
	{
		sb.append( Trim(lstSelField2.options(i).value));
		sb.append(",") ;
	}
	var sV=sb.toString();
	sV = sV.substring(0,sV.length-1);
	return sV;
}
function SendHttp(url, data, callback, context,noRoot)
{
	
	return ajax_request(url, data, callback, context,noRoot);
}
var requests = new Array();
if(typeof(XMLHttpRequest) == 'undefined')
var XMLHttpRequest = function()
{
	var request = null;
	try
	{
		request = new ActiveXObject('Msxml2.XMLHTTP');
		request.setTimeouts(20000, 20000, 50000,100000);
	}
	catch(e)
	{
		try
		{
			request = new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch(ee)
		{}
	}
	
	return request;
}
function ajax_stop()
{
	for(var i=0; i<requests.length; i++)
	{
		if(requests[i] != null)
		{
			requests[i].obj.abort();
		}
	}
}
function ajax_create_request(context)
{
	if (typeof(requests) != 'undefined')
	{
		for(var i=0; i < requests.length; i++)
		{
			if(requests[i].readyState == 4)
			{
				requests[i].abort();
				requests[i].context = null;
				return requests[i];
			}
		}
		var pos = requests.length;
	}
	else
	{
		requests = new Array();
		var pos = 0;
	}
	requests[pos] = Object();
	requests[pos].obj = new XMLHttpRequest();
	requests[pos].context = context;
	return requests[pos];
}
function ajax_request(url, data, callback, context,noRoot)
{
	
	var request = ajax_create_request(context);
	
	var async = typeof(callback) == 'function';
	if(async) request.obj.onreadystatechange = function()
	{
		if(request.obj.readyState == 4)
			callback(new ajax_response(request));
	}
	request.obj.open('POST', url, async);
	if(noRoot == "noRoot")
	{
		request.obj.send(data);
	}
	else
	{
		request.obj.send("<root>"+data+"</root>");
	}
	if(!async)
	{
		var o = new ajax_response(request);
		return o.value ;
	}
}
function ajax_response(request)
{
	this.request = request.obj;
	this.error = null;
	this.value = null;
	this.context = request.context;
	if(request.obj.status == 200)
	{
		try
		{
			this.value = object_from_json(request);
			if(this.value && this.value.error)
			{
				this.error = this.value.error;
				this.value = null;
			}
		}
		catch(e)
		{
			this.error = new ajax_error(e.name, e.description, e.number);
		}
	}
	else
	{
		this.error = new ajax_error('HTTP request failed with status: ' + request.obj.status, request.obj.status);
	}
	return this;
}
function enc(s)
{
	return s.toString().replace(/\%/g, "%26").replace(/=/g, "%3D");
}
function object_from_json(request)
{
	if(request.obj.responseXML != null && request.obj.responseXML.xml != null && request.obj.responseXML.xml != '')
		return request.obj.responseXML;
	return request.obj.responseText ;
}
function ajax_error(name, description, number)
{
	this.name = name;
	this.description = description;
	this.number = number;
	return this;
}
ajax_error.prototype.toString = function()
{
	return this.name + " " + this.description;
}
function json_from_object(o)
{
	if(o == null)
		return 'null';
	switch(typeof(o))
	{
		case 'object':
		if(o.constructor == Array)
		{
			var s = '';
			for(var i=0; i<o.length; ++i)
			{
				s += json_from_object(o[i]);
				if(i < o.length -1)
				s += ',';
			}
			return '[' + s + ']';
		}
		break;
		case 'string':
			return '"' + o.replace(/(["\\])/g, '\\$1') + '"';
		default:
			return String(o);
	}
}
var ajaxVersion = '5.6.3.4'
//-----------------------------------------------------------------------------------------------
CloneObject = function(obj) 
{
	var newObj = new Object;
	// check for array objects
	if (obj.constructor.toString().indexOf("function Array(") == 1) 
	{
		newObj = obj.constructor();
	}
	// check for function objects (as usual, IE is fucked up)
	if (obj.constructor.toString().indexOf("function Function(") == 1) 
	{
		newObj = obj; // just copy reference to it
	} 
	else for (var n in obj) 
	{
		var node = obj[n];
		if (typeof node == 'object') 
		{ 
			newObj[n] = CloneObject(node); 
		}
		else
		{ 
			newObj[n] = node; 
		}
	}
	return newObj;
};