function checkDate(myValue)
{    
    //variable declarations!
    var mValues = "312831303130313130313031";

    //get the no. of arguments passed to this function
    
    myYYYY    = myValue.substring(0,4);    // extract Year
    myMM       = myValue.substring(4,6);     // extract Month
    myDD       = myValue.substring(6,8);    // extract Date
    
    if ( (isNaN(myDD)) || (isNaN(myMM)) || (isNaN(myYYYY)) ){
        alert("您的輸入日期有誤，請重新輸入。");
        return false;
    }

    if ( (myMM > 12) || (myMM <= 0) ){
        alert("您的輸入月份有誤，請重新輸入。");
        return false;
    }

    var lastDate = 0;

    if (myMM == 2) {
        if (isLeapYear(myYYYY)) {
            lastDate = 29;
        } else {
            lastDate = 28;
        }
    }  else {
        lastDate = mValues.substring((myMM-1)*2, (myMM-1)*2+2);
    }

    if ( (myDD > lastDate) || (myDD <=0) ){
        alert("您的輸入日期有誤，請重新輸入。");
        return false;
    }
    return true;
}

function isEmpty(str) {

        strtmp = ''+ str;
        if (strtmp != '') {
           for(var i = 0; i < strtmp.length; i++) {
             var c = strtmp.charAt(i);
            if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
            }
        }    
        return true;
}

function isInt(str) {

        strtmp = ''+ str;
    for (var i = 0; i < strtmp.length; i++)
    {
             var oneChar = strtmp.charAt(i);
          if (oneChar < '0' || oneChar > '9') {
               return false;
             }
    }
    return true;
}

function isLeapYear (Year) { 
    if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) { 
        return (true);
    } else { 
        return (false);
    }
}

function validEmail (eAddr) { 
    
   var chkDot = true;
   var usEmail = true;    
   var lenSuffix = (usEmail) ? 4: 3;
   var goodAddr = false;
   var ndxAt = ndxDot = 0;

   ndxAt  = eAddr.indexOf("@");
   ndxDot = eAddr.indexOf(".");
   ndxDot2 = eAddr.lastIndexOf(".");

   if ( (ndxDot < 0) || (ndxAt < 0) ) {
      alert("您輸入的Email必須包含 '.' 與 '@'，請重新輸入。");  
   } else {
      goodAddr = true;
   }
   return (goodAddr);       
}

//請傳年的型態(1.西元2.民國)、年、月、日的物件(ex. document.form.year)，可判斷是否為數字、閏年、天數
function checkDate (YearType,YearObj,MonthObj,DayObj) { 
    
    if(YearObj.value==""){
        alert("請輸入年份");   
        YearObj.focus();
        return false;   
     }
    if(MonthObj.value==""){
        alert("請輸入月份");   
        MonthObj.focus();
        return false;   
     }
     if(DayObj.value==""){
        alert("請輸入日期");   
        DayObj.focus();
        return false;   
     }
    
    if(!isInt(YearObj.value)){
        alert("年份必須為數字");
        YearObj.focus();
        return false;
    }
    if(!isInt(MonthObj.value)){
        alert("月份請填 1 ~ 12 數字");
        MonthObj.focus();
        return false;
    }
    if(!isInt(DayObj.value)){
        alert("日期請填 1 ~ 31 數字");
        DayObj.focus();
        return false;
    }
    if(MonthObj.value > 12){
        alert("月份請填 1 ~ 12 數字");
        MonthObj.focus();
        return false;
    }   
    
    if(MonthObj.value==1 ||MonthObj.value==3 ||MonthObj.value==5 ||MonthObj.value==7 ||MonthObj.value==8 ||MonthObj.value==10 ||MonthObj.value==12 ){
       if(DayObj.value > 31){
            alert("日期請填 1 ~ 31 數字");
            DayObj.focus();
            return false;
       }       
    }else if(MonthObj.value==2){
        if(YearType==1){
           if(isLeapYear(YearObj.value)){
                if(DayObj.value > 29){
                    alert("日期請填 1 ~ 29 數字");
                    DayObj.focus();
                    return false;
                }
           }else{
                if(DayObj.value > 28){
                    alert("日期請填 1 ~ 28 數字");
                    DayObj.focus();
                    return false;
                }
           }
        }else{
           
           if(isLeapYear((YearObj.value*1+1911))){
                
                if(DayObj.value > 29){
                    alert("日期請填 1 ~ 29 數字");
                    DayObj.focus();
                    return false;
                }
           }else{
                if(DayObj.value > 28){
                    alert("日期請填 1 ~ 28 數字");
                    DayObj.focus();
                    return false;
                }
           } 
        
        
        
        
        }           
    }else if(MonthObj.value==4||MonthObj.value==6 || MonthObj.value==9||MonthObj.value==11  ){
        if(DayObj.value>=30){
            alert("日期請填 1 ~ 30 數字");
            DayObj.focus();
            return false;
       }
    }
    
    return true
}

//1檢查信用卡號碼條件如下
//16碼數字
//以前六碼卡號檢核：456301；456319；451873；431195；543372；540829；547785
//以前二碼卡號檢核：01（客戶輸入11碼，請於01前面固定加"4000"末碼固定放"0"）
//以前八碼卡號檢核：54337288；54082988；54337289；54082989
//傳入CardNo(要檢查的卡號)回傳ture或false


function CheckCardNo(CardNo){
    var chkFlag = "";    
    if(CardNo.length==16){  // 16碼數字
       // Card6 = CardNo.substring(0,6);
       // Card8 = CardNo.substring(0,8);
       // if(Card6=="456301" || Card6=="456319" || Card6=="451873" ||Card6=="431195" || Card6=="547785"){
       //     chkFlag = true;
       // }else if(Card8=="54337288" || Card8=="54082988" || Card8=="54337289" ||Card8=="54082989" ){
            chkFlag = true;       
      //  }else{
      //      chkFlag = false;
      //  }
    }else if(CardNo.length==11){  // 11碼數字
        Card2 = CardNo.substring(0,2);
        if(Card2=="01"){
            chkFlag = true;
        }else{
            chkFlag = false;
        }
    }else {
            chkFlag = false;
    }
    return(chkFlag);
}

function getOptionIndex(obj){
	
	index=0;
	for(ct=0;ct<obj.length ;ct++){
		if(obj.options[ct].selected==true){
			index=ct;
		}	
	}
	return index;
}

// Function: 檢查時間是否符合西元時間格式
// Input  Date_Str 日期格式:2000/01/01
// Output false 日期格式錯誤
// Output true 符合條件

function IsDate(DateStr){
	var vY  = DateStr.substring(0,4);
	var vM 	= DateStr.substring(5,7);
	var vD  = DateStr.substring(8,10);
    var rst = true ;

    if((isNaN(vY)) || (isNaN(vM)) || (isNaN(vD))){
        rst = false;
    }
    else
    {
        vY = vY.substr(0,4);
        if(vM/1 > 12 || vM/1 <= 0 || vD/1 <= 0)
            rst =  false;
        else if(vM/1 == 1 || vM/1 == 3 || vM/1 == 5 || vM/1 == 7 || vM/1 == 8 || vM/1 == 10 || vM/1 == 12 )
        {
            if(vD/1 > 31)
                rst =  false;
        }
        else if(vM/1==2)
        {
            if(isLeapYear((vY/1)))
            {
                if(vD/1 > 29)
                    rst =  false;
            }
            else
            {
                if(vD/1 > 28)
                    rst =  false;
            }
        }
        else if(vM/1 == 4 || vM/1 == 6 || vM/1 == 9 || vM/1 == 11)
        {
            if(vD/1>30)
                rst =  false;
        }
    }
    return rst;

}
//回傳2個日期相差天數
//傳入格式 2004/01/01
function diffdays(InptDay1,InptDay2){
  var d1 = new Date(InptDay1);
  var d2 = new Date(InptDay2);
  var difference = d2.getTime() - d1.getTime();
  return (difference/1000/60/60/24);
}