//常用的正規表示式
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}/;

//  以下的DOM操控都省略了 document, 直接以form 的name開始

//修改可視性
function chgVisible(x,y)
{
 fomQry.op.value="chgVisible";
 fomQry.visible.value=y;
 fomQry.id.value=x;
 fomQry.target="ifrm";
 fomQry.submit();
}
//修改可視性
function chgVisible2(x,y,sMainOrSub)
{
 fomQry.op.value="chgVisible";
 fomQry.visible.value=y;
 fomQry.id.value=x;
 fomQry.mainOrSub.value = sMainOrSub;
 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 ,y, z, item_id)
{
 fomQry.op.value="mod";
 fomQry.id.value=x;
 // 自己加的
 if (fomQry.hiddenCateId) fomQry.hiddenCateId.value = y;
 if (fomQry.hiddenSuppierId) fomQry.hiddenSuppierId.value = z;
 if (fomQry.hiddenItemId) fomQry.hiddenItemId.value = item_id;
 fomQry.submit();
}

// 旺牌的mod
function mod2(x, menu_id, cat_id)
{
 fomQry.op.value="mod";
 fomQry.id.value = x;
 if (fomQry.menu_id) fomQry.menu_id.value = menu_id;
 if (fomQry.cat_id) fomQry.cat_id.value = cat_id;
 fomQry.submit();
}

// 供需論壇的mod
function mod3(id)
{
 fomQry.op.value="mod";
 fomQry.id.value = id;
 fomQry.submit();
}

// 供需論壇的檢舉mod
function mod4(id,menu_id)
{
 fomQry.op.value="mod4";
 fomQry.id.value = id;
 fomQry.menu_id.value = menu_id;
 fomQry.submit();
}  
// 供需論壇的檢舉mod
function mod5(id,menu_id)
{
 fomQry.op.value="mod5";
 fomQry.id.value = id;
 fomQry.menu_id.value = menu_id;
 fomQry.submit();
} 
// 供需論壇的mod
function mod6(id, sMainOrSub) {
  fomQry.op.value = "mod";
  fomQry.id.value = id;
  fomQry.mainOrSub.value = sMainOrSub;
  fomQry.submit();
}

function mainReply(id) {
  fomQry.op.value = "mainReply";
  fomQry.id.value = id;
  fomQry.target = "";
  fomQry.submit();
}

function subReply(id) {
  fomQry.op.value = "subReply";
  fomQry.id.value = id;
  fomQry.target = "";
  fomQry.submit();
}

// 供需論壇的del
function del3(id, sMainOrSub) {
 if (sMainOrSub == "main") {
    var ok = confirm( "刪除主題會連同回覆一起刪除\n確定要刪除此筆資料?");
 } else if (sMainOrSub == "sub") {
    var ok = confirm( "確定要刪除此筆資料?");
 }
 if( ok )
 {
  fomQry.op.value = "del";
  fomQry.target = "ifrm";
  fomQry.id.value = id;
  fomQry.mainOrSub.value = sMainOrSub;
  fomQry.submit();
 }
}

//刪除item
function del(x, y)
{
 ok = confirm( "確定要刪除此筆資料?");
 if( ok == true)
 {
  fomQry.op.value="del";
  fomQry.target="ifrm";
  fomQry.id.value=x;
  if (fomQry.hiddenCateId) fomQry.hiddenCateId.value=y;
  fomQry.submit();
 }
}

//修改每頁筆數
function rowChg(qRows)
{
 fomQry.rows.value=qRows;
 fomQry.submit();
}

//跳到目前頁數
function pagChg(qPages)
{
 fomQry.target = "";
 fomQry.op.value = "qry";
 fomQry.pages.value=qPages;
 fomQry.submit();
}

//跳到目前頁數
function pagChg2(qPages)
{
 fomQry.target = "";
 fomQry.op.value = "qry";
 fomQry.pages2.value=qPages;
 fomQry.submit();
}

//上層參數改變
function topChg(top_id)
{
 fomQry.top_id.value=top_id;
 fomQry.pages.value=0;
 fomQry.submit();
}



function topChgGary(ModOrIns, e)
{ 
  var e = e || window.event;
  var source = e.target || e.srcElement;
  var sourceId = source.id;
  var fom = (ModOrIns == "Ins") ? document.fomIns : document.fomMod ;
  // 新增或修改動作使用的表單也是fomMod或fomIns, 要把op指定回來, 否則會有問題
  fom.op.value = (ModOrIns == "Mod") ? "mod" : "" ;
  fom.target = "";
  switch (sourceId) {
    case "menu_id":
	   if (fom.menu_id) fom.menu_id.value = source.value;
	   break;
	case "top_id":
	   if (fom.top_id) fom.top_id.value = source.value;
	   break;
	case "top2_id":
	   if (fom.top2_id) fom.top2_id.value = source.value;
	case "cat_id":
	   if (fom.cat_id) fom.cat_id.value = source.value;
	   break;
  }
  // 確保底下類別的select為空值, 否則資料會選擇錯誤
  // 想法: 假設已點選 高粱酒 - 高梁酒的由來 (1層類別 - 2層類別)
  //       又回1層類別點選其他選項 八八坑道 => 要將2層類別歸零, 否則會變成選擇
  //       八八坑道 - 高梁酒由來 的資料, 但八八坑道底下沒有 "高梁酒由來" 的類別
  //       造成選取錯誤

     if (sourceId == "menu_id") {
	    if (fom.top_id) fom.top_id.value = "";
	    if (fom.top2_id) fom.top2_id.value = "";
		// 資料管理cat_id在menu_id之下
		if (fom.cat_id) fom.cat_id.value = "";
	 }
	 if (sourceId == "top_id") {
	    if (fom.top2_id) fom.top2_id.value = "";
	 }
	 

  // alert(fom.menu_id.value + fom.top_id.value + fom.top2_id.value);
  fom.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 qryGo2()
{
 var chkitem;
 
 fomQry2.pages.value = "0";
 fomQry2.qrykey.value = fomQry2.qrykey.value.trim();
 chkitem = check_char(fomQry2.qrykey.value);
 if( chkitem != "" )
 {
  alert( "\"關鍵字\"" + chkitem );
  fomQry2.qrykey.focus();
  return false;
 }

 fomQry2.submit();

}
//全部查詢
function qryAll()
{
 fomQry.op.value = "qryAll";
 if (fomQry.menu_id) fomQry.menu_id.value = "";
 if (fomQry.top_id) fomQry.top_id.value = "";
 if (fomQry.top2_id) fomQry.top2_id.value = "";
 if (fomQry.cat_id) fomQry.cat_id.value = "";
 fomQry.pages.value = "0";
 fomQry.qryitem.value = "";
 fomQry.qrykey.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_unit(x){
	if(x.length != 0){
		if( !(x.match(/^\d+$/)) ){
			return "請輸入數字";
		}else if( parseInt(x) < 1 ){
			return "輸入的數字必須大於0";
		}else{
			return "";
		}
	}else{
		return "";
	}
}

// 檢查是否為數字
function check_number(x)
{
 if(x.length != 0)
 {
  if( !(x.match(/^\d+$/)) )
  {
    return "請輸入數字";
  }
  else if( parseInt(x) < 0 )
  {
   return "輸入的數字必須為正數";
  }
  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_box(x){
	//輸出true或false
	if(x==false)
	{
	return "false";
	}
	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);
}
*/