//常用的正規表示式
var pattern1=/\d/;//[0-9]
var pattern2=/\D/;//[^0-9]
var pattern3=/\w/;//[a-zA-Z0-9]
var pattern4=/\W/;//[^a-zA-Z0-9]
var pattern5=/\s/;//[\t\n\r\f\v]
var pattern6=/\S/;//[^\t\n\r\f\v]
var pattern9=/[a-zA-Z]{1}[\w]{5,14}/;
var pattern10=/[a-zA-Z]/;
var pattern11=/[\w]{6,14}/;

//修改可視性
function chgVisible(x,y)
{
 fomQry.op.value="chgVisible";
 fomQry.visible.value=y;
 fomQry.id.value=x;
 fomQry.target="ifrm";
 fomQry.submit();
}

//修改狀態
function chgStatus(x,y)
{
 fomQry.op.value="chgStatus";
 fomQry.status.value=y;
 fomQry.id.value=x;
 fomQry.target="ifrm";
 fomQry.submit();
}

//修改item
function mod(x)
{
 fomQry.op.value="mod";
 fomQry.id.value=x;
 fomQry.submit();
}

//刪除item
function del(x)
{
 ok = confirm( "確定要刪除此筆資料?");
 if( ok == true)
 {
  fomQry.op.value="del";
  fomQry.target="ifrm";
  fomQry.id.value=x;
  fomQry.submit();
 }
}

//修改每頁筆數
function rowChg(qRows)
{
 fomQry.rows.value=qRows;
 fomQry.submit();
}

//跳到目前頁數
function pagChg(qPages)
{
 fomQry.pages.value=qPages;
 fomQry.submit();
}

//上層參數改變
function topChg(top_id)
{
 fomQry.top_id.value=top_id;
 fomQry.pages.value=0;
 fomQry.submit();
}

//排序參數
function sortBy(qSort)
{
 if(fomQry.SORT.value==qSort)
 {
  fomQry.DESC.value=(fomQry.DESC.value=="1")?"0":"1";
 }
 fomQry.SORT.value=qSort;
 fomQry.submit();
}


//減少排序權重
function seqUP(x)
{
 fomQry.op.value="seqUP";
 fomQry.id.value=x;
 fomQry.submit();
}

//增加排序權重
function seqDown(x)
{
 fomQry.op.value="seqDown";
 fomQry.id.value=x;
 fomQry.submit();
}

//關鍵字查詢
function qryGo()
{
 var chkitem;
 
 fomQry.pages.value = "0";
 fomQry.qrykey.value = fomQry.qrykey.value.trim();
 chkitem = check_char(fomQry.qrykey.value);
 if( chkitem != "" )
 {
  alert( "\"關鍵字\"" + chkitem );
  fomQry.qrykey.focus();
  return false;
 }

 fomQry.submit();

}

//全部查詢
function qryAll()
{
 fomQry.op.value = "qryAll";
 fomQry.top_id.value = "0";
 fomQry.pages.value = "0";
 fomQry.qryitem.value = "";
 fomQry.qrykey.value = "";
 fomQry.SORT.value = "";
 fomQry.DESC .value = "";

 fomQry.submit();
}

// 去除前後空白
function trim()
{
 for( var begin = 0; begin < this.length; begin++ )
 if(this.charAt(begin) != " ") break;
 for( var end = this.length; end > 0; end-- )
 if(this.charAt(end - 1) != " ") break;
 return this.slice( begin, end );
}

String.prototype.trim = trim;

//檢查帳號
function check_ac(x)
{
 if(x.length != 0)
 {
  if(x.length < 4)
  {
   return "必需大於4位數!!";
  }
  else if( !x.match(/^[a-zA-Z]/) )
    {
      return "第一個字需為英文!!";
    }     
  else if( !x.match(/^[a-zA-Z]{1}\w+$/) )
    {
      return "只可使用英文字跟數字!!" ;
    }
  else
  {
   return "";
  }
 }
 else
 {
  return "";
 }
}

//檢查密碼
function check_pw(id)
{
 if(id.length != 0)
 {
  if(id.length < 4)
  {
   return "必需大於4位數!!";
  }
  else
  {
   return "";
  }
 }
 else
 {
  return "";
 }
}

// 檢查特殊字元
function check_char(x)
{
 if(x.length != 0)
 {
  if(//x.indexOf("\"",0) != -1 ||
  //x.indexOf("?",0) != -1 ||
  //x.indexOf("%",0) != -1 ||
  //x.indexOf("*",0) != -1 ||
  x.indexOf("'",0) != -1)
  {
   return "不可輸入特殊字元!!";
  }
  else
  {
   return "";
  }
 }
 else
 {
  return "";
 }
}

// 檢查空白
function check_null(x)
{
 if(x.length == 0)
 {
  return "必需要輸入!!";
 }
 else
 {
  return "";
 }
}

// 檢查是否為數字
function check_number(x)
{
 if(x.length != 0)
 {
  if( !(x.match(/^\d+$/)) )
  {
    return "請輸入數字";
  }
  else if( parseInt(x) < 1 )
  {
   return "輸入的數字必須大於0";
  }
  else
  {
    return "";
  }
 }
 else
 {
  return "";
 }
}

// 檢查台灣手機號碼
function check_mobile(x)
{
 if(x.length != 0)
 {
  if( x.length != 10 )
  {
    return "長度為10個字";
  }
  else if( !(x.match(/^\d+$/)) )
  {
    return "請輸入數字";
  }
  else
  {
    return "";
  }
 }
 else
 {
  return "";
 }
}

// 檢查IP輸入字元
function check_ip(x)
{
 if( x.length != 0 && !(x.match(/^\d+$/)) )
 {
  if(x.indexOf("*",0) == -1)
  {
   return "只能輸入數字或*號!!";
  }
  else if( parseInt(x) > 255 )
  {
   return "數字必須小於255";
  }
  else
  {
   return "";
  }
 }
 else
 {
  return "";
 }
}


// 檢查E-mail格式
function check_mail(x)
{
 if(x.length != 0)
 {
  if (x.charAt(0)=="." ||
  x.charAt(0)=="@"||
  x.indexOf('@', 0) == -1 ||
  x.indexOf('.', 0) == -1 ||
  x.lastIndexOf("@")==x.length-1 ||
  x.lastIndexOf(".")==x.length-1)
  {
   return "格式不正確!!";
  }
  else
  {
   return "";
  }
 }
 else
 {
  return "";
 }
}

// 檢查身份證字號
function check_idnum(x)
{
 if(x.length != 0)
 {
  var ck = IDCkSum(x);
  if(ck==-6)
  {
   return ("超過10個字!!\n");
  }
  if(ck==-1)
  {
   return ("不滿10個字!\n");
  }
  if(ck==-2)
  {
   return("第一碼必須是大寫的英文字母!!\n");
  }
  if(ck==-3)
  {
   return("第二碼有問題!!\n");
  }
  if(ck==-4)
  {
   return("第二到十碼有問題!!");
  }
  if(ck==-5)
  {
   return("輸入不正確!!");
  }
  return "";
 }
 else
 {
  return "";
 }
}

function IDCkSum(x) // 身分證字號檢查
{
 var myid;
 myid = x.toUpperCase();
 x.value = myid;
 
 // 長度必須為10碼
 if(myid.length>10) return (-6);
 if(myid.length<10) return (-1);

 // 第一碼須為A到Z
 var c = myid.charAt(0);
 if(c<"A" || c> "Z") return (-2);

 // 第二碼必須為1或2
 c = myid.charAt(1);
 if(c!="1" && c!="2") return (-3);

 // 第二碼至第十碼必須為數字
 for(i=1;i<
 10;i++)
 if(isNaN(parseFloat(myid.charAt(i)))) return(-4);

 //計算一:將第一碼英文轉數字A=10,B=11,C=12,.....
 // ABCDEFGHJKLMNPQRSTUVXYWZIO, please notice the sequence of I, O, W
 // 10 ~35
 var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O");
 var num  = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
 var n=0;
 for(i=0;i<alph.length;i++)
 {
  if(myid.charAt(0)==alph[i]) n=i;
 }
 var tot1 = parseFloat(num[n].charAt(0)) + (parseFloat(num[n].charAt(1)) * 9);

 // 計算二:第2碼*8 + 第3碼*7 + .....
 var tot2 = 0;
 for(i=1;i<myid.length-1;i++)
 {
  tot2 = tot2 + parseFloat(myid.charAt(i))*(9-i);
 }

 // 計算三:第10碼數字
 var tot3 = parseFloat(myid.charAt(9));
 var tot4 = tot1 + tot2 + tot3;

 // 總合除以10餘數必須為0
 if((tot4 % 10)!=0) return (-5);

 //不可使用A123456789與A123456798
 if(myid=="A123456789") return (-5);
 if(myid=="A123456798") return (-5);

 return (0);
}

