function right(e) {
if (navigator.appName =='Netscape'&&
(e.which ==3|| e.which ==2))
return false;
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2|| event.button ==3)) {
return false;
}
return true;
}

if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;

document.oncontextmenu=noshowmenu;
function noshowmenu()
{
// return false
}
//去除左邊空白
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 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 ;
}

function checkbox(TxnID)
{


      if (typeof(TxnID.checked)== "undefined"){

             	var count=0;
         	for(i=0;i<TxnID.length;i++)
         	{
         		if(TxnID[i].checked == true && TxnID[i].disabled==false)
         		{
         			count++;
         		}
         
         	}
         
         	if (count<=0 )
         	{
         
         		return false;
         	}
         	else
         	{
         		return true;
         	}
      }else{
            if (!TxnID.checked){
               return false;
            }else{
              return true;
            }
      }

}
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 = TransFromTWDate(st)

	sDate = showModalDialog(sPath,st,strFeatures);
	t.value = formatDate(sDate);
}
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 PF_IsDate(datestr)
{
    var year, month, day; 
    var pattern = /^\d{4}\/\d{1,2}\/\d{1,2}$/; 
    var tmpary  = new Array() 
    if (!pattern.test(datestr))  return false; 

    tmpary = datestr.split("/"); 
    year  = tmpary[0]; 
    month = tmpary[1]; 
    day   = tmpary[2]; 

    if (month<1 || month>12 || day>31 || day<1)  return false; 

    if (month == 2 && day > 28) { 
        if ((year%4==0 && year%100!=0) || (year%400==0)) { // 為閏年 
            if (day > 29) return false; 
        } 
        else {  // 非閏年 
            return false; 
        } 
    } 
    if (day>30 && ((month % 2) == Math.floor(month/8))) return false; 

    return true; 
}

// ------------------------------
// 數字檢核函數
// ------------------------------

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) &&  (sString.charCodeAt(i) < 97 || sString.charCodeAt(i) > 122)))
      {
         return false;
      }
   }
   return true;
}

function PF_ByteLength(sString)
{
var j=0;
   for (var i=0; i<sString.length; i++)
   {

      if (sString.charCodeAt(i) > 31 && sString.charCodeAt(i) <127)
      {

         j=j+1;
      }else{

         j=j+2;         
      }
   }
   return j;
}
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;
}
function TransFromTWDate(sDate) {
  var iTemp;
  iTemp = sDate.indexOf('/');
  return Number(sDate.substr(0, iTemp)) + sDate.substr(iTemp);
}

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 formatDate(sDate) {
	var sScrap = '';
	var dScrap = new Date(sDate);
	if (dScrap == 'NaN') return sScrap;

  return TransToTWDate(dScrap);
}

function PF_IsNull(Str)
{
 x='' + trim(Str)

 if(x=='')
 { return false; }
 else{return 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 ;
}

//鎖右鍵
//document.oncontextmenu=eventfalse;
//鎖左鍵
//document.onselectstart=eventfalse;
function eventfalse()
{
	window.event.returnValue=false;
}

//檢查生日年月日
function IsLeapyear(Year)
{

 if((Year%4==0 ) && (Year%100 != 0)
          || (Year%400==0))
    return true;
 else
   return false;

}

function PF_BirthDay(Year,Month,Day)
{
	if (Month>12)
		 return false;
	 var lDay = 0
	 MonthArray = new Array("31","28","31","30","31","30","31","31","30","31","30","31")
	 lDay =MonthArray[Month-1]
	 if( Month== 2 && IsLeapyear(Year) )
	   lDay = lDay+1
	 if( Day > lDay )
	  {
	   return false;
	  }
	 else
	    return true;
 }

function GetXMLCheckSame(DbTable,Field,Fieldvalue){

	var doc;
	doc = new ActiveXObject("MSXML.DOMDocument");
	doc.async=false;
	doc.load("GetXMLCheckSame.asp?DbTable="+DbTable+"&Field="+Field+"&Fieldvalue="+Fieldvalue );
	return doc.selectSingleNode("item").text;
}


// ------------------------------
// 檢查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;
      }
   }
}


//查詢郵遞區號
function SelectAddressArea(Field,Field1){	
		var vReturnValue =OpenDialog(true,'SelectAddressArea.asp', '250', '250','','','');
		try{
			 if (typeof(vReturnValue) != 'undefined'){
			 		ss = vReturnValue.split(",");
					Field.value= trim(ss[2]);
					Field1.value= trim(ss[0]+ss[1]);
			 }
		}catch(e){
		}
}
function UpFile(Field,Folder,C){

		var vReturnValue =OpenDialog(true,'UpLoad.asp?Folder='+Folder+'&C='+C, '520', '300','','','');

		try{
			 if (typeof(vReturnValue) != 'undefined'){
					Field.value= trim(vReturnValue);
			 }
		}catch(e){
		}


}
//HTML編輯器
function PF_HtmlEdit(Field){
 var HtmlObject = new Object();
HtmlObject.Body=Field.value;
   var vReturnValue =window.showModalDialog("HTMLEditor.htm",HtmlObject,"dialogWidth=810px;dialogHeight=600px;scroll:0");


   try{
   if (typeof(vReturnValue) != 'undefined'){
   	Field.value= trim(vReturnValue);
   }
   }catch(e){
   }
}
//產生資料庫語法
function SearchoForm_onsubmit(form)
{
	var Search_Name='';
	var Search_Name_length=0;
	if (form.Search_Name=="[object]"){
		Search_Name=form.Search_Name.value;
		Search_Name_length=form.Search_Name.length
	}

	if (PF_IsNull(Search_Name)){
		Search_Name=(form.Search_Name.value).toUpperCase();

		if (Search_Name.slice(-4)=="|INT" && Search_Name.indexOf("+")==-1 ){
			if (PF_IsNum(form.search.value)==false){alert('搜尋字串請勿輸入非數字');form.search.focus();return false;}
		}
		if (form.EndDate=="[object]"){
			if (PF_IsNull(form.EndDate.value) && PF_IsNull(form.EndDate.value)){
				if (form.StartDate.value>form.EndDate.value){alert('起始日不得大於終止日');form.EndDate.focus();return false;}
			}	
		}
	}else{
		
		var Search_NameT='';
		var cc='';


		for(var i=0; i<Search_Name_length; i++) {
			if (PF_IsNull(form.Search_Name[i].value)){	
			
			 Search_NameT=Search_NameT+cc+form.Search_Name[i].value;
			 cc="+";
			}
			form.Search_Name[0].value=Search_NameT;
		}

	}

   return true;
}
//依資料排序
function SortoForm_onsubmit(Sort_Name){
	SortoForm.Sort_Name.value=Sort_Name;

	if (SortoForm.Sort_Type.value=="desc"){
		SortoForm.Sort_Type.value='';
	}else{
		SortoForm.Sort_Type.value='desc';
	}
	SortoForm.submit();
}
function XMLSearch(XMLTitle,XMLField){
      var myObject = new Object();
     
	myObject =OpenDialog(true,'XMLSearch.asp?XMLTitle='+XMLTitle+'&XMLField='+XMLField, '610', '400','','','')
	try{

	      SearchoForm.search.value=myObject.FieldValue;
		for(var i=1; i<SearchoForm.Search_Name.options.length; i++) {
			if (SearchoForm.Search_Name.options[i].value==myObject.Field){
				SearchoForm.Search_Name.selectedIndex=i;
				break;
			}
			
		}	

		SearchoForm.submit();

	}catch(e){
	}
	
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function BigView(Field){
		var myObject = new Object();
		myObject.Field=Field.value;
		var vReturnValue =OpenDialog(true,'BigView.asp', '900', '600','','',myObject)

 	 if (typeof(vReturnValue) != 'undefined'){
			Field.value= trim(vReturnValue);
		
	}
}

function SaveHits(MenuID){
	var doc;
	doc = new ActiveXObject("MSXML.DOMDocument");
	doc.async=false;

	doc.load("SaveHits.asp?MenuID="+MenuID);	
}


function GetXMLCheckSame1(DbTable,Field,Fieldvalue,CheckField,CheckValue){

	var doc;
	doc = new ActiveXObject("MSXML.DOMDocument");
	doc.async=false;
	doc.load("GetXMLCheckSame1.asp?DbTable="+DbTable+"&Field="+Field+"&Fieldvalue="+Fieldvalue+"&CheckField="+CheckField+"&CheckValue="+CheckValue );
	return doc.selectSingleNode("item").text;
}