/**
    obj = text field object
    name = field name

*/


function checkLength(obj,len,name) // check string length ,len is max length
{
  if(obj.value.length > len)
  {
    alert(name + "不能超过" + len + "字符");
    obj.focus();
    return false;
  }
  else {
    var l=0;
    for (var i=0; i<obj.value.length; i++) {
      if (obj.value.charCodeAt(i)>127) {
        l = l+3;//for utf-8 word
      }
      else {
        l = l+1;
      }
    }
    if (l > len) {
      alert(name + "不能超过" + len + "字符");
      obj.focus();
      return false;
    }
    else {
      return true;
    }
  }
}

function checkLength2(str,len) // check string length ,len is max length
{
  if(str.length > len)
  {
    return false;
  }
  else {
    var l=0;
    for (var i=0; i<str.length; i++) {
    //alert(str.charCodeAt(i));
      if (str.charCodeAt(i)>255) {
        l = l+3;//for utf-8 word
      }
      else {
        l = l+1;
      }
    }
    if (l > len) {
      return false;
    }
    else {
      return true;
    }
  }
}

function checkLength4TextArea(obj,len,name) // check string length, ignore CR and LF (Howard)
{
  var l=0;
  for (var i=0; i<obj.value.length; i++) {
    var ci = obj.value.charCodeAt(i);
    if (ci>127) {
      l = l+2;
    }
    else if (ci==10 || ci==13) {
    }
    else {
      l = l+1;
    }
  }
  if (l > len) {
    alert(name + "不能超过" + len + "字符");
    return false;
  }
  else {
    return true;
  }
}

function checkNull(obj,name)     // check string is null
{
  if (ltrim_func(obj.value) == "")
  {
    alert("请输入" + name);
    obj.focus();
    return false;
  }
  return true;
}

function checkNum(obj, name)
{
  if (isNaN(obj.value))
  {
    alert(name + "只能输入数字");
    obj.focus();
    return false;
  }
  return true;
}

function checkEmailByObj(obj)
{
  var len = obj.value.length;
  var mail = obj.value;

  if(len == 0)
  {
    alert("请输入 e-mail");
    obj.focus();
    return false;
  }
  else
  {
    for(var i=0;i<len;i++)
    {
      var c = mail.charAt(i);
      if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@")))
      {
        alert("e-mail 格式不正确");
        obj.focus();
        return false;
      }
      if((mail.indexOf("@")==-1) || (mail.indexOf("@")==0) || (mail.indexOf("@")==(len-1)))
      {
        alert("e-mail 格式不正确");
        obj.focus();
        return false;
      }
      if((mail.indexOf("@")!=-1) && (mail.substring(mail.indexOf("@")+1,len).indexOf("@")!=-1))
      {
        alert("e-mail 格式不正确");
        obj.focus();
        return false;
      }
      if((mail.indexOf(".")==-1) || (obj.value.indexOf(".")==0) || (mail.lastIndexOf(".")==(len-1)))
      {
        alert("e-mail 格式不正确");
        obj.focus();
        return false;
      }
      if(mail.indexOf("@.")!=-1)
      {
        alert("e-mail 格式不正确");
        obj.focus();
        return false;
      }
    }
  }
  return true;
}

function checkLogin(obj, name)   // a-z A-Z 0-9 _
{
  if(!checkNull(obj,name)) return false;

  for (i=0;i<obj.value.length;i++)
  {
    ch = obj.value.charCodeAt(i);
    if ((ch > 64 && ch < 91) || (ch > 96 && ch < 123) || (ch > 47 && ch < 58) ||
         ch == 95
       )
      continue;
    else
    {
      alert(name + "只允许输入A-Z,a-z,0-9,_");
      obj.focus();
      return false;
    }
  }
  return true;
}

function checkPhoneNum(obj, name)
{
  if(!checkNull(obj,name)) return false;

  for (i=0;i<obj.value.length;i++)
  {
    n = obj.value.charCodeAt(i);
    c =obj.value.charAt(i);
    if ((n > 47 && n < 58)||(c=="-")||(c=="~")||(c=="#")) continue;
    else
    {
      alert(name + "只允许输入0-9和-~#");
      obj.focus();
      return false;
    }
  }
  return true;
}

function checkPhoneNum2(obj, name)
{
  if(!checkNull(obj,name)) return false;

  for (i=0;i<obj.value.length;i++)
  {
    n = obj.value.charCodeAt(i);
    c =obj.value.charAt(i);
    if ((n > 47 && n < 58)||(c=="-")||(c=="~")||(c=="#")) continue;
    else
    {
      alert(name + "只允许输入0-9和-~#");
      obj.focus();
      return false;
    }
  }
  return true;
}

function IsBlank(inputVal)
{
    var tmpBoolean=true;

    if ( inputVal.length > 0 ) {
        for ( var i = 0; i < inputVal.length; i++ ) {
            var onechar = inputVal.charAt(i);
            if ( onechar != " " && onechar != "\t" && onechar != "\n") {
                tmpBoolean = false;
                break;
            }
        }
    }

    return ( tmpBoolean );
}

function trimSpaces(inString)
{
  var retVal = "";
  var start = 0;
  while ((start < inString.length) &&
         ((inString.charAt(start) == ' ') ||
          (inString.charAt(start) == '\t') ||
          (inString.charAt(start) == '\n') ||
          (inString.charAt(start) == '\f') ||
          (inString.charAt(start) == '\r')
         )
        )
  {
    ++start;
  }
  var end = inString.length;
  while ((end > 0) &&
         ((inString.charAt(end - 1) == ' ') ||
          (inString.charAt(end - 1) == '\t') ||
          (inString.charAt(end - 1) == '\n') ||
          (inString.charAt(end - 1) == '\f') ||
          (inString.charAt(end - 1) == '\r')
         )
        )
  {
    --end;
  }
  if ( start  <=  end )
  {
     retVal = inString.substring(start, end);
     return retVal;
   }
   else  // a null string after trimming
   {
      return "";
   }
}

function checkZip(obj, name)   // a-z,A-Z,0-9, ,-
{
  if (obj.value == "" || obj.value == " ") return true;
  var zipReg = /^[A-Za-z0-9\s-]+$/;
  if (obj.value.match(zipReg) == null) {
      alert(name + "只允许输入A-Z,a-z,0-9, ,-");
      obj.focus();
      return false;
  }
  return true;
}

function escape4Big5(inputVal)
{
    var outStr = "";
    if (inputVal.length > 0) {
        for (var i=0; i<inputVal.length; i++) {
            var c = inputVal.charAt(i);
            var charCode = inputVal.charCodeAt(i);
            if (charCode>127) {
                outStr += "&#" + charCode + ";";
            }
            else {
                outStr += c;
            }
        }
    }
    return (outStr);
}

function chopTextArea(iStr,len) // chop the input String to length len, ignore CR and LF (Howard)
{
  var l=0;
  var i=0;
  var oStr = "";
  for (i=0; i<iStr.length; i++) {
    if (l>len) {
      break;
    }
    var ci = iStr.charCodeAt(i);
    if (ci>127) {
      l = l+2;
    }
    else if (ci==10 || ci==13) {
    }
    else {
      l = l+1;
    }
  }
  i--;
  if (i>=0) { oStr = iStr.substring(0, i); }
  return oStr;
}

function check_text_area(fieldObj, len, msg) {
  if (!checkLength4TextArea(fieldObj, len, msg))
  {
    fieldObj.value = chopTextArea(fieldObj.value, len);
    fieldObj.focus();
    return false;
  }
  return true;
}
function ltrim_func(argvalue) {

  while (true) {

    if (argvalue.substring(0, 1) != " ")
      break;
    argvalue = argvalue.substring(1, argvalue.length);
  }

  return argvalue;
}