/*取得汉字的长度*/
function cnLength(str)
{
  return str.replace(/[^\x00-\xff]/g,"**").length;
}

//替换特殊字符
function rept(src1)
{
	var src2 = src1;
	if (src2.indexOf('#') != -1)
	src2 = src2.replace(/#/gi,"%23");
	if (src2.indexOf('%') != -1)
	src2 = src2.replace(/%/gi,"%25");

	if (src2.indexOf('&') != -1)
	src2 = src2.replace(/&/gi,"%26");

	if (src2.indexOf('+') != -1)
	src2 = src2.replace(/\+/gi,"%2B");
	if(src2.indexOf('\\') != -1)
	src2 = src2.replace('\\',"%2F");
	if (src2.indexOf('=') != -1)
	src2 = src2.replace('=',"%3D");

	//if (src2.indexOf('?') != -1)
	//src2 = src2.replace('?',"%3F");
	return src2;
}

/*
数据库特殊字符校验
*/
function findSpecilize(str)
{
    var reg_exp=/^[^`#|&\'%]{1,}$/;
 
    if (reg_exp.test(str))
    {
        return false;
    }
    else
    {
        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 isPlus(obj,maxLen,minLen)
{
	var re=/\d+/g;
	var res=re.exec(obj);
	var bool= res!=null&&obj==res[0];
	if (parseInt(obj,10)<=0)
	{
		bool = false;
	}
	if (maxLen!=null)
	{
		bool=bool&&obj.length<=maxLen;
	}
	if (minLen!=null)
	{
		bool=bool&&obj.length>=minLen;
	}
	return bool;
}

/* fn-hd ********************************************************************** 
 * fun: 约束Short输入框的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年08月22日 19时09分58秒 建立.[SpL9DPU3x9xDo] */ 

function isShort(str)
{
	if (!isNumber(trim(str),5,1))
	{
		return false;
	}
	if (getAscLen(trim(str)) == 5&&parseInt(trim(str),10)>65535)
	{
		return false;
	}
	return true;
}

/* fn-hd ********************************************************************** 
 * fun: 约束Short输入框的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年08月22日 19时09分58秒 建立.[SpL9DPU3x9xDo] */ 

function isLong(str)
{
	if (!isNumber(trim(str),10,1))
	{
		return false;
	}
	if (getAscLen(trim(str)) == 10&&parseInt(trim(str),10)>4294967296)
	{
		return false;
	}
	return true;
}

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 isMoney4(obj){
  var re=/^\d+(\.\d{1,4})?$/g;
  //var re=/^-?\d+(\.\d{0,})?$/g;
  var res=re.exec(obj);
  return res!=null&&obj==res[0];
}

function isMoney1(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:res[0];
}

function checkMoneyLimit(obj,limit,unit){
	var tmp=obj*Math.pow(10, unit) ;
	var multi=tmp.toString(10);
	var res=multi;
	if (multi.indexOf(".")!=-1){
		res=multi.substr(0,multi.indexOf("."));
	}
	if (res.length>limit){
		return false;
	}
	return true;
}

function isMail(mail){
  re=/^[a-z0-9][\w\.]*@[-a-zA-Z0-9\.]+\.[-a-z]{2,3}$/i;
  return re.exec(mail)!=null;
}

function isHttp(http){
  re=/^(ftp|http|https):\/\/[-a-z0-9_]+\.[-a-z0-9\._]+(\/[(\u4e00-\u9fa5)a-z0-9-_\.!~\*'\(\)%\?=]*)*$/i;
  re1=/^[-a-z0-9_]+\.[-a-z0-9\._]+(\/[(\u4e00-\u9fa5)a-z0-9-_\.!~\*'\(\)%\?=]*)*$/i;
  return (re.exec(http)!=null || re1.exec(http)!=null);
}

function isDate(date,sign){
  var re;
  if (sign!=null)
  {
  	re=eval("/^(\\d{4})"+sign+"(\\d{1,2})"+sign+"(\\d{1,2})$/gi");
	//re=eval("/^[1-9]{1}\d{3}-((0[1-9]{1}-(0[1-9]{1}|[1,2]{1}\d{1}|3[0,1]{1}))|(1[0-2]{1}-(0[1-9]{1}|[1,2]{1}\d{1}|3[0,1]{1})))$/");
  }
  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 isDate_cn(date){
  var re;
  re=eval("/^(\\d{4})"+"年"+"(\\d{1,2})"+"月"+"(\\d{1,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){
	var obj0 = trim(obj);
	if (isNumber(obj0,15,15))
	{
		return true;
	}
	if (getAscLen(obj0)==18)
	{
		obj0 = obj0.substring(0,17);
		if (isNumber(obj0,17,17))
		{
			return true;
		}
	}
	return false;
}

function isEmpty(obj){
  return obj==null||trim(obj)=="";
}

/**
 * 功能:判断单个字符是否是数字
 * 参数:cCheck,要进行判断的字符串
 * 返回值:true or false
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function isDigit(cCheck) 
{
	return (('0' <= cCheck) && (cCheck <= '9'));
}

/**
 * 功能:判断单个字符是否是字母
 * 参数:cCheck,要进行判断的字符串
 * 返回值:true or false
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function isAlpha(cCheck) //判断是否是字母
{
    return ((('a' <= cCheck) && (cCheck <= 'z')) || (('A' <= cCheck) && (cCheck <= 'Z')))
}

/**
 * 功能:判断是否是有效的字符
 * 参数:checkStr,要进行判断的字符串
 * 返回值:true or false
 * 建立日期:2004-6-1
 * 作者:蔡华锋
 * 最后修改:
 * 修改人:
 */
function isValidStr(checkStr)
{
    for(var i = 0; i < checkStr.length; i++)
    {
        var cCheck = checkStr.charAt(i);
	    if(!(isDigit(cCheck) || isAlpha(cCheck) || cCheck=='-' || cCheck=='_')){
     	    return false;
	    }
    }	  
    return true;	
}

function getAscLen(str)
{
	str = trim(str);
	var length=str.length;
	for (var i=0;i<str.length ;i++ )
	{
		if (str.charCodeAt(i)>255)
		{
			length++;
		}
	}
	return length;
}


/* 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 **********************************************************************/
{
	str = str.replace("'","’");
	str = str.replace("\"","＂");
	str = str.replace("<","＜");
	str = str.replace(">","＞");
	//str = str.replace("?","？");
	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 getRadioValue(radio)
{
	//alert(radio);
	if (radio!=null&&radio.length>0)
	{
		for (var i=0;i<radio.length ;i++ )
		{
			if (radio[i].checked)
			{
				return radio[i].value;
			}
		}
	}
	return 0;
}
/*设置复选框的值*/
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 getCheckedValue(check)
{
	var arr=new Array();
	if (check!=null&&check.length==null)
	{
		if (check.checked)
		{
			arr[0]=check.value;
		}
	}
	else if (check!=null&&check.length!=null)
	{
		for (var i=0;i<check.length ;i++ )
		{
			if (check[i].checked)
			{
				arr[arr.length]=check[i].value;
			}
		}
	}
	return arr;
}

//初始化列表框长度，数值。
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 addChild(doc,parentNode)
{
	for (var i=2;i<addChild.arguments.length ;i++ )
	{
		var obj=document.all(arguments[i]);
		if (obj.tagName=="INPUT")
		{
			addEle(doc,parentNode,arguments[i],obj.value);
		}
		else if (obj.tagName=="SELECT"&&obj.selectedIndex!=-1)
		{
			addEle(doc,parentNode,arguments[i],obj.value,obj.options[obj.selectedIndex].text);
		}
	}
}

function getChildByNV(parentNode,childName,rule,value)
{
	return parentNode.selectNodes(childName+"["+rule+"='"+value+"']");
}

function delChildByCheck(parentNode,childName,rule,check)
{
	var arr=getCheckedValue(check);
	for (var i=0;i<arr.length ;i++ )
	{
		var nodeList=getChildByNV(parentNode,childName,rule,arr[i]);
		for (var j=0;j<nodeList.length ;j++ )
		{
			delEle(parentNode,nodeList[j]);
		}
	}
}

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));
}

/* 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); 
} 


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 =(""+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;
}

function isCustCode(str)
{
	return getAscLen(trim(str)) == 8;
}
/* 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(vTime.substring(0,1),10)==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.getElementsByTagName('*');
	for (var i=0;i<tags.length ;i++ )
	{
		if (tags[i].tagName=="INPUT"||tags[i].tagName=="TEXTAREA"||tags[i].tagName=="PASSWORD")
		{
			/**
			*替换特殊字符
			*/
			fomatTextarea_1(tags[i]);
			fomatALLText(tags[i]);
		
			var o=tags[i];
			
		
			var v=tags[i].value;

			if (o.maxLength==2147483647||o.getAttribute('des')==null||o.maxLength==null||o.getAttribute('isCheck')=="IGNORE")
			{
				//alert(o.name+"缺少maxLength和des两属性，方法将不对它进行检查!");
				continue;
			}
			
			if (o.maxLength!=2147483647&&o.getAttribute('des')!=null&&o.maxLength!=null)
			{
				
				if (o.getAttribute('isNeed') == "1"&&trim(v) == "")
				{						
					if (o.exec!=null){eval(o.exec);}
					alert("对不起，"+o.getAttribute('des')+"必须填写!");				
					doc.o.focus();
					return false;
				}
				if ((o.getAttribute('desType')!="SPECIAL") && trim(v) != "")//校验输入是否有特殊字符
				{
						if(findSpecilize(v))
						{
							alert("对不起!"+o.getAttribute('des')+"不能包含(`#|&\'\"%)字符!");
							doc.o.focus();
							return false;
						}
				}
				if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "ACCT"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对字母、数字、-、_的检查
				{
					if (trim(v) != ""&&(!isValidStr(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为只包含字母、数字、_、-的字符串!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "DEVNO"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对手机输入框的检查
				{
					if (trim(v) != ""&&(!isNumber(trim(v),11,11)))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"长度或类型不正确，正确应为"+o.maxLength+"位数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "DATE"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对日期输入框的检查
				{
					if (trim(v) != ""&&trim(v).substring(4,5)=="年"){
						if (!isDate_cn(trim(v)))
						{
							if (o.exec!=null){eval(o.exec);}
							//alert("对不起，您输入的"+o.getAttribute('des')+"格式不正确，正确格式应为YYYY年MM月DD日!");
							alert("对不起，您输入的"+o.getAttribute('des')+"格式不正确!");
							doc.o.focus();
							return false;
						}
					}else{				
						if (trim(v) != ""&&(!isDate(trim(v),"-")))
						{
							if (o.exec!=null){eval(o.exec);}						
							//alert("对不起，您输入的"+o.getAttribute('des')+"格式不正确，正确应为10位日期格式YYYY-MM-DD!");
							alert("对不起，您输入的"+o.getAttribute('des')+"格式不正确!");
							doc.o.focus();
							return false;
						}
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "CUSTNO"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对客户编号输入框的检查
				{
					if (trim(v) != ""&&(!isNumber(trim(v),8,8)))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"长度或类型不正确，正确应为"+o.maxLength+"位数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "POSTCODE"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对邮编输入框的检查
				{
					if (trim(v) != ""&&(!isNumber(trim(v),6,6)))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"长度或类型不正确，正确应为6位数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "CUSTDEV"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对客户编号或手机号输入框的检查
				{
					if (trim(v) != ""&&(!isCustNo(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("输入的号码长度有误，正确应为8位或11位数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "TIME"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对时间输入框的检查
				{
					if (trim(v) != ""&&(!isTimeStr(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"格式不正确，正确应为6位时间格式HHMMSS!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "EMAIL"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对EMail输入框的检查
				{
					if (trim(v) != ""&&(!isMail(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"格式不正确，正确应类似于forlink@softhouse.com.cn格式!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "NUMBER"&&o.getAttribute('des')!=null&&o.maxLength!=null)//对自然数输入框的检查
				{
					if (trim(v) != ""&&(!isNumber(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为0到9之间的数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "SHORT") //对Short类型输入框的检查
				{
					if (trim(v) != ""&&(!isShort(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为大小介于0~65535之间的数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "LONG") //对Long类型输入框的检查
				{
					if (trim(v) != ""&&(!isLong(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为大小介于0~4294967296之间的数字!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "FLOAT") //对Float类型输入框的检查
				{
					if (trim(v) != ""&&(!isDouble(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为实数!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "PLUS")//对正数输入框的检查
				{
					if (trim(v) != ""&&(!isPlus(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为0到9之间的数字且值必须大于0!");
						doc.o.focus();
						return false;
					}
				}
				else if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "CERTIFICATE")
				{
					if (trim(v) != ""&&(!isCertificate(trim(v))))
					{
						if (o.exec!=null){eval(o.exec);}
						alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为15或18位数字!");
						doc.o.focus();
						return false;
					}
				}
				if (o.max!=null&&o.max!=""&&o.getAttribute('desType')!=null&&v!=null&&v!=""&&compareTo(trim(v),o.max,o.getAttribute('desType'))==1)
				{
					if (o.exec!=null){eval(o.exec);}
					doc.o.focus();
					alert("对不起，您输入的"+o.getAttribute('des')+"必须不大于"+o.max);
					return false;
				}
				if (o.min!=null&&o.min!=""&&o.getAttribute('desType')!=null&&v!=null&&v!=""&&compareTo(trim(v),o.min,o.getAttribute('desType'))==-1)
				{
					if (o.exec!=null){eval(o.exec);}
					doc.o.focus();
					alert("对不起，您输入的"+o.getAttribute('des')+"必须不小于"+o.min);
					return false;
				}
				if (getAscLen(v)>o.maxLength)
				{
					if (o.exec!=null){eval(o.exec);}
					alert(o.getAttribute('des')+"输入长度不得超过"+o.maxLength+"个字符!");
					doc.o.focus();
					return false;
				}
				if (o.minLength!=null&&o.minLength!="")
				{
					if (getAscLen(v)<o.minLength)
					{
						if (o.exec!=null){eval(o.exec);}
						alert(o.getAttribute('des')+"输入长度不得小于"+o.minLength+"个字符!");
						doc.o.focus();
						return false;
					}
				}
				if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "MONEY")
				{
					if (trim(v) != ""&&(!isMoney(trim(v))))
					{
						if (o.exec!=null)							{eval(o.exec);}
							alert("对不起，您输入的"+o.getAttribute('des')+"不正确，应为最多两位小数的数字!");
						doc.o.focus();
						return false;
					}
					if (o.limit!=null&&o.unit!=null)
					{
						if (!checkMoneyLimit(trim(v),o.limit,o.unit)){
							alert("对不起，您输入的"+o.getAttribute('des')+"整数部分不能超过"+(o.limit-o.unit)+"位");
							doc.o.focus();
							return false;
						}
					}
				}		
				if (o.getAttribute('desType')!=null&&trim(o.getAttribute('desType')) == "MONEY4")
				{
					if (trim(v) != ""&&(!isMoney4(trim(v))))
					{
						if (o.exec!=null)							{eval(o.exec);}
							alert("对不起，您输入的"+o.getAttribute('des')+"类型不正确，正确应为数字或小数点!");
						doc.o.focus();
						return false;
					}
					if (o.limit!=null&&o.unit!=null)
					{
						if (!checkMoneyLimit(trim(v),o.limit,o.unit)){
							alert("对不起，您输入的"+o.getAttribute('des')+"整数部分不能超过"+(o.limit-o.unit)+"位");
							doc.o.focus();
							return false;
						}
					}
				}
				var v_rlt=trim(v);
			   	if (v_rlt.indexOf('——') != -1){
				   	re = /——/g;
    				v_rlt = v_rlt.replace(re,"－");
		    	}				
				tags[i].value = trim(v_rlt);	
				
			}
		}
	}
	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.getElementsByTagName('*');
	for (var i=0;i<tags.length;i++ )
	{
		if ((tags[i].tagName=="INPUT"&&tags[i].type=="text")||tags[i].tagName=="TEXTAREA")
		{
			doc.tags[i].value = "";
		}
	}
}

function compareTo(v1,v2,type)
{
	if (type=="NUMBER"||type=="SHORT"||type=="PLUS"||type=="DATE"||type=="TIME")
	{
		return parseInt(v1,10)>parseInt(v2,10)?1:parseInt(v1,10)<parseInt(v2,10)?-1:0;
	}else if (type=="LONG"||type=="FLOAT")
	{
		return parseFloat(v1,10)>parseFloat(v2,10)?1:parseFloat(v1,10)<parseInt(v2,10)?-1:0;
	}
	return -2;
}
/* fn-hd ********************************************************************** 
 * fun: 退出到默认页面的方法
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:litao(李涛) 
 * 2002年09月02日 11时09分58秒 建立.[SpL9DPU3x9xDo] */ 
function exitPage()
{
	window.location = "../BS/CS/Pub/sys_default.html";
}

function setPage(pages,nowPage,op)
{
	var array = new Array(pages);
	for (var a=0;a<pages;a++)
	{
	if (a > 8)
	{
	  array[a] = a+1;
	}
	else
	{
	  array[a] = "0"+(a+1);
	}
	}
	for(var i=0;i<pages;i++)
	{
	  op.NowPage.length = pages;
	  op.NowPage[i].value = array[i];
	  op.NowPage[i].innerText = array[i];
	}
	if(nowPage <10)
	nowPage = "0"+nowPage;
	if (pages>0)
	{
		op.NowPage.value = nowPage;
	}

}

/* fn-hd ********************************************************************** 
 * fun: 对文件输入框进行正确性检查的方法
 * par: strFileNameIn是输入框所填内容 
 * par: strFileType可以是txt,xsl等
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut:panwj(潘文金) 
 * 2002年09月02日 11时09分58秒 建立.[SpL9DPU3x9xDo] */ 

function checkSelFile(strFileNameIn,strFileType)
{
   /**文件名**/
   var strFileName=trim(strFileNameIn);
   /**文件类型**/
   var strFileType=trim(strFileType);
   /**是否有文件类型限制**/
   var bLimit=true;
   
   if(strFileType=="")bLimit=false;
   else bLimit=true;

   /**判断是否选择了文件**/
   if(strFileName=="")
   {
	  alert("请选择文件");
	  return 1;
   }  

   /**取文件类型字符串**/
   var strFtypeVal="";
   if(strFileName.lastIndexOf(".")!=-1)
	 strFtypeVal=strFileName.substring(strFileName.lastIndexOf(".")+1);
   else
	 strFtypeVal="";

   /**判断支持的文件类型**/
   if(strFtypeVal==""&&bLimit)
   {
	  alert("不支持这种文件类型,正确的文件类型:"+strFileType);
	  return 1;
   }
   
   /**判断是否是所支持的文件类型**/
   var iFtFlag=false;
   if(bLimit==true)
   {
	/**有文件类型的限制**/
 
		   /**支持的文件类型列表**/
	   var arrFileType=strFileType.split("|");

	   /**循环判断文件类型**/
	   if(arrFileType!=null&&arrFileType.length>0)
		{
		  iFtFlag=false;
		  for(var iT=0;iT<arrFileType.length;iT++)
		   {
			 var strTval=trim(arrFileType[iT]);
			 if(strTval=="")continue;
			 if(strFtypeVal.toUpperCase()==strTval.toUpperCase())
			  {
				iFtFlag=true;
				break;
			  }
		   }
		}
		else  
		   iFtFlag=false;
   }
   else
	  iFtFlag=true;/**没有文件类型的限制**/    

   if(iFtFlag==false)
	{
	  alert("不支持这种文件类型,正确的文件类型:"+strFileType);
	  return -1;
	}	
   /**函数返回,编程语言可以读取的文件路径名称**/
   if(strFileName.indexOf("\\")==-1)
   {
	  alert("文件路径有错误");
	  return -1;
   }
   var arrFileItem=strFileName.split("\\");
   var strFileReturn="";
   if(arrFileItem!=null&&arrFileItem.length>0)
   {
	  for(var iT=0;iT<arrFileItem.length;iT++)
	   {
		  if(iT==0)
			strFileReturn=arrFileItem[iT];            
		  else
			strFileReturn=strFileReturn+"\\"+"\\"+arrFileItem[iT];
	   }
   }
   else
   {
	  alert("文件路径有错误");
	  return -1;
   }
   strFileReturn=trim(strFileReturn);
   if(strFileReturn=="")
	{
	  alert("文件路径有错误");
	  return -1;
	}
   else 
	return strFileReturn;
}

function MD5(sMessage) 
{
	function RotateLeft(lValue, iShiftBits) 
	{ 
		return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); 
	}
	function AddUnsigned(lX,lY) 
	{
	var lX4,lY4,lX8,lY8,lResult;
	lX8 = (lX & 0x80000000);
	lY8 = (lY & 0x80000000);
	lX4 = (lX & 0x40000000);
	lY4 = (lY & 0x40000000);
	lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
	if (lX4 & lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
	if (lX4 | lY4) {
	if (lResult & 0x40000000) return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
	else return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
	} else return (lResult ^ lX8 ^ lY8);
	}
	function F(x,y,z) { return (x & y) | ((~x) & z); }
	function G(x,y,z) { return (x & z) | (y & (~z)); }
	function H(x,y,z) { return (x ^ y ^ z); }
	function I(x,y,z) { return (y ^ (x | (~z))); }
	function FF(a,b,c,d,x,s,ac) {
	a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
	return AddUnsigned(RotateLeft(a, s), b);
	}
	function GG(a,b,c,d,x,s,ac) {
	a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
	return AddUnsigned(RotateLeft(a, s), b);
	}
	function HH(a,b,c,d,x,s,ac) {
	a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
	return AddUnsigned(RotateLeft(a, s), b);
	}
	function II(a,b,c,d,x,s,ac) {
	a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
	return AddUnsigned(RotateLeft(a, s), b);
	}
	function ConvertToWordArray(sMessage) {
	var lWordCount;
	var lMessageLength = sMessage.length;
	var lNumberOfWords_temp1=lMessageLength + 8;
	var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
	var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
	var lWordArray=Array(lNumberOfWords-1);
	var lBytePosition = 0;
	var lByteCount = 0;
	while ( lByteCount < lMessageLength ) 
	{
		lWordCount = (lByteCount-(lByteCount % 4))/4;
		lBytePosition = (lByteCount % 4)*8;
		lWordArray[lWordCount] = (lWordArray[lWordCount] | (sMessage.charCodeAt(lByteCount)<<lBytePosition));
		lByteCount++;
	}
		lWordCount = (lByteCount-(lByteCount % 4))/4;
		lBytePosition = (lByteCount % 4)*8;
		lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
		lWordArray[lNumberOfWords-2] = lMessageLength<<3;
		lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
		return lWordArray;
	}
	function WordToHex(lValue) {
	var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
	for (lCount = 0;lCount<=3;lCount++) 
	{
		lByte = (lValue>>>(lCount*8)) & 255;
		WordToHexValue_temp = "0" + lByte.toString(16);
		WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
	}
		return WordToHexValue;
	}
	var x=Array();
	var k,AA,BB,CC,DD,a,b,c,d
	var S11=7, S12=12, S13=17, S14=22;
	var S21=5, S22=9 , S23=14, S24=20;
	var S31=4, S32=11, S33=16, S34=23;
	var S41=6, S42=10, S43=15, S44=21;
	// Steps 1 and 2. Append padding bits and length and convert to words
	x = ConvertToWordArray(sMessage);
	// Step 3. Initialise
	a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
	// Step 4. Process the message in 16-word blocks
	for (k=0;k<x.length;k+=16) 
	{
		AA=a; BB=b; CC=c; DD=d;
		a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
		d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
		c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
		b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
		a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
		d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
		c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
		b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
		a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
		d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
		c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
		b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
		a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
		d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
		c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
		b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
		a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
		d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
		c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
		b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
		a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
		d=GG(d,a,b,c,x[k+10],S22,0x2441453);
		c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
		b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
		a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
		d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
		c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
		b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
		a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
		d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
		c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
		b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
		a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
		d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
		c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
		b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
		a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
		d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
		c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
		b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
		a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
		d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
		c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
		b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
		a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
		d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
		c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
		b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
		a=II(a,b,c,d,x[k+0], S41,0xF4292244);
		d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
		c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
		b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
		a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
		d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
		c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
		b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
		a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
		d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
		c=II(c,d,a,b,x[k+6], S43,0xA3014314);
		b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
		a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
		d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
		c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
		b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
		a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); d=AddUnsigned(d,DD);
	}
	// Step 5. Output the 128 bit digest
	var temp= WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
	return temp.toLowerCase();
}

function openWindow(url, name, style, width, height)
{
	t = (screen.height - height) / 2;
	l = (screen.width - width) / 2;
	return window.open(url, name, style + ",width=" + width + ",height=" + height + ",top=" + t + ",left=" + l);
}

function ignoreAllInput(doc)
{
	var tags=doc.getElementsByTagName('*');
	for (var i=0;i<tags.length ;i++ )
	{
		
		if (tags[i].tagName=="INPUT"||tags[i].tagName=="TEXTAREA"||tags[i].tagName=="PASSWORD")
		{
			var o=tags[i];
			var v=tags[i].value;			
			o.setAttribute('isCheck','IGNORE');
		}
		if (tags[i].type=="file"){
			//tags[i].parentNode.removeChild(tags[i]);
			var o=tags[i];			
			o.setAttribute('isCheck','IGNORE');
		}
	}
}

function setCheckAllInput(doc)
{
	var tags=doc.getElementsByTagName('*');
	for (var i=0;i<tags.length ;i++ )
	{
		if (tags[i].tagName=="INPUT"||tags[i].tagName=="TEXTAREA"||tags[i].tagName=="PASSWORD")
		{
			var o=tags[i];
			var v=tags[i].value;
			o.isCheck="";
		}
	}
}

function forceReset(doc)
{
	var tags=doc.getElementsByTagName('*');
	for (var i=0;i<tags.length ;i++ )
	{
		if (tags[i].tagName=="INPUT"||tags[i].tagName=="TEXTAREA")
		{
			if (tags[i].type=="text" || tags[i].type=="textarea" || tags[i].type=="password"){
				doc.tags[i].value="";
			}			
		}
	}
}

/* fn-hd ********************************************************************** 
 * fun:将textarea中输入得回车换行转换为空格
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut 
 * 2005年09月12日  */ 
 
function fomatTextarea(doc)
{var tags=doc.getElementsByTagName('*');
	for (var i=0;i<tags.length ;i++ )
	{
		if (tags[i].tagName=="TEXTAREA")
		{ var str =doc.tags[i].value;
		  str =str.replace(/\r\n/gi," ");
		  	doc.tags[i].value=str;		
			}			
		}
	}


/* fn-hd ********************************************************************** 
 * fun:将输入框中的·替换.;
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut 
 * 2005年10月31日  */ 
 function fomatTextarea_1(ob)
{
	/*var tags=doc.all;
	for (var i=0;i<tags.length ;i++ )
	{
		if (tags[i].tagName=="INPUT"||tags[i].tagName=="TEXTAREA")
		{ 
			var str =tags[i].value;
			str =str.replaceAll("·",".");
		  	tags[i].value=str;		
		}			
	}*/
	
	var str = ob.value;	
	
	var index = str.indexOf("·");
	while(index != -1)
	{
		str =str.replace("·",".");
		index = str.indexOf("·");
	}
/*	
	var index1 = str.indexOf(">");
	while(index1 != -1)
	{
		str =str.replace(">","＞");
		index1 = str.indexOf(">");
	}	
	
	var index2 = str.indexOf("<");
	while(index2 != -1)
	{
		str =str.replace("<","＜");
		index2 = str.indexOf("<");
	}	
*/
	var index3 = str.indexOf("+");
	while(index3 != -1)
	{
		str =str.replace("+","＋");
		index3 = str.indexOf("+");
	}	

	var index4 = str.indexOf("\"");
	while(index4 != -1)
	{
		str =str.replace("\"","＂");
		index4 = str.indexOf("\"");
	}
	try{
	    ob.value = str;
     }catch(e)
     {}
}



/* fn-hd ********************************************************************** 
 * fun:将输入框中的，替换,;
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut 
 * 2005年11月23日  */ 
 function fomatText(op)
{
	var str = op.value;	
	str = str.replace(/，/gi,",");
	try{
	op.value = str;
	 }catch(e)
     {}
}


/* fn-hd ********************************************************************** 
 * fun:将输入框中的'替换为‘;
 * par: 
 * ret: 
 * rem: 
 * exm: 
 * sep: 
 * pub: 
 * log: 
 * aut 
 * 2005年12月6日  */ 
 function fomatALLText(op)
{
		var str = op.value;	
    str = str.replace(/'/gi,"’");   
    try{
        op.value = str;
    }catch(e)
     {}
}

function restrictLength(str,des,len)
{
	var flag =1;
	var index = str.indexOf(",");
	while(index != -1)
	{
		var str1 = str.substring(0,index);		
		if(str1.length>len)
		{
			alert("对不起，你输入的"+des+"过长，每个"+des+"的长度不能大于"+len+"个字符!");
			flag =0;
			break;
		}
		str =str.substring(index+1,str.length);
		index = str.indexOf(",");
	}
	if(index == -1)
	{	if(str.length>len)
		{
			alert("对不起，你输入的"+des+"过长，每个"+des+"的长度不能大于"+len+"个字符!");
			flag =0;
		}
	}
	if(flag ==1)
	{
		return true;
	}
	else
	{
		return false;
	}
}
