﻿var vCodePage;

if (typeof(window.parent.menuframe)=='object')
{
	vCodePage = window.parent.menuframe.CodePage;
	//alert('vCodePage== '+vCodePage);
}
else
	
{
	vCodePage = '950';		
}
<!--
//***********************************************************************************
//函式 : ClearSelectOnPress(fld1)
//函式 : ClearSelectOnKeyUp(fld1,fld2)
//目的 : 檢查按鍵是否為『Backspace』或『Delete』是則清空傳進的兩個input,反之Return
//       ClearSelectOnPress和ClearSelectOnKeyUp為一組，不能分開使用
//參數 : fld1  - 輸入控制項id
//       fld2  - 隱藏的hdn input,通常為serialno
//回傳 : 無



//撰寫人:  
//修改記錄:Jack 2003/7/9 
//2003/08/11 Clare Ju 修改內容:ClearSelectOnKeyUp函式多傳一個參數tagID,因為編擬的期別代號必須動態更新



//***********************************************************************************
//檢查按鍵是否為『Backspace』或『Delete』是則清空傳進的兩個input
//否則不做任何事就Return
//ClearSelectOnPress和ClearSelectOnKeyUp為一組，不能分開使用
//fld1為input，fld2為hdn的input 
var oldvalue;
var pressstatus;
function ClearSelectOnPress(fld1)
	{
			if (pressstatus) return;
			oldvalue = document.all(fld1).value;
			if (oldvalue =='') oldvalue=document.all(fld1).value;
			pressstatus = true;		
			return;
	}

function ClearSelectOnKeyUp(fld1,fld2)
	{
		pressstatus = false;
		if(window.event.keyCode==8 || window.event.keyCode==46) 
		{
			document.all(fld1).value = '';
			document.all(fld2).value = '';	
		}
		else
		{
			//Add by WarrenTeng 2002/4/4 fix bug eHRD_3_0195  
			if (typeof(oldvalue)=='undefined')
			{
				document.all(fld1).value = '';
				document.all(fld2).value = '';
			}
			else
			{		
				document.all(fld1).value=oldvalue;
			}
			return;
		}	
	}
	
//1. 當使用者對fld1手動輸入時，若fld2不為空(曾經輸入值)則呼叫ClearSelectOnKeyUp清空fld1及fld2
//2. 若fld2為空則沒作用
//3. 以keyup事件啟動
//4. 不可與ClearSelectOnPress一起使用

//Add By Mark S. on 2006/08/31
function ClearSelectWhenManualInput(fld1,fld2)
{
	if (document.all(fld2).value !='')
	{
		ClearSelectOnKeyUp(fld1,fld2);
	}
}

//  Forum 1.0
//************************************************
//檢查yearmonth之間的時間是否正確


//************************************************ 
function Alertyearmonth(startyear,startmonth,endyear,endmonth) 
{
  switch (vCodePage)
 {
   case "950":
       if (parseInt(startyear.value)  > parseInt(endyear.value) )
       {
	  //Mdy by IanHuang 2004/4/6 大於改成晚於
	  alert("起始年份不得晚於終止年份,請檢查!!");
	  //end Mdy
                  return true;
       }
		
       if ((parseInt(startyear.value)  == parseInt(endyear.value) ) && (parseInt(startmonth.value)  > parseInt(endmonth.value) ) )
       {
	  //Mdy by IanHuang 2004/4/6 大於改成晚於
	  alert("起始年月不得晚於終止年月,請檢查!!");
	  //end Mdy
                  return true;
       }
       return false;
       break;
   case "936":
       if (parseInt(startyear.value)  > parseInt(endyear.value) )
       {
	  //Mdy by IanHuang 2004/4/6 大於改成晚於
	  alert("起始年份不得晚于终止年份,请检查!!");
	  //end Mdy
                  return true;
       }
		
       if ((parseInt(startyear.value)  == parseInt(endyear.value) ) && (parseInt(startmonth.value)  > parseInt(endmonth.value) ) )
       {
	  //Mdy by IanHuang 2004/4/6 大於改成晚於
	  alert("起始年月不得晚于终止年月,请检查!!");
	  //end Mdy
                  return true;
       }
       return false;
       break;
}

}

//************************************************
//函式 : IsNonYear()
//目的 : 不可單獨年為空白
//參數 : vDateYear    - Year
//           vDateMonth - Month
//           sCaption      - 該欄位名稱


//返回 : true(錯誤), false(正確)
//************************************************
function IsNonYear(vDateYear,vDateMonth,sCaption)
{
	if(!(vDateMonth.value == '0' || vDateMonth.value == '13'))
		if(vDateYear.value == '')
		{
		 	AlertFocus(vDateYear,sCaption + "不可空白");
		 	return true;
		}
}

// End Forum 1.0
//----------------------------------------------------------

//是否為空白


function IsEmpty(vData) { 
	if (vData == null) return true;

	var sData = vData.toString();
	for (var i = 0; i < sData.length; i++) {
		var sChar = sData.charAt(i);		
		if (sChar != " ") return false;
	}				
	return true;
}

//是否為數字


function IsNumber(vData) { 
	if ( isNaN( parseFloat(vData) ) ) return false;
	if ( parseFloat(vData) != vData ) return false;
	return true;
}

//是否為整數


function IsInteger(vData) { 
	if ( isNaN( parseInt(vData) ) ) return false;
	//mdy by KathyChang 2004/3/4,parseInt加上參數10-表示為10進位
	if ( parseInt(vData,10) != vData ) return false;
	return true;
}

//----------------------------------------------------------
	
//顯示訊息並設駐點
function AlertFocus(txtText, sDesc) { 
	alert(sDesc);
//	txtText.focus();
	txtText.select();
	return true;
}

//檢查資料是否空白,若是空白則顯示訊息並設駐點


function AlertEmpty(txtText, sCaption) { 

  switch (vCodePage)
 {
  case "950":	
	if ( IsEmpty(txtText.value) ) 
		return AlertFocus(txtText, "請輸入" + sCaption + "資料 !!");
	return false;
	break;
  case "936":
	if ( IsEmpty(txtText.value) ) 
		return AlertFocus(txtText, "请输入" + sCaption + "资料 !!");
	return false;  
	break;
  }
}

//檢查twotime之間的時間是否正確


function Alerttwotime(starthour,startminute,endhour,endminute) {
  //var   starthour=parseInt(starthour);
  //var
  switch (vCodePage)
 {
   case "950":
if (parseInt(starthour.value)  > parseInt(endhour.value) )
		{
		  alert("起始時間不得晚於終止時間,請檢查!!");
                  return true;
		}
		
	if ((parseInt(starthour.value)  == parseInt(endhour.value) ) && (parseInt(startminute.value)  >= parseInt(endminute.value) ) )
		{
		  alert("起始時間不得晚於終止時間,請檢查!!");
                  return true;
		}
	return false;
       break;
   case "936":
if (parseInt(starthour.value)  > parseInt(endhour.value) )
		{
		   alert("起始时间不得小于终止时间,请检查!!");
                  return true;
		}
		
	if ((parseInt(starthour.value)  == parseInt(endhour.value) ) && (parseInt(startminute.value)  >= parseInt(endminute.value) ) )
		{
		  alert("起始时间不得小于终止时间,请检查!!");
                  return true;
		}
	return false;
       break;
}

}


//檢查EMail資料是否正確,若有錯誤則顯示訊息並設駐點


function AlertBadEMail(txtText, sCaption, bCanEmpty) { 
  var vData = txtText.value;
  switch (vCodePage)
 {
  case "950":
    if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
    }
    
    // Check for email address: look for [@] and [.] 
   /*HRD9502 KathyChang 2006/6/18 Mark
   if (vData.indexOf("@") + "" != "-1" && vData.indexOf(".") + "" != "-1")
		return false;
	return AlertFocus(txtText, sCaption + "資料不正確 !!");
	break;*/
	//HRD9502 KathyChang 2006/6/18 Add
	//Mdy By Kuan Chih L. For HRD 9701 bug 12694 on 2008/8/12 
	//var myreg=new RegExp("^[_a-z0-9]+\.+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$","i"); 
	var myreg=new RegExp("^[_a-z0-9]+(\.[_a-z0-9]+)*@([_a-z0-9]+\.)+[a-z0-9]{2,3}$","i"); 
	//Mdy By Kuan Chih L. For HRD 9701 bug 12694 on 2008/8/12  END
		if(myreg.test(vData)) 
		return false;
	return AlertFocus(txtText, sCaption + "資料不正確 !!");
    break;
    //HRD9502 KathyChang 2006/6/18 End Add
  case "936":
    if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
    }  
    if (vData.indexOf("@") + "" != "-1" && vData.indexOf(".") + "" != "-1")
		return false;
	return AlertFocus(txtText, sCaption + "资料不正确 !!");
    break;
 }

}

//----------------------------------------------------------
//函式 : AlertBadInt()
//目的 : 檢查整數型別資料正確性,若有錯誤則顯示訊息並設駐點


//參數 : txtText   - 資料控制項


//       sCaption  - 資料標題 
//       bCanEmpty - 是否允許空白,true(可),false(不可)
//       vMinValue - 最小值, 若無限制則填 null
//       vMaxValue - 最大值, 若無限制則填 null
//返回 : true(錯誤), false(正確)
//範例 : AlertBadInt(txtData, "售價", false, null, 8)
//
function AlertBadInt(txtText, sCaption, bCanEmpty, vMinValue, vMaxValue) {
	var vData = txtText.value;
  switch (vCodePage)
 {
   case "950":
	var sErrDesc = sCaption + "資料不正確 !!\n\n請輸入";
	
	//組合錯誤訊息
	if ((vMinValue != null) && (vMaxValue != null))  
		sErrDesc += "介於 " + vMinValue + " 到 " + vMaxValue + " 之間的";
	else 
		if (vMinValue != null)
			sErrDesc += "不可小於 " + vMinValue + " 的"; 
	else 
		if (vMaxValue != null)
			sErrDesc += "不可大於 " + vMaxValue + " 的";
			
    sErrDesc += "整數 !!";
    
    //檢查資料正確性


    if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, sErrDesc); 
    }
    
    if (!IsInteger(vData)) 
		return AlertFocus(txtText, sErrDesc); 
    if (vMinValue != null)
		if (vData < vMinValue) return AlertFocus(txtText, sErrDesc); 
    if (vMaxValue != null)
		if (vData > vMaxValue) return AlertFocus(txtText, sErrDesc); 
    
    return false;
       break;
   case "936":
	sErrDesc = sCaption + "资料不正确 !!\n\n请输入";
	
	//組合錯誤訊息
	if ((vMinValue != null) && (vMaxValue != null))  
		sErrDesc += "介于 " + vMinValue + " 到 " + vMaxValue + " 之间的";
	else 
		if (vMinValue != null)
			sErrDesc += "不可小于 " + vMinValue + " 的"; 
	else 
		if (vMaxValue != null)
			sErrDesc += "不可大于 " + vMaxValue + " 的";
			
    sErrDesc += "整數 !!";
    
    //檢查資料正確性


    if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, sErrDesc); 
    }
    
    if (!IsInteger(vData)) 
		return AlertFocus(txtText, sErrDesc); 
    if (vMinValue != null)
		if (vData < vMinValue) return AlertFocus(txtText, sErrDesc); 
    if (vMaxValue != null)
		if (vData > vMaxValue) return AlertFocus(txtText, sErrDesc); 
    
    return false;
       break;
}

}

//----------------------------------------------------------
//函式 : AlertBadNum()
//目的 : 檢查數字型別資料正確性,若有錯誤則顯示訊息並設駐點


//參數 : txtText   - 資料控制項


//       sCaption  - 資料標題 
//       bCanEmpty - 是否允許空白,true(可),false(不可)
//       vMinValue - 最小值, 若無限制則填 null
//       vMaxValue - 最大值, 若無限制則填 null
//返回 : true(錯誤), false(正確)
//範例 : AlertBadNum(txtData, "售價", false, null, 8)
//
function AlertBadNum(txtText, sCaption, bCanEmpty, vMinValue, vMaxValue) {
	var vData = txtText.value;
  switch (vCodePage)
 {
   case "950":
	var sErrDesc = sCaption + "資料不正確 !!\n\n請輸入";
	
	//組合錯誤訊息
	if ((vMinValue != null) && (vMaxValue != null))  
		sErrDesc += "介於 " + vMinValue + " 到 " + vMaxValue + " 之間的";
	else 
		if (vMinValue != null)
			sErrDesc += "不可小於 " + vMinValue + " 的"; 
	else 
		if (vMaxValue != null)
			sErrDesc += "不可大於 " + vMaxValue + " 的";
			
    sErrDesc += "數字 !!";
    
    //檢查資料正確性


    if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, sErrDesc); 
    }
    
    if (!IsNumber(vData)) 
		return AlertFocus(txtText, sErrDesc); 
    if (vMinValue != null)
		if (vData < vMinValue) return AlertFocus(txtText, sErrDesc); 
    if (vMaxValue != null)
		if (vData > vMaxValue) return AlertFocus(txtText, sErrDesc); 
    
    return false;
       break;
   case "936":
	var sErrDesc = sCaption + "资料不正确 !!\n\n请输入";
	
	//組合錯誤訊息
	if ((vMinValue != null) && (vMaxValue != null))  
		sErrDesc += "介于 " + vMinValue + " 到 " + vMaxValue + " 之间的";
	else 
		if (vMinValue != null)
			sErrDesc += "不可小于 " + vMinValue + " 的"; 
	else 
		if (vMaxValue != null)
			sErrDesc += "不可大于 " + vMaxValue + " 的";
			
    sErrDesc += "數字 !!";
    
    //檢查資料正確性


    if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, sErrDesc); 
    }
    
    if (!IsNumber(vData)) 
		return AlertFocus(txtText, sErrDesc); 
    if (vMinValue != null)
		if (vData < vMinValue) return AlertFocus(txtText, sErrDesc); 
    if (vMaxValue != null)
		if (vData > vMaxValue) return AlertFocus(txtText, sErrDesc); 
    
    return false;
       break;
}
}

//----------------------------------------------------------
//函式 : AlertBadDate()
//目的 : 檢查日期型別資料正確性,若有錯誤則顯示訊息並設駐點


//
function AlertBadDate(txtText, sCaption,IsNeedCheck) { 
    var dateStr = txtText.value;
 switch (vCodePage)
 {
   case "950":
	if (IsEmpty(dateStr)) 
		return AlertFocus(txtText, "請輸入" + sCaption + "資料 !!");
		
    var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);

    if (matchArray == null) 
        return AlertFocus(txtText, sCaption + "資料格式不正確 !!");
        
    var year = matchArray[1];
    var month = matchArray[3];
    var day = matchArray[5];
        
    if (year < 1753 || year > 9999)
        return AlertFocus(txtText, sCaption + "資料年份不正確 !!");

    if (month < 1 || month > 12)
        return AlertFocus(txtText, sCaption + "資料月份不正確 !!");

    if (day < 1 || day > 31) 
        return AlertFocus(txtText, sCaption + "資料不正確 !!");

	if (year==1900 && month==1 && day == 1 ) 
        return AlertFocus(txtText, sCaption + "資料不正確 !!");

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return AlertFocus(txtText, sCaption + "資料不正確 !!");

    if (month == 2) 
        {
           var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
           if (day>29 || (day==29 && !isleap)) 
                return AlertFocus(txtText, sCaption + "資料不正確 !!");
        }
	
	return false;
       break;
   case "936":
	if (IsEmpty(dateStr)) 
		return AlertFocus(txtText, "请输入" + sCaption + "资料 !!");
	
    var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);

    if (matchArray == null) 
        return AlertFocus(txtText, sCaption + "资料格式不正确 !!");
        
    var year = matchArray[1];
    var month = matchArray[3];
    var day = matchArray[5];
        
    if (year < 1753 || year > 9999)
        return AlertFocus(txtText, sCaption + "资料年份不正确 !!");

    if (month < 1 || month > 12)
        return AlertFocus(txtText, sCaption + "资料月份不正确!!");

    if (day < 1 || day > 31) 
        return AlertFocus(txtText, sCaption + "资料不正确 !!");

	if (year==1900 && month==1 && day == 1 ) 
        return AlertFocus(txtText, sCaption + "资料不正确 !!");

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return AlertFocus(txtText, sCaption + "资料不正确!!");

    if (month == 2) 
        {
           var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
           if (day>29 || (day==29 && !isleap)) 
                return AlertFocus(txtText, sCaption + "资料不正确 !!");
        }
	
	return false;
       break;
}

}

//----------------------------------------------------------
//函式 : AlertBadDateForNew()
//目的 : 檢查日期型別資料正確性,若有錯誤則顯示訊息並設駐點
//備註 : 為配合開課可以暫存,只需檢查格式,不需檢查是否有資料

//Albert Pan 2006/2/7 For LMS 3.0 新需求


function AlertBadDateForNew(txtText, sCaption) { 
    var dateStr = txtText.value;
      switch (vCodePage)
 {
   case "950":
	if (IsEmpty(dateStr)){
	}
	else
	{	
		var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
		var matchArray = dateStr.match(datePat);
		
		if (matchArray == null) 
			return AlertFocus(txtText, sCaption + "資料格式不正確 !!");       
		
		var year = matchArray[1];
		var month = matchArray[3];
		var day = matchArray[5];
	        
		if (year < 1753 || year > 9999)
			return AlertFocus(txtText, sCaption + "資料年份不正確 !!");

		if (month < 1 || month > 12)
			return AlertFocus(txtText, sCaption + "資料月份不正確 !!");

		if (day < 1 || day > 31) 
			return AlertFocus(txtText, sCaption + "資料不正確 !!");

		if (year==1900 && month==1 && day == 1 ) 
			return AlertFocus(txtText, sCaption + "資料不正確 !!");

		if ((month==4 || month==6 || month==9 || month==11) && day==31) 
			return AlertFocus(txtText, sCaption + "資料不正確 !!");

		if (month == 2) 
		{
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap)) 
					return AlertFocus(txtText, sCaption + "資料不正確 !!");
		}
	}
	return false;
       break;
   case "936":
	if (IsEmpty(dateStr)) 
		return AlertFocus(txtText, "请输入" + sCaption + "资料 !!");
	
    var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);
        
    var year = matchArray[1];
    var month = matchArray[3];
    var day = matchArray[5];
        
    if (year < 1753 || year > 9999)
        return AlertFocus(txtText, sCaption + "资料年份不正确 !!");

    if (month < 1 || month > 12)
        return AlertFocus(txtText, sCaption + "资料月份不正确!!");

    if (day < 1 || day > 31) 
        return AlertFocus(txtText, sCaption + "资料不正确 !!");

	if (year==1900 && month==1 && day == 1 ) 
        return AlertFocus(txtText, sCaption + "资料不正确 !!");

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return AlertFocus(txtText, sCaption + "资料不正确!!");

    if (month == 2) 
        {
           var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
           if (day>29 || (day==29 && !isleap)) 
                return AlertFocus(txtText, sCaption + "资料不正确 !!");
        }
	
	return false;
       break;
}

}

//----------------------------------------------------------
//函式 : CompDate()
//目的 : Compare two date according to sign , return true when conform Field1 sing field1 ; otherwise return false 
// return message if parameters are wrongs
// Form: FormName, Field1: Date1, Field2: Date2, 
// Sign: "gt" mean date1 >  date2 
//       "ge" mean date1 >= date2
//       "eq" mean date1 =  date2
//       "le" mean date1 <= date2
//       "lt" mean date1 <  date2 
// Desc1: description of date1, Desc2: description of date2
// Author: Hsu Shun-Deng  Time: 2000,6,27
//
function CompDate(txtText1,txtText2, Sign, Desc1, Desc2)
{
    var sdate1 = new Date(txtText1.value);
    var sdate2 = new Date(txtText2.value);
  switch (vCodePage)
 {
   case "950":       
    if(Sign == "gt")
    { 
       //if( sdate1 <= sdate2) 
       if((sdate1-sdate2) <=0)
       {
         AlertFocus(txtText1, Desc1 + "必須晚於" + Desc2);       
         return false;
       }  
    }  
    else if(Sign == "ge")
    { 
       //if( sdate1 < sdate2) 
       if((sdate1-sdate2) <0)
       {
         AlertFocus(txtText1, Desc1 + "必須晚於或等於" + Desc2);       
         return false;
       }  
    }
    else if(Sign == "eq")
    { 
       //if( sdate1 != sdate2) 
       if( (sdate1-sdate2) != 0) 
       {
         AlertFocus(txtText1, Desc1 + "必須等於" + Desc2);       
         return false;
       }  
    }
    else if(Sign == "le")
    { 
       //if( sdate1 > sdate2) 
       if( (sdate1-sdate2) > 0) 
       {
         AlertFocus(txtText1, Desc1 + "必須早於或等於" + Desc2);       
         return false;
       }  
    }
    else if(Sign == "lt")
    { 
       //if( sdate1 >= sdate2) 
       if( (sdate1-sdate2) >= 0) 
       {
         AlertFocus(txtText1, Desc1 + "必須早於" + Desc2);       
         return false;
       }  
    }

    else
    {
      alert("UI bug! Please check input parameters");
      return false;
    }  
    return true;
       break;
   case "936":
    if(Sign == "gt")
    { 
       //if( sdate1 <= sdate2) 
       if((sdate1-sdate2) <=0)
       {
         AlertFocus(txtText1, Desc1 + "必须晚于" + Desc2);       
         return false;
       }  
    }  
    else if(Sign == "ge")
    { 
       //if( sdate1 < sdate2) 
       if((sdate1-sdate2) <0)
       {
         AlertFocus(txtText1, Desc1 + "必须晚于或等于" + Desc2);       
         return false;
       }  
    }
    else if(Sign == "eq")
    { 
       //if( sdate1 != sdate2) 
       if( (sdate1-sdate2) != 0) 
       {
         AlertFocus(txtText1, Desc1 + "必须等于" + Desc2);       
         return false;
       }  
    }
    else if(Sign == "le")
    { 
       //if( sdate1 > sdate2) 
       if( (sdate1-sdate2) > 0) 
       {
         AlertFocus(txtText1, Desc1 + "必须早于或等于" + Desc2);       
         return false;
       }  
    }
    else if(Sign == "lt")
    { 
       //if( sdate1 >= sdate2) 
       if( (sdate1-sdate2) >= 0) 
       {
         AlertFocus(txtText1, Desc1 + "必须早于" + Desc2);       
         return false;
       }  
    }

    else
    {
      alert("UI bug! Please check input parameters");
      return false;
    }  
    return true;
       break;
}
}
    
//----------------------------------------------------------

//選取值(For Radio)
function PointValue(optRadio) { 	
	if(typeof(optRadio)!="undefined")
	{		
		if (typeof(optRadio.length)!="undefined")
		{
			for (var i = 0; i < optRadio.length; i++) {
				if (optRadio[i].checked) return optRadio[i].value;
			}	
		}
		else
		{
			if (optRadio.checked) return optRadio.value;
		}
					
	}
	return ("undefined");
}



//--------------------------------------------------------------------
//只判斷輸入的是否為數值,且加入判斷該欄位可否空白
//--------------------------------------------------------------------
function AlertIsInt(txtText,sCaption,bCanEmpty){
	var vData=txtText.value;
  switch (vCodePage)
 {
   case "950":
	var sErrDesc = sCaption + "請輸入整數數值!!\n如:1234";
	
	if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, sErrDesc); 
    }
	
	if (!IsInteger(vData))		
		return AlertFocus(txtText, sErrDesc);
	
	return false;
       break;
   case "936":
	var sErrDesc = sCaption + "请输入整数数值!!\n如:1234";
	
	if (IsEmpty(vData)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, sErrDesc); 
    }
	
	if (!IsInteger(vData))		
		return AlertFocus(txtText, sErrDesc);
	
	return false;
       break;
}
}

//----------------------------------------------------------
//函式 : AlertBadDateWithCanEmpty()
//目的 : 檢查日期型別資料正確性,若有錯誤則顯示訊息並設駐點


//
function AlertBadDateWithCanEmpty(txtText,sCaption,bCanEmpty) { 
    var dateStr = txtText.value;
  switch (vCodePage)
 {
   case "950":    
	if (IsEmpty(dateStr)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, "請輸入" + sCaption + "資料 !!");
		}
	
    var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);

    if (matchArray == null) 
        return AlertFocus(txtText, sCaption + "資料格式不正確 !!");
        
    year = matchArray[1];
    month = matchArray[3];
    day = matchArray[5];
        
    if (year < 1753 || year > 9999)
        return AlertFocus(txtText, sCaption + "資料年份不正確 !!");

    if (month < 1 || month > 12)
        return AlertFocus(txtText, sCaption + "資料月份不正確 !!");

    if (day < 1 || day > 31) 
        return AlertFocus(txtText, sCaption + "資料不正確 !!");

	 if (year==1900 && month==1 && day == 1 ) 
        return AlertFocus(txtText, sCaption + "資料不正確 !!");

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return AlertFocus(txtText, sCaption + "資料不正確 !!");

    if (month == 2) 
        {
           var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
           if (day>29 || (day==29 && !isleap)) 
                return AlertFocus(txtText, sCaption + "資料不正確 !!");
        }
	
	return false;
       break;
   case "936":
	if (IsEmpty(dateStr)) {
		if (bCanEmpty) return false; 
		return AlertFocus(txtText, "请输入" + sCaption + "资料 !!");
		}
	
    var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);

    if (matchArray == null) 
        return AlertFocus(txtText, sCaption + "资料格式不正确 !!");
        
    year = matchArray[1];
    month = matchArray[3];
    day = matchArray[5];
        
    if (year < 1753 || year > 9999)
        return AlertFocus(txtText, sCaption + "资料年份不正确 !!");

    if (month < 1 || month > 12)
        return AlertFocus(txtText, sCaption + "资料月份不正确!!");

    if (day < 1 || day > 31) 
        return AlertFocus(txtText, sCaption + "资料不正确 !!");

	 if (year==1900 && month==1 && day == 1 ) 
        return AlertFocus(txtText, sCaption + "资料不正确  !!");

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return AlertFocus(txtText, sCaption + "资料不正确 !!");

    if (month == 2) 
        {
           var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
           if (day>29 || (day==29 && !isleap)) 
                return AlertFocus(txtText, sCaption + "资料不正确 !!");
        }
	
	return false;
       break;
}
}

//----------------------------------------------------------
//函式 : NotBadDate()
//目的 : 檢查日期型別資料正確性,若有錯誤回傳true
//
function NotBadDate(txtText) { 
    var dateStr = txtText.value;
    
	if (IsEmpty(dateStr)) 
		return false;
	
    var datePat = /^(\d{4})(\/)(\d{1,2})(\/)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat);

    if (matchArray == null) 
        return false;
        
    var year = matchArray[1];
    var month = matchArray[3];
    var day = matchArray[5];
        
    if (year < 1753 || year > 9999)
        return false;

    if (month < 1 || month > 12)
        return true;

    if (day < 1 || day > 31) 
        return false;

	if (year==1900 && month==1 && day == 1 ) 
        return false;

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return false;

    if (month == 2) 
        {
           var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
           if (day>29 || (day==29 && !isleap)) 
                return false;
        }
	
	return true;
}

//***********************************************************************************
//函式 :AlertBadInputValueLength()
//目的 : 檢查輸入的字串，長度是否超過所設定的vLength。



//		 "超過"則回傳 true 並秀出訊息，" XXX欄位，輸入超過30個字元 
//		 "未超過"return false
//參數 : vInputValue 輸入的值(字串)
//		 vMsgName
//		 vLength
//撰寫人:
//修改記錄:Shows 2003/11/29
//***********************************************************************************
function AlertBadInputValueLength(vInputValue,vMsgName,vLength)
{
  switch (vCodePage)
 {
   case "950":
	if(vInputValue.length > vLength)
	{
		alert('\"' + vMsgName + '\"' + '欄位，輸入超過' + vLength + '個字元 ');
		return true;
	}
	else
	{
		return false;
	}
       break;
   case "936":
	if(vInputValue.length > vLength)
	{
		alert('\"' + vMsgName + '\"' + '字段，输入超过' + vLength + '个字符 ');
		return true;
	}
	else
	{
		return false;
	}
       break;
}
}
//-->
