function OpenDialog(fModal, sURL, lWidth, lHeight, lXPos, lYPos, sArguments) {
  var sFeatures;
  sFeatures = 'dialogHeight:' + lHeight + 'px;'
  sFeatures = sFeatures + 'dialogWidth:' + lWidth + 'px;'
  sFeatures = sFeatures + 'dialogTop:' + lXPos + 'px;'
  sFeatures = sFeatures + 'dialogLeft:' + lYPos + 'px;'
  sFeatures = sFeatures + 'edge: Raised; center: Yes; help: No; resizable: No; status: No;';

  if(fModal) return window.showModalDialog(sURL, sArguments, sFeatures);
  else return window.showModelessDialog(sURL, sArguments, sFeatures);
}


function OpenUpLoad(t)
{
  //這是被呼叫頁面的控制參數
  mystr="dialogwidth=370px;dialogheight=280px;scrollbars=no;center=yes;border=thin;help=no;status=no";
  //strvalue為回傳值時丟給此變數。 第一個參數為(Upload.asp)為被呼叫的頁面。第二個參數則是Modal視窗開啟時會傳遞給他的值。第三個參數只是個控制參數跟A標籤有點像的使用方式。
  strvalue = window.showModalDialog("Upload.asp","Test測試測試",mystr);
  if (strvalue!="" && strvalue!=null)
  {
   t.value=strvalue;
  }
}
function openwin(p_Url,p_Name,p_Scroll,p_Height,p_Width,p_Top,p_Left)
{
	OrderWin = window.open(p_Url,p_Name,"toolbar=no,directories=no,menubar=no,scrollbars="+ p_Scroll + ",height=" + p_Height + ",width=" + p_Width + ",top="+ p_Top + ",left=" + p_Left);
}
//萬年曆
function calendar(t) {
	sPath = "Include/calendar1.htm";
	strFeatures = "dialogWidth=206px;dialogHeight=208px;center=yes;help=no;status=no";
	st = t.value;
	if(st == "")
	  st = new Date();
	else
	  st = new Date();//TransFromTWDate(st)
	sDate = showModalDialog(sPath,st,strFeatures);
	t.value = formatDate(sDate);
	
}

function formatDate(sDate) {
	var sScrap = '';
	var dScrap = new Date(sDate);
	if (dScrap == 'NaN') return sScrap;

  return TransToTWDate(dScrap);
}

function TransToTWDate(sDate) {
	iDay = sDate.getDate();
	iMon = sDate.getMonth() + 1;
	iYea = sDate.getFullYear() ;
  if(iDay < 10) iDay = '0' + iDay;
  if(iMon < 10) iMon = '0' + iMon;

	return iYea + '/' + iMon + '/'  + iDay ;
}


// ------------------------------;
// 數字檢核函數;
// ------------------------------;

function PF_IsNum(sString)
{
   if (isNaN(sString))
   {
      return false;
   }

   for (var i=0; i<sString.length; i++)
   {
      if (sString.charCodeAt(i) < 48 || sString.charCodeAt(i) > 57)
      {
         return false;
      }
   }
   return true;
}

// ------------------------------;
// 英文字母檢核函數;
// ------------------------------;

function PF_IsLetter(sString)
{
   for (var i=0; i<sString.length; i++)
   {
      if (sString.charCodeAt(i) < 65 || sString.charCodeAt(i) > 90)
      {
         return false;
      }
   }
   return true;
}

// ------------------------------;
// 數字與英文字母檢核函數;
// ------------------------------;

function PF_IsChar(sString)
{
   for (var i=0; i<sString.length; i++)
   {

      if ((sString.charCodeAt(i) < 48 || sString.charCodeAt(i) > 57) && (sString.charCodeAt(i) < 65 || sString.charCodeAt(i) > 90))
      {
         return false;
      }
   }
   return true;
}

//去除左邊空白;
function lTrim(str)
{
	if (typeof(str) != 'undefined'){
		if (str.charAt(0) == " ")
		{
			str = str.slice(1);
			str = lTrim(str);
		}
		return str;
	}
}

//去除右邊空白;
function rTrim(str)
{
var iLength;
	if (typeof(str) != 'undefined'){
		iLength = str.length;

			if (str.charAt(iLength - 1) == " ")
			{
				str = str.slice(0, iLength - 1);
				str = rTrim(str);
			}
			return str;
	}

}

//去除兩邊空白;
function trim(str)
{
	return lTrim(rTrim(str));
}

//列印;
function WinPrinter() { window.print(); }

//checkBox 全選;
function AutocheckAll(field)
{

	if (field.checked){
		field.checked = false ;
		for (i = 0; i < field.length; i++){
			field[i].checked = false ;
		}
	}else{
		field.checked = true ;
		for (i = 0; i < field.length; i++){	
			field[i].checked = true ;
		}	
	}
}
//checkBox 全選;
function checkAll(field)
{
		field.checked = true ;
		for (i = 0; i < field.length; i++){	
			field[i].checked = true ;
		}	
}
//checkBox 全不選;
function uncheckAll(field)
{
field.checked = false ;
for (i = 0; i < field.length; i++)
	field[i].checked = false ;
}



// ------------------------------;
// 檢查UID;
// 檢查國民身份證編號、營利事業統一編號、護照號碼;
// ------------------------------;

function PF_IsUid(strUid)
{
   if (strUid.length < 8 || strUid.length == 9)
   {
      return false;
   }

   if (strUid.length == 8)
   {
      if (! PF_CheckBAN(strUid))
      {
         return false;
      }
   }
   else
   {
      if (strUid.length == 10)
      {
         if (! PF_CheckID(strUid))
         {
            return false;
         }
      }
      else
      {
         if (PF_IsLetter(strUid.charAt(0)))
         {
            if (strUid.charAt(10) != '3')
            {
               return false;
            }

            if (! PF_CheckID(strUid.substr(0,10)))
            {
               return false;
            }
         }
         else
         {
            if (! PF_IsNum(strUid.substr(0,8)))
            {
               strReason = '護照號碼第一碼至第八碼必須全部為數字';
               return false;
            }

            if (! PF_IsLetter(strUid.substr(8,2)))
            {
               strReason = '護照號碼第九碼和第十碼必須是英文字母';
               return false;
            }

            if (! PF_IsNum(strUid.charAt(10)))
            {
               strReason = '護照號碼最後一碼必須是數字';
               return false;
            }
         }
      }
   }
   return true;
}

// ------------------------------;
// 國民身份證編號驗證;
// ------------------------------;

function PF_CheckID(strUserID){
   var intAreaNo;             //區域碼變數
   var intCheckSum;           //檢核碼變數
   var intCount;              //計數變數
   var strAreaCode;           //區域碼變數
// var blnCheckID = false;    //設定起始值

   strUserID = strUserID.toUpperCase();   //轉換為大寫
   strAreaCode = strUserID.charAt(0);     //取得首碼字母

   //確定身份證有10碼
   if (strUserID.length != 10){
      strReason = '國民身份證號碼必須是十碼';
      return false;
   }

   //確定首碼在A-Z之間
   if (strAreaCode < 'A' || strAreaCode > 'Z'){
      strReason = '國民身份證號碼第一碼必須是英文字母';
      return false;
   }

   //確定2-10碼是數字
   for (intCount = 1; intCount < 10; intCount++){
      if (strUserID.charAt(intCount) < '0' || strUserID.charAt(intCount) > '9'){
         strReason = '國民身份證號碼第二碼至第十碼必須全部為數字';
         return false;
      }
   }

   intAreaNo = 'ABCDEFGHJKLMNPQRSTUVXYWZIO'.indexOf(strAreaCode) + 10;           //取得英文字母對應編號，A->10,B->11等等
   strUserID = intAreaNo + strUserID.substr(1,9);                                //組合字串
   intCheckSum = parseInt(strUserID.charAt(0)) + parseInt(strUserID.charAt(10)); //計算首尾二者之和

   //計算第二碼至第十碼之積
   for (intCount = 1; intCount < 10; intCount++){
      intCheckSum += parseInt(strUserID.charAt(intCount)) * (10 - intCount);
   }

   //檢查是否為10整除
   if ((intCheckSum % 10) == 0){
      return true;
   }
   else{
      strReason = '國民身份證號碼輸入錯誤，請再檢查';
      return false;
   }
}

// ------------------------------;
// 營利事業統一編號邏輯檢查;
// ------------------------------;

function PF_CheckBAN(strBAN){
   var intMod;                            //餘數變數
   var intSum;                            //合計數變數
   var intX = new Array(1,2,1,2,1,2,4,1);
   var intY = new Array(7);
// var blnCheckBAN = false;
   var intCount;                          //計數變數

   if (strBAN.length != 8){
      strReason = '營利事業統一編號必須是八碼';
      return false;
   }

   for (intCount = 0; intCount < 8; intCount++){
      if (strBAN.charAt(intCount) < '0' || strBAN.charAt(intCount) > '9'){
         strReason = '輸入之營利事業統一編號中有非數字';
         return false;
      }
   }

   for (intCount = 0; intCount < 8; intCount++){
      intX[intCount] *= parseInt(strBAN.charAt(intCount));
   }

   intY[0] = parseInt(intX[1] / 10);
   intY[1] = intX[1] % 10;
   intY[2] = parseInt(intX[3] / 10);
   intY[3] = intX[3] % 10;
   intY[4] = parseInt(intX[5] / 10);
   intY[5] = intX[5] % 10;
   intY[6] = parseInt(intX[6] / 10);
   intY[7] = intX[6] % 10;

   intSum = intX[0] + intX[2] + intX[4] + intX[7] + intY[0] + intY[1] + intY[2] + intY[3] + intY[4] + intY[5] + intY[6] + intY[7];

   intMod = intSum % 10;

   if (strBAN.charAt(6) == '7') {
      if (intMod == 0){
         return true;
      }
      else{
         intSum = intSum + 1;
         intMod = intSum % 10;
         if (intMod == 0){
            return true;
         }
         else{
            strReason = '營利事業統一編號輸入錯誤，請再檢查';
            return false;
         }
      }
   }
   else{
      if (intMod == 0){
         return true;
      }
      else{
         strReason = '營利事業統一編號輸入錯誤，請再檢查';
         return false;
      }
   }
}

// ------------------------------;
// EMail檢核函數;
// ------------------------------;

function PF_VerifyEMail(strEMail)
{
   var charCanUse = '-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';
   var intIndex = strEMail.indexOf('@');
   if (strEMail.length < 5)
   {
      return false;
   }

   if (intIndex < 1)
   {
      return false;
   }

   if (intIndex != strEMail.lastIndexOf('@'))
   {
      return false;
   }

   if (strEMail.charAt(intIndex - 1) == '.')
   {
      return false;
   }

   var strTemp = strEMail.substr(intIndex + 1);
   if (strTemp.indexOf('.') < 1)
   {
      return false;
   }

   if (strTemp.indexOf('..') != -1)
   {
      return false;
   }

   var i;
   for (i = 0; i < strEMail.length; i++)
   {
      if (charCanUse.indexOf(strEMail.charAt(i)) == -1)
      {
         return false;
      }
   }
   return true;
}



//鎖右鍵;
//document.oncontextmenu=eventfalse;
//鎖左鍵;
//document.onselectstart=eventfalse;
function eventfalse()
{
	window.event.returnValue=false;
}

//只能輸入數字
function PF_OnlyNumeric(code){
	if (code < 46 | code > 57)
	{
		event.returnValue = false;
	}
}
//跳到下一個欄位;
function EnterKey(field){
	if (window.event.keyCode == 13) {
	field.focus();
	}
}

//取得 Mail XML
function GetMailXML(sID,rtnobj){
	try{
   	   rtnobj.value = '';
   	  if (sID != '' && sID.length > 5){  	      
   	      var doc,optname;
		  rtnobj.value=sID;
         	doc = new ActiveXObject("MSXML.DOMDocument");
         	doc.async=false;			
         	doc.load("include/GetXml.asp?location=GetMailXML&sID="+sID);	         
            optname=doc.selectSingleNode("/item").text;
			if (optname=='Y')
			{
				alert('很抱歉！eMail已登記\n請選擇其他eMail再做登記');
				rtnobj.value = '';
			}
			else{alert('eMail認證成功!');rtnobj.value = sID;	}     			
         }	

      }catch(e)
      {
      	
      } 
}


//取得Member XML

function GetMemberXML(sID,sPWD,rtnObj1,rtnObj2,rtnObj3){
	try{ 	  
   	  if (sID != '' && sID.length > 5 && sPWD !=''){  	      
   	      var doc,optname,xmlstr;
		    xmlstr = "include/GetXML.asp?location=GetMemberXML&sID="+sID+"&sPWD="+sPWD

         	doc = new ActiveXObject("MSXML.DOMDocument");
         	doc.async=false;			
         	doc.load(xmlstr);
			var xmlroot = doc.documentElement
            var fstatus,fStartDate,fENDDate,fTyp,fName;
            fstatus = xmlroot.selectSingleNode("/Member/Subject").text;
			fStartDate = xmlroot.selectSingleNode("/Member/StartDate").text;
			fENDDate = xmlroot.selectSingleNode("/Member/EndDate").text;
			fTyp = xmlroot.selectSingleNode("/Member/Typ").text;
			fName = xmlroot.selectSingleNode("/Member/MemberName").text;
			
			if (fstatus !='')
			{
				if (fstatus > 0 )
				{
				
					if (formatDate(fENDDate) < formatDate(Date()))
					{
						return('.您的使用期限已到期,請通知管理者');				
					}
					if(fstatus =='N')
					{ 
						return('您還未通過帳號驗證，請點選密碼通知信上之超連結即可')
					}
				}
				rtnObj1.value=fTyp;
				rtnObj2.value=fstatus;
				rtnObj3.value=fName;
			}
         }	

      }catch(e)
      {
      	
      } 
}


//是否為有效Mail
function GetVailMailXML(sID,rtnobj){
	try{
   	   rtnobj.value = '';
   	  if (sID != '' && sID.length > 5){  	      
   	      var doc,optname;
		  rtnobj.value=sID;
         	doc = new ActiveXObject("MSXML.DOMDocument");
         	doc.async=false;			
         	doc.load("include/GetXml.asp?location=GetMailXML&sID="+sID);	         
            optname=doc.selectSingleNode("/item").text;					
			rtnobj.value = optname;
         }	

      }catch(e)
      {
      	
      } 
}



function ClickCnt(web,ID)
 {
	try
	{
		if (web.length >0 && ID.length >0)
		{
            doc = new ActiveXObject("MSXML.DOMDocument");
         	doc.async=false;			
         	doc.load("include/GetXml.asp?location=GetCntXML&Web="+web+"&sID="+ID);	         							
		}
	}
	catch (e)
	{
	}

 }