
/*--------------------------FUNCTION---LIST---START---------------------------

    GxIsEmpty(objText)          空检验
    GxTrimStr(objText)          删除对象两边多余空格
    GxIsPosInteger(objText)      数字检验
    GxIsInteger(objText)        检验输入是否为包括正负符号的数字
    GxIsPosFloat(objText)        检验是否为无符号的小数
    GxIsFloat(objText)          检验是否为小数
    GxIsValidFloat(objText,maxVal,minVal)
                                检验是否为范围内的小数
    GxIsValidCode(objText)      检验是否为英文字母
    GxIsValidInt(objText,maxVal,minVal)
                                检验是否为范围内的正整数
    GxFillzero(objText,maxlen)  为不足位数加零
    GxNumberCheck(objText,flag)  数字性检验
    GxCommerAdd(objText)        每三位加豆号
    GxDelCommer(objText)        删除逗号
    GxChkDate(objText,str)          日期检测
    GxDateToString(objText)      日期转变为字符传
    GxEiOomoji(objText)          小写转大写
    GxChkKeta(objText,robjKeta1)检查值是否在指定行数
    GxStrlen(str)                解码函数(没什么用!)
----------------------------FUNCTION---LIST---END----------------------------*/

//=============================================================================
//      function GxNoEmpty(inputStr)
//
//      输入值为Text或textarea对象
//      为空或NULL返回FALSE否则为TRUE
//
//=============================================================================
function GxIsEmpty(objText)
{
  if(objText.value==null||objText.value=="")
  {
    return true;
  }
  return false;
}

//=============================================================================
//      function GxTrimStr(objText)
//
//      输入值为Text或textarea对象
//      自动删除多余空格
//
//=============================================================================
function GxTrimStr(objText)
{
  var inputStr;
  var iStart;
  var iEnd;
  var aChar;
  var i;

  inputStr = (objText.value).toString();

  if(GxIsEmpty(objText))
  {
    objText.value="";
    return true;
  }

  iEnd = inputStr.length;

  for(i=0;i<iEnd;i++)
  {
    aChar = inputStr.charAt(i);

    if(aChar!=" " && aChar!="　")
    {
      break;
    }
  }
  iStart = i;

  for(i=iEnd-1;i>iStart;i--)
  {
    aChar = inputStr.charAt(i);

    if(aChar!=" " && aChar!="　")
    {
      break;
    }
  }
  iEnd = i;

  if(iStart>iEnd)
    objText.value="";

  objText.value=inputStr.substring(iStart,iEnd+1);
}
//=============================================================================
//      function GxIsPosInteger(inputVal)
//
//      输入参数为TEXT对象
//      如果对象的value不是数字则返回false否则返回true
//=============================================================================
function GxIsPosInteger(objText)
{
  var inputStr;

  inputStr = (objText.value).toString();
  if(GxIsEmpty(objText))
  {
    alert("不能为空,请输入!");
    objText.select();
    return false;
  }

  for(var i=0;i<inputStr.length;i++)
  {
    var aChar = inputStr.charAt(i);
    if(aChar<"0"||aChar>"9")
    {
      alert("请填入0-9之间的数字!");
      objText.select();
      return false;
    }
  }
  return true;
}

//=============================================================================
//      function GxIsInteger(inputVal)
//
//      输入参数为TEXT对象
//      如果是数字则返回TRUE否则返回FLASE
//
//=============================================================================
function GxIsInteger(objText)
{
  var inputStr;

  inputStr = (objText.value).toString();
  if(GxIsEmpty(objText))
    return false;

  if(inputStr=="-"||inputStr=="+")
    return false;

  for(var i=0;i<inputStr.length;i++)
  {
    var aChar = inputStr.charAt(i);
    if(i==0 && (aChar=="-"||aChar=="+"))
    {
      continue;
    }
    if(aChar<"0"||aChar>"9")
    {
      return false;
    }
  }
  return true;
}

//=============================================================================
//      function GxIsPosFloat(objText)
//
//      输入参数为TEXT对象
//      如果值是无符号的小数则返回TRUE否则返回FALSE
//=============================================================================
function GxIsPosFloat(objText)
{
  var inputStr;
  var bFlag = false;

  inputStr = (objText.value).toString();
  if(GxIsEmpty(objText))
    return false;

  if(inputStr==".")
  {
    return false;
  }

  for(var i=0;i<inputStr.length;i++)
  {
    var aChar = inputStr.charAt(i);

    if (aChar==".")
    {
      if(!bFlag)
      {
        bFlag = true;
        continue;
      }
      else
      {
        return false;
      }
    }

    if(aChar<"0"||aChar>"9")
    {
      return false;
    }
  }
  return true;
}

//=============================================================================
//      function GxIsFloat(objText)
//
//      输入参数为TEXT对象
//      如果值是小数则返回TRUE否则返回FALSE
//=============================================================================
function GxIsFloat(objText)
{
  var inputStr;
  var bFlag = false;

  inputStr = (objText.value).toString();
  if(GxIsEmpty(objText))
    return false;

  if(inputStr=="."||inputStr=="+"||inputStr=="-")
  {
    return false;
  }

  for(var i=0;i<inputStr.length;i++)
  {
    var aChar = inputStr.charAt(i);

    if(i==0 && (aChar=="-"||aChar=="+"))
    {
      continue;
    }

    if (aChar==".")
    {
      if(!bFlag)
      {
        bFlag = true;
        continue;
      }
      else
      {
        return false;
      }
    }

    if(aChar<"0"||aChar>"9")
    {
      return false;
    }
  }
  return true;
}

//=============================================================================
//      function GxIsValidFloat(objText,maxVal,minVal)
//
//      输入参数为TEXT对象,minVal,maxVal分别为最小值和最大值
//      如果值是小数且在指定范围内则返回TRUE否则返回FALSE
//=============================================================================
function GxIsValidFloat(objText,maxVal,minVal)
{
  if (!GxIsFloat(objText))
    return false;
  if ((parseFloat(objText.value)<minVal) || (parseFloat(objText.value)>maxVal))
    return false;

  return true;
}
//=============================================================================
//      function GxIsValidCode(objText)
//
//      输入参数为TEXT对象
//      如果值是英文字母则返回TRUE否则返回FALSE
//=============================================================================
function GxIsValidCode(objText)
{
  var i,intCode;

  //ADD 2001/06/11 terashima
  if(!GxIsEmpty(objText))
  {
    for (i=0; i<(objText.value).length; i++)
    {
      intCode = ((objText.value).charCodeAt(i));
      if (intCode>=65 && intCode<=90) continue;
      if (intCode>=97 && intCode<=122) continue;
      return false;
    }
  }
  return true;
}

//=============================================================================
//      function GxIsValidInt(objText,maxVal,minVal)
//
//      输入参数为TEXT对象
//      如果值是正整数且在范围内返回TRUE否则返回FALSE
//
//=============================================================================
function GxIsValidInt(objText,maxVal,minVal)
{
  if (!GxIsInteger(objText))
    return false;
  if ((parseInt(objText.value,10)<minVal) || (parseInt(objText.value,10)>maxVal))
    return false;

  return true;
}

//=============================================================================
//      function GxFillzero(objText,maxlen)
//      在不足指定为数是在值之前加零
//
//
//=============================================================================
function GxFillzero(objText,maxlen)
{
  strIn = (objText.value).toString();

  var len = maxlen-strIn.length;

  if(len<0)
    return null;

  for(var i=0;i<len;i++)
  {
    strIn = '0' + strIn;
  }
  objText.value=strIn;
  return true;
}

//=============================================================================
//    function GxNumberCheck()
//    数字检验，如果参数二为"1"可检验是否为负数
//    数字检验，如果参数二为"2"可检验是否为负小数
//    数字检验，如果参数二为"3"只能为正整数
//	  数字检验，如果参数二为其它可检验是否为数字 (包括小数)
//
//=============================================================================
function GxNumberCheck(objText,rstrFlag)
{
  var strIn = objText.value;
  var pflg = false;
  var i,intCode;
if (rstrFlag =="3")
{
	for(i=0;i<strIn.length;i++)
	{
		 intCode = (strIn.charCodeAt(i));
		 if (intCode<48 || intCode>57)
      {
			 return false;
	  }
	}
	return true;
}
  if ((rstrFlag !="1") && (rstrFlag !="2"))
  {
    rstrFlag="0";
  }

  for (i=0; i<strIn.length; i++)
  {
    intCode = (strIn.charCodeAt(i));

    if (rstrFlag=="1")
    {

      if (intCode<48 || intCode>57)
      {
        if(!(intCode==45 && i==0))
        {
          return false;
        }
      }
    }
    else if (rstrFlag=="2")
    {

      if (intCode<48 || intCode>57)
      {
        if(intCode==45 && i==0)
        {
        }
        else if(intCode==46 && !pflg && i!=0)
        {
          pflg = true;
        }
        else
        {
          return false;
        }
      }
    }
    else
    {

      if ((intCode<48 || intCode>57))
      {
        if(intCode==46 && !pflg && i!=0)
        {
          pflg = true;
        }
        else
        {
          return false;
        }
      }
    }
  }
  return true;
}

//=============================================================================
//    function GxCommerAdd(objText)
//    加逗号
//
//=============================================================================
function GxCommerAdd(objText)
{
  var i=0;
  var j=0;
  var strTemp1="";
  var strTemp2="";
  var strCommer=",";
  var strInt="";
  var strDec="";

  strIn = (objText.value).toString();

  if (GxIsEmpty(objText)){ return;}
  if (GxNumberCheck(objText,"2")==false){
    objText.select();
    alert("请填入数字!");
    return ;
  }

  if (strIn.indexOf(".")<0)
  {
    strInt=strIn;
  }
  else
  {
    strInt=strIn.split(".")[0];
    strDec=strIn.split(".")[1];
  }

  for (i=0;i<=strInt.length;i++)
  {
    strTemp1=strInt.charAt(i)+strTemp1;

  }
  for (i=0 ;i<=strTemp1.length+3;i=i+3)
  {
    if ((strTemp1.length-i)<=3)
    {
      j=strTemp1.length;
      strCommer="";
    }
    else
    {
      j=i+3;
    }
    strTemp2=strTemp2+strTemp1.substring(i,j) + strCommer;
  }
  strTemp1="";
  for (i=0;i<=strTemp2.length;i++)
  {
    strTemp1=strTemp2.charAt(i)+strTemp1;

  }
  if(strTemp1.charAt(0)=="-" && strTemp1.charAt(1)==",")
  {
    strTemp1 = strTemp1.replace(",","");
  }
  if (strDec!="")
  {
    strDec="."+strDec;
  }
  strTemp1+=strDec;
  objText.value=strTemp1;
  return (strTemp1);
}



//=============================================================================
//      function GxDelCommer(objText)
//
//      删除豆号
//=============================================================================
function GxDelCommer(objText)
{
  var reg=",";

  for(var i=0;i<(objText.value).length;i++)
    objText.value = (objText.value).replace(reg,"");
  return objText.value;
}

//=============================================================================
//    function GxChkDate(objText,str)
//
//        日期检查
//=============================================================================
function GxChkDate(objText,str)
{
  var s_cnt = 0;
  var  rstrYear;
  var  rstrMonth;
  var  rstrDay;
  var robjField=(objText.value).toString();
  if (str!="")
  {
	robjField=robjField+str;
  }

  for(var i=0;i<robjField.length;i++)
  {
    if(robjField.charAt(i) == "-")
    {
      s_cnt++;
    }
  }

  if(s_cnt != 2)
  {
    alert("请输入日期,格式如XXXX-XX-XX!");
    objText.focus();
    return false;
  }

  rstrYear = robjField.substring(0,robjField.indexOf("-"));
  robjField = robjField.substring(robjField.indexOf("-")+1);
  rstrMonth = robjField.substring(0,robjField.indexOf("-"));
  robjField = robjField.substring(robjField.indexOf("-")+1);
  rstrDay = robjField.substring(0);

  if(rstrYear.substring(0,1) == "S" || rstrYear.substring(0,1) == "s")
  {
    rstrYear = 1925 + parseInt(rstrYear.substring(1),10);
  }
  else if(rstrYear.substring(0,1) == "H" || rstrYear.substring(0,1) == "h")
  {
    rstrYear = 1988 + parseInt(rstrYear.substring(1),10);
  }
  else if(rstrYear.length == 2)
  {
    if(parseInt(rstrYear,10) < 80)
    {
      rstrYear = "20" + rstrYear;
    }
    else
    {
      rstrYear = "19" + rstrYear;
    }
  }
  else if(rstrYear.length == 4 && parseInt(rstrYear,10)>1901 && parseInt(rstrYear,10)<2100)
  {
  }
  else
  {
    alert("请输入日期,格式如XXXX-XX-XX!");
    objText.focus();
    return false;
  }

  var intY  = parseInt(rstrYear,10);
  var intM  = parseInt(rstrMonth,10) -1;
  var intD  = parseInt(rstrDay,10);
  var datDate = new Date( intY,intM,intD );
  if ((datDate.getMonth() != intM) || (datDate.getDate() != intD))
  {
    alert("请输入日期,格式如XXXX-XX-XX!");
    objText.focus();
    return false;
  }

  if(rstrMonth.length == 1)
  {
    rstrMonth = "0" + rstrMonth;
  }

  if(rstrDay.length == 1)
  {
    rstrDay = "0" + rstrDay;
  }
  if (str!="")
  {
	var j=0;
	for (i=0;i<str.length;i++)
	{
		if(str.charAt(i) == "-")
		{
			j++;
		}
	 }
	 if (j==1)
	 {	
		objText.value=rstrYear + "-" + rstrMonth;
	 }
	 else if (j==2)
	 {	
		objText.value=rstrYear;
	  }
	 else
	  {
		objText.value=rstrYear + "-" + rstrMonth + "-" + rstrDay
	  }
   }
   else
   {
      objText.value=rstrYear + "-" + rstrMonth + "-" + rstrDay;
   }
  return true;
}


//=============================================================================
//         function GxDateToString(objText)
//
//         日期转变为字符传
//=============================================================================
function GxDateToString(objText)
{
  var reg = "/";
  GxChkDate(objText);
  var strIn = objText.value;
  for(var i=0;i<strIn.length;i++)
    strIn = strIn.replace(reg,"");

  objText.value = strIn;
}

//=============================================================================
//    function GxEiOomoji(objText)
//
//    小写字母转大写；
//=============================================================================
function GxEiOomoji(objText)
{
  var intCode;
  var codeSize = 32;
  var strIn = objText.value;
  robjField = "";

  for(var i=0;i<strIn.length;i++)
  {
    intCode = (strIn.charCodeAt(i));
    if(intCode>=97 && intCode<=122){
      robjField += String.fromCharCode(intCode-codeSize);
    }
    else
    {
      robjField += String.fromCharCode(intCode);
    }
  }
  objText.value=robjField;
  return robjField;
}

//=============================================================================
//    function GxChkKeta(objText,robjKeta1)
//
//         检验值是否在指定行数
//=============================================================================
function GxChkKeta(objText,robjKeta1)
{
  if(GxStrlen((objText.value).toString()) <= parseInt(robjKeta1.toString())){
    return true;
  }
  else
  {
    return false;
  }

}

//=============================================================================
//    function GxStrlen(str)
//
//    解码函数(好象没什么用!)
//=============================================================================
function GxStrlen(str)
{

  var i = 0;
  var len = 0;
  str = escape(str);
  for (i = 0; i < str.length; i++, len++)
  {
    if (str.charAt(i) == "%") {
      if (str.charAt(++i) == "u") {
        i += 3;
        len++;
      }
      i++;
    }
  }
  return len;
}

//---end of the file!!