
var FieldLabel = Array;

function CheckDateAD(fncFieldName_y, fncFieldName_m, fncFieldName_d)
 {
  if (!(isNo(fncFieldName_y, 0, 0))) { return false; }
  if (!(isNo(fncFieldName_m, 0, 0))) { return false; }
  if (!(isNo(fncFieldName_d, 0, 0))) { return false; }
  
  fncFieldNameValue_y = eval("document.Data." + fncFieldName_y + ".value");
  fncFieldNameValue_m = eval("document.Data." + fncFieldName_m + ".value");
  fncFieldNameValue_d = eval("document.Data." + fncFieldName_d + ".value");
  
  if (fncFieldNameValue_y >= 1900 && fncFieldNameValue_y < 2000) { fncFieldNameValue_y -= 1900; }
  
  var fncTMObj = new Date(eval(fncFieldNameValue_y), eval(fncFieldNameValue_m)-1, eval(fncFieldNameValue_d)+0);
  fncYear=fncTMObj.getYear()
  if(fncFieldNameValue_y>1999 && fncYear<1999)
  fncYear+=1900
  if (fncTMObj.getDate() != fncFieldNameValue_d)
   {
    alert("您的 " + FieldLabel[fncFieldName_d] + " 栏位日期不合法");
    GetFocus(fncFieldName_d);
    return false;
   }
   
  if (fncTMObj.getMonth()+1 != fncFieldNameValue_m)
   {
    alert("您的 " + FieldLabel[fncFieldName_m] + " 栏位月份不合法");
    GetFocus(fncFieldName_m);
    return false;
   }
   
  if (fncYear != fncFieldNameValue_y)
   {
    alert("您的 " + FieldLabel[fncFieldName_y] + " 栏位年份不合法");
    GetFocus(fncFieldName_y);
    return false;
   }
  
  return true;
 }



function CheckDateADS()
 {
  var fncArgs;
  
  fncArgs = CheckDateADS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1 += 3)
   {
    if (CheckDateAD(fncArgs[fncf1], fncArgs[fncf1 + 1], fncArgs[fncf1 + 2])==false)
     { return false; }
   }
 }



function CheckDateROC(fncFieldName_y, fncFieldName_m, fncFieldName_d)
 {
  var fncMinusNumber;
  
  if (!(isNo(fncFieldName_y, 0, 0))) { return false; }
  if (!(isNo(fncFieldName_m, 0, 0))) { return false; }
  if (!(isNo(fncFieldName_d, 0, 0))) { return false; }

  fncFieldNameValue_y = eval("document.Data." + fncFieldName_y + ".value");
  fncFieldNameValue_m = eval("document.Data." + fncFieldName_m + ".value");
  fncFieldNameValue_d = eval("document.Data." + fncFieldName_d + ".value");

  if (fncFieldNameValue_y >= 89)
   { fncMinusNumber = 1911; }
  else
   { fncMinusNumber = 11; }

  var fncTMObj = new Date(eval(fncFieldNameValue_y)+1911, eval(fncFieldNameValue_m)-1, eval(fncFieldNameValue_d)+0);
        
  if (fncTMObj.getDate() != fncFieldNameValue_d)
   {
    alert("您的 " + FieldLabel[fncFieldName_d] + " 栏位日期不合法");
    GetFocus(fncFieldName_d);
    return false;
   }
   
  if (fncTMObj.getMonth()+1 != fncFieldNameValue_m)
   {
    alert("您的 " + FieldLabel[fncFieldName_m] + " 栏位月份不合法");
    GetFocus(fncFieldName_m);
    return false;
   }
   
  if (fncTMObj.getYear()-fncMinusNumber != fncFieldNameValue_y)
   {
    alert("您的 " + FieldLabel[fncFieldName_y] + " 栏位年份不合法");
    GetFocus(fncFieldName_y);
    return false;
   }
        
  return true;
 }



function CheckDateROCS()
 {
  var fncArgs;
  
  fncArgs = CheckDateROCS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1 += 3)
   {
    if (CheckDateROC(fncArgs[fncf1], fncArgs[fncf1 + 1], fncArgs[fncf1 + 2])==false)
     { return false; }
   }
 }



function CheckEmail(fncFieldName)
 {
  fncFieldNameValue = eval("document.Data." + fncFieldName + ".value");
  
  if (fncFieldNameValue.length == 0) { return true; }
  if (fncFieldNameValue.indexOf("@", 0) == -1)
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位应该要有 @");
    GetFocus(fncFieldName);
    return false;
   }
  
  fncCheckStr = fncFieldNameValue.substring(fncFieldNameValue.indexOf("@", 0) + 1, fncFieldNameValue.length);
  
  if (fncCheckStr.length == 0)
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位不正确");
    GetFocus(fncFieldName);
    return false;
   }
  
  FncSpecialChar = "!\"#$%&'()*+,/:;=?[\\]^_`{|}~";
  
  for (fncF1 = 0; fncF1 < FncSpecialChar.length; fncF1 ++)
   {
    if (fncCheckStr.indexOf(FncSpecialChar.charAt(fncF1), 0) != -1)
     {
      alert("您的 " + FieldLabel[fncFieldName] + " 栏位不应该有 " + FncSpecialChar.substring(fncF1, fncF1 + 1) + " 符号");
      GetFocus(fncFieldName);
      return false;
     }
   }

  if (fncCheckStr.indexOf("@", 0) != -1)
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位不应该有一个以上的 @ 符号");
    GetFocus(fncFieldName);
    return false;
   }

  if (fncCheckStr.substring(fncCheckStr.length-1, fncCheckStr.length) == ".")
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位最后不应该有 . 符号");
    GetFocus(fncFieldName);
    return false;
   }
  
  return true;
 }


  
function CheckEmailS()
 {
  var fncArgs;
  
  fncArgs = CheckEmailS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1++)
   {
    if (CheckEmail(fncArgs[fncf1])==false)
     { return false; }
   }
 }



function CheckId(fncFieldName) 
 {
  fncCheckStr = eval("document.Data." + fncFieldName + ".value");
  fnclead = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
  
  if (fncCheckStr.length != 10)
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 应该是十码才对");
    GetFocus(fncFieldName);
    return false;
   }
  
  fnchead = fncCheckStr.substring(0, 1).toUpperCase();
  fncNo = fncCheckStr.substring(1, 10);
  
  for (var fncI = 0; fncI< 8; fncI++)
   {
    var fncTempChar = fncNo.substring(fncI, fncI+ 1);
    if (fncTempChar < "0" || fncTempChar > "9")
     {
      alert("您的 " + FieldLabel[fncFieldName] + " 后面应该是数字才对");
      GetFocus(fncFieldName);
      return false;
     }
   }
  
  if (fnclead.indexOf(fnchead, 0) == -1)
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 开头应该是英文字母才对");
    GetFocus(fncFieldName);
    return false;
   }
  
  fncleadNo = fnclead.indexOf(fnchead,0) + 10;
  fncCheckNo = Math.floor(fncleadNo / 10) + (fncleadNo - Math.floor(fncleadNo / 10) * 10) * 9;
  
  for (var fncI = 0; fncI<= 7; fncI++)
   {
    var fncTempChar = fncNo.substring(fncI, fncI + 1);
    fncCheckNo = fncCheckNo + eval(fncTempChar + "*" + (8 - fncI));
   }
  fncCheckNo = 10 - (fncCheckNo - Math.floor(fncCheckNo / 10) * 10);
  
  if (fncCheckNo >= 10)
   { fncCheckNo = fncCheckNo - 10; }
  
  if (eval(fncCheckStr.substring(9,10)) == fncCheckNo)
   { return true; }
  else
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 输入错误，请再详细检查");
    GetFocus(fncFieldName);
    return false;
   }
 } 



function CheckNull(fncFieldName)
 {
  if (Trim(FieldValue(fncFieldName, 1)) == "")
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位应该要有资料");
    GetFocus(fncFieldName);
    return false;
   }
  else
   { return true; }
 }



function CheckNullS()
 {
  var fncArgs;
  
  fncArgs = CheckNullS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1++)
   {
    if (CheckNull(fncArgs[fncf1])==false)
     { return false; }
   }
 }



function CheckRange(fncFieldName, fncMimV, fncMaxV)
 {
  var fncObjV;
  
  if (isNo(fncFieldName, 0, 0))
   {
    fncObjV = eval("document.Data." + fncFieldName + ".value");    
    if (fncObjV != "")
     {
      if (fncMimV + 0 != fncMimV)
       {
        fncMimV = fncMimV.toLowerCase();
        if (fncMimV != "no") { fncMimV = "no"; }
       }
      if (" " + fncMimV != " no")
       {
        if(fncObjV < fncMimV)
         {
          alert("您的 " + FieldLabel[fncFieldName] + " 栏位不可小于 " + fncMimV);
          GetFocus(fncFieldName);
          return false;
         }
       }
      if (fncMaxV + 0 != fncMaxV)
       {
        fncMaxV = fncMaxV.toLowerCase();
        if (fncMaxV != "no") { fncMaxV = "no"; }
       }      
      if (" " + fncMaxV != " no")     
       {
        if(fncObjV > fncMaxV)
         {
          alert("您的 " + FieldLabel[fncFieldName] + " 栏位不可大于 " + fncMaxV);
          GetFocus(fncFieldName);
          return false;
         }
       }
      return true;
     }
    else
     { return true; }
   }
  else
   { return false; }
 }



function CheckRangeS()
 {
  var fncArgs;
  
  fncArgs = CheckRangeS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1 += 3)
   {
    if (CheckRange(fncArgs[fncf1], fncArgs[fncf1 + 1], fncArgs[fncf1 + 2])==false)
     { return false; }
   }
 }



function CheckStrLenB(fncFieldName, fncLimit)
 {
  var fncCounter;
  var fncTempChar;
  var fncStrLen;
  var fncStrByteLen;
    
  fncString = eval("document.Data." + fncFieldName + ".value");
  fncStrLen = eval("document.Data." + fncFieldName + ".value.length");
  
  fncStrByteLen = 0;
  for (fncCounter = 0 ; fncCounter < fncStrLen ; fncCounter ++)
   {
    fncTempChar = "";
    fncTempChar = escape(fncString.charAt(fncCounter));
    if (fncTempChar.length == 1 || fncTempChar.length == 3)
     { fncStrByteLen ++; }
    if (fncTempChar.length == 6)
     { fncStrByteLen += 2; }
   }
  if (fncStrByteLen <= fncLimit)
   { return true; }
  else
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位不可超过 " + fncLimit + " 个字元长度");
    GetFocus(fncFieldName);
    return false;
   }
 }



function CheckStrLenBS()
 {
  var fncArgs;
  
  fncArgs = CheckStrLenBS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1 += 2)
   {
    if (CheckStrLenB(fncArgs[fncf1], fncArgs[fncf1 + 1])==false)
     { return false; }
   }
 }



function FieldValue(fncFieldName, fncFieldType)
 {
  var fncf1;
  
  if (fncFieldType == 1) { return eval("document.Data." + fncFieldName + ".value");   }
  if (fncFieldType == 2) { return eval("document.Data." + fncFieldName + ".checked"); }
  if (fncFieldType == 3)
   {
    for (fncf1 = 1; fncf1 <= eval("document.Data." + fncFieldName + ".length"); fncf1 ++)
     {
      if (eval("document.Data." + fncFieldName + "[" + (fncf1-1) + "].checked") == true)
       { return eval("document.Data." + fncFieldName + "[" + (fncf1-1) + "].value"); }
     }
   }
  if (fncFieldType == 4)
   {return eval("document.Data." + fncFieldName + "[document.Data." + fncFieldName + ".selectedIndex].value"); }
   
  return false;
}



function GetFocus(fncFieldName)
 {
  eval("document.Data." + fncFieldName + ".focus()");
 }



function NewWindows(fncUrl, fncWinName)
 {
  fncFeature = "toolbar=1, location=1, directories=0, status=1, menubar=1, scrollbars=1, resizable=1, copyhirtory=1, width=640, height=480";
  window.open(fncUrl, fncWinName, fncFeature);
 }	



function PreloadImage(fncimgfile)
 {
  var LoadImage = new Image();
  
  LoadImage.src = fncimgfile;
  
  return LoadImage;
 }



function ReplaceStr(fncProcessStr, fncOriginStr, fncTargetStr)
 {
  fnctmpstr = fncProcessStr;
  fncPosi = fnctmpstr.indexOf(fncOriginStr, 0);
  fncOriStrLen = fncOriginStr.length;
  while(fncPosi != -1)
   {
    fnctmpstr = fnctmpstr.substring(0, fncPosi) + fncTargetStr + fnctmpstr.substring(fncPosi + fncOriStrLen, fnctmpstr.length);
    fncPosi = fnctmpstr.indexOf(fncOriginStr, 0);
   }
  return fnctmpstr;
 }



function SetFieldLabel()
 {
  var fncargs;
  
  fncargs = SetFieldLabel.arguments;
  for(fncf1 = 0; fncf1 < fncargs.length; fncf1 = fncf1 + 2)
   { FieldLabel[fncargs[fncf1]] = fncargs[fncf1 + 1]; }
 }



function StrLenB(fncString)
 {
  var fncCounter;
  var fncTempChar;
  var fncStrLen;
  var fncStrByteLen;
  
  fncStrLen     = fncString.length;
  fncStrByteLen = 0;
  for (fncCounter = 0 ; fncCounter < fncStrLen ; fncCounter ++)
   {
    fncTempChar = "";
    fncTempChar = escape(fncString.charAt(fncCounter));
    if (fncTempChar.length == 1 || fncTempChar.length == 3)
     { fncStrByteLen ++; }
    if (fncTempChar.length == 6)
     { fncStrByteLen += 2; }
   }
  return fncStrByteLen;
 }



function Trim(fncString)
 {
  var fncStrLen;
  var fncCounter;
  var fncTempChar1, fncTempChar2;
  var fncChkPoint1, fncChkPoint2;
  fncStrLen    = fncString.length;
  fncChkPoint1 = -1;
  fncChkPoint2 = -1;
          
  for (fncCounter = 0 ; fncCounter < fncStrLen ; fncCounter++)
   {
    fncTempChar1 = fncString.charAt(fncCounter);
    fncTempChar2 = fncString.charAt(fncStrLen-fncCounter-1);
            
    if (fncTempChar1 != " " && fncChkPoint1 == -1) { fncChkPoint1 = fncCounter; }
    if (fncTempChar2 != " " && fncChkPoint2 == -1) { fncChkPoint2 = fncStrLen-fncCounter; }
   }
  
  if (fncChkPoint1 == -1)
   { return ""; }
  else
   { return fncString.substring(fncChkPoint1, fncChkPoint2); }
 }



function isEnglishChar(fncFieldName)
 {	
  fncString = eval("document.Data." + fncFieldName + ".value");
  
  fncString = fncString.toUpperCase();
  for (var fncI = 0; fncI < fncString.length; fncI ++)
   {
    var fncTempChar = fncString.substring(fncI, fncI + 1);
    if ((fncTempChar < "A" || fncTempChar > "Z"))
     {     
      alert("您的 " + FieldLabel[fncFieldName] + " 栏位应该要全部是英文字");
      GetFocus(fncFieldName);
      return false;
     }
   }
  return true;
 }



function isEnglishCharS()
 {
  var fncArgs;
  
  fncArgs = isEnglishCharS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1++)
   {
    if (isEnglishChar(fncArgs[fncf1])==false)
     { return false; }
   }
 }



function isEngNumChar(fncFieldName)
 {	
  fncString = eval("document.Data." + fncFieldName + ".value");
  
  fncString = fncString.toUpperCase();
  for (var fncI = 0; fncI < fncString.length; fncI ++)
   {
    var fncTempChar = fncString.substring(fncI, fncI + 1);
    if ((fncTempChar < "A" || fncTempChar > "Z") && (fncTempChar < "0" || fncTempChar > "9"))
     {     
      alert("您的 " + FieldLabel[fncFieldName] + " 栏位应该要为英文字或数字");
      GetFocus(fncFieldName);
      return false;
     }
   }
  return true;
 }



function isNo(fncFieldName, fncisIntNo, fncisPMNo)
 {
  var fncTempChar, fncPointPosition1, fncPointPosition2;
  
  var fncStrLen;
  var fncCounter;
  var fncTempChar1, fncTempChar2;
  var fncChkPoint1, fncChkPoint2;
  
  if (fncisIntNo < 0 || fncisIntNo > 2) { fncisIntNo = 0; }
  if (fncisPMNo  < 0 || fncisPMNo  > 1) { fncisPMNo  = 0; }
  
  fncFieldNameValue = eval("document.Data." + fncFieldName + ".value");
  
  fncStrLen    = fncFieldNameValue.length;
  fncChkPoint1 = -1;
  fncChkPoint2 = -1;
          
  for (fncCounter = 0 ; fncCounter < fncStrLen ; fncCounter++)
   {
    fncTempChar1 = fncFieldNameValue.charAt(fncCounter);
    fncTempChar2 = fncFieldNameValue.charAt(fncStrLen-fncCounter-1);
            
    if (fncTempChar1 != " " && fncChkPoint1 == -1) { fncChkPoint1 = fncCounter; }
    if (fncTempChar2 != " " && fncChkPoint2 == -1) { fncChkPoint2 = fncStrLen-fncCounter; }
   }
  
  if (fncChkPoint1 == -1)
   { fncFieldNameValue = ""; }
  else
   { fncFieldNameValue = fncFieldNameValue.substring(fncChkPoint1, fncChkPoint2); }

  if (fncFieldNameValue.length > 0)
   {
    fncTempChar = fncFieldNameValue.charAt(0);
   
    if (fncisPMNo == 0)
     {
      if ((fncTempChar != "+") && (fncTempChar != "-") && (fncTempChar < "0" || fncTempChar > "9") && (fncTempChar != "."))
       {
        alert("您的 " + FieldLabel[fncFieldName] + " 栏位应该要为数字");
        GetFocus(fncFieldName);
        return false;
       }
     }
    if (fncisPMNo == 1)
     {
      if ((fncTempChar < "0" || fncTempChar > "9") && (fncTempChar != "."))
       {
        alert("您的 " + FieldLabel[fncFieldName] + " 栏位不应该有正负符号或其它非数字的字元");
        GetFocus(fncFieldName);
        return false;
       }
     }
    if ((fncTempChar == "+") || (fncTempChar == "-"))
     { fncFieldNameValue = fncFieldNameValue.substring(1, fncFieldNameValue.length); }
    
    for (var fncI = 0; fncI< fncFieldNameValue.length; fncI++)
     {
      fncTempChar = fncFieldNameValue.charAt(fncI);
      if ((fncTempChar < "0" || fncTempChar > "9") && (fncTempChar!="."))
       {
        alert("您的 " + FieldLabel[fncFieldName] + " 栏位不应该有其它非数字的字元");
        GetFocus(fncFieldName);
        return false;
       }
     }

    fncCheckDot = 0;
    if (fncFieldNameValue.length > 0)
     {
      fncPointPosition1 = fncFieldNameValue.indexOf(".");
      if (fncPointPosition1 != -1)
       {
        fncPointPosition2 = fncFieldNameValue.indexOf(".", fncPointPosition1 + 1);
        if (fncPointPosition2 != -1)
         {
          alert("您的 " + FieldLabel[fncFieldName] + " 栏位不应该有两个以上的小数点");
          GetFocus(fncFieldName);
          return false;
         }
        fncCheckDot = 1;
       }
     }
    if (fncisIntNo == 1 && fncCheckDot == 1)
     {
      alert("您的 " + FieldLabel[fncFieldName] + " 栏位只准许为整数");
      GetFocus(fncFieldName);
      return false;
     }
    if (fncisIntNo == 2 && fncCheckDot == 0)
     {
      alert("您的 " + FieldLabel[fncFieldName] + " 栏位不准许为整数");
      GetFocus(fncFieldName);
      return false;
     }
   }
  return true;
 }


 
function isNoS()
 {
  var fncArgs;
  
  fncArgs = isNoS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1++)
   {
    if (isNo(fncArgs[fncf1])==false)
     { return false; }
   }
 }

function CheckBirthdayNull(fncFieldName)
 {
  if (Trim(FieldValue(fncFieldName, 4)) == "")
   {
    alert("您的 " + FieldLabel[fncFieldName] + " 栏位应该要有资料");
    GetFocus(fncFieldName);
    return false;
   }
  else
   { return true; }
 }

function CheckBirthdayNullS()
 {
  var fncArgs;
  
  fncArgs = CheckBirthdayNullS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1++)
   {
    if (CheckBirthdayNull(fncArgs[fncf1])==false)
     { return false; }
   }
 }

function CheckInt(fncFieldName)
{
	fncCheckValue=FieldValue(fncFieldName,1)
	fncCheckFlag=true
    for (var fncI = 0; fncI< fncCheckValue.length; fncI++)
		{
		 fncTempChar = fncCheckValue.charAt(fncI)
		 if ((fncTempChar < "0" || fncTempChar > "9"))
		   {fncCheckFlag=false}
		}

	if(fncCheckFlag==true)
		{return true}
	else
		{
		alert("您的 " + FieldLabel[fncFieldName] + " 栏位必须是整数")
		GetFocus(fncFieldName)
   		return false
		}
}

function CheckIntS()
{
  var fncArgs;
  
  fncArgs = CheckIntS.arguments;
  for(fncf1 = 0; fncf1 < fncArgs.length; fncf1++)
   {
    if (CheckInt(fncArgs[fncf1])==false)
     { return false; }
   }

}


