var arrayMsg = new Array();
  // 共用區
  arrayMsg[0] = "欄位不能空白喔!";
  // 客戶區所用
  arrayMsg[1] = "您尚未填入姓名!";
  arrayMsg[2] = "您沒有填入您的公司或學校名稱喔!";
  arrayMsg[3] = "您沒有告知您的部門或系所呢!";
  arrayMsg[4] = "您沒有填寫電話,怎麼跟您聯絡呢？";
  arrayMsg[5] = "您沒有行動電話嗎？";
  arrayMsg[6] = "您有傳真電話吧!";
  arrayMsg[7] = "請填入郵遞區號,這樣您才能盡快收到我們的產品!";
  arrayMsg[8] = "您沒寫地址呢,這樣您是收不到我們的產品!";
  arrayMsg[9] = "您沒寫電子郵件地址 ( e-mail address)!";
  arrayMsg[10] = "您是屬於哪一個領域";
  arrayMsg[11] = "來源類別";
  arrayMsg[12] = "";
  // 交易區所用
  arrayMsg[13] = "您沒有填 License No. !";
  arrayMsg[14] = "您沒有填 Access No. !";
  arrayMsg[15] = "您沒有填年份喔 !";
  arrayMsg[16] = "您沒有填月份喔 !";
  arrayMsg[17] = "您沒有填公司案號喔 !";
  arrayMsg[18] = "您沒有填鎖定值喔 !";
  arrayMsg[19] = "您沒有填單價喔 !";
  arrayMsg[20] = "您沒有填套數喔 !";
  // 額外
  arrayMsg[21] = "電話格式不合!";
  arrayMsg[22] = "產業類別";
  arrayMsg[23] = "部門專業類別";
  arrayMsg[24] = "E-mail 格式不合! 例如 : xxx@xx.xxx.xxx";
  arrayMsg[25] = "";
  arrayMsg[26] = "";
  arrayMsg[27] = "您沒有填入帳號喔 !";
  arrayMsg[28] = "您沒有填入密碼喔 !";
  arrayMsg[29] = "您沒有填入確認密碼喔 !";
  arrayMsg[30] = "";
  // 追蹤區所用
  arrayMsg[31] = "Please Input Serial Number !!";
  arrayMsg[32] = "Please Input Year of Visit !!";
  arrayMsg[33] = "Please Input Month of Visit !!";
  arrayMsg[34] = "Please Input Day of Visit !!";
  arrayMsg[35] = "Please Input Time of Visit !!";
  arrayMsg[36] = "Please Input No. of People Involved";
  arrayMsg[37] = "Please Input Supporter !!";
  arrayMsg[38] = "Please Input Key Objectives !!";
  arrayMsg[39] = "Please Input Subject !!";
  arrayMsg[40] = "Please Input Speaker !!";
  arrayMsg[41] = "Please Input Application Area !!";
  arrayMsg[42] = "Please Input Aganda !!";
  arrayMsg[43] = "Please Input Summary Report !!";
  arrayMsg[44] = "Please Select Related Toolbox !!";
  arrayMsg[45] = "";
  //
  arrayMsg[46] = "";
  arrayMsg[47] = "";
  arrayMsg[48] = "";
  arrayMsg[49] = "";
  arrayMsg[50] = "";
  //
  arrayMsg[51] = "";
  arrayMsg[52] = "";
  arrayMsg[53] = "";
  arrayMsg[54] = "";
  arrayMsg[55] = "";
  arrayMsg[56] = "";
  arrayMsg[57] = "";
  arrayMsg[58] = "";
  arrayMsg[59] = "";
  arrayMsg[60] = "";

  var TimeoutSeconds = 14400;	// 工作階段逾時秒數
  var LocationPathName = self.location.pathname;	// 網頁網址 ( 相對於根目錄 )
  var idShowTimeout;	// 執行 ShowTimeoutSeconds() 的 setTimeout() 所傳回的參數
  var bAdministrator = true;

//  PageTimer();
//  ShowTimeoutSeconds();

  if(LocationPathName.indexOf("/news/") == -1 && LocationPathName.indexOf("/download/") == -1){
    if(!bAdministrator){
      document.onmousedown = MouseRightButton;
      document.onkeydown = AllKeyboardEvent;
      document.oncontextmenu = DisableContextMenu;
//    document.ondragstart = DisableDragEvent;		// 在查詢結果頁面用
//    document.onselectstart = DisableSelectText;	// 在查詢結果頁面用
//    document.oncopy = DisableCopyText;		// 似乎無效
    }
  }

function PageTimer(){
   TimeoutSeconds--;	//每次均減一

   if ( TimeoutSeconds == 65 ){
     TimeoutWarning();
   }

   if ( TimeoutSeconds == 0 ){
     location.href = "/include/login.asp";
     return;
   }

   setTimeout("PageTimer()", 1000);

}

function TimeoutCountDown(){
   var t, input, sec, min, hr;

   input = TimeoutSeconds;
   hr = ( input / 3600 ); min = ( input / 60 ); sec = ( input % 60 );
   hr = Math.floor(hr); min = Math.floor(min) % 60;
   if ((hr.toString()).length == 1) hr = "0" + hr.toString();
   if ((min.toString()).length == 1) min = "0" + min.toString();
   if ((sec.toString()).length == 1) sec = "0" + sec.toString();
   t = hr + ":" + min + ":" + sec;
   return t;
}

function ShowTimeoutSeconds(){
   window.status = "網站再經過以下時間 " + TimeoutCountDown() + " 之後將會自動登出 .";
   idShowTimeout = setTimeout("ShowTimeoutSeconds()", 900);
}

function MouseRightButton(e){	// 偵測滑鼠是否按下右鍵
   if (event.button == 2 || event.button == 3){ 
     alert("在此頁面您無法使用滑鼠右鍵功能 !");
   }
}

function DisableContextMenu(e){	// 取消顯示快速選單的功能 ( 按滑鼠右鍵所出現的選單 )
     event.returnValue = false;
     alert("在此頁面您無法使用 [快速選單] 功能 !");
}

function DisableSelectText(e){
     event.returnValue = false;
     alert("在此頁面您無法使用 [選取文字] 功能 !");
}

function DisableCopyText(e){
     event.returnValue = false;
     alert("在此頁面您無法使用 [複製文字] 功能 !");
}

function DisableDragEvent(e){	// 避免選取的文字資料被拖曳至其他應用程式, 例如: Excel
     event.returnValue = false;
     alert("在此頁面您無法使用 [拖曳] 功能 !");
}

function AllKeyboardEvent(e){	// 適合全部頁面用, 避免網頁一些功能, 例如: 開新視窗, 快速選單 .....
   if (event.ctrlKey && event.keyCode == 78){ alert("在此頁面您無法使用 [開新視窗] 功能 !"); return;  }
   if (event.shiftKey && event.keyCode == 121){ alert("在此頁面您無法使用 [快速選單] 功能 !"); return;  }
}

function KeyboardEvent(e){	// 在查詢結果頁面用, 避免網頁一些功能, 例如: 全選, 複製, 列印 .....
   if (event.ctrlKey && event.keyCode == 45){ alert("在此頁面您無法使用文字 [複製] 功能 !"); return;  }
   if (event.ctrlKey && event.keyCode == 65){ alert("在此頁面您無法使用頁面 [全選] 功能 !"); return;  }
   if (event.ctrlKey && event.keyCode == 67){ alert("在此頁面您無法使用文字 [複製] 功能 !"); return;  }
   if (event.ctrlKey && event.keyCode == 78){ alert("在此頁面您無法使用 [開新視窗] 功能 !"); return;  }
   if (event.ctrlKey && event.keyCode == 80){ alert("在此頁面您無法使用頁面 [列印] 功能 !"); return;  }
   if (event.shiftKey && event.keyCode == 121){ alert("在此頁面您無法使用 [快速選單] 功能 !"); return;  }
   if (event.keyCode == 122){ event.returnValue = false; alert("在此頁面您無法使用 [全螢幕] 功能 !"); return;  }	// 似乎無效
}

function TimeoutWarning(){
  var url = "/include/timeout.asp";
  var hWnd = OpenPopWindow(url,"TimeoutWarning",460,200,100,100,0,0,0,0,0,1,0,0);
  hWnd.focus();
}

function CheckNull(object,message){
  if (object.value == ""){
	alert(message);
	if (!object.disabled && object.type == "text"){
        	object.focus();
	}
	return true;
  }
  return false;
}

function CheckSpace(objName,strMessage){
  return CheckNull(objName,strMessage);
}

function CheckChar(object,i){
  var Demo1=object.value;

    if (Demo1 == "") return;
    if (Demo1.length != i){
	alert("輸入字元個數必須是 " + i + " 個!");
	object.focus();
	return false;
    }
    return true;
}

function CheckNumber(object){
  var Num = object.value;

    if (Num == "") return;
    Demo1=/[^0-9]/;
    if (Demo1.test(Num)){
	alert("必需全是數字!");
	object.focus();
	return false;
    }
    return true;
}

function CheckTel(object){
  var TEL = object.value;

    if (TEL == "") return;
    Demo1=/^\(0\d{1,2}\)\d{3,4}[-][^a-zA-z]*\d$/;
    if (!Demo1.test(TEL)){
	alert(arrayMsg[21]);
	object.focus();
	return false;
    }
    return true;
}

function CheckMobile(object){
  var Mobile = object.value;

    if (Mobile == "") return;
    if (!CheckNumber(object)) return;
    if (!CheckChar(object,10)) return;
    return true;
}

function CheckEmail(object){
  var strEm = object.value;

    if (strEm == "") return;
    Demo1=/^[\S]+[^.]@[\S]+[^.]$/;
    Demo2=/\.\./g;
    if (!Demo1.test(strEm) || Demo2.test(strEm)){
	alert(arrayMsg[24]);
	object.focus();
	return false;
    }
    return true;
}

function CheckYear(object){
  var y = object.value;

    if (y == "") return;
    if (!CheckNumber(object)) return;
    if (!CheckChar(object,4)) return;
    y = parseInt(y);
    if ( ( y > 2078 ) || ( y < 1900 ) ){
	alert("您所輸入的年份不在合理的範圍內!\n\n請輸入 1900 ~ 2078 之間的年份!");
	object.focus();
	return false;
    }
    return true;
}

function CheckMonth(object){
  var m = object.value;

    if (m == "") return;
    if (!CheckNumber(object)) return;
    m = parseInt(m);
    if ( ( m > 12 ) || ( m < 1 ) ){
	alert("您所輸入的月份不在合理的範圍內!  請再確認一下!");
	object.focus();
	return false;
    }
    return true;
}

function CheckDay(object){
  var d = object.value;

    if (d == "") return;
    if (!CheckNumber(object)) return;
    d = parseInt(d);
    if ( ( d > 31 ) || ( d < 1 ) ){
	alert("您所輸入的天數不在合理的範圍內!  請再確認一下!");
	object.focus();
	return false;
    }
    return true;
}

function CheckDate(objYear,objMonth,objDay){
  var days  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  var y = parseInt(objYear.value), m = parseInt(objMonth.value), d = parseInt(objDay.value);

    if ( ( (y % 4 == 0) && (y % 100 != 0) ) || (y % 400 == 0) ){	//處理閏年的情況, 二月份天數
	days[1] = 29;
    }else{
	days[1] = 28;
    }

    if ( days[m-1] != d ){	//判定當月份的天數
	alert("您所輸入的月份與天數不合!  請確認後再填入!");
	objMonth.focus();
	return false;
    }
    return true;
}

function CheckPassword(objPWD,objID){
  pas = objPWD.value;
  id_value = objID.value;

  if (pas == "") return;
  if (id_value == "") return;

  Demo1=/\d/g;
  Demo2=/\D/g;
  if (pas.length < 6){
	alert("密碼長度必須是 6 位以上 !");
	objPWD.focus();
	return(false);
  }
//  if (!Demo1.test(pas) || !Demo2.test(pas)){
//	alert("密碼必須包含數字及非數字字元 !");
//	objPWD.focus();
//	return(false);
//  }
  if (pas == id_value){
	alert("帳號和密碼不可相同 !");
	objPWD.focus();
	return(false);
  }
}

function CheckTwoPwd(objPwd,objCheck){
  var strPwd = objPwd.value;
  var strCheck = objCheck.value;

    if (strPwd == "") return;
    if (strCheck == "") return;

    if (strPwd == strCheck){
//	alert("密碼確認成功 !");
	return true;
    }

    alert("您輸入的密碼不相同!  請確認後再輸入!");
    objPwd.value = "";
    objCheck.value = "";
    objPwd.focus();
    return false;

}

function CheckCheckbox(object,message){
  var i;
  var checked = false;
  var k = 0;	// 紀錄符合條件的物件數目, 作為判斷是否為第一個符合條件的 index .
  var j;	// 因物件要被 focus 時, 物件必須能夠是可見的, 此變數紀錄第一個符合條件的物件 index .

    if (object.length){	// 物件數量超過一個
      for (i=0; i<object.length; i++){
        if (!object[i].disabled){
          k++;
  	  if ( k == 1 ){
  	    j = i;
  	  }
          if (object[i].checked){
  	    checked = true;
  	    break;
          }
        }
      }
      if (!checked){
        if( k > 0 ){
  	  alert("請勾選" + message + "!");
  	  object[j].focus();
        }else{
  	  alert("因沒有可勾選的選項，所以您將無法繼續 !");
        }
      }
    }else{	// 物件數量只有一個
      if (!object.disabled){
        if (object.checked){
          checked = true;
	}else{
	  alert("請勾選" + message + "!");
	  object.focus();
	}
      }else{
        alert("因沒有可勾選的選項，所以您將無法繼續 !");
      }
    }
    return checked;
}

function CheckRadio(object,message){
  var i;
  var checked = false;
  var k = 0;	// 紀錄符合條件的物件數目, 作為判斷是否為第一個符合條件的 index .
  var j;	// 因物件要被 focus 時, 物件必須能夠是可見的, 此變數紀錄第一個符合條件的物件 index .

    if (object.length){	// 物件數量超過一個
      for (i=0; i<object.length; i++){
        if (!object[i].disabled){
          k++;
	  if ( k == 1 ){
  	    j = i;
  	  }
	  if (object[i].checked){
  	    checked = true;
  	    break;
          }
        }
      }
      if (!checked){
        if ( k > 0 ){
	  alert("請選擇一項" + message + "!");
	  object[j].focus();
        }else{
	  alert("因沒有可點選的選項，所以您將無法繼續 !");
        }
      }
    }else{	// 物件數量只有一個
      if (!object.disabled){
        if (object.checked){
          checked = true;
	}else{
	  alert("請選擇一項" + message + "!");
	  object.focus();
	}
      }else{
        alert("因沒有可點選的選項，所以您將無法繼續 !");
      }
    }
    return checked;
}

function CheckStandardSelect(object,message){ // 物件 <select> 的 size 屬性未設定或設定 1 時使用
    if (object.selectedIndex == 0 && object.value == ""){
      alert("請選擇" + message + "!");
      object.focus();
      return false;
    }
    return true;
}

function CheckMultiSelect(object,message){ // 物件 <select> 的 size 屬性設定 2 以上(含) 使用
    if (object.selectedIndex == -1){
      alert("請選擇" + message + "!");
      object.focus();
      return false;
    }
    return true;
}

function CheckSelectOrText(object,message){

    if (object.tagName == "SELECT") {
      if (object.value == "-" || object.value == "Other") {
        alert("請選擇" + message + "！");
        object.selectedIndex = 0; 
        object.focus();
        return false;
      }
    }

    if (object.tagName == "INPUT") {
      if (object.value == "") {
        alert("請填入" + message + "！");
        object.focus();
        return false;
      }
    }

    return true;
}

function CheckFileName(object){
  var strFilePath = object.value;
  var strFileName = strFilePath.substr(strFilePath.lastIndexOf("\\")+1);
  var rgExp = /[\\\/\*\?\|\"\':<>#&]/;
  
    if(strFileName.length == 0) return;
    if(rgExp.test(strFileName)){
      alert("上傳的檔案檔名不能包含下列字元 :        \n\n     \\ \/ \* \? \| \" \' : < > # &   \n\n請更改檔名之後再上傳 !");
      object.focus();
      return false;
    }
    return true;
}

function ShowHideLayers() {
  var i, p, v, obj;
  var args = ShowHideLayers.arguments;

    for (i=0; i<(args.length-2); i+=3) {
       if ( (obj = FindObj(args[i]) ) != null) {
          v = args[i+2];
           if (obj.style) {
             obj = obj.style;
             v=(v=='show')?'visible':(v='hide')?'hidden':v;	// v 為字串變數
           }
          obj.visibility = v;
       }
    }
}

function FriendlyWindow(pWidth,pHeight){
  var iWidth = ( pWidth < screen.availWidth ) ? pWidth : screen.availWidth
  var iHeight = ( pHeight < screen.availHeight ) ? pHeight : screen.availHeight;
  ChangeWindow(iWidth,iHeight);
}

function ChangeWindow(pWidth,pHeight){
    if ((navigator.appVersion.indexOf('4')!= -1)){
       self.resizeTo(pWidth,pHeight);     // 調整視窗大小
       self.moveTo((screen.availWidth-pWidth)/2,(screen.availHeight-pHeight)/2);   // 將視窗移至螢幕中心
    }
}

function FullWindow(){
  self.resizeTo(screen.availWidth,screen.availHeight);
  self.moveTo(0,0);
}

function GetWebPageOfXMLHTML(strMethod,strURL,bAsync,strUserID,strPassword){	// 此函式功能好像只能存取該網站內的資料, 而無法存取其他網站的資料.
  var xmlhttp = false, objOutput = false, strTemp, strOutput = false;

  //--- Create Object -------------------------------------------------------------------
  /*@cc_on @*/
  /*@if (@_jscript_version >= 5)
  // JScript gives us Conditional compilation, we can cope with old IE versions.
  // and security blocked creation of the objects.
   try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
    try {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
     xmlhttp = false;
    }
   }
  @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
    xmlhttp = new XMLHttpRequest();
    if (xmlhttp.overrideMimeType){
//      xmlhttp.overrideMimeType('text/xml');
    }
  }
  //-------------------------------------------------------------------------------------
  //必須先建立一個 <input type="hidden" name="oXMLHTTP"> 作為存放資料的地方
  //-------------------------------------------------------------------------------------
  if(FindObj("oXMLHTTP")) objOutput = FindObj("oXMLHTTP");
  //-------------------------------------------------------------------------------------
  xmlhttp.open(strMethod,strURL,bAsync,strUserID,strPassword);
  xmlhttp.onreadystatechange = function(){
    if(xmlhttp.readyState == 4){
      switch(xmlhttp.status){
        case 200 :
          strTemp = xmlhttp.responseText;
          if(!bAsync){
            strOutput = strTemp;
          }else{
            if(objOutput) objOutput.value = strTemp;
          }
          break;
        case 404 :
          strTemp = "404 : URL DO NOT EXIST !";
          if(!bAsync){
            strOutput = strTemp;
          }else{
            if(objOutput) objOutput.value = strTemp;
          }
	  break;
        default :
          strTemp = "Status Code is " + xmlhttp.status;
          if(!bAsync){
            strOutput = strTemp;
          }else{
            if(objOutput) objOutput.value = strTemp;
          }
          break;
      }
    }
  }
  xmlhttp.send(null);
  if(!bAsync) xmlhttp = null;

  return strOutput;	// When bAsync is false, strOutput will return data of strURL.
                  	// When bAsync is true, strOutput will return false or maybe return data of strURL.
}

function GetWebPageOfHTML(strURL,strUserID,strPassword){
  return GetWebPageOfXMLHTML("GET",strURL,true,strUserID,strPassword);
}

function GetVariable(strVarName){
  var strURL = "/members/variable.wpu?v=" + strVarName;
  var r = new Date();

  strURL += "&r=" + r.getTime();
  return GetWebPageOfXMLHTML("GET",strURL,false,"","");
}

function OpenPopWindow(url,name,iWidth,iHeight,iLeft,iTop) {
    var args = OpenPopWindow.arguments;
    var iParameter = 5;     //固定的參數其最大索引值
    var hWnd = null;
    var features = "";

    if ( url == "" ) {
       alert("Please input valid url ! ");	//可以是某目錄或網址
       return;					//url = "images/test.gif";
						//url = "http://www.domain.com.tw/images/test.gif";
    }

    for (i=2;i<iParameter+1; i++) {
       if (args[i].length == 0) {
            alert("Please don't input null string ! ");
            return;
       }
       if (isNaN(args[i])) {
            alert("Please input valid parameters for width or height or left or top ! ");
            return;
       }
    }

    for (i=iParameter+1; i<args.length; i++) {
       if (!isNaN(args[i])) {
            if ( (args[i]!=1) && (args[i]!=0) ) {
                 alert("Please input valid parameters type for window features! ");
                 return;
            }
            if (args[i]==1) args[i]="yes";
            if (args[i]==0) args[i]="no";
       }else{
            alert("Please input valid parameters for number format ! ");
            return;
       }
    }

    features = features + "toolbar=" + args[iParameter+1];
    features = features + ",location=" + args[iParameter+2];
    features = features + ",status=" + args[iParameter+3];
    features = features + ",directories=" + args[iParameter+4];
    features = features + ",menubar=" + args[iParameter+5];
    features = features + ",resizable=" + args[iParameter+6];
    features = features + ",scrollbars=" + args[iParameter+7];
    features = features + ",copyhistory=" + args[iParameter+8];
    features = features + ",width=" + iWidth;
    features = features + ",height=" + iHeight;
    features = features + ",left=" + iLeft;
    features = features + ",top=" + iTop;

    hWnd = window.open(url,name,features);
    if( hWnd != null ) hWnd.focus();
    return hWnd;
}

function ShowPicture(path,width,height){
  var strURL;

    strURL = "/include/picture.asp?path=" + path;
    OpenPopWindow(strURL,"show_picture",width,height,10,10,0,0,0,0,0,1,1,0);
}

function FindObj(n, d) {
  var p,i,x;  

    if(!d) d = document;
    if((p = n.indexOf("?"))>0 && parent.frames.length) {
       d = parent.frames[n.substring(p+1)].document;
       n = n.substring(0,p);
    }
    if(!(x=d[n]) && d.all) x = d.all[n]; 
    for (i=0; !x && i<d.forms.length; i++) x = d.forms[i][n];
    for (i=0; !x && d.layers && i<d.layers.length; i++)  x = FindObj(n,d.layers[i].document);
    if(!x && document.getElementById)  x = document.getElementById(n);
    return x;
}

function ListProperty(obj) {
//    obj = FindObj(obj);
    for (var i in obj){
      if (obj[i] != null){
        document.write(i + "=" + obj[i] + "<br>\n");
      }
    }
}
