/*
功能  ：计算输入框中的文本字串长度，不能超过限制的字符
参数  ：field -- 文本框。
           countfield -- 允许长度
           maxlimit -- 最大长度
返回值：
*/

function textCounter(field, countfield, maxlimit) 
{ 
	if (field.value.length > maxlimit) 
	{
		field.value = field.value.substring(0, maxlimit); 
		countfield.value = 0;
		return(false);
	} 
	else
	{
		countfield.value = maxlimit - field.value.length; 
		return(true);
	}
} 

/*
功能  ：去掉字串左边的字符,缺省为空格
参数  ：strFrom -- 需裁减字符。
        strSource -- 裁减前字串
返回值：裁减后字串
*/
function TrimLeftString(strFrom, strSource)
{
 var strTemp;
 
  strTemp = strSource;
  
 if (strFrom == null)
 {
  strFrom = " ";
 }
 else
 {
  strFrom = strFrom.substr(0,1);
 }
 
 var intLength = strTemp.length;
    var strResult = "";
    var strLetter;
    
    for (var i=0; i<intLength; i++)
 {
  strLetter = strTemp.substr(i, 1); 
  if (strLetter != strFrom)
  {
   strResult = strTemp.substr(i, intLength - i);
   return strResult;
  }
 }
 return strResult;
}
 
/*
功能  ：去掉字串右边的字符,缺省为空格
参数  ：strFrom -- 需裁减字符。
        strSource -- 裁减前字串
返回值：裁减后字串
*/
function TrimRightString(strFrom, strSource)
{
 var strTemp;
 
  strTemp = strSource;
  
 if (strFrom == null)
 {
  strFrom = " ";
 }
 else
 {
  strFrom = strFrom.substr(0,1);
 }
 
 var intLength = strTemp.length;
    var strResult = "";
    var strLetter;
    
    for (var i=intLength-1; i>=0; i--)
 {
  strLetter = strTemp.substr(i, 1); 
  if (strLetter != strFrom)
  {
   strResult = strTemp.substr(0, i+1);
   return strResult;
  }
 }
 return strResult;
}
 
/*
功能  ：去掉字串两边的字符,缺省为空格
参数  ：strFrom -- 被裁减字符。
        strSource -- 裁减前字串
返回值：裁减后字串
*/
function TrimString(strFrom, strSource)
{
	var strTemp;
	if (strSource==null)
	{
		return;
	}

	strTemp = strSource;

	if (strFrom == null)
	{
		strFrom = " ";
	}
	else
	{
		strFrom = strFrom.substr(0,1);
	}

	var strResult;
	strResult = TrimLeftString(strFrom, strTemp);
	strResult = TrimRightString(strFrom, strResult);
	return strResult;
}
 
/*
功能  ：替换字串中的部分字串
参数  ：strFrom -- 被替换字符
  strTo -- 替换字符
        strSource -- 替换前字串
返回值：-- 替换后字串
*/
function ReplaceString(strFrom, strTo, strSource)
{
 var strTemp, intPosition, intLength, intFromLength, strLeft, intLeft, strRight, strResult;
 
  strTemp = strSource;
 
 if (strFrom == null)
 {
  return strTemp;
 }
 
 intFromLength = strFrom.length;
 strResult = ""; 
    intPosition = strTemp.indexOf(strFrom);
    
    if (intPosition != -1)
    {
  while (intPosition != -1)
  {
   intLength = strTemp.length;
   strLeft = strTemp.substr(0, intPosition);
   intLeft = intPosition + intFromLength;
   strRight = strTemp.substr(intLeft, intLength - intLeft);
   
   strResult += strLeft + strTo;
 
   strTemp = strRight;
   intPosition = strTemp.indexOf(strFrom);
  }
  strResult += strRight;
  return strResult;
 }
 else
 {
  return strTemp;
 }
}

//strMoney
function chgMoney(strMoney) 
{
	strMoney = parseFloat(strMoney);
	if(isNaN(strMoney))
	{
		return '';
	}
	var isFuShu = 0;
	if(strMoney<0)
	{
		isFuShu=1;
		strMoney = Math.abs(strMoney);
	}
	strMoney = Math.round((strMoney)*100)/100;
	var strResult;
	var arrNumber = new Array();
	strResult='';
	//arrNumber[0] = "零";
	arrNumber[1] = "壹";
	arrNumber[2] = "贰";
	arrNumber[3] = "叁";
	arrNumber[4] = "肆";
	arrNumber[5] = "伍";
	arrNumber[6] = "陆";
	arrNumber[7] = "柒";
	arrNumber[8] = "捌";
	arrNumber[9] = "玖";
	var temp;
	var flag;//flag==1,前一个最后为0
	var flag1;//是否有万1：有0：没有
	var flag2;//是否有亿1：有0：没有
	flag = 0;
	if(Math.floor(strMoney/100000000)>0)
	{
		flag2 = 1;
	}
	else
	{
		flag2 = 0;
	}
	temp= Math.floor(strMoney / 1000000000);
	strMoney =  Math.round((strMoney -temp*1000000000)*100)/100;
	if(temp>0)
	{
		strResult = strResult +arrNumber[temp]+"拾";
	}
	temp= Math.floor(strMoney / 100000000);
	strMoney = Math.round((strMoney -temp*100000000)*100)/100;
	if(temp>0)
	{
		strResult = strResult +arrNumber[temp];
	}

	if(flag2==1)
	{
		strResult = strResult + "亿";
	}

	//亿内
	if(Math.floor(strMoney/10000)>0)
	{
		flag1 = 1;
	}
	else
	{
		flag1 = 0;
	}
	temp= Math.floor(strMoney / 10000000);
	strMoney = Math.round((strMoney -temp*10000000)*100)/100;
	if(temp>0)
	{
		flag=0;
		strResult = strResult +arrNumber[temp]+"仟";
	}
	else
	{
		if(strResult!="")
		{
			flag=1;
		}
	}
	temp= Math.floor(strMoney / 1000000);
	strMoney = Math.round((strMoney -temp*1000000)*100)/100;
	if(temp>0)
	{
		if(flag==1)
		{
			strResult = strResult +"零";
			flag=0;
		}
		strResult = strResult +arrNumber[temp]+"佰";
	}
	else
	{
		if(strResult!='')
		{
			flag=1;
		}
	}
	temp= Math.floor(strMoney / 100000);
	strMoney =  Math.round((strMoney -temp*100000)*100)/100;
	if(temp>0)
	{
		if(flag==1)
		{
			strResult = strResult +"零";
			flag=0;
		}
		strResult = strResult +arrNumber[temp]+"拾";
	}
	else
	{
		if(strResult!='')
		{
			flag=1;
		}
	}
	temp= Math.floor(strMoney / 10000);
	strMoney = Math.round((strMoney -temp*10000)*100)/100;
	if(temp>0)
	{
		if(flag==1)
		{
			strResult = strResult +"零";
			flag=0;
		}
		strResult = strResult +arrNumber[temp];
	}

	if(flag1==1)
	{
		strResult = strResult + "万";
	}
	//万内
	flag=0;
	temp= Math.floor(strMoney / 1000);
	strMoney = Math.round((strMoney -temp*1000)*100)/100;
	if(temp>0)
	{
		strResult = strResult +arrNumber[temp]+"仟";
	}
	else
	{
		if(strResult!="")
		{
			flag=1;
		}
	}
	temp= Math.floor(strMoney / 100);
	strMoney = Math.round((strMoney -temp*100)*100)/100;
	if(temp>0)
	{
		if(flag==1)
		{
			strResult = strResult +"零";
			flag=0;
		}
		strResult = strResult +arrNumber[temp]+"佰";
	}
	else
	{
		if(strResult!='')
		{
			flag=1;
		}
	}
	temp= Math.floor(strMoney / 10);
	strMoney = Math.round((strMoney -temp*10)*100)/100;
	if(temp>0)
	{
		if(flag==1)
		{
			strResult = strResult +"零";
			flag=0;
		}
		strResult = strResult +arrNumber[temp]+"拾";
	}
	else
	{
		if(strResult!='')
		{
			flag=1;
		}
	}
	temp= Math.floor(strMoney / 1);
	strMoney =  Math.round((strMoney -temp*1)*100)/100;
	if(temp>0)
	{
		if(flag==1)
		{
			strResult = strResult +"零";
			flag=0;
		}
		strResult = strResult +arrNumber[temp]+"圆";
	}
	else
	{
		if(strResult=="")
		{
			strRsult = strResult = "零";
		}
		strResult = strResult +"圆";
	}
	temp = Math.floor(strMoney *10);
	strMoney =  Math.round((strMoney -temp*0.1)*100)/100;
	if(temp>0)
	{
		strResult = strResult +arrNumber[temp]+"角";
	}
	temp = Math.round(strMoney *100);
	if(temp>0)
	{
		strResult = strResult +arrNumber[temp]+"分";
	}
	if(isFuShu==1)
	{
		strResult = '负'+strResult;
	}
	
	return strResult;
}
function fucCheckNUM(NUM)
{
	 var i,j,strTemp;
	 strTemp="0123456789";
	 if ( NUM.length == 0)
	  return 0
	 for (i=0;i<NUM.length;i++)
	 {
	  j=strTemp.indexOf(NUM.charAt(i)); 
	  if (j==-1)
	  {
	  //说明有字符不是数字
	   return 0;
	  }
	 }
	 //说明是数字
	 return 1;
}

function checkNum(objText,strErr)
{
	var iNum;
	iNum = TrimLeftString(" ",objText.value);
	if(iNum=="")
	{
		iNum=0;
	}

	ichk=fucCheckNUM(iNum);
	if(ichk==0)
	{
		//objText.value = objText.value.substring(0,iNum.length-1);
		alert(strErr);
		return;
	}
	else
	{
		return true;
	}
}

function TrimLString(strSource)
{
 var strFrom = " ";
 var strTemp;
 
 strTemp = strSource;
  
 var intLength = strTemp.length;
    var strResult = "";
    var strLetter;
    
    for (var i=0; i<intLength; i++)
 {
  strLetter = strTemp.substr(i, 1); 
  if (strLetter != strFrom)
  {
   strResult = strTemp.substr(i, intLength - i);
   return strResult;
  }
 }
 return strResult;
}

/******************************************************************************
* Function Name: 26.GchkCellphone($strCellphone)
* Description:   检验移动电话号码的有效性
				 移动电话号码的模式为： 13XXXXXXXXX 或者 不输入
					
* Input:         $strPass:the Email address
* Output:        $isValidPass(true OR false);
* Author:        yinzhj(yin.zhi-jun) 
* Finish date:   2004/09/22
* Last Update:
function GChkCellPhone(strCellPhone)
{
	if(strCellPhone == "")
	{
		return false;
	}
	var isValidCellPhone = true;
	var strBase = new RegExp("^[1]{1}(([3]{1}[0-9]{1})|([5]{1}[012356789]{1})|([8]{1}[89]{1}))[0-9]{8}$");
	isValidCellPhone = strBase.test(strCellPhone);	  
	return isValidCellPhone;
}
******************************************************************************/



/******************************************************************************
* Function Name: 24.GChkPhone($strPhone)
* Description:   检验电话号码的有效性
				 电话号码的模式为： 022-12345678(0311-1234567)
* Input:         $strPhone:要检验的电话号码
* Output:        $isValidPhone(true OR false);
* Author:        yinzhj(yin.zhi-jun)
* Finish date:   2004/09/22
* Last Update:
******************************************************************************/
function GChkPhone(strPhone)
{	  
		if(strPhone == "")
		{
			return false;
		}

	var isValidPhone = true;
//	    var strBase      = "^[0-9\-]{1,30}$";
//	    isValidPhone = ereg(strBase, strPhone);
	var strBase = new RegExp("^[0-9\-]{1,30}$","ig");
	isValidPhone = strBase.test(strPhone);	  
	return isValidPhone;
}

/******************************************************************************
* Function Name: 22.GChkEmail($strEmail)
* Description:   检验Email地址是否合理，合理的模式如下：
				 ^[0-9a-zA-Z][0-9a-zA-Z\-\_\.]*[0-9a-zA-Z]\@
				 ([0-9a-zA-Z\-]*\.)+[a-zA-Z]{2,3}$
* Input:         $strEmail:要检验的Email地址
* Output:        $isValidEmail(true OR false);
* Author:        yinzhj(yin.zhi-jun)
* Finish date:   2004/09/22
* Last Update:
******************************************************************************/
function GChkEmail(strEmail)
{
	if(strEmail == "")
	{
		return false;
	}
	var isValidE = true;
//	var strBase  = "^[0-9a-zA-Z]+(\.[0-9a-zA-Z\-]+)*@[0-9a-zA-Z\-]+(\.[a-zA-Z\-]+)+$";
//	var regs = new RegExp(strBase,"ig");
	var regs=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
	isValidE = regs.test(strEmail);	
	return isValidE;
}
/******************************************************************************
* Function Name: GChkNumber($strNumber)
* Description:   检验是否是数字
* Input:         $strNumber:要检验的数字
* Output:        $isValidN(true OR false);
******************************************************************************/
function GChkNumber(strNumber)
{
		if(strNumber == "")
		{
			return false;
		}
		var isValidN = true;
		var strBase  = "^[-]{0,1}[0-9]*[\.]{0,1}[0-9]*$";
		var regs = new RegExp(strBase,"ig");
		isValidN= regs.test(strNumber);	
		return isValidN;
}

function CheckNumber(strname,intdecimal,Errmsg)
{
	var temp;
	temp=document.getElementById(strname);
	if(intdecimal==0)
	{
		var strNumberBase = "(^[\-]?[0-9]+$)|(^$)" ;
	}
	else
	{
	var strNumberBase = "(^[\-]?[0-9]+$)|(^[\-]?[0-9]+[.]?[0-9]{1,"+intdecimal+"}$)|(^$)" ;
	}
	var regs = new RegExp(strNumberBase,"ig");
	isValidN= regs.test(temp.value);	
	if(!isValidN)
	{
		alert(Errmsg);
		temp.value="";
		temp.focus();
		return false;
	}
	return true;
}

//value:待格式化的数据，num:保留的小数位数
function formatnumber(value,num)
{
	if(num==0)
	{
		tempnum=1;
	}
	else
	{
		tempnum=num;
	}
	var value=Math.round(value*Math.pow(10,tempnum))/Math.pow(10,tempnum);
	if(num==0)
	{
		strval=value.toString();
		temppos=strval.indexOf('.');
		tempval=strval.substring(temppos+1);
		if(tempval==0)
		{
			value=strval.substring(0,temppos-1);
		}
		return value;
	}
   var a,b,c,i;
   a = value.toString();
   b = a.indexOf('.');
   c = a.length;
    if (num==0)
	{
        if (b!=-1)
		a = a.substring(0,b);
	}
   else
   {
		if (b==-1)
		{
			a = a + ".";
			for (i=1;i<=num;i++)
			a = a + "0";
        }
       else
	   {
		   a = a.substring(0,b+num+1);
		   for (i=c;i<=b+num;i++)
				 a = a + "0";
		}
    }
	//alert(a);
	return a;
	
}


function checkFormula(strStats,strScope)
 {
	var flag = 1;//符号不存在
	var flag1 = 0;//括号没配对
	var flag2 = 1;//flag2==1,现在需要字母或(，flag2==2，现在需要符号或),如果是),i>0//AB或+-错误即，字母和符号组合后不是合法的公式
	var flagO = 0;
	var strTemp;
	var strError;
	var errorMsg="";
	strStats = strStats.replace(/(^[ ]*)|([ ]*$)/g, "");
	if(strStats=="")
	{
		errorMsg=errorMsg+"公式请勿为空";
	}
	else
	{
		for(i=0;i<strStats.length;i++)
		{
			strTemp = strStats.substr(i,1);
			strTemp_1 = strStats.substr(i-1,1);
			strTemp1 = strStats.substr(i+1,1);
			strTemp2 = strStats.substr(i+2,1);
			if(strTemp==" ")
			{
				continue;
			}
			else if(strScope.indexOf(strTemp)>=0)
			{
				if(flag2==1)
				{
					if(flagO>0){ --flagO; }
					flag2 = 2;
				}
				else
				{
					flag=0;
					errorMsg=errorMsg+"字符位置错误\n";
					break;
				}
			}
			else if (/^[\+\-\*\/\^\%\&\|\~\?\(\)]{1}$/.test(strTemp))
			{
				if(strTemp=='(')
				{
					if(flag2==1)
					{
						flag1++;
					}
					else
					{
						flag=0;
						errorMsg=errorMsg+"左括号错误\n";
						break;
					}
				}
				else if(strTemp==")")
				{
					if((flag2==2||flag2==3) && i>0)
					{
						flag1--;
					}
					else
					{
						flag=0;
						errorMsg=errorMsg+"右括号错误\n";
						break;
					}
				}
				else if(flag2==2||flag2==3)
				{
					flag2=1;
					++flagO;
				}
				else
				{
					flag=0;
					errorMsg=errorMsg+"符号位置错误\n";
					break;
				}
			}
			else if (/^[0123456789]{1}$/.test(strTemp))
			{
				if (flag2==1 || flag2==3 || flag2==8)
				{
					if(flag2==1)
					{
						if(flagO>0){ --flagO; }
					}
					flag2=3;
				}
				else
				{
					flag=0;
					errorMsg=errorMsg+"数字位置错误\n";
					break;
				}
			}
			else if(strTemp == ".")
			{
				if (flag2==3)
				{
					flag2=8;
				}
				else
				{
					flag=0;
					errorMsg=errorMsg+"数字错误\n";
					break;
				}
			}
			else
			{
				flag=0;
				errorMsg=errorMsg+"字符不存在\n";
				break;
			}
		}
		if(flag1!=0)
		{
			flag=0;
			errorMsg=errorMsg+"括号没有配对\n";
		}
	}
	if (errorMsg!="" || flagO>0)
	{
		errorMsg="公式错误\n"+errorMsg;
	}
	return errorMsg;
}


/******************************************************************************
* Function Name: Html_SpecialChars(strText)
* Description:   实现Php中HtmlSpecialChars的功能
* Input:         strText 要 转换的文本
* Output:        转换后的文本
* Author:        zhaoyonghong
* Finish date:   2007/04/09
* Last Update:
******************************************************************************/
function Html_SpecialChars(strText)
{
//	strText=strText.replace(/\%/g,"\\%");
//	strText=strText.replace(/\\\\/g,"\\\\");
	strText=strText.replace(/(<)/g,"&lt;");
	strText=strText.replace(/(>)/g,"&gt;");
	strText=strText.replace(/\"/g,"&quot;");
//	strText=strText.replace(/ /g,"&nbsp;");
	strText=strText.replace(/\'/g,"&#039;");
	return strText;
}
	
/******************************************************************************
* Function Name: Html_SpecialChars(strLanguage)
* Description:   区当前页面地址，拼接语言参数
* Input:         切换语言
* Output:       
* Author:        zhaodi
* Finish date:   2008/10/24
* Last Update:
******************************************************************************/
function getLanguageUrl(strLanguage)
{
	var str = document.URL;
	var bbb = ".php?";
	var pos = str.indexOf('&lang=');
	if(pos>0)
	{
		strLink=str.substring(0,pos) + strLanguage;
	}
	else	if(str.indexOf(bbb)<0) 
	{
		strLink=str.replace(/#+$/,'') +"?" + strLanguage;
	}
	else
	{
		strLink=str.replace(/#+$/,'') + strLanguage;
	}
	//strLink=document.URL + strLanguage;
	self.location=strLink;
}