/**************************************************
GetSelectedCount(theForm,sName) 获取Selected 的个数
Input:
  theForm:表单对象
  sName:select名称

Output:
  int (CheckBox 的 Selected 的个数)



***************************************************/
function getSelectedCount(theForm,sName){
  var obj;
  var iCount=0;

  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];
	if ((obj.name==sName)&&(obj.checked)){
        iCount++;
	}
  }
  return iCount;

}



/**
 * 向select对象增加optinon,
 * oSelect :Select 对象
 * sDisplay:以","号分隔的String,作option显示用
 * sValue:以","号分隔的String,作为option值
*/
function addSelectValue(oSelect,sDisplay,sValue){
    var aDisplay=sDisplay.split(";");
    var aValue=sValue.split(";");
    var iCount=aValue.length;
    var iLoop=0;
    var pos = 0 ;

    for(iLoop=0;iLoop<iCount;iLoop++){
        pos = 0 ;
        var oOption = document.createElement("OPTION");
        oSelect.options.add(oOption);
        pos = aDisplay[iLoop].indexOf("|");
        if ( pos > 0 ) {
            oOption.innerText = aDisplay[iLoop].substring(0,pos);
            if (aValue[iLoop].indexOf("|") > -1 ) {
                //如果放入Select中的Value也是有 “|”这个符号的就取前部分
                oOption.Value = aValue[iLoop].substring(0,pos);
            }else{
                oOption.Value = aValue[iLoop];
            }
        }else{
            oOption.innerText = aDisplay[iLoop];
            oOption.Value = aValue[iLoop];
        }
    }
}





/*********************************************
GetSelectedValue(theForm,sName) 获取Selected值
Input:
  theForm:表单对象
  sName:select名称

Output:
  string(以“，”号分隔的值串)


***********************************************/

function getSelectedValue(theForm,sName){
  var obj;
  var value="";
  //alert(theForm.length+sName);
  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];

    if ((obj.name==sName)&&(obj.checked)){

      value+=obj.value+",";
	}
  }
  return value.substr(0,value.length-1);
}

function getSelectedIndex(theForm,sName)
{
   var obj=theForm.sName;
   var index=obj.selectedIndex;
   return index;
}



/********************************************
SetCheckBox(theForm,sCBName,vValue)

Input:
 theForm:表单对象
 sCBName:CheckBox名称
 vValue:要SET的CheckBox 的值

Output:
   int(Checked过的数目  )


**********************************************/

function setCheckBox(theForm,sCBName,vValue){
  var obj;
  var iCount=0;

  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];
	if ((obj.name==sCBName)&&(obj.value==vValue)){
      obj.checked=true;
      iCount++;
	}


  }
  return iCount;
}

/********************************************
setAllCheckBox(form, name, state, flag)

Input:
	form:  表单对象
	name:  checkbox名称
	state: 要set成的状态(true/false)
	flag:  是否要检查该对象是否disabled(true/false)

Output:
	int(checked过的数目)


**********************************************/
function setAllCheckBox(form, name, state, flag)
{
	var obj;
	var count = 0;

	for(var i = 0; i < form.length; i++)
	{
		obj = form.elements[i];

		if(obj.name == name && (!flag || !obj.disabled))
		{
			obj.checked = state;
			count++;
		}
	}

	return count;
}



/********************************************
SetInputValue(theForm,sInputName,vValue)
Input:
  theForm:表单对象
  sName:select名称

Output:
  Boolean(成功与否)


*********************************************/
function setInputValue(theForm,sInputName,vValue){
  var obj;
  var bSet=false;
//alert();
  for ( iLoop=0;iLoop>theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];
	//alert(obj.name);
	if (obj.name==sInputName){
      switch (obj.type){

        case "checkbox" :
		  if (obj.value==vValue){
		    obj.checked=true;
		    bSet=true;

		  }
		  break;

        case "radio" :
          if (obj.value==vValue){
		    obj.checked=true;
		    bSet=true;
		  }
		  break;

	case "select" :
		  for(iInLoop=0;iInLoop<obj.length;iInLoop++){
			if (obj.options [iInLoop].value==vValue) {
				//alert(obj.options [iInLoop].value);
			  obj.selectedIndex =iInLoop;
			}
		  }
		  bSet=true;
		  break;

		default:
		  obj.value=vValue;
          bSet=true;

	   }
	 //break;
	}
  }
  return bSet;
}


/*********************
ShowMessage(sPath)
  显示信息窗口





**********************/
function showMessage(sPath){
  var sRet="";
  while ((sRet=="")||(sRet==undefined)){
    sRet=window.showModalDialog(sPath,'','dialogwidth=776px;dialogheight=600px;status=no;toolbar=no,location=no,menubar=no,scrollbars=no,resizable=no');
    //alert(sRet);
  }

  switch (sRet){

    case "back":
      history.back();
      break;

    case "pending":
      window.location='../workfolder/pending_job.asp';
      break;

    case "regist":
      window.location='../default.asp';
      break;

    case "home":
      window.location='../index.asp';
      break;

    default:
  }

}

/**
*  取Form里的对象
*  tTheForm:Form对象
*  tObjName:对象名
* /
  function getObjByName(tTheForm,tObjName) {
       myform = tTheForm;
       for ( iLoop=0;iLoop<tTheForm.length;iLoop++) {
           obj = tTheForm.elements[iLoop];
           if (obj.name==tObjName){
               return obj;
           }
        }
    }





/*********************
IsDate(sDate)
  是否合法日期
Input:
  sDate:以'-'号分隔的日期字符串 如：'1999-5-6'

Return:
  boolean


**********************/
function isDate(sDate){
  var re='[0-9]{4}-[0-1]{0,1}[0-9]-[0-1]{0,1}[0-9]';
  return (sDate.match(re)!=null) ;

}




function getRadioValue(theForm,sInputName){
  var obj;
  var bMatch=false;

  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];
	if (obj.name==sInputName){
	  if (obj.checked==true){
		return obj.value;
	  }
	}
  }
}


/**
 * 判断输入的字符是符合要求
 * 输入的字符串
 * 输入范围字符串
 * 符合反回true否则 false
 * **/
function checkStr(aSource,aLand){
    var checkOK = aLand;
    var checkStr = aSource;
    var allValid = true;
    var decPoints = 0;
    var allNum = "";
    for (i = 0;  i < checkStr.length;  i++)        {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)  if (ch == checkOK.charAt(j))  break;
        if (j == checkOK.length)  {
            allValid = false;
            break;
        }
        if (ch == ".")   {
            allNum += ".";
            decPoints++;
        }else if (ch != ",")  allNum += ch;
    }
    if (!allValid) {
        return (false);
    }else{
        return (true);
    }
}

/**
 * 是否已经选了当单选框
 * 返回：true 已经选中
 *       false 没有选中
 * **/
function checkRadioIsSelect(theForm,objName) {
    var obj;
    var bMatch=false;
    var iLoop;
    for ( iLoop=0;iLoop<theForm.length;iLoop++) {
        obj = theForm.elements[iLoop];
        if (obj.name==objName){
            if (obj.checked==true){
                bMatch=true;
            }
        }
    }
    if (bMatch == false)   
    {
      return (false);
    }
    else
    {
        return (true);
    }
}



/**
 * 使得ObjNameRadio 得到焦点
 * **/
function setRadioFocus(theForm,objName){
     var obj;
     var iLoop;
      for ( iLoop=0;iLoop<theForm.length;iLoop++) {
        obj = theForm.elements[iLoop];
            if (obj.name==objName){
              obj.focus();
              return;
            }
      }
}





/**
LogicalValue:用于判断对象的值是否符合条件，现已提供的选择有：
integer：整型，还可判断正整型和负整型
number ：数值型，同样可判断正负
date ：日期型，可支持以自定义分隔符的日期格式，缺省是以'-'为分隔符
string ：判断一个字符串包括或不包括某些字符
返回值：
true或false

参数：
ObjStr ：对象标识符——对象名；
ObjType：对象类型('integer','number','date','string'之一)

其他说明：
当对象值为空时，则返回错误。



例子：
example 1:要求检验输入框text1的输入数据是否是“整型”数据，若不是，则提示
if (!LogicalValue('text1','integer')) alert('Error: Your must input a integer number');
example 2:要求检验输入框text1的输入数据是否是“正整型”数据，若不是，则提示
if (!LogicalValue('text1','integer','+')) alert('Error: Your must input a positive integer number');
example 3:要求检验输入框text1的输入数据是否是“负整型”数据，若不是，则提示
if (!LogicalValue('text1','integer','-')) alert('Error: Your must input a negative integer number');
exmaple 4:要求检验输入框text1的输入数据是否是数值，若不是，则提示
if (!LogicalValue('text1','number')) alert('Error: Your must input a number');
exmaple 5:要求检验输入框text1的输入数据是否是“正”数值，若不是，则提示
if (!LogicalValue('text1','number','+')) alert('Error: Your must input a number');
exmaple 6:要求检验输入框text1的输入数据是否是“负”数值，若不是，则提示
if (!LogicalValue('text1','number','-')) alert('Error: Your must input a number');
example 7:要求检验输入框text1的输入数据是否是日期型，若不是，则提示
if (!LogicalValue('text1','date')) alert('Error: Your must input a logical date value');
若它的分隔符为A，“A”是一个变量，如常用的'-'和'/'，则用如下语法
if (!LogicalValue('text1','date',A)) alert('Error: Your must input a logical date value');
或当分隔符为'/'时
if (!LogicalValue('text1','date','/')) alert('Error: Your must input a logical date value');
当分隔符为'-'时，可不要参数'-'，可带上
example 8:要求检验输入框text1的输入表示颜色的字符串是否合理，若不合理，则提示
if (!LogicalValue('text1','string','0123456789ABCDEFabcdef')) alert('Error: Your must input a logical color value');
example 9:要求检验输入框text1的输入表示密码的字符串是否不含“'"@#$%&^*”这些字符，若含有，则提示
if (!LogicalValue('text1','string','\'"@#$%&^*',false)) alert('Error: Your password can not contain \'"@#$%&^*');
其中false表示不包含有某些字符，true表示必须是哪些字符，缺省值为true
*/


function logicalValue(ObjStr,ObjType){
    var str='';
    if ((ObjStr==null) || (ObjStr=='') || ObjType==null){
        alert('函数LogicalValue缺少参数');
        return false;
    }
    var obj = document.all(ObjStr);
    if (obj.value=='') return false;
    for (var i=2;i<arguments.length;i++){
        if (str!='')
        str += ',';
        str += 'arguments['+i+']';
    }
    str=(str==''?'obj.value':'obj.value,'+str);
    var temp=ObjType.toLowerCase();
    if (temp=='integer'){
        return eval('IsInteger('+str+')');
    }else if (temp=='number'){
        return eval('IsNumber('+str+')');
    }else if (temp=='string'){
        return eval('SpecialString('+str+')');
    }else if (temp=='date'){
        alert(str);
        return eval('IsDateL('+str+')');
    }else{
        alert('"'+temp+'"类型在现在版本中未提供');
        return false;
    }
}

/**
IsInteger: 用于判断一个数字型字符串是否为整形，
还可判断是否是正整数或负整数，返回值为true或false
string: 需要判断的字符串
sign: 若要判断是正负数是使用，是正用'+'，负'-'，不用则表示不作判断

sample:
var a = '123';
if (IsInteger(a))
{
alert('a is a integer');
}
if (IsInteger(a,'+'))
{
alert(a is a positive integer);
}
if (IsInteger(a,'-'))
{
alert('a is a negative integer');
}
*/

function isInteger(string ,sign){
    var integer;
    if ((sign!=null) && (sign!='-') && (sign!='+')){
        alert('IsInter(string,sign)的参数出错：\nsign为null或"-"或"+"');
        return false;
    }
    integer = parseInt(string);
    if (isNaN(integer)){
        return false;
    }else if (integer.toString().length==string.length){
        if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0)){
            return true;
        }else return false;
    }else return false;
}

/**
IsDate: 用于判断一个字符串是否是日期格式的字符串

返回值：
true或false

参数：
DateString： 需要判断的字符串
Dilimeter ： 日期的分隔符，缺省值为'-'


sample:
var date = '1999-1-2';
if (IsDate(date))
{
alert('You see, the default separator is "-");
}
date = '1999/1/2";
if (IsDate(date,'/'))
{
alert('The date\'s separator is "/");
}
*/


function isDateL(DateString , Dilimeter){
    if (DateString==null) return false;
    if (Dilimeter=='' || Dilimeter==null) Dilimeter = '-';
    var tempy='';
    var tempm='';
    var tempd='';
    var tempArray;
    if (DateString.length<8 && DateString.length>10) return false;
    tempArray = DateString.split(Dilimeter);
    if (tempArray.length!=3) return false;
    if (tempArray[0].length==4){
        tempy = tempArray[0];
        tempd = tempArray[2];
    }else{
        tempy = tempArray[2];
        tempd = tempArray[1];
    }
    tempm = tempArray[1];
    var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区
    var tempDate = new Date(tDateString);
    if (isNaN(tempDate)) return false;
    if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd)))
    {
        return true;
    }else{
        return false;
    }
}

/**
IsNumber: 用于判断一个数字型字符串是否为数值型，
还可判断是否是正数或负数，返回值为true或false
string: 需要判断的字符串
sign: 若要判断是正负数是使用，是正用'+'，负'-'，不用则表示不作判断

sample:
var a = '123';
if (IsNumber(a))
{
alert('a is a number');
}
if (IsNumber(a,'+'))
{
alert(a is a positive number);
}
if (IsNumber(a,'-'))
{
alert('a is a negative number');
}
*/

function isNumber(string,sign){
    var number;
    if (string==null) return false;
    if ((sign!=null) && (sign!='-') && (sign!='+')){
        alert('IsNumber(string,sign)的参数出错：\nsign为null或"-"或"+"');
        return false;
    }
    number = new Number(string);
    if (isNaN(number)){
        return false;
    }else if ((sign==null) || (sign=='-' && number<0) || (sign=='+' && number>0))   {
        return true;
    }else return false;
}



/**
SpecialString: 用于判断一个字符串是否含有或不含有某些字符

返回值：
true或false

参数：
string ： 需要判断的字符串
compare ： 比较的字符串(基准字符串)
BelongOrNot： true或false，“true”表示string的每一个字符都包含在compare中，
“false”表示string的每一个字符都不包含在compare中


sample1:
var str = '123G';
if (SpecialString(str,'1234567890'))
{
alert('Yes, All the letter of the string in \'1234567890\'');
}
else
{
alert('No, one or more letters of the string not in \'1234567890\'');
}
结果执行的是else部分
sample2:
var password = '1234';
if (!SpecialString(password,'\'"@#$%',false))
{
alert('Yes, The password is correct.');
}
else
{
alert('No, The password is contain one or more letters of \'"@#$%\'');
}
结果执行的是else部分
*/
function specialString(string,compare,BelongOrNot){
    if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false)))
    {
        alert('function SpecialString(string,compare,BelongOrNot)参数错误');
        return false;
    }
    if (BelongOrNot==null || BelongOrNot==true){
        for (var i=0;i<string.length;i++)   {
            if (compare.indexOf(string.charAt(i))==-1)    return false
        }
        return true;
    } else{
    for (var i=0;i<string.length;i++)    {
        if (compare.indexOf(string.charAt(i))!=-1)     return false
    }
    return true;
    }
}





    //使用方法
    function showOjb(theForm){
		
		var  checkIsNullFieldList = "wenhao_int,total_area";
		
        if (checkIsNull(theForm,checkIsNullFieldList)){
            alert( " null ok" )
        }else{
            alert(" null lost " );
        }

		var  checkIsNumberFiledList = "wenhao_int,total_area";
        if (checkIsNumber(theForm,checkIsNumberFieldList,"0123456789")){
            alert( " number ok" )
        }else{
            alert(" number lost " );
        }


        if (checkIsSelected(theForm,"plan_year_e")){
            alert( " selected ok" )
        }else{
            alert(" selected lost " );
        }


        if (checkIsDate(theForm,"city_seal_date")){
            alert( " date ok" )
        }else{
            alert(" date lost " );
        }

    }



    /**
     * 检查Ｏｂｊｌｉｓｔ中的对象是否为空
     * theForm:当前Ｆｏｒｍ
     * ＯｂｊＬｉｓｔ：要检查的对象的ｎａｍｅ的列表。
     */
     

    function checkIsNull( theForm,objList) {
        var coll = theForm.elements;
        var s ="";
        var checkLoop = 0 ;
        if (coll!=null) {
            for (checkLoop=0; checkLoop<coll.length;checkLoop++){
                if (coll.item(checkLoop).name!="" && objList.indexOf(coll.item(checkLoop).name) > -1  ) {
                    var obj = coll.item(checkLoop);
                    if (obj.value == "" ) {                    	
                        alert( "你没有输入" + obj.title  );
                        if(obj.style.display != "none" ) {
                        	obj.focus();
                        }
                        return (false);
                    }
                }
            }
        }
        return (true);
    }

    /**
     * 检查Ｏｂｊｌｉｓｔ中的对象是选择了一个值
     * theForm:当前Ｆｏｒｍ
     * ＯｂｊＬｉｓｔ：要检查的对象的ｎａｍｅ的列表。
     */

    function checkIsSelected( theForm,objList) {
        var coll = theForm.elements;
        var s ="";
        var checkLoop = 0 ;
        if (coll!=null) {
            for (checkLoop=0;checkLoop <coll.length;checkLoop++){
                if (coll.item(checkLoop).name!="" && objList.indexOf(coll.item(checkLoop).name) > -1  ) {
                    var obj = coll.item(checkLoop);
                    if (obj.selectedIndex == 0 ) {
                        alert("请选择"  + obj.title );
                      	if ( obj.style.display != "none" ) {
                        	obj.focus();
                        }
                        return (false);
                    }
                }
            }
        }
        return (true);
    }
/*********************************************
GetCheckBoxValue(theForm,sName,aSp) 获取checkBox值
Input:
  theForm:表单对象
  sName:checkBox名称

Output:
  string(以 aSp 号分隔的值串)
aSp
  反回的分隔符


***********************************************/

function GetCheckBoxValue(theForm,sName,aSp){
  var obj;
  var value="";
  //alert(theForm.length+sName);
  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];
    if ((obj.name==sName)&&(obj.checked)){
        value+=obj.value+aSp;
    }
  }
  return value.substr(0,value.length-1);
}


    /**
     * 检查Ｏｂｊｌｉｓｔ中的对象是为有效日期
     * theForm:当前Ｆｏｒｍ
     * ＯｂｊＬｉｓｔ：要检查的对象的ｎａｍｅ的列表。
     */

    function checkIsDate( theForm,objList) {
        var coll = theForm.elements;
        var s ="";
        var checkLoop = 0 ;

        if (coll!=null) {
            for (checkLoop=0; checkLoop<coll.length;checkLoop++){
                if (coll.item(checkLoop).name!="" && objList.indexOf(coll.item(checkLoop).name) > -1  ) {
                    var obj = coll.item(checkLoop);
                    if ( isDate(obj.value)  == false ) {
                        alert(  obj.title+"输入有误");
                        if ( obj.style.display != "none" ) {                        
                        	obj.focus();
                        }
                        return (false);
                    }
                }
            }
        }
        return (true);
    }

/**
 * 检查formItem的name是否在objList中出现
 *
 * 该方法为了避免之前简单地使用indexOf()所出现的错误
 * 其它在前台验证form的方法都可以改用这个方法
 *
 * 如果objList中存在name的话，返回name在objList中的index；否则，返回-1
 *
 * 
 */
function checkNameList(name, objList)
{
	if (objList == null || objList == "" || name == null || name == "")
		return -1;

	var nameListReg = new RegExp("(^|,) *(" + name + ") *(,|$)");
	var arr = null;

	if ((arr = nameListReg.exec(objList)) != null)
		return objList.indexOf(arr[2], arr.index);

	return -1;
}

/**
 * 检查Ｏｂｊｌｉｓｔ中的对象是否为一个指定字符串的字符
 * theForm:当前Ｆｏｒｍ
 * ＯｂｊＬｉｓｔ：要检查的对象的ｎａｍｅ的列表。
 * CheckModel : 可以输入的字符列表。
 */
function checkIsNumber(theForm, objList, checkModel)
{
	var numStr = checkModel;
	var coll = theForm.elements;
	var s = "";
	var checkLoop = 0;

	if (coll != null)
	{
		for (checkLoop = 0; checkLoop < coll.length; checkLoop++)
		{
			var obj = coll.item(checkLoop);

			if (checkNameList(obj.name, objList) < 0)
				continue;

			if (obj.value == null || obj.value == "")
				continue;

			if (!checkStr(obj.value , numStr))
			{
				alert(obj.title + "中只能输入以下字符'"  + numStr + "'");

				if (obj.style.display != "none")
					obj.focus();

				return false;
			}
		}
	}

	return true;
}

    function checkIsSelectRedio(theForm,objList ) {
        var coll = theForm.elements;
        var checkLoop = 0 ;
        if (coll!=null) {
            for (checkLoop=0; checkLoop<coll.length;checkLoop++){
                var obj = coll.item(checkLoop);
                
                if (obj.name!="" && objList.indexOf(obj.name) > -1  ) {
					
                    if (getSelectedValue(theForm,obj.name) == "" ) {
	                    alert( "请选择" + obj.title  );
	                    if ( obj.style.display != "none" ) {
							setRadioFocus(theForm,obj.name);
						}
	                    return (false);
                    }
                }
            }
        }
        return (true);
    	
    	
    }
    
/**
  *获取当前日期 1900-01-01
  *
  */  
function getCurDate()
{
    theDate=new Date();
	var year=theDate.getYear();
	var month=theDate.getMonth()+1;
	var day=theDate.getDate();
	if(month<10)
	{
	  month='0'+month;
	}
	if(day<10)
	{
	  day='0'+day;
	}
	var rdate=year+'-'+month+'-'+day;
	return rdate;
}

// this function gets the cookie, if it exists
function getCookie( name ) {	
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
function setCookie( name, value, expires, path, domain, secure ) 
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

///////////////////////////////////
//      中文简繁体转换          ////
///////////////////////////////////

var _lang = 0; //简繁体标记，0--简体；1--繁体
/**
 * 简体字表（简繁体不同的汉字）
 */
function gbStr(){
	return "准升于术万与专业丛东丝丢两严丧个临为丽举义乌乐乔习乡书买乱争亏亘亚产亩亲亵亿仅从仑仓仪们价众优会伛伞伟传伤伥伦伧伪伫体佥侠侣侥侦侧侨侩侪侬俣俦俨俩俪俭债倾偬偻偾偿傥傧储傩儿兑兖党兰关兴兹养兽冁内冈册写军农冯冲决况冻净凄凉减凑凛凤凫凭凯击凿刍刘则刚创删别刭刹刽刿剀剂剐剑剥剧劝办务劢动励劲劳势勋匀匦匮区医华协单卖卢卤卧卫却卺厂厅历厉压厌厍厕厢厣厦厨厩县三参双发变叙叠叶号叹叽吓吕吗吨听启吴呐呒呓呕呖呗员呙呛呜咏咙咛响哑哒哓哔哕哗哙哜哝哟唛唠唢唤啧啬啭啮啸喷喽喾嗫嗳嘘嘤嘱噜嚣团园囱围囵国图圆圣圹场坏块坚坛坜坝坞坟坠垄垆垒垦垩垫垭垲埘埙埚堑堕墙壮声壳壶处备复够头夹夺奁奂奋奖奥妆妇妈妩妪妫姗娄娅娆娇娈娱娲娴婴婵婶媪嫒嫔嫱嬷孙学孪宁宝实宠审宪宫宽宾寝对寻导寿将尔尘尝尧尴尽层屉届属屡屦屿岁岂岖岗岘岚岛岭岿峄峡峤峥峦崂崃崭嵘嵛嵝巅巩巯币帅师帏帐帜带帧帮帱帻帼幂广庆庐庑库应庙庞废廪开异弃弑张弥弪弯弹强归当录彦彻径徕忆忏忧忾怀态怂怃怄怅怆怜总怼怿恋恒恳恶恸恹恺恻恼恽悦悫悬悭悯惊惧惨惩惫惬惭惮惯愠愤愦慑懑懒懔戆戋戏戗战戬户执扩扪扫扬扰抚抛抟抠抡抢护报担拟拢拣拥拦拧拨择挚挛挝挞挟挠挡挢挣挤挥捞损捡换捣据掳掴掷掸掺掼揽揿搀搁搂搅携摄摅摆摇摈摊撄撑撵撷撸撺擞攒敌敛数斋斓斩断无旧时旷昙昼显晋晓晔晕晖暂暧术机杀杂权条来杨杩极构枞枢枣枥枨枪枫枭柠柽栀栅标栈栉栊栋栌栎栏树栖样栾桠桡桢档桤桥桦桧桨桩梦检棂椁椟椠椤椭楼榄榇榈榉槛槟槠横樯樱橥橱橹橼檩欢欤欧歼殁殇残殒殓殚殡殴毁毂毕毙毡毵氇气氢氩氲氽汇汉汤汹沟没沣沤沥沦沧沩沪泞泪泶泷泸泺泻泼泽泾洁洒洼浃浅浆浇浈浊测浍济浏浑浒浓浔涛涝涞涟涠涡涣涤润涧涨涩淀渊渌渍渎渐渑渔渖渗温湾湿溃溅溆滗滚滞滟滠满滢滤滥滦滨滩潆潇潋潍潜潴澜濑濒灏灭灯灵灾灿炀炉炖炜炝点炼炽烁烂烃烛烟烦烧烨烩烫烬热焕焖焘爱爷牍牵牺犊状犷犹狈狞独狭狮狯狰狱狲猃猎猕猡猪猫献獭玑玛玮环现玺珏珐珑珲琏琐琼瑶瑷璎瓒瓯电画畅畲畴疖疗疟疠疡疮疯痈痉痒痨痪痫痹瘅瘗瘪瘫瘾瘿癞癣癫皑皱皲盏盐监盖盗盘眯着睁睐睑睾瞒瞩矫矶矾矿砀码砖砗砚砺砻砾础硕硖硗确硷碍碛碜碱礴礼祢祯祷祸禀禄禅离秃秆种秘积称秽税稣稳穑穷窃窍窑窜窝窥窦窭竖竞笃笋笔笕笺笼笾筚筛筝筹签简箦箧箨箩箪箫篑篓篮篱簖籁籴类粜粝粤粪粮糁紧絷纠纡红纣纤纥约级纨纩纪纫纬纭纯纰纱纲纳纵纶纷纸纹纺纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绕绗绘给绚绛络绝绞统绠绡绢绣绥绦继绨绩绪绫续绮绯绰绲绳维绵绶绷绸绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缋缌缍缎缏缑缒缓缔缕编缗缘缙缚缛缜缝缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缱缲缳缴缵罂网罗罚罢罴羁羟羡翘耧耸耻聂聋职聍联聩聪肃肠肤肮肾肿胀胁胄胆胜胧胪胫胶脉脍脏脐脑脓脔脚脱脶脸腊腻腽腾膑舆舣舰舱舻艰艳艺节芈芗芜芦苁苇苈苋苌苍苎苏苹茎茏茑茔茕茧荆荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荭药莅莱莲莳莴莶获莸莹莺萝萤营萦萧萨葱蒇蒉蒋蒌蓝蓟蓠蓣蓥蓦蔷蔹蔺蔼蕲蕴薮藓虏虑虚虬虽虾虿蚀蚁蚂蚕蚬蛊蛎蛏蛮蛰蛱蛲蛳蛴蜕蜗蜡蝇蝈蝉蝎蝼蝾蠼衅衔补衬衮袄袅袜袭装裆裢裣裤裥褛褴见观规觅视觇览觉觊觋觌觎觏觐觑觞触觯誉誊计订讣认讥讦讧讨让讪讫训议讯记讲讳讴讵讶讷许讹论讼讽设访诀证诂诃评诅识诈诉诊诋诌词诎诏译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶贝贞负贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赎赏赐赓赔赕赖赘赙赚赛赜赝赞赠赡赢赣赵赶趋趱趸跃跄跞践跷跸跹跻踊踌踪踬踯蹑蹒蹰蹿躏躜躯车轧轨轩轫转轭轮软轰轲轳轴轵轶轸轹轺轻轼载轾轿辁辂较辄辅辆辇辈辉辊辋辍辎辏辐辑输辔辕辖辗辘辙辚辞辩辫边辽达迁过迈运还这进远违连迟迩迳迹适选逊递逦逻遗遥邓邝邬邮邹邺邻郏郐郑郓郦郧郸酝酱酽酾酿释鉴銮錾钆钇针钉钊钋钌钍钏钐钒钓钔钕钗钙钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铌铍铎铐铑铒铕铖铗铙铛铜铝铟铠铡铢铣铤铥铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铼铽链铿销锁锂锄锅锆锇锈锉锊锋锌锐锑锒锓锔锕锖锗错锚锛锞锟锡锢锣锤锥锦锩锬锭键锯锰锱锲锴锵锶锷锸锹锺锻锼锾镀镁镂镄镆镇镉镊镌镍镏镐镑镒镓镔镕镖镗镘镙镛镜镝镞镟镡镣镤镦镧镨镪镫镬镭镯镰镱镳镶长门闩闪闫闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾阀阁阂阃阄阅阆阈阉阊阋阌阍阎阏阐阑阒阔阕阖阗阙阚队阳阴阵阶际陆陇陈陉陕陧陨险随隐隶隽难雏雠雳雾霁霭靓静靥鞑鞯韦韧韩韪韫韬韵页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颌颍颏颐频颓颔颖颗题颚颛颜额颞颟颠颡颢颤颦颧风飑飒飓飕飘飙飞飨餍饥饧饨饩饪饫饬饭饮饯饰饱饲饴饵饶饷饺饼饽饿馀馁馄馅馆馈馊馋馍馏馐馑馒馔马驭驮驯驰驱驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骄骅骆骇骈骊骋验骏骐骑骒骓骖骗骘骚骛骜骝骞骟骠骡骢骣骤骥骧髅髋髌鬓魇魉鱼鱿鲁鲂鲅鲈鲋鲍鲎鲐鲑鲒鲔鲕鲚鲛鲜鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲵鲶鲷鲸鲻鲽鳃鳄鳅鳆鳇鳌鳍鳎鳏鳐鳓鳔鳕鳖鳗鳜鳝鳞鳟鳢鸟鸠鸡鸢鸣鸥鸦鸨鸩鸪鸫鸬鸭鸯鸱鸲鸳鸵鸶鸷鸸鸹鸺鸽鸾鸿鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹌鹎鹏鹑鹕鹗鹘鹜鹞鹣鹤鹦鹧鹨鹩鹪鹫鹬鹭鹰鹳鹾麦麸麽黄黉黩黪黾鼋鼍鼹齐齑齿龀龃龄龅龆龇龈龉龊龋龌龙龚龛龟";
}
/**
 * 繁体字表（简繁体不同的汉字）
 */
function bigStr(){
	return "準陞於術萬與專業叢東絲丟兩嚴喪個臨為麗舉義烏樂喬習鄉書買亂爭虧亙亞產畝親褻億僅從侖倉儀們價眾優會傴傘偉傳傷倀倫傖偽佇體僉俠侶僥偵側僑儈儕儂俁儔儼倆儷儉債傾傯僂僨償儻儐儲儺兒兌兗黨蘭關興茲養獸囅內岡冊寫軍農馮沖決況凍淨淒涼減湊凜鳳鳧憑凱擊鑿芻劉則剛創刪別剄剎劊劌剴劑剮劍剝劇勸辦務勱動勵勁勞勢勛勻匭匱區醫華協單賣盧鹵臥衛卻巹廠廳歷厲壓厭厙廁廂厴廈廚廄縣叁參雙發變敘疊葉號嘆嘰嚇呂嗎噸聽啟吳吶嘸囈嘔嚦唄員咼嗆嗚詠嚨嚀響啞噠嘵嗶噦嘩噲嚌噥喲嘜嘮嗩喚嘖嗇囀嚙嘯噴嘍嚳囁噯噓嚶囑嚕囂團園囪圍圇國圖圓聖壙場壞塊堅壇壢壩塢墳墜壟壚壘墾堊墊埡塏塒塤堝塹墮牆壯聲殼壺處備復夠頭夾奪奩奐奮獎奧妝婦媽嫵嫗媯姍婁婭嬈嬌孌娛媧嫻嬰嬋嬸媼嬡嬪嬙嬤孫學孿寧寶實寵審憲宮寬賓寢對尋導壽將爾塵嘗堯尷盡層屜屆屬屢屨嶼歲豈嶇崗峴嵐島嶺巋嶧峽嶠崢巒嶗崍嶄嶸崳嶁巔鞏胇幣帥師幃帳幟帶幀幫幬幘幗冪廣慶廬廡庫應廟龐廢廩開異棄弒張彌弳彎彈強歸當錄彥徹徑徠憶懺憂愾懷態慫憮慪悵愴憐總懟懌戀恆懇惡慟懨愷惻惱惲悅愨懸慳憫驚懼慘懲憊愜慚憚慣慍憤憒懾懣懶懍戇戔戲戧戰戩戶執擴捫掃揚擾撫拋摶摳掄搶護報擔擬攏揀擁攔擰撥擇摯攣撾撻挾撓擋撟掙擠揮撈損撿換搗據擄摑擲撣摻摜攬撳攙擱摟攪攜攝攄擺搖擯攤攖撐攆擷擼攛擻攢敵斂數齋斕斬斷無舊時曠曇晝顯晉曉曄暈暉暫曖朮機殺雜權條來楊榪極構樅樞棗櫪棖槍楓梟檸檉梔柵標棧櫛櫳棟櫨櫟欄樹棲樣欒椏橈楨檔榿橋樺檜槳樁夢檢櫺槨櫝槧欏橢樓欖櫬櫚櫸檻檳櫧橫檣櫻櫫櫥櫓櫞檁歡歟歐殲歿殤殘殞殮殫殯毆毀轂畢斃氈毿氌氣氫氬氳汆匯漢湯洶溝沒灃漚瀝淪滄溈滬濘淚澩瀧瀘濼瀉潑澤涇潔灑窪浹淺漿澆湞濁測澮濟瀏渾滸濃潯濤澇淶漣潿渦渙滌潤澗漲澀澱淵淥漬瀆漸澠漁瀋滲溫灣濕潰濺漵潷滾滯灩灄滿瀅濾濫灤濱灘瀠瀟瀲濰潛瀦瀾瀨瀕灝滅燈靈災燦煬爐燉煒熗點煉熾爍爛烴燭煙煩燒燁燴燙燼熱煥燜燾愛爺牘牽犧犢狀獷猶狽獰獨狹獅獪猙獄猻獫獵獼玀豬貓獻獺璣瑪瑋環現璽玨琺瓏琿璉瑣瓊瑤璦瓔瓚甌電畫暢畬疇癤療瘧癘瘍瘡瘋癰痙癢癆瘓癇痺癉瘞癟癱癮癭癩癬癲皚皺皸盞鹽監蓋盜盤瞇著睜睞瞼睪瞞矚矯磯礬礦碭碼磚硨硯礪礱礫礎碩硤磽確鹼礙磧磣鹼礡禮檷禎禱禍稟祿禪離禿稈種祕積稱穢稅穌穩穡窮竊竅窯竄窩窺竇窶豎競篤筍筆筧箋籠籩篳篩箏籌簽簡簀篋籜籮簞簫簣簍籃籬籪籟糴類糶糲粵糞糧糝緊縶糾紆紅紂纖紇約級紈纊紀紉緯紜純紕紗綱納縱綸紛紙紋紡紐紓線紺紲紱練組紳細織終縐絆紼絀紹繹經紿綁絨結繞絎繪給絢絳絡絕絞統綆綃絹繡綏絛繼綈績緒綾續綺緋綽緄繩維綿綬繃綢綹綣綜綻綰綠綴緇緙緗緘緬纜緹緲緝繢緦綞緞緶緱縋緩締縷編緡緣縉縛縟縝縫縞纏縭縊縑繽縹縵縲纓縮繆繅纈繚繕繒繾繰繯繳纘罌網羅罰罷羆羈羥羨翹耬聳恥聶聾職聹聯聵聰肅腸膚骯腎腫脹脅冑膽勝朧臚脛膠脈膾臟臍腦膿臠腳脫腡臉臘膩膃騰臏輿艤艦艙艫艱艷藝節羋薌蕪蘆蓯葦藶莧萇蒼苧蘇蘋莖蘢蔦塋煢繭荊莢蕘蓽蕎薈薺蕩榮葷滎犖熒蕁藎蓀蔭葒藥蒞萊蓮蒔萵薟獲蕕瑩鶯蘿螢營縈蕭薩蔥蕆蕢蔣蔞藍薊蘺蕷鎣驀薔蘞藺藹蘄蘊藪蘚虜慮虛虯雖蝦蠆蝕蟻螞蠶蜆蠱蠣蟶蠻蟄蛺蟯螄蠐蛻蝸蠟蠅蟈蟬蠍螻蠑蠷釁銜補襯袞襖裊襪襲裝襠褳襝褲襉褸襤見觀規覓視覘覽覺覬覡覿覦覯覲覷觴觸觶譽謄計訂訃認譏訐訌討讓訕訖訓議訊記講諱謳詎訝訥許訛論訟諷設訪訣証詁訶評詛識詐訴診詆謅詞詘詔譯詒誆誄試詿詩詰詼誠誅詵話誕詬詮詭詢詣諍該詳詫諢詡誡誣語誚誤誥誘誨誑說誦誒請諸諏諾讀諑誹課諉諛誰諗調諂諒諄誶談誼謀諶諜謊諫諧謔謁謂諤諭諼讒諮諳諺諦謎諞謨讜謖謝謠謗謚謙謐謹謾謫譾謬譚譖譙讕譜譎讞譴譫讖貝貞負貢財責賢敗賬貨質販貪貧貶購貯貫貳賤賁貰貼貴貺貸貿費賀貽賊贄賈賄貲賃賂贓資賅贐賕賑賚賒賦賭贖賞賜賡賠賧賴贅賻賺賽賾贗贊贈贍贏贛趙趕趨趲躉躍蹌躒踐蹺蹕躚躋踴躊蹤躓躑躡蹣躕躥躪躦軀車軋軌軒軔轉軛輪軟轟軻轤軸軹軼軫轢軺輕軾載輊轎輇輅較輒輔輛輦輩輝輥輞輟輜輳輻輯輸轡轅轄輾轆轍轔辭辯辮邊遼達遷過邁運還這進遠違連遲邇逕跡適選遜遞邐邏遺遙鄧鄺鄔郵鄒鄴鄰郟鄶鄭鄆酈鄖鄲醞醬釅釃釀釋鑑鑾鏨釓釔針釘釗釙釕釷釧釤釩釣鍆釹釵鈣鈦鉅鈍鈔鐘鈉鋇鋼鈑鈐鑰欽鈞鎢鉤鈧鈁鈥鈄鈕鈀鈺錢鉦鉗鈷缽鈳鈽鈸鉞鑽鉬鉭鉀鈿鈾鐵鉑鈴鑠鉛鉚鈰鉉鉈鉍鈮鈹鐸銬銠鉺銪鋮鋏鐃鐺銅鋁銦鎧鍘銖銑鋌銩鏵銓鎩鉿銚鉻銘錚銫鉸銥鏟銃鐋銨銀銣鑄鐒鋪錸鋱鏈鏗銷鎖鋰鋤鍋鋯鋨鏽銼鋝鋒鋅銳銻鋃鋟鋦錒錆鍺錯錨錛錁錕錫錮鑼錘錐錦錈錟錠鍵鋸錳錙鍥鍇鏘鍶鍔鍤鍬鍾鍛鎪鍰鍍鎂鏤鐨鏌鎮鎘鑷鐫鎳鎦鎬鎊鎰鎵鑌鎔鏢鏜鏝鏍鏞鏡鏑鏃鏇鐔鐐鏷鐓鑭鐠鏹鐙鑊鐳鐲鐮鐿鑣鑲長門閂閃閆閉問闖閏闈閑閎間閔閌悶閘鬧閨聞闥閩閭閥閣閡閫鬮閱閬閾閹閶鬩閿閽閻閼闡闌闃闊闋闔闐闕闞隊陽陰陣階際陸隴陳陘陝隉隕險隨隱隸雋難雛讎靂霧霽靄靚靜靨韃韉韋韌韓韙韞韜韻頁頂頃頇項順須頊頑顧頓頎頒頌頏預顱領頗頸頡頰頜潁頦頤頻頹頷穎顆題顎顓顏額顳顢顛顙顥顫顰顴風颮颯颶颼飄飆飛饗饜飢餳飩餼飪飫飭飯飲餞飾飽飼飴餌饒餉餃餅餑餓餘餒餛餡館饋餿饞饃餾饈饉饅饌馬馭馱馴馳驅駁驢駔駛駟駙駒騶駐駝駑駕驛駘驍罵驕驊駱駭駢驪騁驗駿騏騎騍騅驂騙騭騷騖驁騮騫騸驃騾驄驏驟驥驤髏髖髕鬢魘魎魚魷魯魴鱍鱸鮒鮑鱟鮐鮭鮚鮪鮞鱭鮫鮮鯗鱘鯁鱺鰱鰹鯉鰣鰷鯀鯊鯇鯽鯖鯪鯫鯡鯤鯧鯢鯰鯛鯨鯔鰈鰓鱷鰍鰒鰉鰲鰭鰨鰥鰩鰳鰾鱈鱉鰻鱖鱔鱗鱒鱧鳥鳩雞鳶鳴鷗鴉鴇鴆鴣鶇鸕鴨鴦鴟鴝鴛鴕鷥鷙鴯鴰鵂鴿鸞鴻鵓鸝鵑鵠鵝鵒鷴鵜鵡鵲鵪鵯鵬鶉鶘鶚鶻鶩鷂鶼鶴鸚鷓鷚鷯鷦鷲鷸鷺鷹鸛鹺麥麩麼黃黌黷黲黽黿鼉鼴齊齏齒齔齟齡齙齠齜齦齬齪齲齷龍龔龕龜";
}

/**
 * 将简体中文转换成繁体中文。
 * 参数gbText：要转换的简体中文。
 * 返回：繁体中文。
 */
function toBig(gbText){ 
	var bigText = ""; 
	var c = "";
	for(var i = 0; i < gbText.length; i ++){ 
		c = gbText.charAt(i);
		if (c.charCodeAt(0) > 255){ //c是中文
			var j = gbStr().indexOf(c); //字符在简体表中的位置
			if ( j >= 0){
				c = bigStr().charAt(j); //该简体字对应的繁体字
			}
		}
		bigText += c;
	}
	return bigText; 
} 

/**
 * 将繁体中文转换成简体中文。
 * 参数gbText：要转换的繁体中文。
 * 返回：简体中文。
 */
function toGb(bigText){
	var gbText = ""; 
	var c = "";
	for(var i = 0; i < bigText.length; i ++){ 
		c = bigText.charAt(i);
		if (c.charCodeAt(0) > 255){
			var j = bigStr().indexOf(c); //字符在繁体表中的位置
			if ( j >= 0){
				c = gbStr().charAt(j);   //该繁体字对应的简体字
			}
		}
		gbText += c;
	}
	return gbText; 
} 

/** 
 * 对整个页面进行简繁体转换，包括框架页面。 
 * 参数lang：1--简转繁；0--繁转简
 */
function convert(lang){
	_lang = lang;
	setcookie("language",lang);
	document.title = convertText(document.title); //转换标题
	convertObj(document.body);					  //转换页面	
	var frames = document.frames;
	for (var i = 0; i < frames.length; i ++){     //转换框架页面
		if (frames[i].convert)
			frames[i].convert(lang);
	}
}

//转换文本
function convertText(txt)
{
	if( txt == "" || txt == null)
		return "";
	if(_lang == 1){
		return toBig(txt);
	}
	else {
		return toGb(txt);
	}
}

//转换对象，使用递归，逐层剥到文本
function convertObj(obj){
	var nodes = obj.childNodes;
	for(var i = 0; i < nodes.length;i++){
		var item = nodes.item(i)
		if("||BR|HR|TEXTAREA|".indexOf("|"+item.tagName+"|")>0)
			continue;
		if(item.title != "" && item.title != null)
			item.title = convertText(item.title);
		if(item.alt != "" && item.alt != null)
			item.alt = convertText(item.alt);
		if(item.tagName == "INPUT" && item.value != "" && item.type != "text" && item.type!="hidden")
			item.value = convertText(item.value);
		if(item.nodeType == 3){ //文本
			item.data = convertText(item.data);
		}
		else 
			convertObj(item);
	}
}

/**
 * 设置cookie的语言属性，放于页面的onload事件中。
 */
function setLanguage()
{
	_flag = getcookie("language");
	if (_flag == 1){
		convert(_flag);
	}
}

/**
 * 设置cookie
 */
function setcookie(name,value){
		var expire = new Date();
		expire.setTime(expire.getTime()+(86400000*30));
		document.cookie = name + "=" + escape(value) + "; path=/; expires="+ expire.toGMTString()+";";
}

/**
 * 读取cookie
 */
function getcookie (name) {
	var aCookie = document.cookie.split("; ");
	for (var i = 0; i< aCookie.length; i++)
	{
		var next = aCookie[i].split("=");
		if (name == next[0])
		{
			return unescape(next[1]);
		}
	}
	return null;
}

///////////////////////////////////
//      中文简繁体转换          ////
///////////////////////////////////


