//***************************************************************************************************************
// 開啟新視窗(openwindow)                   內容未填檢查(isempty)                   下拉未填檢查(check_select)
// 單選未填檢查(check_radio)                特殊內容檢查(istext)                    數字型態檢查(isnum)
// 電子郵件檢查(isemail)                    電話型態檢查(istel)                     身份証檢查(check_identity)
// 行動電話檢查(check_mobilephone)          生日年份檢查(check_birthday_year)       帳號檢查(check_uid)
// 舊帳號檢查(check_oldID)                  密碼確認檢查(check_passwd)              特定字元檢查(Validate_Char)
// 去掉左右空白(Trim_Only)                  去掉換行(Parse_Wild)                    輸入太長檢查(islong)
// 輸入太短檢查(isshort)                    字數限制,中文同英數(isinno)             行數限制(isinline)
// 中文字檢查(ischinese)                    日期檢查(isdate)                        URL檢查(isurl)
// ip檢查(isip)                             時間檢查(istime)                        郵遞區號檢查(iszip)
// 地址檢查(isaddr)
// 全選(sel)                                排序(sort_by)                           把按鍵Disable(submitonce)
// 頁籤功能(switchCell)                     伸縮功能(Expand)                        跳頁(JumpPage)
// 刪除選取 del(url)                        刪除單筆 del1(url)
// ex:
// 1.if(istext(document.Form1.cname.value,'中文名稱')){document.Form1.cname.focus();return false;}
// 2.if(isinno(document.Form1.subject.value,50,'主題')){document.Form1.subject.focus();return false;}
//***************************************************************************************

//功    能：開啟新視窗(openwindow)
function openwindow(theurl,winname,features){
  window.open(theurl,winname,features);
}

//功    能：內容未填檢查(isempty)
function isempty(temptext,tempname){
  if(temptext==''){
    alert('操作訊息顯示：\n\n'+tempname+' 不能空白 !\n');
    return 1;
  }
}

//功    能：下拉未填檢查(check_select)
function check_select(select,tempname){
  if(select.options[0].selected == true){
    alert('操作訊息顯示：\n\n'+tempname+' 必須選擇 !\n');
    return 1;
  }
}

//功    能：單選未填檢查(check_radio)
function check_radio(radio,tempname){
  var error = true;
  for( i=0; i <radio.length; i++ )
  if(radio[i].checked == true) {
    error = false;
    break;
  }
  if( error == true ){
    alert('操作訊息顯示：\n\n'+tempname+' 必須選擇 !\n');
    return 1;
  }
}

//功    能：特殊內容檢查(istext)
function istext(temptext,tempname){
  if(temptext.indexOf("<") != -1 || temptext.indexOf(">") != -1 || temptext.indexOf("'") != -1 || temptext.indexOf("&lt") != -1 || temptext.indexOf("@") != -1 || temptext.indexOf("\\") != -1){
    alert('操作訊息顯示：\n\n'+tempname+' 不能包含 ( < , > , \'\ , @ 和 \\\ ) !\n');
    return 1;
  }
}

//功    能：數字型態檢查(isnum)
function isnum(num,tempname){
  var i;
  for (i=0;i<num.length;i++){
    if ((num.charCodeAt(i)<48) || (num.charCodeAt(i)>57)){
      alert('操作訊息顯示：\n\n'+tempname+' 應是數字型態 !\n');
      return 1;
    }
  }
  //return 0;
}

//功    能：電子郵件檢查(isemail)
function isemail(email,tempname){
  //if(!email.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/)){alert("操作訊息顯示：\n\n"+tempname+" 格式不正確 !\n");return 1;}
  var i;
  var len = email.length;
  for (i=0;i<email.length; i++){
    var ch = email.charAt(i);
    if(!((ch>="A"&&ch<="Z")||(ch>="a"&&ch<="z")||(ch>="0"&&ch<="9")||(ch=="-")||(ch=="_")||(ch==".")||(ch=="@")||(ch>=128))){
    alert('操作訊息顯示：\n\n'+tempname+' 只能是數字,英文字母及「 - 」,「 _ 」,「 . 」,「 @ 」等符號。\n其他的符號都不能使用 !\n');
    return 1;
    }
  }
  if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1))){
  alert('操作訊息顯示：\n\n'+tempname+' 不合法 !\n');
  return 1;
  }
  if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1)){
  alert('操作訊息顯示：\n\n'+tempname+' 不合法 !\n');
  return 1;
  }
  if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1))){
  alert('操作訊息顯示：\n\n'+tempname+' 不完全 !\n');
  return 1;
  }
}

//功    能：電話型態檢查(istel)
function istel(num,tempname){
  var i;
  for (i=0;i<num.length; i++) {
    if(num.charAt(i)!="(" && num.charAt(i)!=")" && num.charAt(i)!="-"){
      if((num.charCodeAt(i)<48) || (num.charCodeAt(i)>57)){
	alert('操作訊息顯示：\n\n'+tempname+' 只能是數字及「 - 」,「 ( 」,「 ) 」等符號, 其他的符號都不能使用 !\n');
	return 1;
      }
    }
  }
}

//功    能：身份証檢查(check_identity)
function check_identity (id,tempname){
  var myid = id;
  myid = myid.toUpperCase();
  id = myid;
  if(myid.length>10){
    alert('操作訊息顯示：\n\n'+tempname+' 超過10個字 !\n');
    return 1;
  }
  if(myid.length<10){
    alert('操作訊息顯示：\n\n'+tempname+' 不滿10個字 !\n');
    return 1;
  }
  var c = myid.charAt(0);
  if(c<"A" || c> "Z"){
    alert('操作訊息顯示：\n\n'+tempname+' 第一碼必須是大寫的英文字母 !\n');
    return 1;
  }
  c = myid.charAt(1);
  if(c!="1" && c!="2"){
    alert('操作訊息顯示：\n\n'+tempname+' 第二碼有問題 !\n');
    return 1;
  }
  for(i=1;i<10;i++)
  if(isNaN(parseFloat(myid.charAt(i)))){
    alert('操作訊息顯示：\n\n'+tempname+' 第二到十碼有問題 !\n');
    return 1;
  }
  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);
  var tot2 = 0;
  for(i=1;i<myid.length-1;i++)
  tot2 = tot2 + parseFloat(myid.charAt(i))*(9-i);
  var tot3 = parseFloat(myid.charAt(9));
  var tot4 = tot1 + tot2 + tot3;
  if((tot4 % 10)!=0){
    alert('操作訊息顯示：\n\n'+tempname+' 有問題 !\n');
    return 1;
  } else {
    if ( id.length <= 0 ){
      alert('操作訊息顯示：\n\n'+tempname+' 還沒填呢 !\n');
      return 1;
    }
  }
}

//功    能：行動電話檢查(check_mobilephone)
function check_mobilephone(number,tempname){
  var error = false;
  if( number.length <= 0 ){
    alert('操作訊息顯示：\n\n'+tempname+' 還沒填呢 !\n');
    return 1;
  }
  if( number.length != 10 ){
    alert('操作訊息顯示：\n\n'+tempname+' 有問題 !\n');
    return 1;
  }
  if( number.substring( 0, 2 ) != "09" ){
    alert('操作訊息顯示：\n\n'+tempname+' 有問題 !\n');
    return 1;
  }
  for( idx = 0 ; idx <number.length ; idx++ ) {
    if( !( number.charAt(idx)>= '0' && number.charAt(idx) <= '9' ) ) {
      error = true;
      break;
    }
  }
  if( error == true ){
    alert('操作訊息顯示：\n\n'+tempname+' 只能是數字, 其他的符號都不能使用 !\n');
    return 1;
  }

}

//功    能：生日年份檢查(check_birthday_year)
function check_birthday_year(year,tempname){
  var error = false;
  if( year.length != 4 )
  error = true;
  for( idx = 0 ; idx <year.length ; idx++ ) {
    if( !( year.charAt(idx)>= '0' && year.charAt(idx) <= '9' ) ) {
      error = true;
      break;
    }
  }
  if( error == true )
  alert('操作訊息顯示：\n\n'+tempname+' 必須是四個數字, 例如 1980 年 !\n');
  return 1;
}

//功    能：帳號檢查(check_uid)
function check_uid (uid,tempname){
  if( uid.length <= 0 )
  alert('操作訊息顯示：\n\n'+tempname+' 帳號還沒填呢 !\n');
  return 1;
  if( uid.length <3 || uid.length> 16 )
  alert('操作訊息顯示：\n\n'+tempname+' 帳號長度只能 3 至 16 個字元 !\n');
  return 1;
  if ( !(uid.charAt(0)>= 'a' && uid.charAt(0) <= 'z') ) {
  alert('操作訊息顯示：\n\n'+tempname+' 第一字元只能為小寫字母 !\n');
  return 1;
  }
  for( idx = 0 ; idx <uid.length ; idx++ ){
    if( uid.charAt(idx)>= 'A' && uid.charAt(idx) <= 'Z' )
    alert('操作訊息顯示：\n\n'+tempname+' 不可以含有大寫字元 !\n');
    return 1;
    if( !( ( uid.charAt(idx)>= 'a' && uid.charAt(idx) <= 'z' ) || ( uid.charAt(idx)>= '0' && uid.charAt(idx) <= '9' ) || ( uid.charAt(idx) == '_' ) ) )
    alert('操作訊息顯示：\n\n'+tempname+' 只能是數字,英文字母及「_」等符號,其他的符號都不能使用 !\n');
    return 1;
    if( uid.charAt(idx) == '_' && uid.charAt(idx-1) == '_' )
    alert('操作訊息顯示：\n\n'+tempname+' 「_」符號不可相連 !\n');
    return 1;
  }
  if( uid.indexOf("kimo")>= 0 || uid.indexOf("yahoo")>=0)
  alert('操作訊息顯示：\n\n'+tempname+' 不能含有 kimo 與 yahoo 的字眼 !\n');
  return 1;
  if( uid.charAt( uid.length - 1 ) == '_' )
  alert('操作訊息顯示：\n\n'+tempname+' 「_」符號不可在最後 !\n');
  return 1;
}


//功    能：舊帳號檢查(check_oldID)
function check_oldID (uid,tempname){
  if( uid.length <= 0 )
  alert('操作訊息顯示：\n\n'+tempname+' 帳號還沒填呢 !\n');
  return 1;
  if( uid.length> 20 )
  alert('操作訊息顯示：\n\n'+tempname+' 長度只能小於 16 個字元 !\n');
  return 1;
  for( idx = 0 ; idx <uid.length ; idx++ ){
  if( uid.charAt(idx)>= 'A' && uid.charAt(idx) <= 'Z' )
  alert('操作訊息顯示：\n\n'+tempname+' 不可以含有大寫字元 !\n');
  return 1;
  if( !( ( uid.charAt(idx)>= 'a' && uid.charAt(idx) <= 'z' ) || ( uid.charAt(idx)>= '0' && uid.charAt(idx) <= '9' ) || ( uid.charAt(idx) == '_' ) || ( uid.charAt(idx) == '-' ) || ( uid.charAt(idx) == '.' ) ) )
  alert('操作訊息顯示：\n\n'+tempname+' 只能是數字,英文字母及「_」「-」「.」等符號,其他的符號都不能使用 !\n');
  return 1;
  }
}

//功    能：密碼確認檢查(check_passwd)
function check_passwd (pw1,pw2,tempname){
  if(pw1=='') {
    alert('操作訊息顯示：\n\n'+tempname+' 不可以空白 !\n');
    return 1;
  }
  for( var idx = 0 ; idx <pw1.length ; idx++ ) {
    if( pw1.charAt(idx) == ' ' || pw1.charAt(idx) == '\"' ){
      alert('操作訊息顯示：\n\n'+tempname+' 含有空白或雙引號 !\n');
      return 1;
    }
  }
  if( pw1.length <1 || pw1.length> 32 ) {
    alert('操作訊息顯示：\n\n'+tempname+' 只能 1 到 32 個字元 !\n');
    return 1;
  }
  if(pw1 != pw2) {
    alert('操作訊息顯示：\n\n'+tempname+' 二次輸入不一樣,請重新輸入 !\n');
    return 1;
  }
}

//功    能：特定字元檢查(Validate_Char)
function Validate_Char(temptext,tempname){
  for (var i = 0; i < temptext.length; i++){
    Ch = temptext.charAt(i);
    if (((Ch < "a") || (Ch > "z")) &&
       ((Ch < "A") || (Ch > "Z")) &&
       ((Ch < "0") || (Ch > "9")))
    {
      alert('操作訊息顯示：\n\n'+tempname+' 只能使用以下的字元：a-z、A-Z、0-9，且不能包含空白字元 !\n');
      return 1;
    }
  }
}

//功    能：去掉左右空白(Trim_Only)
function Trim_Only(str){
  while( (str.charAt(0) == " "  || str.charCodeAt(0) == 0x3000) && (str.length > 0) ) // 0x3000 is unicode space
  str = str.substring( 1, str.length );
  while( (str.charAt( str.length-1 ) == " "  || str.charCodeAt(0) == 0x3000) && (str.length > 0) ) // 0x3000 is unicode space
  str = str.substring( 0, str.length-1 );
  return( str );
}

//功    能：去掉換行(Parse_Wild)
function Parse_Wild(str, replace_what, replace_with){
  var ndx = str.indexOf(replace_what);
  var delta = replace_with.length - replace_what.length;
  while (ndx >= 0){
    str = str.substring(0,ndx) + replace_with + str.substring(ndx + replace_what.length);
    ndx = str.indexOf(replace_what, ndx + delta + 1);
  }
  return str;
}

//功    能：輸入太長檢查(islong)
function islong(temptext,no,tempname){
  var i;
  if(temptext.length>no){alert("操作訊息顯示：\n\n"+tempname+" 字數太長，不能超過"+no+"字限制 !\n");return 1;}
}

//功    能：輸入太短檢查(isshort)
function isshort(temptext,no,tempname){
  var i;
  if(temptext.length<no){alert("操作訊息顯示：\n\n"+tempname+" 字數太短，不能少於"+no+"字限制 !\n");return 1;}
}

//功    能：字數限制,中文同英數(isinno),注意需3個參數
function isinno(tex,no,tempname){
  var i;
  if(tex.length>no){alert("操作訊息顯示：\n\n"+tempname+" 總共輸入 "+tex.length+" 個字數，已經超過 "+no+" 字數的限制 !\n");return 1;}
}

//功    能：行數限制(isinline),注意需3個參數
function isinline(tex,no,tempname){
  var i;
  //if(tex.match(/\r/g)>no){alert("操作訊息顯示：\n\n"+tempname+" 輸入超過"+no+"行數限制 !\n");return 1;}
}

//功    能：中文字檢查(ischinese)
function ischinese(chin,tempname){
  var i;
  for(i=0;i<chin.length;i++){
    if(chin.charCodeAt(i)<128){alert("操作訊息顯示：\n\n"+tempname+" 輸入非中文字 !\n");return 1;}
  }
}

//功    能：日期檢查(isdate)
function isdate(tempdate,tempname){
  var i;
  if(!tempdate.match(/^(\d\d)\/(\d\d)\/(\d\d)$/)){alert("操作訊息顯示：\n\n"+tempname+" 日期格式不正確 !\n");return 1;}
}

//功    能：URL檢查(isurl)
function isurl(tempurl,tempname){
  //if(!tempurl.match(/^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$/)){alert("操作訊息顯示：\n\n"+tempname+" 格式不正確 !\n");return 1;}
  var i;
  if(!tempurl.match(/(http|https|ftp):\/\/.+/)){alert("操作訊息顯示：\n\n"+tempname+" 輸入不正確，請記的打前面的「http | https | ftp ://」!\n");return 1;}
}

//功    能：ip檢查(isip)
function isip(tempip,tempname){
  var i;
  if(!tempip.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/)){alert("操作訊息顯示：\n\n"+tempname+" IP位址輸入不正確 !\n");return 1;}
}

//功    能：時間檢查(istime)
function istime(temptime,tempname){
  var i;
  if(!temptime.match(/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/)){alert("操作訊息顯示：\n\n"+tempname+" 時間格式不正確 !\n");return 1;}
}

//功    能：郵遞區號檢查(iszip)
function iszip(tempzip,tempname){
  var i;
  if(!tempzip.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/)){alert("操作訊息顯示：\n\n"+tempname+" 格式不正確 !\n");return 1;}
}

//功    能：地址檢查(isaddr)
function isaddr(tempaddr,tempname){
  var i;
  if(!tempaddr.match(/^(.{1,}(市|鎮|鄉).{1,}(路|街|道).{1,}號.{0,})|(.{1,}郵政.{1,}信箱)$/)){alert("操作訊息顯示：\n\n"+tempname+" 地址格式不正確 !\n");return 1;}
}

//功    能：做form的clear動作，傳入form_name
function clear_form(form_name){
  Eval('document.'+form_name+'.reset()');
}

//功    能：(mod)
function mod(a,b){
  var r=Math.round(a/b);
  if((b*r)>a){r-=1;}
  return(a-(b*r));
}

//功    能：全選(sel)
function sel(){
  var i =0;
  if (document.getElementById("select_all").checked ==true){
    while (i < document.Form1.elements.length){
      if (document.Form1.elements[i].name=="choice"){
        document.Form1.elements[i].checked=true;
        }
        i++;
      }
    }
    else{
      while (i<document.Form1.elements.length){
        if (document.Form1.elements[i].name=="choice"){
          document.Form1.elements[i].checked=false;
        }
        i++;
    }
      document.getElementById("select_all").checked=false;
  }
}
//功    能：全選-PHP (select_all) , <input type="CHECKBOX" name="selall" onClick="select_all('Form1','choice[]',this.name);">
function select_all(formName,elementName,selectAllName) {
	//alert(selectAllName);
	if(document.forms[formName].elements[selectAllName].checked){
		
		for(var i = 0; i < document.forms[formName].elements[elementName].length; i++)
		  
			document.forms[formName].elements[elementName][i].checked = true;
	}else{
		for(var i = 0; i < document.forms[formName].elements[elementName].length; i++)
				document.forms[formName].elements[elementName][i].checked = false;
	}			
}
//功    能：排序(sort_by)
function sort_by(sort_field){
  Form1.sort_field.value = sort_field;
  if (Form1.sort_type.value == ""){
    Form1.sort_type.value = 0;
  }else{
    if(Form1.sort_type.value == "0"){
      Form1.sort_type.value = 1;
    }else{
      Form1.sort_type.value = 0;
    }
  }
  Form1.submit();
}

//功    能：把按鍵Disable(submitonce)
function submitonce(theform){
  //if IE 4+ or NS 6+
  if (document.all||document.getElementById){
    //screen thru every element in the form, and hunt down "submit" and "reset"
    for (i=0;i<theform.length;i++){
      var tempobj=theform.elements[i]
      if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset" || tempobj.type.toLowerCase()=="button")
      //disable em
      tempobj.disabled=true
    }
  }
}

//功    能：頁籤功能(switchCell)
function switchCell(n, hash) {
  var i ;
  tb_content.height = screen.availHeight - 150;
  for(i=0;i<navcell.length;i++){
    navcell[i].className    = "tab-off";
    tab[i].style.display    = "none";
  }
  navcell[n-1].className  = "tab-on";
  tab[n-1].style.display  = "block";
  //window.scroll(0,0);
}


//功    能：伸縮功能(Expand)
function Expand(id){
  var ch = event.srcElement.id + "child";
  var ch1 = event.srcElement.id+ "child1";
  if( id == event.srcElement.id){
    if(document.all[ch].style.display =='none' ){
      document.all[ch].style.display = '';
      document.all[ch1].src='../icon/open.gif';
    }else{
      document.all[ch].style.display = 'none';
      document.all[ch1].src='../icon/close.gif';
    }
  }
}

//功    能：跳頁(JumpPage)
  function JumpPage(i){
    if(Form1.Pages.value == ''){
      alert('操作訊息顯示：\n\n請輸入頁碼!!');
    }
    else{
      if ((document.Form1.Pages.value != "") && (isnum(document.Form1.Pages.value,'頁碼'))){
        document.Form1.Pages.value = "";
        document.Form1.Pages.focus();
        return;
      }else if (document.Form1.Pages.value > i){
	alert('操作訊息顯示：\n\n頁碼超過總頁碼!!');
	return;
      }else{
        doPage(Form1.Pages.value);
      }
    }
  }

//功    能：刪除選取 del(url) 呼叫範例：onclick="javascript:del('admin_sys.asp?act=d&..');"
function del(url){
  var i =0;
  var flag=false;
  while(i<document.Form1.elements.length){
    if (document.Form1.elements[i].type == "checkbox" && document.Form1.elements[i].checked == true){
      flag = true
    }
    i++;
  }
  if(flag==false){
    alert('操作訊息顯示：\n\n您並沒有選擇要刪除的資料記錄!!');
    return;
  }
  Sure = confirm('操作訊息顯示：\n\n確定要刪除所選取之資料記錄嗎?');
  if(Sure=='1'){
    Form1.action=url;
    Form1.submit();
  }
}

//功    能：刪除單筆 del1(url) 呼叫範例：onclick="javascript:del1('admin_sys.asp?act=d1&..');"
function del1(url){
  Sure = confirm('操作訊息顯示：\n\n確定要刪除此筆資料記錄嗎?');
  if(Sure=='1'){
    Form1.action=url;
    Form1.submit();
  }
}

//查詢
function search(url){

		if(document.Form1.keyword.value == ""){
      alert("操作訊息顯示：\n\n請輸入查詢內容!!");
      document.Form1.keyword.focus();
      return false;
    }
    Form1.action = url+"act=s";
	Form1.submit();

  }

//自動調整iframe高度
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
//extra height in px to add to iframe in FireFox 1.0+ browsers
var FFextraHeight=getFFVersion>=0.1? 16 : 0 

function dyniframesize(iframename) {
  var pTar = null;
  if (document.getElementById){
    pTar = document.getElementById(iframename);
  }
  else{
    eval('pTar = ' + iframename + ';');
  }
  if (pTar && !window.opera){
    //begin resizing iframe
    pTar.style.display="block"
    
    if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
      //ns6 syntax
      pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight; 
    }
    else if (pTar.Document && pTar.Document.body.scrollHeight){
      //ie5+ syntax
      pTar.height = pTar.Document.body.scrollHeight;
    }
  }
}