// **************************************************************************
//  函數名稱: submitonce()
//  函數功能: 確定按鈕只接受按一次
//  使用方式: submitonce(form的名稱)
//  程式設計: Tony
//  設計日期: 92.07.31
// **************************************************************************
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")
        //disable em
        tempobj.disabled=true
     }
  }
}

// **************************************************************************
//  函數名稱: u_chknum()
//  函數功能: 檢查欄位只可以輸入數字
//  使用方式: u_chknum(字串,字串長度)
//  程式設計: Tony
//  設計日期: 92.07.31
// **************************************************************************
function u_chknum(vnum,vlen) {
  var vchk_rtn;
  vchk_rtn = true;
  vdata = vnum.match(/[^0-9]/g);
  if(vlen==0) { // 不檢查長度
     if(vdata||!vnum) {
       alert("輸入錯誤!!只可以輸入數字");
       vchk_rtn = false;
     }
  }
  else {
     if(vnum.length>=vlen) {
        if(vdata||!vnum) {
          alert("輸入錯誤!!只可以輸入數字");
          vchk_rtn = false;
        }
     }
     else {
        alert("輸入錯誤!!輸入資料不完整!!");
        vchk_rtn = false;
     }
  }
  return vchk_rtn;
}


// **************************************************************************
//  函數名稱: u_checkkey()
//  函數功能: 檢查是否按下特殊按鍵
//  使用方式: u_checkkey()
//  程式設計: Tony
//  設計日期: 92.07.31
// **************************************************************************
function u_checkkey() { // 檢查是否按下特殊按鍵
   vgetc=(String.fromCharCode(event.keyCode));
   vctrlkey=event.ctrlKey; // 檢查 Ctrl 按鈕是否被按住

   if(vctrlkey) { // 檢查 Ctrl 按鈕是否被按住
      switch (vgetc) {
         case "X": // 使用者按了Ctrl+X
              location.href = "zs_login.php";
              break ;
         default:
              break ;
      }
   }
   return;
}

// **************************************************************************
//  函數名稱: u_print()
//  函數功能: 列印按鈕不出現在報表上
//  使用方式: u_print()
//            列印按鈕撰寫方式，在網頁上增加以下 html 語法
//
//            <div id="f_print">
//                <input type="button" value="列印本頁" onclick="u_print()">
//            </div>
//
//  程式設計: Tony
//  設計日期: 92.07.31
// **************************************************************************
function u_print() {
  f_print.innerHTML=''; // 將 f_print HTML 語法清除
  window.print(); // 列印資料
  //top.f_print.innerHTML='<input type="button" value="列印本頁" onclick="u_print()">'; // 將 f_print HTML 語法恢復
  top.mainFrame.f_print.innerHTML='<input type="button" value="列印本頁" onclick="u_print()">'; // 將 f_print HTML 語法恢復

  // 將 f_print 的 HTML 資料清除後再恢復，就可以讓列印資料沒有此按鈕
}
// **************************************************************************
//  函數名稱: u_selall()
//  函數功能: 選取欄全選
//  使用方式: u_selall(form的名稱)
//  程式設計: Tony
//  設計日期: 92.08.06
// **************************************************************************
function u_selall(vtheform){
  if (document.all||document.getElementById){
     for (i=0;i<vtheform.length;i++){
        var tempobj=vtheform.elements[i]
        if(tempobj.type.toLowerCase()=="checkbox") {
           tempobj.checked=true
        }
     }
  }
}
// **************************************************************************
//  函數名稱: u_nextfield()
//  函數功能: 欄位1輸入完資料自動跳至下一個欄位
//  使用方式: u_nextfield(欄位名稱1,欄位1長度,欄位2)
//  程式設計: Tony
//  設計日期: 92.07.31
// **************************************************************************
function u_nextfield(vfield1,vlength,vfield2) {
   var vempno = vfield1.value;
   if(vempno.length == vlength) {
      vfield2.focus();
   }
   else {
      vfield1.focus();
   }
}

// **************************************************************************
//  函數名稱: u_chkstr()
//  函數功能: 檢查郵件
//  使用方式: u_chkstr("字串","模式")
//  程式設計: Tony
//  設計日期: 2004.04.15
// **************************************************************************
function u_chkstr(vdata,vmode,vlen) {
  var vstr = "";
  var vchk_rtn = "N";

  switch (vmode) {
       case 'tel':
             if(vdata.match(/[^0-9|#-]/g)==null &&
                vdata.length >= vlen) {
                vchk_rtn = 'Y';
             }
             break;
       case 'email':
             if (vdata.indexOf('@') != "-1" && vdata.indexOf('.') != "-1" &&
                 vdata.indexOf(' ') == "-1" && vdata.indexOf("'") == "-1" &&
                 vdata.indexOf("!") == "-1" && vdata.indexOf("#") == "-1" &&
                 vdata.indexOf("$") == "-1" && vdata.indexOf("%") == "-1" &&
                 vdata.indexOf("^") == "-1" && vdata.indexOf("&") == "-1" &&
                 vdata.indexOf("*") == "-1" && vdata.indexOf("(") == "-1" &&
                 vdata.indexOf(")") == "-1" && vdata.indexOf("^") == "-1" &&
                 vdata.indexOf("+") == "-1" && vdata.indexOf("|") == "-1" &&
                 vdata.indexOf("/") == "-1" && vdata.indexOf("=") == "-1" &&
                 vdata.indexOf("{") == "-1" && vdata.indexOf("}") == "-1" &&
                 vdata.indexOf("[") == "-1" && vdata.indexOf("]") == "-1" &&
                 vdata.indexOf("?") == "-1" && vdata.indexOf("`") == "-1" &&
                 vdata.indexOf("~") == "-1" && vdata.indexOf(":") == "-1" &&
                 vdata.indexOf(";") == "-1" && vdata.indexOf(">") == "-1" &&
                 vdata.indexOf("<") == "-1" && vdata.indexOf(",") == "-1" &&
                 vdata.length >= vlen) {
                 vchk_rtn = 'Y';
             }
             break;
       case 'email_1':
             if (vdata.indexOf('@') != "-1" && vdata.indexOf('.') != "-1" &&
                 vdata.indexOf(' ') == "-1" && vdata.indexOf("'") == "-1" &&
                 vdata.indexOf("!") == "-1" && vdata.indexOf("#") == "-1" &&
                 vdata.indexOf("$") == "-1" && vdata.indexOf("%") == "-1" &&
                 vdata.indexOf("^") == "-1" && vdata.indexOf("&") == "-1" &&
                 vdata.indexOf("*") == "-1" && vdata.indexOf("(") == "-1" &&
                 vdata.indexOf(")") == "-1" && vdata.indexOf("^") == "-1" &&
                 vdata.indexOf("+") == "-1" && vdata.indexOf("|") == "-1" &&
                 vdata.indexOf("/") == "-1" && vdata.indexOf("=") == "-1" &&
                 vdata.indexOf("{") == "-1" && vdata.indexOf("}") == "-1" &&
                 vdata.indexOf("[") == "-1" && vdata.indexOf("]") == "-1" &&
                 vdata.indexOf("?") == "-1" && vdata.indexOf("`") == "-1" &&
                 vdata.indexOf("~") == "-1" && vdata.indexOf(":") == "-1" &&
                 vdata.indexOf(";") == "-1" && vdata.indexOf(">") == "-1" &&
                 vdata.indexOf("<") == "-1" &&
                 vdata.length >= vlen) {
                 vchk_rtn = 'Y';
             }
             break;
       default:
             if (vdata.indexOf('@') == "-1" && vdata.indexOf('.') == "-1" &&
                 vdata.indexOf(' ') == "-1" && vdata.indexOf("'") == "-1" &&
                 vdata.indexOf("!") == "-1" && vdata.indexOf("#") == "-1" &&
                 vdata.indexOf("$") == "-1" && vdata.indexOf("%") == "-1" &&
                 vdata.indexOf("^") == "-1" && vdata.indexOf("&") == "-1" &&
                 vdata.indexOf("*") == "-1" && vdata.indexOf("(") == "-1" &&
                 vdata.indexOf(")") == "-1" && vdata.indexOf("^") == "-1" &&
                 vdata.indexOf("+") == "-1" && vdata.indexOf("|") == "-1" &&
                 vdata.indexOf("/") == "-1" && vdata.indexOf("=") == "-1" &&
                 vdata.indexOf("{") == "-1" && vdata.indexOf("}") == "-1" &&
                 vdata.indexOf("[") == "-1" && vdata.indexOf("]") == "-1" &&
                 vdata.indexOf("?") == "-1" && vdata.indexOf("`") == "-1" &&
                 vdata.indexOf("~") == "-1" && vdata.indexOf(":") == "-1" &&
                 vdata.indexOf(";") == "-1" && vdata.indexOf(">") == "-1" &&
                 vdata.indexOf("<") == "-1" && vdata.indexOf(",") == "-1" &&
                 vdata.length >= vlen) {
                 vchk_rtn = 'Y';
             }
             break;
  }
  if(vchk_rtn=='Y') {
     return true;
  }
  else {
     return false;
  }
}
// **************************************************************************
//  函數名稱: u_jopen()
//  函數功能: 另開視窗
//  使用方式: u_jopen(開啟網頁名稱,開啟位置,寬度,高度)
//  程式設計: Tony
//  設計日期: 92.07.31
// **************************************************************************
function u_jopen(vurl,vtagname,vwidth,vhight) {
  // javascript 版本
  var vwinstatu="width="+vwidth+",height="+vhight+",top=0,left=0,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,cannelmode=yes,fullscreen=no";
  var vopenwin=window.open(vurl,vtagname,vwinstatu);
  vopenwin.focus();
}
// **************************************************************************
//  函數名稱: u_shownew()
//  函數功能: 由下往上的跑馬登
//  使用方式: u_shownew(文字說明,id名稱,高度)
//  程式設計: Tony
//  設計日期: 2004.05.07
// **************************************************************************
function u_shownew(vtext,vid,vheight) {
   document.write ("<marquee scrollamount='1' scrolldelay='30' direction= 'up' width='150' id="+vid+" height='"+vheight+"' onmouseover="+vid+".stop() onmouseout="+vid+".start()>");
   document.write ("<left><font color=#000000 size=2>");
   document.write (vtext + "</font>");
   document.write ("</marquee>");
}

// **************************************************************************
//  函數名稱: u_rollIn
//  函數功能: 文字出現底線
//  使用方式: u_rollIn(this)
// **************************************************************************
function u_rollIn(el) {
        var ms = navigator.appVersion.indexOf("MSIE")
        ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
        if(ie4)
        {
                el.initstyle=el.style.cssText;el.style.cssText=el.fprolloverstyle
        }
}
// **************************************************************************
//  函數名稱: u_rollOut
//  函數功能: 文字不要底線
//  使用方式: u_rollOut(this)
// **************************************************************************
function u_rollOut(el) {
        var ms = navigator.appVersion.indexOf("MSIE")
        ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
        if(ie4)
        {
                el.style.cssText=el.initstyle
        }
}

// **************************************************************************
//  函數名稱: u_chkdate()
//  函數功能: 檢查日期
//  使用方式: u_chkdate(月,日,西元年)
// **************************************************************************
function u_chkdate(mm, dd, yyyy) {
 if(mm+dd+yyyy!='000000') {
    var daysInMonth = makeArray(12);
    daysInMonth[1] = 31;
    daysInMonth[2] = 29;
    daysInMonth[3] = 31;
    daysInMonth[4] = 30;
    daysInMonth[5] = 31;
    daysInMonth[6] = 30;
    daysInMonth[7] = 31;
    daysInMonth[8] = 31;
    daysInMonth[9] = 30;
    daysInMonth[10] = 31;
    daysInMonth[11] = 30;
    daysInMonth[12] = 31;

       if ((dd!="" && mm!="") && dd > daysInMonth[mm])
       {
           alert ("這個月沒有這一天啊！")
           return false;
       }
       if ((mm=="2" || mm=="02" && dd!="" && yyyy!="") && dd > u_daysInFebruary(yyyy))
       {
           alert ("這一年沒有這一天喔!");
           return false;
       }
       return true;
 }
 else {
    return true;
 }

}
// **************************************************************************
//  函數名稱: u_daysInFebruary()
//  函數功能: 檢查閏年
//  使用方式: u_chkdate(西元年)
// **************************************************************************
function u_daysInFebruary(whichYear) {
    return (whichYear % 4 == 0 && (!(whichYear % 100 == 0) || (whichYear % 400 == 0)) ? 29 : 28);
}
// **************************************************************************
//  函數名稱: u_chk_radio()
//  函數功能: 檢查 radio 是否有選取
//  使用方式: u_chk_radio(欄位名稱)
//  程式設計: Tony
//  設計日期: 2004.06.08
// **************************************************************************
function u_chk_radio(vdata) {
   vcount = 0;
   vmaxcount = vdata.length;
   for(i=0;i<vmaxcount;i++) {
      if(vdata(i).checked) {
         vcount++;
         break;
      }
   }
   //alert(vcount);
   if(vcount>0) {
      return true;
   }
   else {
      return false;
   }
}
