function isDigist(str)
{
		len=str.length;
		for(i=0;i<len;i++)
		{
			if(str.charAt(i)<'0'||str.charAt(i)>'9')
			{
				return false;
			}
		}
		return true;
}
function isNumber(obj,maxLen,minLen)
{
	var re=/\d+/g;
	var res=re.exec(obj);
	var bool= res!=null&&obj==res[0];
	if (maxLen!=null)
	{
		bool=bool&&obj.length<=maxLen;
	}
	if (minLen!=null)
	{
		bool=bool&&obj.length>=minLen;
	}
	return bool;
}

function isInt(obj){
  var re=/-?\d+/g;
  var res=re.exec(obj);
  return res!=null&&obj==res[0];
}

function isDouble(obj){
  var re=/-?\d+(\.\d+)?/g;
  var res=re.exec(obj);
  return res!=null&&obj==res[0];
}

function isMoney(obj){
  //var re=/^-?\d+(\.\d{1,2})?$/g;
  var re=/^-?\d+(\.\d{0,})?$/g;
  var res=re.exec(obj);
  return res!=null&&obj==res[0];
}

function toMoney(obj){
  var re=/-?\d+(\.\d{1,2})?/g;
  var res=re.exec(obj);
  return re==null?obj:re.exec(obj)[0];
}

function isMail(mail){
  re=/^[\w\-][^\s]*@[\w\-]+\.[^\s]/gi;
  return re.exec(mail)!=null;
}

function isDate(date,sign){
  var re;
  if (sign!=null)
  {
	re=eval("/^(\\d{4})"+sign+"(\\d{1,2})"+sign+"(\\d{1,2})$/gi");
  }
  else
  {
    if (!isNumber(date,8,8)){return false;}
	re=/^(\d{4})(\d{2})(\d{2})$/gi;
  }
  var res=re.exec(date);
  if (res==null) {return false;}
  y=parseInt(res[1],10);
  m=parseInt(res[2],10);
  d=parseInt(res[3],10);
  if (m<0||m>12||d<1||d>31){return false;}
  if ((m==4||m==6||m==9||m==11)&&d>30){return false;}
  if ((m==2)&&!(y%4==0&&y%100!=0)&&d>28){return false;}
  if ((m==2)&&(y%4==0&&y%100!=0)&&d>29){return false;}
  return true;
}

function isCertificate(obj){
  return isNumber(obj,15,15)||isNumber(obj,18,18);
}

function isEmpty(obj){
  return obj==null||trim(obj)=="";
}

function getAscLen(str)
{
	var length=str.length;
	for (var i=0;i<str.length ;i++ )
	{
		if (str.charCodeAt(i)>255)
		{
			length++;
		}
	}
	return length;
}


function upCase(num)
{
	if (!isMoney(num)){return "";}
	var mask1=new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
	var mask2=new Array("拾","佰","仟","万","拾","佰","仟","亿");
	num1=num.split(".")[0];
	len=num1.length;
	m="";
	for (var i=0;i<len;i++)
	{
		m+=mask1[num1.substring(i,i+1)];
		m+=(i+1)==len?"":mask2[(len-2-i)%8];
	}
	m+="元";
	num1=num.split(".")[1];
	if (num1==null||num1.length==0)
	{
		m+="零角零分";
	}
	else if (num1.length>0)
	{
		m+=mask1[num1.substring(0,1)]+"角";
		m+=num1.length>1?mask1[num1.substring(1,2)]+"分":"零分";
	}
	return m;
}

function trimMoney(money)
{
	money=money.replace(/零角零分/gi,"整");
	money=money.replace(/(零[角,拾,佰,仟])+零?/gi,"零");
	money=money.replace(/零([元,万,亿])/gi,"$1");
	money=money.replace(/^[零,元,万,亿]+/gi,"");
	money=money.replace(/亿万/gi,"亿");
	money=money.replace(/零分/gi,"");
	if (money.length==0){money="零元";}
	return money;
}
/* fn-hd **********************************************************************
 * fun:除去字符串左边空字符(含空格、制表符、换行符、回车符)
 * par:str 字符串
 * ret:字符串
 * rem:
 * exm:
 * sep:
 * pub:
 * log:
 * aut:qiuyc(丘阳春)
 * 2002年05月20日 16时46分01秒 建立.[Vt.M0.SZfh.i.] */

function trim_l(str)

/*fn-tl **********************************************************************/
{
	return str.replace(/^\s+/gi,"");
}

/* fn-hd **********************************************************************
 * fun:除去字符串右边空字符(含空格、制表符、换行符、回车符)
 * par:str 字符串
 * ret:字符串
 * rem:
 * exm:
 * sep:
 * pub:
 * log:
 * aut:qiuyc(丘阳春)
 * 2002年05月20日 16时48分33秒 建立.[NbaxicDCqJvvE] */

function trim_r(str)

/*fn-tl **********************************************************************/
{
	return str.replace(/\s+$/gi,"");
}

/* fn-hd **********************************************************************
 * fun:除去字符串两边空字符(含空格、制表符、换行符、回车符)
 * par:str 字符串
 * ret:字符串
 * rem:
 * exm:
 * sep:
 * pub:
 * log:
 * aut:qiuyc(丘阳春)
 * 2002年05月20日 16时49分58秒 建立.[SpL9DPU3x9xDo] */

function trim(str)

/*fn-tl **********************************************************************/
{
	return trim_l(trim_r(str));
}
/*全选绑定*/
function selectAll(list,check)
{
	if (list!=null)
	{
		if (list.length!=null)
		{
			for (var i=0;i<list.length ;i++ )
			{
				list[i].checked=check.checked;
			}
		}
		else 
		{
			list.checked=check.checked;
		}
	}
}

/*设置列表框的值*/
function setList(list,value)
{
	for (var i=0;i<list.options.length ;i++ )
	{
		if (list[i].value==value)
		{
			list[i].selected=true;
		}
	}
}

/*取列表框的值*/
function getListValue(list)
{
	return list[list.selectedIndex].value;
}

/*取列表框的Text*/
function getListText(list,value)
{
	if (value!=null)
	{
		return list[list.selectedIndex].text;
	}
	else
	{
		for (var i=0;i<list.length ;i++ )
		{
			if (list[i].value==value)
			{
				return list[i].text;
			}
		}
	}
}

function initListByNodes(list,nodes)
{
	list.length=nodes.length;
	for (var i=0;i<nodes.length ;i++ )
	{
		list[i].value=nodes[i].selectSingleNode("Id").text;
		list[i].text=nodes[i].selectSingleNode("Descrip").text;
	}
}

/*设置单选框的值*/
function setRadio(radio,value)
{
	if (radio!=null&&radio.length>0)
	{
		for (var i=0;i<radio.length ;i++ )
		{
			radio[i].checked=(radio[i].value==value);
		}
	}
	else if (radio!=null)
	{
		radio.checked=(radio.value==value);	
	}
}
/*设置复选框的值*/
function setCheckBox(check,value)
{
	if (check.length==null)
	{
		check.checked=(check.value==value);
	}
	else
	{
		for (var i=0;i<check.length ;i++ )
		{
			check[i].checked=(check.value==value);
		}
	}
}

//初始化列表框长度，数值。
function initDate(obj,len,bg){
  obj.length=len;
  for (var i=0;i<len;i++){
    obj.options[i].value=(bg+i<10?"0":"")+(bg+i);
    obj.options[i].text=(bg+i<10?"0":"")+(bg+i);
  }
}
//设定列表框当前值。
function setDate(obj,val){
  for (var i=0;i<obj.length;i++){
    if (obj[i].value==val||("0"+obj[i].value)==val||obj[i].value==("0"+val)){
      obj[i].selected=true;
      return;
    }
  }
}
//根据年、月改变日期列表长度
function changeDate(obj1,obj2,obj3){
  var bm=obj2.value;
  if (bm==1||bm==3||bm==5||bm==7||bm==8||bm==10||bm==12){
    initDate(obj3,31,1);
  }else if(bm==2){
    if(obj1.value%4==0&&obj1.value%100!=0){
      initDate(obj3,29,1);
    }else{
      initDate(obj3,28,1);
    }
  }else{
    initDate(obj3,30,1);
  }
}
function getListDate(year,month,day)
{
	return getListValue(year)+"-"+getListValue(month)+"-"+getListValue(day);
}

//根据后台数据初始化年、月、日列表框并设初值。
function initDateSelect(year,month,day,date,str,len){
  initDate(year,len,str);
  initDate(month,12,1);
  setDate(year,date.split("-")[0]);
  setDate(month,date.split("-")[1]);
  changeDate(year,month,day);
  setDate(day,date.split("-")[2]);
}
//
function writeDate(formName,name_y,name_m,name_d,date){
  document.write("<select name="+name_y+" onchange=changeDate("+formName+"."+name_y+","+formName+"."+name_m+","+formName+"."+name_d+")></select>-");
  document.write("<select name="+name_m+" onchange=changeDate("+formName+"."+name_y+","+formName+"."+name_m+","+formName+"."+name_d+")></select>-");
  document.write("<select name="+name_d+" onchange=changeDate("+formName+"."+name_y+","+formName+"."+name_m+","+formName+"."+name_d+")></select>");
}
//添加节点
function addEle(doc,parentNode,name,value,descrip)
{
	var ele=doc.createElement("name");
	ele.appendChild(doc.createTextNode(value));
	if (descrip!=null)
	{
		ele.setAttribute("descrip",descrip);
	}
	parentNode.appendChild(ele);
}
//删除节点
function delEle(parentNode,node)
{
	parentNode.removeChild(node);
}

function repXML()
{
	for (var i=0;i<repXML.arguments.length ;i+=2 )
	{
		var list=repXML.arguments[i];
		var nodeList=repXML.arguments[i+1];
		for (var j=0;j<list.length ;j++ )
		{
			node=nodeList.selectSingleNode(".//*[Id='"+list[j].text+"']/Descrip");
			if (node!=null&&node.text!=null)
			{
				list[j].setAttribute("Descrip",node.text);
			}
			else
			{
				list[j].setAttribute("Descrip","无");
			}
		}
	}
}

//根据节点列表设置表单元素的值
function setForm(nodeList,doc,pre,be)
{
	//alert(nodeList.length);
	for (var i=0;i<nodeList.length ;i++ )
	{
		var name=nodeList[i].nodeName;
		var name_=name;
		if (pre!=null){name_=pre+name_;}
		if (be!=null){name_=name_+be;}
		var value=nodeList[i].text;
		var obj=doc.all(name_);
		//alert(obj==null?"":obj.tagName+":"+name_+":"+value);
		if (name!=null&&obj!=null&&value!=null)
		{
			//alert(obj.tagName+":"+name_+":"+value);
			if ((obj.tagName=="INPUT"&&(obj.type=="text")||obj.type=="hidden")||obj.tagName=="TEXTAREA")
			{
				obj.value=value;
			}
			else if (obj.tagName=="SELECT")
			{
				setList(obj,value);
			}
			else if (obj.tagName=="INPUT"&&obj.type=="radio")
			{
				setRadio(obj,value);
			}
			else if (obj.tagName=="INPUT"&&obj.type=="checkbox")
			{
				setCheckBox(obj,value);
			}
			else if (obj.tagName=="A")
			{
				obj.innerHTML=value;
			}
		}
		if (name!=null&&obj!=null&&value!=null&&obj.length>0)
		{
			if (obj[0].tagName=="INPUT"&&obj[0].type=="radio")
			{
				setRadio(obj,value);
			}
			else if (obj[0].tagName=="INPUT"&&obj[0].type=="checkbox")
			{
				setCheckBox(obj,value);
			}
		}
	}
}

//

function repForm()
{
	for (var i=0;i<repForm.arguments.length ;i+=2 )
	{
		var obj=document.all(repForm.arguments[i]);
		var node=repForm.arguments[i+1];
		if (obj.tagName=="A")
		{
			obj.innerHTML=getTabVal(node,obj.innerHTML);
		}
		else if (obj.tagName=="INPUT")
		{
			obj.value=getTabVal(node,obj.value);
		}
	}
}
//从值表中取对应值。
function getTabVal(node,id)
{
	var node_=node.selectSingleNode(".//*[Id='"+id+"']/Descrip");
	if (node_!=null&&node_.text!=null)
	{
		return node_.text;
	}
	else
	{
		return id;
	}
}

function showHTML(doc_i,doc,xsl)
{
	doc_i.close();
	doc_i.open();
	doc_i.write(doc.transformNode(xsl));
}

function checkForm(doc)
{
	var tags=doc.all;
	for (var i=0;i<tags.length ;i++ )
	{
		if (tags[i].tagName=="INPUT"&&tags[i].type=="text")
		{
			var o=tags[i];
			var v=tags[i].value;
			if (o.math!=null&&o.math!=""&&!eval(tags[i].math)){
				if (o.exec!=null){eval(o.exec);}
				tags[i].focus();
				alert(tags[i].msg);
				return false;
			}
			if (o.maxLength!=null&&o.des!=null)
			{
				if (getAscLen(v)>o.maxLength)
				{
					if (o.exec!=null){eval(o.exec);}
					tags[i].focus();
					var m_strS = "";
					if (o.des != null)
					   m_strS = o.des;
					alert(m_strS+" 输入长度不得超过"+o.maxLength+"个字符！");
					return false;
				}
			}
		}
	}
	return true;
}

/* fn-hd ********************************************************************** 
 * fun: 转换费用项目的描述 
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:panwj(潘文金) 
 * 2002年05月20日 16时49分58秒 建立.[SpL9DPU3x9xDo] */ 

function writePurZh(p_index,p_strNo,p_strValStr) 

/*fn-tl **********************************************************************/ 
{ 
      p_strNo = getValDesc(p_strNo,p_strValStr); 
      var m_strShow = "<INPUT TYPE='TEXT' size='5' ReadOnly='true' NAME='PurchaseName"+trim(p_index)+"' value="+p_strNo+"  style='border-style: solid; border-color:#FFFFFF;'/>";       
      document.write(m_strShow); 
} 


/* fn-hd ********************************************************************** 
 * fun: 是否字符串 
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:panwj(潘文金) 
 * 2002年05月20日 16时49分58秒 建立.[SpL9DPU3x9xDo] */ 

function writeIsNoZh(p_strValStr) 

/*fn-tl **********************************************************************/ 
{ 
      p_strValStr = trim(p_strValStr); 
      if (p_strValStr == "1") 
          document.write("是"); 
      else if (p_strValStr == "2")       
          document.write("否"); 
} 

function parseNumber(decimals)
{
if (decimals!="")
{
var decimals1 = (decimals).split(".");
var decimals2 = (decimals).split(".")[1];
if (decimals1.length > 0)
{
	if (decimals2 != null)
	{
		//if (parseInt(decimals1))
		if (decimals2.length == 1)
		{
			decimals2+="0";
		}
		if (decimals2.length == 0)
		{
			decimals2+="00";
		}
		if (decimals2.length > 2)
		{
			decimals2=decimals2.substring(0,2);
		}
		

	}
	else
	{
		decimals2 = "00";
	}

}
else
{
	decimals2 = "00";
}
}
else
{
	return ("0.00");
}
var decimals3 = parseFloat((""+decimals).split(".")[0]) +"." +decimals2;
return decimals3;
}

/* fn-hd ********************************************************************** 
 * fun: 约束客户号和手机号共有输入框的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年08月22日 19时09分58秒 建立.[SpL9DPU3x9xDo] */ 

function isCustNo(str)
{
	if (getAscLen(trim(str)) != 8 && getAscLen(trim(str)) != 11)
	{
		return false;
	}
	if (getAscLen(trim(str)) == 11)
	{
		if (!isNumber(trim(str),11,11))
		{
			return false;
		}
	}
	return true;
}


/* fn-hd ********************************************************************** 
 * fun: 约束时分秒输入框的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年08月25日 19时09分58秒 建立.[SpL9DPU3x9xDo] */ 

function isTimeStr(vTime)
{
	if(vTime==null||trim(vTime)=="")return false;
	vTime=trim(vTime);
	if(getAscLen(vTime)!=6)return false;
	//非数字判断
	var vStrHour=vTime.substring(0,2);
	var vStrMinute=vTime.substring(2,4);
	var vStrSecond=vTime.substring(4,6);
	for(var i=0;i<=1;i++)if(!checkBit(vTime.substring(i,i+1)))return false;
	for(var i=2;i<=3;i++)if(!checkBit(vTime.substring(i,i+1)))return false;
	for(var i=4;i<=5;i++)if(!checkBit(vTime.substring(i,i+1)))return false;	
	//
	var vJudgeStr=vTime.substring(0,1);
	if(parseInt(vJudgeStr,10)>2)return false;
	vJudgeStr=vTime.substring(1,2);
	if(parseInt(vJudgeStr,10)>4)return false;
	vJudgeStr=vTime.substring(2,3);
	if(parseInt(vJudgeStr,10)>6)return false;
	vJudgeStr=vTime.substring(4,5);
	if(parseInt(vJudgeStr,10)>6)return false;

	var vInt1=parseInt(vTime.substring(0,2),10);
	var vInt2=parseInt(vTime.substring(2,4),10);
	var vInt3=parseInt(vTime.substring(4,6),10);
	if( vInt1 > 24 || vInt2 > 60 || vInt3 > 60)
		return false;
	return true;



}
/**
*检查一位是不是数字
*@param aBit 一位数字
*@param true(数字),false(非数字)
*/
function checkBit(aBit)
{
	
	aBit=trim(aBit);
	if(aBit=="")return false;
	var aInteger =parseInt(aBit,10);
	var aNewString=aInteger.toString();
	if(aBit!=aNewString)
	{
		return false;
	}
	return true;
}

/* fn-hd ********************************************************************** 
 * fun: 约束当前页面所有Input和textArea输入框内容的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年08月22日 19时09分58秒 建立.[SpL9DPU3x9xDo] */ 

function checkAllInput(doc)
{
	var tags=doc.all;
	for (var i=0;i<tags.length ;i++ )
	{
		if ((tags[i].tagName=="INPUT"&&tags[i].type=="text")||tags[i].tagName=="TEXTAREA")
		{
			var o=tags[i];
			var v=tags[i].value;
			if (o.maxLength==2147483647||o.des==null||o.maxLength==null)
			{
				alert(o.name+"缺少maxLength和des两属性，方法将不对它进行检查!");
				continue;
			}
			if (o.maxLength!=2147483647&&o.des!=null&&o.maxLength!=null)
			{
				if (o.exec!=null){eval(o.exec);}
				if (o.isNeed == "1"&&trim(v) == "")
				{
					alert("对不起，"+o.des+"必须填写!");
					o.focus();
					return false;
				}
				if (o.desType!=null&&trim(o.desType) == "DATE")//对日期输入框的检查
				{
					if (trim(v) != ""&&(!isDate(trim(v))))
					{
						alert("对不起，您输入的"+o.des+"格式不正确，正确应为8位日期格式YYYYMMDD!");
						o.focus();
						return false;
					}
				}
				else if (o.desType!=null&&trim(o.desType) == "TIME")//对时间输入框的检查
				{
					if (trim(v) != ""&&(!isTimeStr(trim(v))))
					{
						alert("对不起，您输入的"+o.des+"格式不正确，正确应为6位时间格式HHMMSS!");
						o.focus();
						return false;
					}
				}
				else if (o.desType!=null&&trim(o.desType) == "EMAIL")//对EMail输入框的检查
				{
					if (trim(v) != ""&&(!isMail(trim(v))))
					{
						alert("对不起，您输入的"+o.des+"格式不正确，正确应类似于forlink@softhouse.com.cn格式!");
						o.focus();
						return false;
					}
				}
				else if (o.desType!=null&&trim(o.desType) == "NUMBER")//对自然数输入框的检查
				{
					if (trim(v) != ""&&(!isNumber(trim(v))))
					{
						alert("对不起，您输入的"+o.des+"类型不正确，正确应为0到9之间的数字!");
						o.focus();
						return false;
					}
					else if (getAscLen(v)>o.maxLength)
					{
						alert(o.des+"输入长度不得超过"+o.maxLength+"个字符!");
						o.focus();
						return false;
					}
				}
				else
				{
					if (getAscLen(v)>o.maxLength)
					{
						alert(o.des+"输入长度不得超过"+o.maxLength+"个字符!");
						o.focus();
						return false;
					}
				}
			}
		}
	}
	return true;
}

/* fn-hd ********************************************************************** 
 * fun: 对当前页面所有Input和textArea输入框内容进行清空的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年09月02日 11时09分58秒 建立.[SpL9DPU3x9xDo] */ 
function clearAll(doc)
{
	var tags=doc.all;
	for (var i=0;i<tags.length;i++ )
	{
		if ((tags[i].tagName=="INPUT"&&tags[i].type=="text")||tags[i].tagName=="TEXTAREA")
		{
			tags[i].value = "";
		}
	}
}

/* fn-hd ********************************************************************** 
 * fun: 退出到默认页面的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年09月02日 11时09分58秒 建立.[SpL9DPU3x9xDo] */ 
function exitPage()
{
	window.location = "../CS/Pub/sys_default.html";
}
/*fn-hd
 *fun: 返回 所选择的CHECKBOX，并返回字符串(中国$p_strSplit美国$p_strSplit)
 *par: inForm CHECKBOX所在的FORM Element,如：document.frmLcWorkLogView.elements
 *par: CHECKBOX的名称,如：wWorkLogDel
 *par: p_strSplit 分隔符(如"@@@@@")
 *ret  p_strSplit为空返回 "",失败返回""
 */
function getSelChkItemStr(inForm,inChkName,p_strSplit)
/*fn-tl*/
{
	p_strSplit = allTrim(p_strSplit);
	if(inForm==null)return "";
	inChkName=allTrim(inChkName);
	if(inChkName=="")return "";
	if(p_strSplit == "")return;
	var i,element,elements; 
	var name,type,theVal; 
	elements=inForm; 
	var ret_str="";
	var iTT = 0;
	for(i=0;i<elements.length;i++)
	{ 
		element=elements[i]; 
		type=element.type;
		name=element.name; 
		theVal = allTrim(element.value); 
		if(type.toUpperCase()=="CHECKBOX"&&name==inChkName&&element.checked==true && theVal !="")
		{
			if ( iTT == 0)		
			  ret_str = theVal;
			else 
			  ret_str = ret_str + p_strSplit + theVal;
			iTT = iTT +1;
		}	
	}
	return ret_str;
}