//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//功能：01.中英文切換..................................................................................LanChange1
//         02.中英文切換..................................................................................LanChange2
//         03.寫入cookie,記錄PartyID............................................................setCookie
//         04.讀取cookie,PartyID..................................................................readCookie
//         05.將使用者代碼寫入Session............................................................SetUserID
//         06.由Session取得使用者代碼............................................................GetUserID
//         07.由Session取得公司代碼...............................................................GetPartyID
//         08.查詢使用者對該系統的權限.............................................................GetRight
//         09.依權限來決定按鈕的鎖住否.............................................................ShowButtonByRight
//         10.秀錯誤或警告訊息框......................................................................ShowMsg
//         11.讀取錯誤訊息...............................................................................GetMsg
//         13.mouse移動到TABLE ROWS,改變 TABLE ROWS COLOR...........
//         14.mouse移開TABLE ROWS,清除該rows 的classname..................
//         15.移到第一筆.................................................................................
//         16.移到上一筆.................................................................................
//         17.移到下一筆.................................................................................
//         18.移到最後一筆..............................................................................
//         19.一般，刪除時====畫面控制，完全不能輸入畫面上的控制項...............
//         20.新增，修改時====畫面控制，可修改畫面上所有控制項的值...............
//         21.取得FMCode..............................................................................
//         22.取得幣別資料...............................................................................
//         23.首次顯示個案頁數畫面...................................................................
//         24.重覆顯示個案頁數畫面,15頁成一版面...............................................RePageShow(Pagenow,tmphref,tmpEachCount)
//         25.離開頁面時之警告語......................................................................pageLeave
//         26.離開頁面使用者人數減一................................................................Leavecount
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


//====================================================================
//1功能：中英文切換
//Input：1.intPage=頁碼
//            2.objLang=語言
//====================================================================
function ChgLangP(intPage,objLang){

	switch (objLang){
		case "Eng" :	
			switch(intPage){
				case "BtnLogout" : 
					//document.title="Enterprise Globle Logistics solution";
					GetAuthorize(strTitle,"LOGISOFT","SYSET00008","8");
					document.title=strTitle.value;
					btnLogout.value="Logout";
				break;		
						
				case "MainButton" : 
					button1.value="Add";
					button2.value="Modify";
					button3.value="Delete";
					button4.value="Search";
					button9.value="Confirm";
					button10.value="Cancel";			
				break;

				case "TKP01011" : 
					txtCaption.background="img/toolbar-1011e.gif";
					tdType.innerText="Type";
					tdCode.innerText="Code";
					tdChiDescp.innerText="Local Description";
    			    tdEngDescp.innerText="Description";
					btnAddnewSub.value="Add";
				break;

				case "TKP01012" : 
					txtCaption.background="img/toolbar-1012e.gif";
					tdCtryCode.innerText="Country Code";
					tdCityCode.innerText="City Code"
					tdChiDescp.innerText="Local Description";
		    	    tdEngDescp.innerText="Description";
					btnAddnewSub.value="Add";
				break;						

				case "TKP01015" : 
					txtCaption.background="img/toolbar-1015e.gif";			
					tdCtryCode.innerText="Country Code";
					tdChiDescp.innerText="Local Description";
    			    tdEngDescp.innerText="Description";
				break;
			
				case "TKP01016" : 
					txtCaption.background="img/toolbar-1016e.gif";			
					tdStatusCode.innerText="Status Code";
					tdChiDescp.innerText="Local Description";
    			    tdEngDescp.innerText="Description";
				break;
		
				case "TKP01017" : 
					txtCaption.background="img/toolbar-1017e.gif";			
					tdShipLine.innerText="Ship Company";
					tdChiDescp.innerText="Local Description";
		    	    tdEngDescp.innerText="Description";
					btnAddnewSub.value="Add";
				break;
				
				case "TKP01018" : 
					txtCaption.background="img/toolbar-1018e.gif";			
					tdPID.innerText="Party Code";
					btnAddnewSub.value="Add";
				break;				
			
				case "TKP01021" : 
					txtCaption.background="img/toolbar-1021e.gif";			
					tdComType.innerText="Customer Type";
					tdPartyCode.innerText="Party ID";
					tdCompany.innerText="Company";
					tdCompanyLocal.innerText="Company(Local Desc.)";
					tdContact.innerText="Contact";
				break;

				case "TKP01022" : 
					txtCaption.background="img/toolbar-1022e.gif";
					tdStatusTemp.innerText="Status Template";
					tdNoticeLsp.innerText="Notice LSP";
					tdNoticeSP.innerText="Notice Shipper";
					tdNoticeCons.innerText="Notice Consignee";
					tdNoticeSel.innerText="Notice Seller";
					tdNoticeBuy.innerText="Notice Buyer";	
					tdEngDescp.innerText="Description";
					tdChiDescp.innerText="Local Description";
					btnAddnewSub.value="Add";
				break;

				case "TKP01024" : 
					txtCaption.background="img/toolbar-1024e.gif";
					tdStatusTemp.innerText="Status Template";
					tdStatusCodeF.innerText="Status (From)";
					tdStatusCodeT.innerText="Status (To)";
					tdDuration.innerText="Duration";
					tdAlertLsp.innerText="Alert LSP";
					tdAlertSP.innerText="Alert Shipper";
					tdAlertCons.innerText="Alert Consignee";
					tdAlertSel.innerText="Alert Seller";
					tdAlertBuy.innerText="Alert Buyer";
					btnAddnewSub.value="Add";
				break;

				case "TKP01027" : 
					txtCaption.background="img/toolbar-1027e.gif";
					tdeDocTmp.innerText="eDoc Template";
					btnAddnewSub.value="Add";
				break;
			
				case "TKP02011" : 
					txtCaption.background="img/toolbar-2011e.gif";
					tdCode.innerText="Code";
					tdSeqNo.innerText="SEQ. NO";
					tdValue.innerText="Value";
					tdDescp.innerText="Description";
				break;
				
				case "TKP02012" : 
					txtCaption.background="img/toolbar-2012e.gif";
					tdUser.innerText="Users";
				break;				
			
				case "TKP03011" : 
					txtCaption.background="img/toolbar-3011e.gif";			
					tdPartyCode.innerText="Party Code";
					tdUserId.innerText="User ID";
					tdUserName.innerText="User Name";
					tdDept.innerText="DEPT.";
					tdPosition.innerText="Position";
					tdGroup.innerText="Croup";
					tdeDoc.innerText="eDoc";
					btnAddnewSub.value="Add";
				break;
			
				case "TKP03012" : 
					txtCaption.background="img/toolbar-3012e.gif";			
					tdPartyCode.innerText="Party Code";
					tdUserId.innerText="User ID";
					tdProgramId.innerText="Program ID";
					tdDescp.innerText="Description.";
					tdRead.innerText="Read";
					tdAdd.innerText="Add";
					tdModify.innerText="Modify";
					tdDelete.innerText="Delete";
					tdPrint.innerText="Print";
				break;			

				case "TKP03013" : 
					txtCaption.background="img/toolbar-3013e.gif";			
					tdGroupCode.innerText="Croup Code";
					tdProgramId.innerText="Program ID";
					tdDescp.innerText="Description.";
					tdRead.innerText="Read";
					tdAdd.innerText="Add";
					tdModify.innerText="Modify";
					tdDelete.innerText="Delete";
					tdPrint.innerText="Print";
				break;

				case "TKP04000_WH" : 
					tdWHID.innerText="WHID";
					tdIOType.innerText="Type";
					tdDept.innerText="Dept.";
					tdNo.innerText="IONo";
					button1.value="Confirm";
					button3.value="Cancel";
				break;
			
				case "TKP04012" : 
					txtCaption.background="img/toolbar-4012e.gif";
					btnWHData.value="WH Data";
				break;
			
				case "TKP04013_Sea" : 
					txtCaption.background="img/toolbar-4012se.gif";			
					btnWHData.value="WH Data";
				break;
			
				case "TKP04014" : 
					txtCaption.background="img/toolbar-4014e.gif";
					SelectAll.value="Select All";
					UnSelectAll.value="Clear All";
					GetSigleStatus.value="Single";
					AdvQuery.value="Advanced Records";
					Refresh.value="Unclosed Records";
				break;
			
				case "TKP04014_Sea" : 
					txtCaption.background="img/toolbar-4014se.gif";			
					SelectAll.value="Select All";
					UnSelectAll.value="Clear All";
					GetSigleStatus.value="Single";
					AdvQuery.value="Advanced Records";
					Refresh.value="Unclosed Records";
				break;
			
				case "TKP04015" : 
					txtCaption.background="img/toolbar-4015e.gif";			
				break;
			
				case "TKP04016" : 
					txtCaption.background="img/toolbar-4016e.gif";			
					tdWHID1.innerText="WHID";
					tdIOType1.innerText="Type";
					tdTrans1.innerText="UnTransfered";
					tdWHID.innerText="WHID";
					tdIOType.innerText="Type";
					tdNo.innerText="IONo";
					tdTrans.innerText="Transfered";
					btnQuery.value="Query";
					btnTransfer.value="Transfer";
				break;
			
				case "TKP04016_Sea" : 
					txtCaption.background="img/toolbar-4016se.gif";			
					tdWHID1.innerText="WHID";
					tdIOType1.innerText="Type";
					tdTrans1.innerText="UnTransfered";
					tdWHID.innerText="WHID";
					tdIOType.innerText="Type";
					tdNo.innerText="IONo";
					tdTrans.innerText="Transfered";
					btnQuery.value="Query";
					btnTransfer.value="Transfer";
				break;
			
				case "TKP04017" : 
					txtCaption.background="img/toolbar-4017e.gif";			
				break;
			
				case "TKP04017_Sea" : 
					txtCaption.background="img/toolbar-4017se.gif";		
				break;
						
				case "TKP05011" : 
					txtCaption.background="img/toolbar-5011e.gif";			
					tdTXT.innerText="Tracking";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
					Submit7.value="TExcel";					
					Submit8.value="Print";		
				break;

				case "TKP05011S" : 
					txtCaption.background="img/toolbar-5011se.gif";			
					tdTXT.innerText="Tracking";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
				break;
			
				case "TKP05012" : 
					txtCaption.background="img/toolbar-5012e.gif";			
					tdTXT.innerText="Tracking";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
					Submit7.value="TExcel";					
					Submit8.value="Print";	
				break;
			
				case "TKP05012S" : 
					txtCaption.background="img/toolbar-5012se.gif";			
					tdTXT.innerText="Tracking";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
				break;
			
				case "TKP05013" : 
					txtCaption.background="img/toolbar-5013e.gif";			
					chkThird.value="Search";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
					Submit7.value="TExcel";					
					Submit8.value="Print";			
				break;
			
				case "TKP05013S" : 
					txtCaption.background="img/toolbar-5013se.gif";			
					chkThird.value="Search";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
				break;			
		
				case "TKP04012" : 
					txtCaption.background="img/toolbar-5014e.gif";
				break;
				
				case "TKP06011" :
					txtCaption.background="img/toolbar-6011e.gif";			
				break;
		
				case "TKP06012" :
					txtCaption.background="img/toolbar-6012e.gif";			
				break;
					
				case "TKP07011" :
					btnQuery.value="Search";
				break;
			
				case "TKP08011" : 
				case "TKP08012" : 
					tdTXT.innerText="Tracking";
					Submit.value=" 1Day ";
					Submit2.value=" 3Days ";
					Submit3.value=" 7Days ";
					Submit4.value="1Month";
					Submit5.value="3Months";
					Submit6.value="AdvSerch";
				break;
			
				case "WDP02011" : 
					txtCaption.background="img/toolbar-W2011e.gif";			
					btnAdv.value="Advanced Records";
					SelectAll.value="Select All";
					UnSelectAll.value="Clear All";
					GetSigleStatus.value="Close";
				break;
			
				case "WDP02011S" : 
					txtCaption.background="img/toolbar-W2011se.gif";			
					btnAdv.value="Advanced Records";
					SelectAll.value="Select All";
					UnSelectAll.value="Clear All";
					GetSigleStatus.value="Close";
				break;				
			}
		break;
	}
}

//########################################################################################################
//寫入COOKIE,讀取COOKIE
//########################################################################################################
//====================================================================
//3.功能：寫入cookie,記錄PartyID
//Input：1.inValue=cookie要存入的值
//            2.intCase=cookie種類--partyid , userid , .....
//====================================================================
function setCookie(inValue,intCase){

	//--寫一個Cookie名字叫PartyID , PartyID的值是你傳進來的
	var expDay ;
	expDay = "Wed,01 Jan 2200 18:00:00 GMT";
	//document.cookie="PartyID=" + inValue + ";expires=" + expDay;
	
	if ( intCase == 1) 
         document.cookie="PartyID=" + inValue + ";expires=" + expDay;
	
	if ( intCase == 2) 
         document.cookie="UserID=" + inValue + ";expires=" + expDay;
	
	if ( intCase == 3) 
         document.cookie="LangSet=" + inValue + ";expires=" + expDay;
	
	if ( intCase == 4) 
         document.cookie="Language=" + inValue + ";expires=" + expDay;

	//原本是為了newlogin.htm
	if ( intCase == 5) 
         document.cookie="NewPID=" + inValue + ";expires=" + expDay;
	
	if ( intCase == 6) 
         document.cookie="NewUID=" + inValue + ";expires=" + expDay;
		 
	if ( intCase == 7) 
         document.cookie="CurrUser=" + inValue + ";expires=" + expDay;

}


//====================================================================
//4.功能：讀取cookie,PartyID
//Input：1.infName=cookie名稱
//            2.objText=hidden物件
//====================================================================
function readCookie(infName,objText,intCase){
	
	var CookieValue;
	theCookie = document.cookie + ";" ;
	CookieValue = document.cookie;
	//window.alert(CookieValue);  //<--這是在把所有Cookie的東西show出來看
	
	infName += "=";
	var start,end ;
	start = theCookie.indexOf(infName);  //<--這是在取 Cookie名稱位置的起始值
	if(start != -1){
		end = theCookie.indexOf(";",start); //<--這是在取 Cookie名稱位置的結束值
		
		//window.alert(theCookie.substring(start + infName.length,end));
		//if(window.alert(theCookie.substring(start + infName.length,end))!=""){
		
		/*if(theCookie.substring(start + infName.length,end)!=""){
			//要接值的欄位名稱
			objText.value=theCookie.substring(start + infName.length,end);				
		}*/
		
		if ( theCookie.substring(start + infName.length,end)!=""){

		     if ( intCase==1 ) {
				  objText.value=theCookie.substring(start + infName.length,end);				
			}

		     if ( intCase==2 ) {	
                  return(theCookie.substring(start + infName.length,end));			 
			}				
		}
	}
	return start;
}

//########################################################################################################
//取得,寫入Session
//########################################################################################################
//====================================================================
//5.功能：將使用者代碼寫入Session
//            傳入值：strID(使用者代碼)
//            回傳值：無
//====================================================================
function SetUserID(strParty,strUser){

	var poster=new ActiveXObject("Microsoft.XmlHttp");
	//poster.open("post","Public_get.asp?strNext=SetLoginInfo&textKey1="+strParty+"&textKey2="+strUser,"false");
	poster.open("post","Public_get.asp?strNext=SetLoginInfo&PIDLg="+strParty+"&UIDLg="+strUser,"false");
	poster.send("");
}

//====================================================================
//6.功能：由Session取得使用者代碼
//   傳入值：無
//   回傳值：使用者代碼
//====================================================================
function GetUserID(){
	
	var strUserID;
	var poster=new ActiveXObject("Microsoft.XmlHttp");
	poster.open("post","Public_get.asp?strNext=GetLoginInfo","false");
	poster.send("");
	if (poster.status=="200"){
		var tmplength=poster.responseText; 
		if (tmplength.substr(38,5)!='error'){
			
			//產生新的Dom物件去接XML
			var xmlTmp=new ActiveXObject("msxml.domdocument");
			xmlTmp.loadXML(tmplength);
			
			//判斷是否有讀取到CaseContactor資料
			if (xmlTmp.selectNodes("Result/rs/User").length>0){
				if (xmlTmp.selectSingleNode("Result/rs/User").text!=""){
					strUserID=xmlTmp.selectSingleNode("Result/rs/User").text;
					return strUserID;
				}
				else{
					ShowMsg("P1008","");
					return "";
				}
			}
			else
				return "";
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(poster.responseText);
		ShowMsg("0", "@"+poster.status+"\\"+xmlErr.text);
		return "";
	}
}

//====================================================================
//7.功能：由Session取得公司代碼
//   傳入值：無
//   回傳值：公司代碼
//====================================================================
function GetPartyID(){
	
	var strPartyID;
	var poster=new ActiveXObject("Microsoft.XmlHttp");
	poster.open("post","Public_get.asp?strNext=GetLoginInfo","false");
	poster.send("");
	if (poster.status=="200"){
		var tmplength=poster.responseText; 
		if (tmplength.substr(38,5)!='error'){
			
			//產生新的Dom物件去接XML
			var xmlTmp=new ActiveXObject("msxml.domdocument");
			xmlTmp.loadXML(tmplength);
			
			//判斷是否有讀取到CaseContactor資料
			if (xmlTmp.selectNodes("Result/rs/Party").length>0){
				if (xmlTmp.selectSingleNode("Result/rs/Party").text!=""){
					strPartyID=xmlTmp.selectSingleNode("Result/rs/Party").text;
					return strPartyID;
				}
				else{
					ShowMsg("P1009","");
					return "";
				}
			}
			else
				return "";
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(poster.responseText);
		ShowMsg("0", "@"+poster.status+"\\"+xmlErr.text);
		return "";
	}
}

//########################################################################################################
//資料轉換
//########################################################################################################
//====================================================================
//功能：日期轉換.... 將DD/MM/YYYY 轉為 YYYY/MM/DD 或 YYYY/MM/DD 轉為 DD/MM/YYYY
//傳入值:日期字串
//傳回值:轉換後日期字串
//====================================================================
function TranDate(InField) {

    strDate=InField;
	strDatePart=strDate.split("/");
	
	if ( strDatePart.length != 3 ) {
		 return "";
	   } 
	
	if ( strDatePart[0]=="" || strDatePart[1]=="" || strDatePart[2]=="" ) {
	     return "";
	   }
	
	strDateRet=strDatePart[2] + "/" + strDatePart[1] + "/" + strDatePart[0];
	
	return strDateRet;
} 

//########################################################################################################
//檢查身份證,Email,電話號碼,日期,時間,公司統一編號
//########################################################################################################
//====================================================================
//功能：檢查身份證
//傳入值:身份證字號
//傳回值:true or false
//====================================================================
function chkIDNum(num){
   
	num=num.toLowerCase()
	
	//先用RE語法檢查輸入的格式是否正確
	patten=/^[a-z][12][0-9]{8}$/
	if(patten.test(num)){
		h="abcdefghjklmnpqrstuvxywzio"
		x=10+h.indexOf(num.substring(0,1))
		chksum=(x-(x%10))/10+(x%10)*9
		for(i=1;i<9;i++){
			chksum+=num.substring(i,i+1)*(9-i)
		} 
		chksum=(10-chksum%10)%10 
	
		if(chksum==num.substring(9,10))return true
	}
	return false
}

//====================================================================
//功能：檢查Email
//傳入值:Email
//傳回值:true or false
//====================================================================
function chkEmail(email) {
	
	var dataR=email.match(/^\S+@\S+\.\S+$/)
	if(!dataR || !email)
		return false;
	else
		return true;

		/*
	var re=/\w+@\w+\.\w+/;
	if (re.test(email))
		return true;
	else
		return false;*/
}

//====================================================================
//功能：檢查電話號碼(只檢查是否為數字或'-')
//傳入值:電話號碼(聯絡電話/傳真電話/行動電話)
//傳回值:true or false
//====================================================================
function chkPhone(strPhone){
 
	var blnErr=true;
	var intLen=strPhone.length;
    
    for (var intPos=0;intPos<intLen;intPos++){
        if (!((strPhone.charAt(intPos)>='0' && strPhone.charAt(intPos)<='9')||(strPhone.charAt(intPos)=='-'))){
            blnErr=false;
            break;
        }
    }
    return blnErr;
        
	//if((strPhone.indexOf("-")==-1)||(strPhone.indexOf("-")==0)||(strPhone.indexOf("-")==(intLen-1)))
	//	return false;
	
	//if((strPhone.indexOf("-")!=-1)&&(strPhone.substring(strPhone.indexOf("-")+1,intLen).indexOf("-")!=-1))
	//	return false;
	
}


//====================================================================
//功能：檢查日期....為 日/月/年
//傳入值:Date
//傳回值:true or false
//====================================================================

function CheckDate(InField,InFieldName) {

	var i,CallInFieldName;
	var str_i = InField.value;
	var str_p = "DD/MM/YYYY";
	p_element = new Array(3);
	i_element = new Array(3);
	reg_year  = /yyyy|yyy|yy|rr/i;
	reg_ycnt  = /y|r/gi;
	arr_mon   = ["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
	reg_mon   = /Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec/i;
	reg_month = /mon/i;
	reg_s     = /\-|\/|\,|\./;
	reg_ss    = /\-|\/|\,|\./g;

	if (InField.value.length == 0) {
    	return true;}
	if (InFieldName.length>0)
     	CallInFieldName="「"+InFieldName+"」";
	else
    	CallInFieldName="";
  
	if (str_p.match(reg_month)){
    	if (!str_i.match(reg_mon)) {
        	alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");                
        	InField.focus();
          	InField.select();
          	return false;
       	}
		else{
        	for (i=1;i<=12;i++){
            	if (str_i.match(new RegExp(arr_mon[i],"i"))){
                	str_i = str_i.replace(new RegExp(arr_mon[i],"i"),i);
          		}
       		}
   		}
  	}
	
	// find seperate
	if (str_p.match(reg_s)){
    	sep  = str_p.match(reg_s);
    	seps = new RegExp("\\"+sep,"g");
		
	    if (str_i.match("\\"+sep)&&str_i.match(seps).length == 2){
    	    p_element=str_p.split(sep);
       		i_element=str_i.split(sep);
    	}
		else{
    		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如 dd/mm/yyyy : 30/11/2003！");                
        	InField.focus();
        	InField.select();
        	return false;
    	}
	// no seperate
	}
	else{
    	var cnt =0 ,arr_cnt =0;
    	while (arr_cnt < 3){
        	p_s = str_p.substr(cnt,1);
        	p_l = str_p.match(new RegExp(p_s,"gi")).length;
        	p_element[arr_cnt] = str_p.substr(cnt,p_l);
        	i_element[arr_cnt] = str_i.substr(cnt,p_l);
        	arr_cnt = arr_cnt + 1;
        	cnt = cnt + p_l;
    	}
	}
    for (i=0;i<=2;i++){
    	if (p_element[i].match(/y|r/i)){
        	var yy = i_element[i];
            var reg_y = "\\b\\d{2,"+p_element[i].match(reg_ycnt).length+"}\\b";
		}
        if (p_element[i].match(/m/i)){
        	if (i_element[i].length<2){
        		var mm = "0"+i_element[i];
            }
			else{
            	var mm=i_element[i];
            }
		}
            
		if (p_element[i].match(/d/i)){
        	if (i_element[i].length<2){
            	var dd = "0"+i_element[i];
            }
			else{
                var dd=i_element[i];
            }
		}
    }
	if (yy.match(reg_y) && (mm>0 && mm<13) && (dd>0 && dd<32)){
   		if ((mm==4||mm==6||mm==9||mm==11) && dd > 30) {    	                
        	alert(CallInFieldName+"該月僅有 30 天 !")
        	InField.focus();
        	InField.select();
        	return false;
    	}
		else if (mm==2) {
        	if ((parseInt(yy)+1000) % 4 > 0 && dd > 28) {
            	alert(CallInFieldName+"該月僅有 28 天 !")
            	InField.focus();
            	InField.select();
            	return false;
        	}
			else if ((parseInt(yy)+1000) % 4 == 0 && dd > 29) {
            	alert(CallInFieldName+"該月僅有 29 天 !")
            	InField.focus();
            	InField.select();
            	return false;
        	}
    	}
		else if (dd > 31){
       		alert(CallInFieldName+"該月僅有 31 天 !")
        	InField.focus();
        	InField.select();
        	return false;
    	}
    	return true;
	}
	else{
    	alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");   
    	InField.focus();
    	InField.select();
    	return false;
	}
}

//====================================================================
//功能：檢查時間....為 時:分(24小時制)
//傳入值:時間字串
//傳回值:true or false
//====================================================================
function CheckTime(InField) {

    strAlert1="時間格式錯誤！\n請修正輸入格式如  HH:MM : 20:00！";
    strTime=InField.value;
	strTimePart=strTime.split(":");
	if ( strTimePart.length != 2 ) {
         InField.focus();
         InField.select();
	     alert(strAlert1);
		 return false;
	   } 
	   
	intTime=eval(strTimePart[0]);
	if ( !(intTime>=0 && intTime<=23) ) {
         InField.focus();
         InField.select();
	     alert(strAlert1);
		 return false;
	   }
	   
	intTime=eval(strTimePart[1]);
	if ( !(intTime>=0 && intTime<=59) ) {
         InField.focus();
         InField.select();
	     alert(strAlert1);
		 return false;
	   }
	   
	return true;   
}  

//====================================================================
//功能：檢查日期....為 日/月/年
//傳入值:Date
//傳回值:true or false
//====================================================================

function CheckDate_New(InField,InFieldName,ChkField) {

	if(InField.value.length<8 && InField.value.length>0){
		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！ \n 或  ddmmyyyy : 30112003 !");   
	   	InField.focus();
    	InField.select();
		ChkField.value="incorrect";
    	return false;
	}
	else{
		ChkField.value="";
	}

	if(InField.value.length==8){
		var strDate=InField.value;
		var strTmp=strDate.split("/");

		var strDay;
		var strMonth;
		var strYear;
		
		if(strTmp.length>1){
			strDay=strTmp[0];
			strMonth=strTmp[1];
			strYear=strTmp[2];
		}
		else{
			strDay=InField.value.substring(0,2);
			strMonth=InField.value.substring(2,4);
			strYear=InField.value.substring(4,8);
		}
	
		if((strDay>0 && strDay<32) && (strMonth>0 && strMonth<13) && (strYear>1899)){
	   		if ((strMonth==4||strMonth==6||strMonth==9||strMonth==11) && strDay > 30) {    	                
    	    	alert(CallInFieldName+"該月僅有 30 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
			else if (strMonth==2) {
    	    	if (parseInt(strYear) % 4 > 0 && strDay > 28) {
        	    	alert(CallInFieldName+"該月僅有 28 天 !")
            		InField.focus();
            		InField.select();
					ChkField.value="incorrect";
	            	return false;
    	    	}
				else if (parseInt(strYear) % 4 == 0 && strDay > 29) {
            		alert(CallInFieldName+"該月僅有 29 天 !")
	            	InField.focus();
    	        	InField.select();
					ChkField.value="incorrect";
        	    	return false;
        		}
	    	}
			else if (strDay > 31){
       			alert(CallInFieldName+"該月僅有 31 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
			InField.value=strDay+"/"+strMonth+"/"+strYear;
	    	return true;
		}
		else{
    		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  ddmmyyyy : 30112003！");   
	    	InField.focus();
    		InField.select();
			ChkField.value="incorrect";
    		return false;
		}
	}
	else{
		ChkField.value="";
	}
	
	if (InField.value.length>8){
		var i,CallInFieldName;
		var str_i = InField.value;
		var str_p = "DD/MM/YYYY";
		p_element = new Array(3);
		i_element = new Array(3);
		reg_year  = /yyyy|yyy|yy|rr/i;
		reg_ycnt  = /y|r/gi;
		arr_mon   = ["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
		reg_mon   = /Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec/i;
		reg_month = /mon/i;
		reg_s     = /\-|\/|\,|\./;
		reg_ss    = /\-|\/|\,|\./g;

		if (InField.value.length == 0) {
	   	 	return true;
		}
		
		if (InFieldName.length>0)
	   	  	CallInFieldName="「"+InFieldName+"」";
		else
   		 	CallInFieldName="";
  
		if (str_p.match(reg_month)){
    		if (!str_i.match(reg_mon)) {
       		 	alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");                
        		InField.focus();
          		InField.select();
				ChkField.value="incorrect";
	          	return false;
    	   	}
			else{
		       	for (i=1;i<=12;i++){
            		if (str_i.match(new RegExp(arr_mon[i],"i"))){
                		str_i = str_i.replace(new RegExp(arr_mon[i],"i"),i);
          			}
       			}
   			}
  		}
	
		// find seperate
		if (str_p.match(reg_s)){
    		sep  = str_p.match(reg_s);
    		seps = new RegExp("\\"+sep,"g");
			
		    if (str_i.match("\\"+sep)&&str_i.match(seps).length == 2){
    		    p_element=str_p.split(sep);
       			i_element=str_i.split(sep);
	    	}
			else{
    			alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");                
	        	InField.focus();
    	    	InField.select();
				ChkField.value="incorrect";
        		return false;
	    	}
		// no seperate
		}
		else{
	    	var cnt =0 ,arr_cnt =0;
    		while (arr_cnt < 3){
        		p_s = str_p.substr(cnt,1);
        		p_l = str_p.match(new RegExp(p_s,"gi")).length;
	        	p_element[arr_cnt] = str_p.substr(cnt,p_l);
    	    	i_element[arr_cnt] = str_i.substr(cnt,p_l);
        		arr_cnt = arr_cnt + 1;
        		cnt = cnt + p_l;
	    	}
		}

	    for (i=0;i<=2;i++){
    		if (p_element[i].match(/y|r/i)){
        		var yy = i_element[i];
            	var reg_y = "\\b\\d{2,"+p_element[i].match(reg_ycnt).length+"}\\b";
			}
    	
		    if (p_element[i].match(/m/i)){
        		if (i_element[i].length<2){
        			var mm = "0"+i_element[i];
	            }
				else{
        	    	var mm=i_element[i];
            	}
			}
            
			if (p_element[i].match(/d/i)){
        		if (i_element[i].length<2){
            		var dd = "0"+i_element[i];
	            }	
				else{
        	        var dd=i_element[i];
	            }
			}
	    }
	
		if (yy.match(reg_y) && (mm>0 && mm<13) && (dd>0 && dd<32)){
	   		if ((mm==4||mm==6||mm==9||mm==11) && dd > 30) {    	                
    	    	alert(CallInFieldName+"該月僅有 30 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
			else if (mm==2) {
    	    	if ((parseInt(yy)+1000) % 4 > 0 && dd > 28) {
        	    	alert(CallInFieldName+"該月僅有 28 天 !")
            		InField.focus();
            		InField.select();
					ChkField.value="incorrect";
	            	return false;
    	    	}
				else if ((parseInt(yy)+1000) % 4 == 0 && dd > 29) {
            		alert(CallInFieldName+"該月僅有 29 天 !")
	            	InField.focus();
    	        	InField.select();
					ChkField.value="incorrect";
        	    	return false;
        		}
	    	}
			else if (dd > 31){
       			alert(CallInFieldName+"該月僅有 31 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
	    	return true;
		}
		else{
    		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");   
	    	InField.focus();
    		InField.select();
			ChkField.value="incorrect";
    		return false;
		}
	}	
	else{
		ChkField.value="";
	}
}
//====================================================================
//功能：檢查時間....為 時:分(24小時制)
//傳入值:時間字串
//傳回值:true or false
//====================================================================
function CheckTime_New(InField,DateField,ChkField) {

	if(ChkField.value=="incorrect")
		return;
    strAlert1="時間格式錯誤！\n請修正輸入格式如  HH:MM : 20:00！";
    strTime=InField.value;
	strTimePart=strTime.split(":");

	if(strTime.length=="" && DateField.value.length=="" ){
		return;
	}
	
	if(strTime.length==4){
		//格式0000
		if(!(eval(strTime.substring(0,2))>=0 && eval(strTime.substring(0,2))<=23)){
	        InField.focus();
    	    InField.select();
			alert(strAlert1);
			return false;
		}
		
		if(!(eval(strTime.substring(2,4))>=0 && eval(strTime.substring(2,4))<=59)){
	        InField.focus();
    	    InField.select();
			alert(strAlert1);
			return false;
		}
		InField.value=strTime.substring(0,2)+":"+strTime.substring(2,4);
		//return true;
	}
	else{
		//格式00:00
		if ( strTimePart.length != 2 ) {
        	InField.focus();
	        InField.select();
		    alert(strAlert1);
			return false;
		} 
	   
		intTime=eval(strTimePart[0]);
		if ( !(intTime>=0 && intTime<=23) ) {
	        InField.focus();
    	    InField.select();
			alert(strAlert1);
			return false;
	    }
	   
		intTime=eval(strTimePart[1]);
		if ( !(intTime>=0 && intTime<=59) ) {
        	InField.focus();
	        InField.select();
		    alert(strAlert1);
			return false;
	    }
		//return true;   
	}
	
	if(strTime.length=="" && DateField.value.length!="" ){
		alert("請輸入時間！");
		InField.focus();
		return;
	}

	if(strTime.length!="" && DateField.value.length==""){
		alert("請輸入日期！");
		DateField.focus();	
		return;
	}
}  

//====================================================================
//功能：檢查公司統一編號是否合法
//====================================================================
function chkBANId(strID){

	var aWeight;
	var aNumber;
	var blnReturn;
	var i, nTotal, nResult;
	
	aNumber = new Array(8); 
	aWeight = "12121241";
	 
	if(strID.length != 8)
	   blnReturn=false;
	else{
	   if(!((strID >= "00000000") && (strID <= "99999999")))
	      blnReturn=false;
	   else{
	      for(i=1; i<9; i++) aNumber[i] = parseInt(strID.charAt(i-1));
	      
	      nTotal = 0;
	      for(i=1; i<9; i++){
					nResult = aNumber[i] * parseInt(aWeight.charAt(i-1));
					if(nResult >= 10){
						nResult = nResult.toString();
						nResult = parseInt(nResult.charAt(0)) + parseInt(nResult.charAt(1));
						if(nResult >=10){
							nResult = nResult.toString();
							nResult = parseInt(toString(nResult).charAt(0)) + parseInt(toString(nResult).charAt(1));
						}
					}
	         nTotal = nTotal + nResult;
	      }
	      
	      if((nTotal % 10) == 0) blnReturn=true;
	      else{
	         if(aNumber[7] == 7 && (nTotal % 10) == 1) blnReturn=true; //check pass
	         else blnReturn=false;  // Failed check digit check
	      }
	   }
	}
	return blnReturn;
}

//########################################################################################################
//顯示另一視窗
//########################################################################################################
//====================================================================
//功能：秀錯誤或警告訊息框
//傳入值:strCode,strMsg						
//回傳值:無
//相關物件:xml/MsgText.xml
//說明:strCode存在MsgText.xml則秀說明,若沒有對應的代碼則秀strMsg
//====================================================================
function ShowMsg(strCode,strMsg){
	var tmpLang=readCookie("Language","",2);
	if(tmpLang==-1)
		tmpLang="Eng";
		
	//<xml id="xmlErrMsg" src="xml/msgtext.xml"></xml>
	var xmlErrMsg=new ActiveXObject("msxml.domdocument");
	xmlErrMsg.async=false;
	switch(tmpLang){
		case "Big5" :
			xmlErrMsg.load("xml/msgtext.xml");
			break;
		case "Eng" :
			xmlErrMsg.load("xml/msgtextEng.xml");
			break;
	}
	
	var strTmp="";
	var nodes=xmlErrMsg.selectNodes("//BBS/rs[Code='"+strCode+"']");
	if ( nodes.length>0 ){
		 strTmp=nodes.item(0).childNodes.item(0).text;
         strMsg=nodes.item(0).childNodes.item(1).text;
         strTmp=strMsg + "(" + strTmp + ")";
    }
	window.alert(strTmp);
}

//====================================================================
//功能：讀取錯誤訊息
//傳入值:strCode
//回傳值:strMsg
//相關物件:xml/MsgText.xml
//說明:strCode存在MsgText.xml則秀說明,若沒有對應的代碼則秀strMsg
//====================================================================
function GetMsg(strCode,txtLang){

	var xmlErrMsg=new ActiveXObject("msxml.domdocument");
	xmlErrMsg.async=false;
	switch(txtLang){
		case "Big5" :
			xmlErrMsg.load("xml/msgtext.xml");
			break;
		case "Eng" :
			xmlErrMsg.load("xml/msgtextEng.xml");
			break;
	}
	
	var strMsg="";
	var nodes=xmlErrMsg.selectNodes("//BBS/rs[Code='"+strCode+"']");
	if ( nodes.length>0 ){
         strMsg=nodes.item(0).childNodes.item(1).text;
    }
	return strMsg;
}

//====================================================================
//功能：滑鼠移動點選，日期之日曆，以傳物件的方式
//====================================================================
function uTdClick1(objX,strField) {
	
	var oRow=objX.parentNode;
 	strFieldName=strField + "(" + oRow.rowIndex + ")";
 	ShowCalendar('' ,strFieldName);
}

//====================================================================
//功能：秀出日曆
//====================================================================
function ShowCalendar(strFormName,strFieldName){
    var strURL = "";
    if (strFormName=="")
    	strURL="Calendar.asp?strDate="+eval(strFieldName + ".value")+"&strForm=&strField="+strFieldName;
    else
    	strURL="Calendar.asp?strDate="+eval(strFormName+"." +strFieldName + ".value")+"&strForm="+strFormName+"&strField="+strFieldName;
	
    popupWin=window.showModelessDialog(strURL,window,'dialogLeft:200px;dialogTop:100px;dialogHeight:340px;dialogWidth:320px;center:yes;status:0');
    popupWin.focus();
}


//########################################################################################################
//滑鼠移動之事件
//########################################################################################################
//====================================================================
//功能 ：mouse移動到TABLE ROWS,改變 TABLE ROWS COLOR
//Input：objX(Table物件)
//Ouput：無
//====================================================================
function ChgRowOver(objX){
	objX.className='trBgMove';
}

//====================================================================
//功能 ：mouse移開TABLE ROWS,清除該rows 的classname
//Input：objX(Table物件)
//Ouput：無
//====================================================================
function ChgRowOut(objX){
	objX.className='tr_Detail';
}

//########################################################################################################
//畫面上下按鈕之控制
//########################################################################################################
//====================================================================
//功能 ：移到第一筆
//====================================================================
function MainFirst(){
    ClickGetXml("F");
}

//====================================================================
//功能 ：移到上一筆
//====================================================================
function MainPrep(){
    //呼叫上一筆的函式
    ClickGetXml("P");
}

//====================================================================
//功能 ：移到下一筆
//====================================================================
function MainNext(){
    //呼叫下一筆的函式
    ClickGetXml("N");
}

//====================================================================
//功能 ：移到最後一筆
//====================================================================
function MainLast(){
    //呼叫最後一筆的函式
    ClickGetXml("L");
}


//########################################################################################################
//控制畫面的textbox,button,radio button
//########################################################################################################
//====================================================================
//功能 ：一般，刪除時====畫面控制，完全不能輸入畫面上的控制項
//====================================================================
function ClickSubmit(){
	var i;
	var j=document.all.length;
	
	for (i=0;i<=j-1;i++){
		if (document.all(i).tabIndex>0 ){
			switch (document.all(i).type) {
			case "text":
			case "textarea":
				//將type = text 上鎖 
				document.all(i).readOnly=true;
				break;
				
			case "select-one":
				//將type = select-one 上鎖 
			case "radio":
				//將type = radio 上鎖 
			case "checkbox":
				//將type = checkbox 上鎖 
			case "button":
				document.all(i).disabled=true;
				break; 
				
			default:
				break;	
			}
		}
	}
}

//====================================================================
//功能 ：新增，修改時====畫面控制，可修改畫面上所有控制項的值
//====================================================================
function ClickUpdate(){

	var i;
	var j=document.all.length;
	
	for (i=0;i<=j-1;i++){
		if (document.all(i).tabIndex > 0 ){
			switch (document.all(i).type) {
			case "text":
				//將type = text 解鎖
			case "textarea":
				document.all(i).readOnly=false;
				break;
				
			case "select-one":
				//將type = select-one 解鎖
			case "radio":
				//將type = radio 解鎖
			case "checkbox":
				//將type = checkbox 解鎖
			case "button":
				document.all(i).disabled=false;
				break; 
				
			default:
				break;
			}
		}
	}
}


//########################################################################################################
//判斷傳入值
//########################################################################################################
//====================================================================
//功能：判斷傳入之欄位物件裡的數值是否為數值
//傳入值：objThis(text欄位物件),intMode(數值的模式,1:smallInt,2:Int,3:float)
//回傳值：True(符合),False(不符合,並秀警告訊息)
//====================================================================
function chkIsNumber(objThis,intMode,blnShowMsg){
	
	var blnErr=true;
	var strNum=objThis.value
	//var intLen=strNum.length;
    //for (var intPos=0;intPos<intLen;intPos++){
    //    if (!(strNum.charAt(intPos)>='0' && strNum.charAt(intPos)<='9')){
    //        blnErr=false;
    //        break;
    //    }
    //}
	
	if (isNaN(strNum)){
		if (blnShowMsg) ShowMsg("P3001","");
		return false;		
	}
	else
		switch(intMode){
		case 1:
			//smallInt
			if (strNum>(1<<15)){
				if (blnShowMsg) ShowMsg("P3002","");
				return false;
			}
			else
				return true;
			break;
		case 2:
			//Int
			if (strNum>(-(1<<31))){
				if (blnShowMsg) ShowMsg("P3002","");
				return false;
			}
			else
				return true;
			break;
		default:
			return true;
			break;
		}
}

//====================================================================
//功能：判斷傳入之欄位物件裡的值是否為'Y'或'N'
//傳入值：text欄位物件
//回傳值：True(符合),False(不符合,並秀警告訊息)
//====================================================================
function chkIsYN(objThis,blnShowMsg){
	
	var strYN=objThis.value;
	var re=/[YN]+/;
	if (re.test(strYN))
		return true;
	else{
		if (blnShowMsg==true) ShowMsg("P5003","");
		return false;
	}
}

//########################################################################################################
//權限判斷
//########################################################################################################
//====================================================================
//功能：查詢使用者對該系統的權限
//傳入值：strUserID(使用者代碼),strPrgID(系統代碼)
//回傳值：使用者對該系統的權限(共四碼)
//====================================================================
function GetRight(strPrgID){

	var poster=new ActiveXObject("Microsoft.XmlHttp");
	poster.open("post","Public_get.asp?strNext=GetRights&PID="+strPrgID,"false");
	poster.send("");
	if (poster.status=="200"){
		var tmplength=poster.responseText; 
		if (tmplength.substr(38,5)!='error'){
			
			//產生新的Dom物件去接XML
			var xmlTmp=new ActiveXObject("msxml.domdocument");
			xmlTmp.loadXML(tmplength);
			
			//判斷是否有讀取到Right資料
			if (xmlTmp.selectNodes("record/GetRights/rs/RightData").length>0){
				if (xmlTmp.selectSingleNode("record/GetRights/rs/RightData").text!=""){
					var strRight=xmlTmp.selectSingleNode("record/GetRights/rs/RightData").text;
					return strRight;
				}
				else{
					return "";
				}
			}
			else
				return "";
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(poster.responseText);
		ShowMsg("0", "@"+poster.status+"\\"+xmlErr.text);
		return "";
	}
}

//====================================================================
//功能：依權限來決定按鈕的鎖住否
//====================================================================
function ShowButtonByRight(){

	var strRights=strRight.value;

	//初始化按鈕
	button1.disabled=true;
	button2.disabled=true;
	button3.disabled=true;
	button4.disabled=true;
	button5.disabled=true;
	button6.disabled=true;
	button7.disabled=true;
	button8.disabled=true;

	//新增修改...等按鈕控制
	if (strRights!=""){
		//讀取權限(沒有讀取的權限則沒有其他權限)
		if (strRights.charAt(0)=="Y"){
			//查詢按鈕
			button4.disabled=false;
			button5.disabled=false;
			button6.disabled=false;
			button7.disabled=false;
			button8.disabled=false;
			
			//新增權限
			if (strRights.charAt(1)=="Y"){
				//新增按鈕
				button1.disabled=false;
			}
			
			//修改權限
			if (strRights.charAt(2)=="Y"){
				//修改按鈕
				button2.disabled=false;
			}
			
			//刪除權限
			if (strRights.charAt(3)=="Y"){
				//刪除按鈕
				button3.disabled=false;
			}
		}
		else
			ShowMsg("P1004","");
	}
}


//########################################################################################################
//取得資料
//########################################################################################################
//====================================================================
//功能：取得FMCode
//說明：
//1."航線代碼"須以 busFMCode.FMCode_Query 得到(第一個參數傳2, 第二個參數傳"FM005", 第三個參數傳空字串)
//2."Area Code"須以 busFMCode.FMCode_Query 得到(第一個參數傳2, 第二個參數傳"FM006", 第三個參數傳空字串)
//3."Region Code"須以 busFMCode.FMCode_Query 得到(第一個參數傳2, 第二個參數傳"FM002", 第三個參數傳空字串)
//傳入值：Dom物件
//回傳值：Dom物件
//====================================================================
function GetFMCode(objXml,strType,objLang){

	var poster1=new ActiveXObject("Microsoft.XmlHttp");
	var tmpPost="FMCode_get.asp?strNext=GetFMCode&CType="+strType+"&Lang="+objLang;
	poster1.open("post",tmpPost,"false");
	poster1.send("");
	
	var tmpReturn=poster1.responseText; 
	if (poster1.status=="200" && tmpReturn.substr(38,5)!='error'){
		//產生新的Dom物件去接XML
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmpReturn);

		var xmlTmp2=new ActiveXObject("msxml.domdocument");
		switch (objLang){
			case "Big5" :
				xmlTmp2.loadXML("<record><rs><Descp>請選擇</Descp></rs></record>");
			break;	
			case "Eng" :
				xmlTmp2.loadXML("<record><rs><Descp>Choose</Descp></rs></record>");
			break;
		}				

		//判斷是否有讀取到FMCode資料
		if (xmlTmp.selectNodes("record/FMCode/rs").length>0){
			var nodeTmp=xmlTmp.selectSingleNode("record/FMCode");

			objXml.loadXML(nodeTmp.xml);			//只傳入FMCode資料傳入objXml
			switch (strType){ //LineType,RegionCode,Commodity要加上請選擇
				case "FM002" :
				case "FM005" :
				case "FM007" :				
					objXml.selectSingleNode("FMCode").insertBefore(xmlTmp2.selectNodes("record/rs").nextNode,objXml.selectSingleNode("FMCode").firstChild);
				break;
			}
		}
		else{
			objXml.loadXML("<FMCode/>");		
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(tmpReturn);
		ShowMsg("0", "@"+poster1.status+"\\"+xmlErr.text);
	}
}


//########################################################################################################
//上下頁之顯示
//########################################################################################################
//====================================================================
//23.功能：首次顯示個案頁數畫面.
//傳入值：xxx.asp檔案
//回傳值：無
//====================================================================
function PagesFirstShow(tmphref,tmpEachCount){

	var tmpLang=readCookie("Language","",2);
	if(tmpLang==-1)
		tmpLang="Eng";

	var j;
	var pagecount;
	var recordcount;
	var strdata="";
	var tmpPagecount;
	var emptytd;
	var modnum;
	var num;

	//取總筆數
	recordcount=parent.GetRecordCounts();
	//取總頁數
	//pagecount=parent.GetPages(tmpEachCount);

	modnum=recordcount % parseInt(tmpEachCount);
	num=parseInt(recordcount/parseInt(tmpEachCount));

	if (modnum!=0){
		pagecount=num+1;
	}
	else{
		pagecount=num;
	}	
	document.write("<table border=0 cellPadding=1 cellSpacing=1 width=840><tr bgcolor=#F7F7F7 height='24'>");
		
	//總頁數不滿15頁(含)則加上emptytd個欄位空格
	if(pagecount<=15){
		switch(tmpLang){
			case "Big5" :
				document.write("<td width=18% align=left><font size='-1' color=#B33030>頁面檢索</font></td>");
			break;
			case "Eng":
				document.write("<td width=18% align=left><font color=#B33030 size='-2' face='Arial, Helvetica, sans-serif'>Search Result</font></td>");
			break;
		}
		emptytd=15-pagecount;
		tmpPagecount=pagecount;
		
		if (emptytd!=0){
			for (i=1;i<=emptytd;i++){
				document.write("<td></td>");
			}
		}
	}
	else{
		switch(tmpLang){
			case "Big5" :
				document.write("<td width=10% align=left><font size='-1' color=#B33030>頁面檢索</font></td>");
				document.write("<td width=4% align=left><font size='-1' color=#B33030><a href=" + tmphref + "?data1="+15*parseInt(tmpEachCount)+">下</a></font></td>");
			break;
			case "Eng":
				document.write("<td width=10% align=left><font color=#B33030 size='-2' face='Arial, Helvetica, sans-serif'>Search Result</font></td>");
				document.write("<td width=4% align=left><font color=#B33030 size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1="+15*parseInt(tmpEachCount)+">Next</a></font></td>");
			break;
		}
		document.write("<td width=4%></td>");
		tmpPagecount=15;
	}	

	for (var i=1;i<=tmpPagecount;i++){
		j=i;
		if (j>1){
			j-=1;
		}
		else{
			j=0;
		}
		j=j*parseInt(tmpEachCount);
		
		if(i==1){
			document.write("<td width=4% align=center><font size='-1' face='Arial, Helvetica, sans-serif'>" + "<a href=" + tmphref + "?data1=" + (j) +">[" + i + "]</a>" + "</font></td>");
		}
		else{
			document.write("<td width=4% align=center><font size='-1' face='Arial, Helvetica, sans-serif'>" + "<a href=" + tmphref + "?data1=" + (j) +">" + i + "</a>" + "</font></td>");
		}		
	}

	switch(tmpLang){
		case "Big5" :
			document.write("<td width=15% align=center><font size='-1'>(共" + pagecount + "頁" + recordcount + "筆)</font></td>");		
		break;
		case "Eng":
			document.write("<td width=15% align=center><font size='-2' face='Arial, Helvetica, sans-serif'>(" + pagecount + "Pages " + recordcount + "Records)</font></td>");
		break;
	}	

	if(j>1){
		switch(tmpLang){
			case "Big5" :
				document.write("<td width=7% bgcolor=#EED5B7><font size='-1'>" + "<a href=" + tmphref + "?data1="+tmpEachCount+">" + "下一頁" + "</font></a></td>");
			break;
			case "Eng":
				document.write("<td width=7% bgcolor=#EED5B7><font size='-2' face='Arial, Helvetica, sans-serif'>" + "<a href=" + tmphref + "?data1="+tmpEachCount+">" + "Next Page" + "</a></font></td>");			
			break;
		}
	}
	document.write("</tr></table>");
}

//====================================================================
//功能  ：重覆顯示個案頁數畫面,15頁成一版面.
//傳入值：xxx.asp檔案
//回傳值：無
//====================================================================
function RePageShow(Pagenow,tmphref,tmpEachCount){

	var tmpLang=readCookie("Language","",2);
	if(tmpLang==-1)
		tmpLang="Eng";
		
	var pagecount;
	var j;
	var recordcount;
	var emptytd;
	var tmpPagecount;
	var starpge;
	var endpge;
	var blnEndpag=false;
	var modnum;
	var num;
	
	//取總筆數
	recordcount=parent.GetRecordCounts();
	
	//取總頁數
	//pagecount=parent.GetPages(tmpEachCount);
	modnum=recordcount % parseInt(tmpEachCount);
	num=parseInt(recordcount/parseInt(tmpEachCount));

	if (modnum!=0){
		pagecount=num+1;
	}
	else{
		pagecount=num;
	}	

	var d1=parseInt((pagecount/15));//總頁數除15,取整數
	var d2=parseInt((Pagenow/15));  //目前頁數除15,取整數

	//若總頁數除15,有餘數,則所取的整數加1
	var d7=(pagecount%15);
	if (d7>0){
		d1+=1
	}

	//若目前頁數除15,有餘數,則所取的整數加1
	var d3=(Pagenow%15);
	if (d3>0){
		d2+=1
	}

	var d4=(((d1-2)*15*parseInt(tmpEachCount)));//目前頁面在最後一版面,向上一版面
	var d5=((d2*15*parseInt(tmpEachCount)));     //目前頁面,向下一版面
	var d6=(((d2-2)*15*parseInt(tmpEachCount)));//目前頁面,向上一版面
	
	document.write("<table border=0 cellPadding=1 cellSpacing=1 width=840><tr bgcolor=#F7F7F7 height='24'>");
	
	//總頁數不滿15頁(含)則加上emptytd個欄位空格
	if(pagecount<=15){
		switch(tmpLang){
			case "Big5" :
				document.write("<td width=18% align=left><font size='-1' color=#B33030>頁面檢索</font></td>");
			break;
			case "Eng":
				document.write("<td width=18% align=left><font color=#B33030 size='-2' face='Arial, Helvetica, sans-serif'>Search Result</font></td>");
			break;
		}		
		emptytd=15-pagecount;
		tmpPagecount=pagecount;
		starpge=1;
		
		if (emptytd!=0){
			for (i=1;i<=emptytd;i++){
				document.write("<td></td>");
			}
		}
	}
	else{
		switch(tmpLang){
			case "Big5" :
				document.write("<td width=10% align=left><font size='-1' color=#B33030>頁面檢索</font></td>");
			break;
			case "Eng":
				document.write("<td width=10% align=left><font color=#B33030 size='-2' face='Arial, Helvetica, sans-serif'>Search Result</font></td>");
			break;
		}
		
		//目前頁數<=15表示在第一版面
		if(Pagenow<=15){
			switch(tmpLang){
				case "Big5" :
					document.write("<td width=4% align=left><font size='-1' color=#B33030><a href=" + tmphref + "?data1="+15*parseInt(tmpEachCount)+">下</a></font></td>");
				break;
				case "Eng":
					document.write("<td width=4% align=left><font color=#B33030 size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1="+15*parseInt(tmpEachCount)+">Next</a></font></td>");
				break;
			}
			document.write("<td width=4%></td>");
		}
		else if(d1==d2){
			switch(tmpLang){
				case "Big5" :
					document.write("<td width=4% align=left><font color=#B33030><a href=" + tmphref + "?data1=" + d4 + ">上</a></font></td>");
				break;
				case "Eng":
					document.write("<td width=4% align=left><font color=#B33030 size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1=" + d4 + ">Prev</a></font></td>");
				break;
			}
		}
		else{
			switch(tmpLang){
				case "Big5" :
					document.write("<td width=4% align=left><font size='-1' color=#B33030><a href=" + tmphref + "?data1=" + d5 + ">下</a></font></td>");
					document.write("<td width=4% align=left><font size='-1' color=#B33030><a href=" + tmphref + "?data1="+ d6 + ">上</a></font></td>");
				break;
				case "Eng":
					document.write("<td width=4% align=left><font color=#B33030 size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1=" + d5 + ">Next</a></font></td>");
					document.write("<td width=4% align=left><font color=#B33030 size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1="+ d6 + ">Prev</a></font></td>");
				break;
			}			
		}
		
		//計算要show出的頁數數字
		starpge=((d2-1)*15)+1;
		if (pagecount>=(d2*15)){
			endpge=d2*15;
			blnEndpag=false;
		}
		else{
			endpge=pagecount;
			blnEndpag=true;
		}
		tmpPagecount=endpge;
	}
	
	//show出頁數數字
	for (var i=starpge;i<=tmpPagecount;i++){
		j=i;
		if (j>1){
			j-=1;
		}
		else{
			j=0;
		}
		j=j*parseInt(tmpEachCount);
		
		if (i==Pagenow){
			document.write("<td width=4% align=center><font size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1=" + (j) +">[" + i + "]</a></font></td>");
		}
		else{
			document.write("<td width=4% align=center><font size='-1' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1=" + (j) +">" + i + "</a></font></td>");
		}
	}
	
	//若在最後一版面,頁數不足15時,補空白td
	if(blnEndpag){
		emptytd=15-d3;
		for (i=1;i<=emptytd;i++){
			document.write("<td></td>");
		}
	}
		
	switch(tmpLang){
		case "Big5" :
				document.write("<td width=15% align=center><font size='-1'>(共" + pagecount + "頁" + recordcount + "筆)</font></td>");
		break;
		case "Eng":
				document.write("<td width=15% align=center><font size='-2' face='Arial, Helvetica, sans-serif'>(" + pagecount + "Pages " + recordcount + "Records)</font></td>");
		break;
	}

	if(j>1){
		if (Pagenow==pagecount){
			switch(tmpLang){
				case "Big5" :
					document.write("<td width=7% bgcolor=#EED5B7><font size='-1'><a href=" + tmphref + "?data1=" + ((pagecount-2)*parseInt(tmpEachCount)) + ">" + "上一頁" + "</font></a></td>");
				break;
				case "Eng":
					document.write("<td width=7% bgcolor=#EED5B7><font size='-2' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1=" + ((pagecount-2)*parseInt(tmpEachCount)) + ">" + "Prev Page" + "</a></font></td>");
				break;
			}
		}
		else{
			switch(tmpLang){
				case "Big5" :
					document.write("<td width=7% bgcolor=#EED5B7><font size='-1'><a href=" + tmphref + "?data1=" + (Pagenow * parseInt(tmpEachCount)) + ">" + "下一頁" + "</font></a></td>");
				break;
				case "Eng":
					document.write("<td width=7% bgcolor=#EED5B7><font size='-2' face='Arial, Helvetica, sans-serif'><a href=" + tmphref + "?data1=" + (Pagenow * parseInt(tmpEachCount)) + ">" + "Next Page" + "</a></font></td>");
				break;
			}
		}	
	}
	document.write("</tr></table>");
}

//########################################################################################################
//離開頁面時之警告語
//########################################################################################################
//====================================================================
//功能：離開頁面時之警告語..4012,4014,4015用
//====================================================================
function pageLeave(){

	if(strSaveState.value!="save" && strSaveState.value!="cancel"){
		var flag=false;
		/*flag=confirm("是否離開");
		if(flag){
			window.open("http://edu.uuu.com.tw");
		}
		else{
 			event.returnValue=false;
 		}*/
		
		if(!flag){
			var tmpLang=readCookie("Language","",2);
			if(tmpLang==-1)
				tmpLang="Eng";
			switch(tmpLang){
				case "Big5" :
					event.returnValue="資料尚未儲存,";
					break;
				case "Eng" :
					event.returnValue="Data isn't saved,";
					break;				
			}
	  		/*event.returnValue="資料尚未儲存,";*/
		}
	}
}


//====================================================================
//功能：離開頁面使用者人數減一
//====================================================================
function Leavecount(){

	var poster=new ActiveXObject("Microsoft.XmlHttp");
	poster.open("post","Public_get.asp?strNext=GetLoginOut","false");
	poster.send("");

	if (poster.status=="200"){
		var tmplength=poster.responseText; 

		if (tmplength.substr(38,5)!='error'){
			//產生新的Dom物件去接XML
			var xmlTmp=new ActiveXObject("msxml.domdocument");
			xmlTmp.loadXML(tmplength);
		
			//判斷是否有讀到資料
			if (xmlTmp.selectNodes("record/UserLogout/rs").length>0){
				var strReturn=xmlTmp.selectSingleNode("record/UserLogout/rs/Status").text;
				switch ( strReturn ) {
					case "0" : 
						setCookie("0",7);
						return true;
					
					case "1" : 
						ShowMsg("P6001","");	
                   	    return false;
                    case "2" : 
						ShowMsg("P6002","");	
					    return false;
                    case "3" : 
						ShowMsg("P6003","");	
					    return false;
                    case "4" : 
						var tpPID=readCookie("PartyID","",2);
						var tpUID=readCookie("UserID","",2);			
						SetUserID(tpPID,tpUID);		
						Leavecount();	
						return true;
				}
			}
			else{
				ShowMsg("P5006","");
				return false;
			}
			
		}
		else{
		//alert("Componet error");
			//秀錯誤訊息
			xmlErr.loadXML(poster.responseText);
			ShowMsg("0", "@"+poster.status+"\\"+xmlErr.text);
			return false;
		}
	}
	else{
		return false;
	}		
}


//====================================================================
//功能：離開頁面使用者人數減一
//====================================================================
function LogOutCut(){

	var poster=new ActiveXObject("Microsoft.XmlHttp");
	var tmpPID=readCookie("PartyID","",2);
	
	poster.open("post","LogOut_s.asp?PID="+tmpPID,"false");
	poster.send("");
	
	var tmplength=poster.responseText; 


	if (poster.status=="200" && tmplength.substr(38,5)!='error'){
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmplength);

		if (xmlTmp.selectNodes("Msg/rs").length>0){
			if(xmlTmp.selectSingleNode("Msg/rs/ErrMsg").text!=""){
				var strReturn=xmlTmp.selectSingleNode("Msg/rs/ErrMsg").text;
				var strNum=strReturn.substring(0,2);
				var tmpMsg=strReturn.substring(2,strReturn.length);
				switch ( strNum ) {
					case "00" : 
						setCookie("0",7);
						return true;

					case "01" : 
					case "14" : 
					case "15" : 
					case "16" : 
						alert(tmpMsg);
						return false;
				}
			}
		}
		else{
			ShowMsg("P5006","");
			return false;
		}
	}
	else{
		return false;
	}		
}


//====================================================================
//06.功能：檢查日期....為 日/月/年
//              傳入值:Date
//              傳回值:true or false
//====================================================================
function chkDate_New(InField,InFieldName,ChkField,txtTab) {
	if(txtTab.value!=9)
		return;
	if(InField.value.length<8 && InField.value.length>0){
		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！ \n 或  ddmmyyyy : 30112003 !");   
	   	InField.focus();
    	InField.select();
		ChkField.value="incorrect";
    	return false;
	}
	else{
		ChkField.value="";
	}

	if(InField.value.length==8){
		var strDate=InField.value;
		var strTmp=strDate.split("/");

		var strDay;
		var strMonth;
		var strYear;
		
		if(strTmp.length>1){
			strDay=strTmp[0];
			strMonth=strTmp[1];
			strYear=strTmp[2];
		}
		else{
			strDay=InField.value.substring(0,2);
			strMonth=InField.value.substring(2,4);
			strYear=InField.value.substring(4,8);
		}
	
		if((strDay>0 && strDay<32) && (strMonth>0 && strMonth<13) && (strYear>1899)){
	   		if ((strMonth==4||strMonth==6||strMonth==9||strMonth==11) && strDay > 30) {    	                
    	    	alert(CallInFieldName+"該月僅有 30 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
			else if (strMonth==2) {
    	    	if (parseInt(strYear) % 4 > 0 && strDay > 28) {
        	    	alert(CallInFieldName+"該月僅有 28 天 !")
            		InField.focus();
            		InField.select();
					ChkField.value="incorrect";
	            	return false;
    	    	}
				else if (parseInt(strYear) % 4 == 0 && strDay > 29) {
            		alert(CallInFieldName+"該月僅有 29 天 !")
	            	InField.focus();
    	        	InField.select();
					ChkField.value="incorrect";
        	    	return false;
        		}
	    	}
			else if (strDay > 31){
       			alert(CallInFieldName+"該月僅有 31 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
			InField.value=strDay+"/"+strMonth+"/"+strYear;
	    	return true;
		}
		else{
    		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  ddmmyyyy : 30112003！");   
	    	InField.focus();
    		InField.select();
			ChkField.value="incorrect";
    		return false;
		}
	}
	else{
		ChkField.value="";
	}
	
	if (InField.value.length>8){
		var i,CallInFieldName;
		var str_i = InField.value;
		var str_p = "DD/MM/YYYY";
		p_element = new Array(3);
		i_element = new Array(3);
		reg_year  = /yyyy|yyy|yy|rr/i;
		reg_ycnt  = /y|r/gi;
		arr_mon   = ["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
		reg_mon   = /Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec/i;
		reg_month = /mon/i;
		reg_s     = /\-|\/|\,|\./;
		reg_ss    = /\-|\/|\,|\./g;

		if (InField.value.length == 0) {
	   	 	return true;
		}
		
		if (InFieldName.length>0)
	   	  	CallInFieldName="「"+InFieldName+"」";
		else
   		 	CallInFieldName="";
  
		if (str_p.match(reg_month)){
    		if (!str_i.match(reg_mon)) {
       		 	alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");                
        		InField.focus();
          		InField.select();
				ChkField.value="incorrect";
	          	return false;
    	   	}
			else{
		       	for (i=1;i<=12;i++){
            		if (str_i.match(new RegExp(arr_mon[i],"i"))){
                		str_i = str_i.replace(new RegExp(arr_mon[i],"i"),i);
          			}
       			}
   			}
  		}
	
		// find seperate
		if (str_p.match(reg_s)){
    		sep  = str_p.match(reg_s);
    		seps = new RegExp("\\"+sep,"g");
			
		    if (str_i.match("\\"+sep)&&str_i.match(seps).length == 2){
    		    p_element=str_p.split(sep);
       			i_element=str_i.split(sep);
	    	}
			else{
    			alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");                
	        	InField.focus();
    	    	InField.select();
				ChkField.value="incorrect";
        		return false;
	    	}
		// no seperate
		}
		else{
	    	var cnt =0 ,arr_cnt =0;
    		while (arr_cnt < 3){
        		p_s = str_p.substr(cnt,1);
        		p_l = str_p.match(new RegExp(p_s,"gi")).length;
	        	p_element[arr_cnt] = str_p.substr(cnt,p_l);
    	    	i_element[arr_cnt] = str_i.substr(cnt,p_l);
        		arr_cnt = arr_cnt + 1;
        		cnt = cnt + p_l;
	    	}
		}

	    for (i=0;i<=2;i++){
    		if (p_element[i].match(/y|r/i)){
        		var yy = i_element[i];
            	var reg_y = "\\b\\d{2,"+p_element[i].match(reg_ycnt).length+"}\\b";
			}
    	
		    if (p_element[i].match(/m/i)){
        		if (i_element[i].length<2){
        			var mm = "0"+i_element[i];
	            }
				else{
        	    	var mm=i_element[i];
            	}
			}
            
			if (p_element[i].match(/d/i)){
        		if (i_element[i].length<2){
            		var dd = "0"+i_element[i];
	            }	
				else{
        	        var dd=i_element[i];
	            }
			}
	    }
	
		if (yy.match(reg_y) && (mm>0 && mm<13) && (dd>0 && dd<32)){
	   		if ((mm==4||mm==6||mm==9||mm==11) && dd > 30) {    	                
    	    	alert(CallInFieldName+"該月僅有 30 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
			else if (mm==2) {
    	    	if ((parseInt(yy)+1000) % 4 > 0 && dd > 28) {
        	    	alert(CallInFieldName+"該月僅有 28 天 !")
            		InField.focus();
            		InField.select();
					ChkField.value="incorrect";
	            	return false;
    	    	}
				else if ((parseInt(yy)+1000) % 4 == 0 && dd > 29) {
            		alert(CallInFieldName+"該月僅有 29 天 !")
	            	InField.focus();
    	        	InField.select();
					ChkField.value="incorrect";
        	    	return false;
        		}
	    	}
			else if (dd > 31){
       			alert(CallInFieldName+"該月僅有 31 天 !")
        		InField.focus();
	        	InField.select();
				ChkField.value="incorrect";
    	    	return false;
    		}
	    	return true;
		}
		else{
    		alert(CallInFieldName+"日期格式錯誤！\n請修正輸入格式如  dd/mm/yyyy : 30/11/2003！");   
	    	InField.focus();
    		InField.select();
			ChkField.value="incorrect";
    		return false;
		}
	}	
	else{
		ChkField.value="";
	}
}
//====================================================================
//07.功能：檢查時間....為 時:分(24小時制)
//              傳入值:時間字串
//              傳回值:true or false
//====================================================================
function chkTime_New(InField,DateField,ChkField) {

	if(ChkField.value=="incorrect")
		return;
    strAlert1="時間格式錯誤！\n請修正輸入格式如  HH:MM : 20:00！";
    strTime=InField.value;
	strTimePart=strTime.split(":");

	if(strTime.length=="" && DateField.value.length=="" ){
		return;
	}
	
	if(strTime.length==4){
		//格式0000
		if(!(eval(strTime.substring(0,2))>=0 && eval(strTime.substring(0,2))<=23)){
	        InField.focus();
    	    InField.select();
			alert(strAlert1);
			return false;
		}
		
		if(!(eval(strTime.substring(2,4))>=0 && eval(strTime.substring(2,4))<=59)){
	        InField.focus();
    	    InField.select();
			alert(strAlert1);
			return false;
		}
		InField.value=strTime.substring(0,2)+":"+strTime.substring(2,4);
		//return true;
	}
	else{
		//格式00:00
		if ( strTimePart.length != 2 ) {
        	InField.focus();
	        InField.select();
		    alert(strAlert1);
			return false;
		} 
	   
		intTime=eval(strTimePart[0]);
		if ( !(intTime>=0 && intTime<=23) ) {
	        InField.focus();
    	    InField.select();
			alert(strAlert1);
			return false;
	    }
	   
		intTime=eval(strTimePart[1]);
		if ( !(intTime>=0 && intTime<=59) ) {
        	InField.focus();
	        InField.select();
		    alert(strAlert1);
			return false;
	    }
		//return true;   
	}
	
	if(strTime.length=="" && DateField.value.length!="" ){
		alert("請輸入時間！");
		InField.focus();
		return;
	}
	
	if(strTime.length!="" && DateField.value.length==""){
		alert("請輸入日期！");
		DateField.focus();	
		return;
	}
}  

//====================================================================
//功能：Get RefNo Type
//Input：1.objXml=接所取得值之xml
//====================================================================

function GetRefType(objXML){
	var poster1=new ActiveXObject("Microsoft.XmlHttp");
	poster1.open("post","FMCode_get.asp?strNext=GetRefType","false");
	poster1.send("");

	var tmpReturn=poster1.responseText; 
	if (poster1.status=="200" && tmpReturn.substr(38,5)!='error'){
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmpReturn);

		var xmlTmp2=new ActiveXObject("msxml.domdocument");
		xmlTmp2.loadXML("<record><rs><Code/><Descp></Descp></rs></record>");

		if (xmlTmp.selectNodes("record/FMCode/rs").length>0){
			var nodeTmp=xmlTmp.selectSingleNode("record/FMCode");
			objXML.loadXML(nodeTmp.xml);
			objXML.selectSingleNode("FMCode").insertBefore(xmlTmp2.selectNodes("record/rs").nextNode,objXML.selectSingleNode("FMCode").firstChild);
		}
		else{
			//無資料
			objXML.loadXML("<FMCode/>");
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(tmpReturn);
		ShowMsg("0", "@"+poster1.status+"\\"+xmlErr.text);
	}
}

//============================================================
//功能：讀取TmpStatus的資料
//Input：1.objXml=接所取得值之xml
//            2.objLang=語系
//====================================================================
function GetTmpStatus(objXml,objLang,objTxt){
	
	var poster1=new ActiveXObject("Microsoft.XmlHttp");
	poster1.open("post","Party_get.asp?strNext=GetTemplate&PID="+objTxt.value+"&Lang="+objLang,"false");
	poster1.send("");
	var tmpReturn=poster1.responseText; 

	if (poster1.status=="200" && tmpReturn.substr(38,5)!='error'){
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmpReturn);
		
		var xmlTmp2=new ActiveXObject("msxml.domdocument");
		xmlTmp2.loadXML("<record><rs><Descp>Choose</Descp></rs></record>");
		
		if (xmlTmp.selectNodes("record/FMTemplate/rs").length>0){
			var nodeTmp=xmlTmp.selectSingleNode("record/FMTemplate");
			objXml.loadXML(nodeTmp.xml);
			objXml.selectSingleNode("FMTemplate").insertBefore(xmlTmp2.selectNodes("record/rs").nextNode,objXml.selectSingleNode("FMTemplate").firstChild);
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(tmpReturn);
		ShowMsg("0", "@"+poster1.status+"\\"+xmlErr.text);
	}
}


//====================================================================
//22.功能：取得幣別資料
//Input：1.objXml=接所取得值之xml
//            2.objLang=語系
//====================================================================
function GetCurr(objXml,objLang){
	
	var poster1=new ActiveXObject("Microsoft.XmlHttp");
	poster1.open("post","FMCode_get.asp?strNext=GetCurr&Lang="+objLang,"false");
	poster1.send("");
	
	var tmpReturn=poster1.responseText; 

	if (poster1.status=="200" && tmpReturn.substr(38,5)!='error'){
		//產生新的Dom物件去接XML
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmpReturn);
			
		//判斷是否有讀取到FMCurrency資料
		if (xmlTmp.selectNodes("record/FMCurrency/rs").length>0){
			var nodeTmp=xmlTmp.selectSingleNode("record/FMCurrency");
			objXml.loadXML(nodeTmp.xml);
		}
		else{
			//無資料
			objXml.loadXML("<FMCurrency/>");
		}
	}
	else{
		//秀錯誤訊息
		xmlErr.loadXML(tmpReturn);
		ShowMsg("0", "@"+poster1.status+"\\"+xmlErr.text);
	}
}

//====================================================================
//功能：至SyRule取得是否有權使用此功能
//Input：1.objHid=接所取得值之hidden
//            2.objPID=接PartyID
//            3.objCode=接SyRule代碼欄位
//            4.objSeq=接SyRule序號欄位
//====================================================================
function GetAuthorize(objHid,objPID,objCode,objSeq){

	// 使用 soap 語法將新增的資料加入SQL 中
	var poster=new ActiveXObject("Microsoft.XmlHttp");	
	poster.open("post","public_get.asp?strNext=GetSyRule&PID="+objPID+"&RCode="+objCode+"&SeqNo="+objSeq,"false");
    poster.send("");

	var tmpReturn=poster.responseText; 

	var tmpSyRule="";
	
	if ( poster.status=="200" && tmpReturn.substr(38,5)!='error'){
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmpReturn);
		if ( xmlTmp.selectNodes("record/SyRule/rs").length > 0 ){
			nodeTmp=xmlTmp.selectSingleNode("record/SyRule/rs/Value");
			  
			if(objHid!="")
				objHid.value=nodeTmp.text;
			else
				tmpSyRule=nodeTmp.text;
				
		}
		else{
			if(objHid!="")
				objHid.value="";
		}
	}  
	else{
		//秀錯誤訊息
		xmlErr.loadXML(tmpReturn);
		ShowMsg("0", "@"+poster.status+"\\"+xmlErr.text);
	}
	
	if(tmpSyRule!="")
		return tmpSyRule;
}

//====================================================================
//功能：取得Login公司的type ---回傳結果
//====================================================================
function GetPTY(){
	
	var tmpPTY="";
	var tmpPost="Party_get.asp?strNext=GetPType";
	var poster1=new ActiveXObject("Microsoft.XmlHttp");
	poster1.open("post",tmpPost,"false");
	poster1.send("");

	var tmpReturn=poster1.responseText; 
	
	if (poster1.status=="200" && tmpReturn.substr(38,5)!='error'){
		var xmlTmp=new ActiveXObject("msxml.domdocument");
		xmlTmp.loadXML(tmpReturn);
		
		if (xmlTmp.selectNodes("record/FMCompany/rs").length>0){
			if(xmlTmp.selectNodes("record/FMCompany/rs").length==1){
				tmpPTY=xmlTmp.selectSingleNode("record/FMCompany/rs/PartyType").text;
			}
		}
	}
	else{
		xmlErr.loadXML(tmpReturn);
		ShowMsg("0", "@"+poster1.status+"\\"+xmlErr.text);
	}
	
	return tmpPTY;
}

//====================================================================
//功能：單獨只有新增或修改權限的限制
//====================================================================
function GetRightEach(objMode,objMode1,objState,btnName){

	switch (objMode){
		case "Y" :
			switch (objState){
				case "New" :
					btnName.disabled=false;
				break;
				case "Modify" :
					if(objMode1!="Y")
						btnName.disabled=true;
				break;
			}
		break;
		
		case "" :		
		case "N" :
			switch (objState){
				case "New" :
					btnName.disabled=true;
				break;
				case "Modify" :
					if(objMode1!="Y")
						btnName.disabled=true;
				break;
			}
		break;
	}
}

function funBlank(){
	var i;
	var j=document.all.length;
	var tmpBlank="";

	for (i=0;i<=j-1;i++){
		switch (document.all(i).type){
			case "text" :
			case "textarea" :
			case "select-one" :
				if(document.all(i).value!=""){
					tmpBlank="Y";
				}
			break;
		}
	}
	return tmpBlank;
}