//壽險算法
function getNowYear(bornYear,bornMonth,bornDay){
	
	var result="0";
	bornYear=parseInt(bornYear, 10);
	bornMonth=parseInt(bornMonth, 10);
	bornDay=parseInt(bornDay, 10);
	
	var nowDate = new Date();
	var nowYear=nowDate.getFullYear();
	var nowMonth=nowDate.getMonth()+1;
	var nowDay=nowDate.getDate();
	
	if ( nowMonth-bornMonth > 6 || (nowMonth-bornMonth==6 && nowDay-bornDay >0)){
		result=nowYear-bornYear+1;
	}	
	else if ( bornMonth - nowMonth > 6 || (bornMonth-nowMonth==6 && bornDay-nowDay >=0)){
		result=nowYear-bornYear-1;
	}
	else{
		result=nowYear-bornYear;
	}
	
	return result;
}
//產險算法大於歲數
function getNonNowYear(bornYear,bornMonth,bornDay,year){
	
	var now = new Date();
	if (now.getYear() - bornYear > year){ 		
        return false;
 	}
 	else if (now.getYear() - bornYear == year){
 		if (now.getMonth()+1 - bornMonth > 0){ 			
	        return false;
 		}
 		else if (now.getMonth()+1 - bornMonth == 0){
 			if (now.getDate() - bornDay < 0){ 	    	     
 		         return false;        
 	    	}
 		}
 	}
	
	return true;
}

//產險算法小於歲數14
function getNonLimitNowYear(bornYear,bornMonth,bornDay,year){
	
	var now = new Date();
	if (now.getYear() - bornYear < year){ 		
        return false;
 	}
 	else if (now.getYear() - bornYear == year){
 		if (now.getMonth()+1 - bornMonth < 0){ 			
	        return false;
 		}
 		else if (now.getMonth()+1 - bornMonth == 0){
 			if (now.getDate() - bornDay > 0){ 	    	     
 		         return false;        
 	    	}
 		}
 	}
	
	return true;
}


 function checkonevalue(){
   var now = new Date();
   if ( travel.pname.value==""){
        alert("請輸入第1位被保險人姓名，謝謝！");
        travel.pname.focus();
        return false;        
     }
     
     if ( travel.ny.value==""){
        alert("請輸入第1位被保險人出生西元(年)，謝謝！");
        travel.ny.focus();
        return false;        
     }
     else {
        if (travel.ny.value.length != 4){
    	     alert("提醒您，第1位被保險人出生年份(西元)有誤，如民國66年，請輸入西元1977年，謝謝！");
	         document.travel.ny.focus();
    		 return false;
     	}        
     	     	
	    if ( checkNum(travel.ny.value)==false){
    		 alert("第1位被保險人出生年份(西元)有誤，請重新輸入，謝謝！");
	         travel.ny.focus();
	         return false;        
     	}
     	
     	if ( travel.ny.value > now.getYear()){
     	     alert("第1位被保險人出生年份(西元)不可晚於投保年份(西元)，謝謝！");
	         travel.ny.focus();
	         return false;        
     	}    
    /*
		if ( now.getYear() - travel.ny.value >= 80){
     	     alert("第1位被保險人年齡超過投保年齡，本專案不開放承保，敬請見諒，謝謝！");
	         travel.ny.focus();
	         return false;        
     	}
     	else if (now.getYear() - travel.ny.value == 80){
     		if ( travel.nm.value > now.getMonth()){
     		 alert("第1位被保險人年齡超過投保年齡，本專案不開放承保，敬請見諒，謝謝！");
	         travel.ny.focus();
	         return false;        
     		}     		
     	}
	*/	
     	
     	if (getNonNowYear(travel.ny.value,travel.nm.value,travel.nd.value,80)== false){
     		alert("第1位被保險人年齡超過投保年齡，本專案不開放承保，敬請見諒，謝謝！");
	        travel.ny.focus();
	        return false;
     	}
     	
     	if (getNonNowYear(travel.ny.value,travel.nm.value,travel.nd.value,70)== false){
     		if (travel.benfit.value > 300){
				alert("第1位被保險人意外身故保額超過新台幣300萬元承保上限，謝謝！");
				travel.ny.focus();
				return false;     
			}
     	}
     	
		/*
		if (getNonLimitNowYear(travel.ny.value,travel.nm.value,travel.nd.value,14) == false){
			if (travel.benfit.value > 200){
	     	    alert("第1位被保險人意外身故保額超過新台幣200萬元承保上限，請重新選擇意外身故保額，謝謝！");
	     	    travel.ny.focus();
		        return false;            		
	    	}
		}
		*/
     	
		if (getNonLimitNowYear(travel.ny.value,travel.nm.value,travel.nd.value,15) == false){			
			alert("第1位被保險人年齡小於投保年齡，本專案不開放承保，敬請見諒，謝謝！");
	     	travel.ny.focus();
		    return false;
		}
				
		
     	/*
    	if ( now.getYear() - travel.ny.value < 14){     
    		if (travel.benfit.value > 200){
     	     alert("第1位被保險人意外身故保額超過新台幣200萬元承保上限，請重新選擇意外身故保額，謝謝！");
	         return false;            		
    		}    	
    	}
    	
    	if ( now.getYear() - travel.ny.value >= 70){     
    		if (travel.benfit.value > 300){
     	     alert("第1位被保險人意外身故保額超過新台幣300萬元承保上限，謝謝！");
	         return false;            		
    		}    	
    	}
    	*/
    	     	         	
     }
     
     if ( travel.nm.value==""){
        alert("請輸入第1位被保險人出生月份，謝謝！");
        travel.nm.focus();        
        return false;        
     }  	
     else{
     /*
        if ( travel.nm.value.length != 2){
        	alert("第1位被保險人出生月份有誤，如1月請輸入01");
	        travel.nm.focus();        
    	    return false;        
        }  	     
     */
        if ( checkNum(travel.nm.value)==false){
	        alert("第1位被保險人出生月份有誤，請重新輸入，謝謝！");
    	    travel.nm.focus();        
	        return false;        
        }  	     
        
        if ( travel.nm.value > 12 || travel.nm.value < 1){
        	alert("提醒您，第1位被保險人出生月份應在1-12月之間，請重新輸入，謝謝！");
	        travel.nm.focus();        
    	    return false;        
        }
     }
     
     if ( travel.nd.value==""){
        alert("請輸入第1位被保險人出生日期，謝謝！");
        travel.nd.focus();        
        return false;        
     }  
     else{
     /*
		if ( travel.nd.value.length != 2){
        	alert("第1位被保險人出生日期，如1月請輸入01！");
	        travel.nd.focus();        
    	    return false;        
        }  	     
     */
        if ( checkNum(travel.nd.value)==false){
	        alert("第1位被保險人出生日期有誤，請重新輸入，謝謝！");
    	    travel.nd.focus();        
	        return false;        
        }  	     
        
        if ( travel.nd.value > 31 || travel.nd.value < 1 ){
        	alert("第1位被保險人出生日期為1-31日，請重新輸入，謝謝！");
	        travel.nd.focus();        
    	    return false;        
        }     		    
     }	
     
     if ( travel.nid.value==""){
        alert("請輸入第1位被保險人身分證字號，謝謝！");
        travel.nid.focus();        
        return false;        
     }  	
     else {
       if (travel.nid.value.length != 10){
    	    alert("提醒您，第1位被保險人身分證字號應為英數字共10碼，請重新輸入，謝謝！");
	        document.travel.wid.focus();
     		return false;
     	}
		if ( CheckEngNum(travel.nid.value)==false){
        	alert("第1位被保險人身分證字號有誤，請重新輸入，謝謝！");
	        travel.nid.focus();        
    	    return false;        
	     }  	     
	     if ( checkid(travel.nid.value)==false){
  	        alert("第1位被保險人身分證字號有誤，請重新輸入，謝謝！");
	        travel.nid.focus();        
    	    return false;        
	     }     	     
     }
     
     if ( travel.bnamen.value=="" && travel.benreation.value !="99"){
        alert("請輸入第1位被保險人之受益人姓名，謝謝！");
        travel.bname.focus();        
        return false;        
     }  	
 
 }
 
 function  checktwovalue(){
   var now = new Date();
   var num =travel.totalnum.value;
   
  for (var i = 0 ; i < num ;i++){
     if ( travel.pname[i].value==""){
        alert("請輸入第" + (parseInt(i)+1) + "位被保險人姓名，謝謝！");
        travel.pname[i].focus();
        return false;        
     }
     
     if ( travel.ny[i].value==""){
        alert("請輸入第" + (parseInt(i)+1) + "位被保險人出生年份(西元)，謝謝！");
        travel.ny[i].focus();
        return false;        
     }
     else {
		if (travel.ny[i].value.length != 4){
    	     alert("第" + (parseInt(i)+1) + "位被保險人出生年份(西元)有誤，如民國66年，請輸入西元1997年，謝謝！");
	         document.travel.ny[i].focus();
    		 return false;
     	}        
     	     	
	    if ( checkNum(travel.ny[i].value)==false){
    		 alert("第" + (parseInt(i)+1) + "位被保險人出生年份(西元)有誤，請重新輸入，謝謝！");
	         travel.ny[i].focus();
	         return false;        
     	}
     	
     	if ( travel.ny[i].value > now.getYear()){
     	     alert("第" + (parseInt(i)+1) + "位被保險人出生年份(西元)不可晚於投保年份(西元)，謝謝！");
	         travel.ny[i].focus();
	         return false;        
     	}
     	/*
     	if ( now.getYear() - travel.ny[i].value > 80){
     	     alert("第" + (parseInt(i)+1) +"位被保險人年齡超過投保年齡，本專案不開放承保，敬請見諒，謝謝！");
	         travel.ny[i].focus();
	         return false;        
     	}
     	else if (now.getYear() - travel.ny[i].value == 80){
     		if ( travel.nm.value > now.getMonth()){
     		 alert("第" + (parseInt(i)+1) +"位被保險人年齡超過投保年齡，本專案不開放承保，敬請見諒，謝謝！");
	         travel.ny[i].focus();
	         return false;        
     		}     		
     	}     	
     	 */
    	if (getNonNowYear(travel.ny[i].value,travel.nm[i].value,travel.nd[i].value,80)== false){
    		alert("第" + (parseInt(i)+1) +"位被保險人年齡超過投保年齡，本專案不開放承保，敬請見諒，謝謝！");
    		travel.ny[i].focus();
	        return false;
     	}
     	
     	/*
     	if ( now.getYear()  - travel.ny[i].value < 14){     
    		if (travel.benfit[i].value > 200){
     	     alert("第" + (parseInt(i)+1) +"位被保險人意外身故保額超過新台幣200萬元承保上限，請重新選擇意外身故保額，謝謝！");
	         return false;            		
    		}    	
    	}
     	*/
    	/*
    	if (getNonLimitNowYear(travel.ny[i].value,travel.nm[i].value,travel.nd[i].value,14) == false){     
    		if (travel.benfit[i].value > 200){
     	     alert("第" + (parseInt(i)+1) +"位被保險人意外身故保額超過新台幣200萬元承保上限，請重新選擇意外身故保額，謝謝！");
	         return false;            		
    		}    	
    	}
    	*/
    	
    	if (getNonLimitNowYear(travel.ny[i].value,travel.nm[i].value,travel.nd[i].value,15) == false){     
    		alert("第" + (parseInt(i)+1) +"位被保險人年齡小於投保年齡，本專案不開放承保，敬請見諒，謝謝！");     	     
	        return false;
    	}
    	
    	/*
    	if ( now.getYear() - travel.ny[i].value > 70){     
    		if (travel.benfit[i].value > 300){
     	     alert("第" + (parseInt(i)+1) +"位被保險人意外身故保額超過新台幣300萬元承保上限，謝謝！");
	         return false;            		
    		}    	
    	}    	
     	 */
     	if (getNonNowYear(travel.ny[i].value,travel.nm[i].value,travel.nd[i].value,70)== false){     
    		if (travel.benfit[i].value > 300){
     	     alert("第" + (parseInt(i)+1) +"位被保險人意外身故保額超過新台幣300萬元承保上限，請重新選擇意外身故保額，謝謝！");
	         return false;            		
    		}    	
    	}
            	
     }
     
     if ( travel.nm[i].value==""){
        alert("請輸入第" + (parseInt(i)+1) + "位被保險人出生月份，謝謝！");
        travel.nm[i].focus();        
        return false;        
     }  	
     else{
     /*
        if ( travel.nm[i].value.length != 2){
        	alert("第" + (i+1) + "位被保險人出生月份有誤，請重新輸入，謝謝！");
	        travel.nm[i].focus();        
    	    return false;        
        }  	     
     */
        if ( checkNum(travel.nm[i].value)==false){
	        alert("第" + (parseInt(i)+1) + "位被保險人出生月份有誤，請重新輸入，謝謝！");
    	    travel.nm[i].focus();        
	        return false;        
        }  	     
        
        if ( travel.nm[i].value > 12 || travel.nm[i].value < 1 ){
        	alert("第" + (parseInt(i)+1) + "位被保險人出生月份應在1-12月之間，請重新輸入，謝謝！");
	        travel.nm[i].focus();        
    	    return false;        
        }        
     }
     
     if ( travel.nd[i].value==""){
        alert("請輸入第" + (parseInt(i)+1) + "位被保險人出生日期，謝謝！");
        travel.nd[i].focus();        
        return false;        
     }  
     else{
     /*
		if ( travel.nd[i].value.length != 2){
        	alert("第" + (i+1) + "位被保險人出生日期，請重新輸入，謝謝！");
	        travel.nd[i].focus();        
    	    return false;        
        }  	     
     */
        if ( checkNum(travel.nd[i].value)==false){
	        alert("第" + (parseInt(i)+1) + "位被保險人出生日期，請重新輸入，謝謝！");
    	    travel.nd[i].focus();        
	        return false;        
        }  	     
        
        if ( travel.nd[i].value > 31 || travel.nd[i].value < 1 ){
        	alert("第" + (parseInt(i)+1) + "位被保險人出生日期為1-31日，請重新輸入，謝謝！");
	        travel.nd[i].focus();        
    	    return false;        
        }     		    
     }	
     
     if ( travel.nid[i].value==""){
        alert("請輸入第" + (parseInt(i)+1) + "位被保險人身分證字號，謝謝！");
        travel.nid[i].focus();        
        return false;        
     }  	
     else {
       if (travel.nid[i].value.length != 10){
    	    alert("第" + (parseInt(i)+1) + "位被保險人身分證字號應為英數字共10碼，請重新輸入，謝謝！");
	        document.travel.wid.focus();
     		return false;
     	}
		if ( CheckEngNum(travel.nid[i].value)==false){
        	alert("第" + (parseInt(i)+1) + "位被保險人身分證字號有誤，請重新輸入，謝謝！");
	        travel.nid[i].focus();        
    	    return false;        
	     }  	
	     if ( checkid(travel.nid[i].value)==false){
  	        alert("第" + (parseInt(i)+1) + "位被保險人身分證字號有誤，請重新輸入，謝謝！");
	        travel.nid[i].focus();        
    	    return false;        
	     }     
     }
          
     if ( travel.bnamen[i].value=="" && travel.benreation[i].value !="99"){
        alert("請輸入第" + (parseInt(i)+1) + "位受益人姓名，謝謝！");
        travel.bnamen[i].focus();        
        return false;        
     } 
    
  }

 }
 
 function setBeneation(flag){
	 var num =travel.totalnum.value;
 	if ( num ==1 ){
 		//if ( document.travel.benreation.value != "99" ){
 			document.travel.bnamen.value="";
 		//}
 	}
 	else {
 		document.travel.bnamen[flag-1].value="";
 	}
 }
 
 
 function checkmainvalue(flag){
 //檢查被被保人相關資料------------------------------------------------
  var num =travel.totalnum.value;
  
	  if ( num == 1 ){
       if (checkonevalue() == false){
         return false;
       }	        
  	  }
      else { //多筆  
       if (checktwovalue() == false){
         return false;
       }
      }
  
  	  if (flag == "check"){
 		 return true;
 	  }
 	  else {
 	    travel.ptest.value="1";
 	    document.travel.submit();
 	  }
 }
 
 function updatesame(){
   var num =travel.totalnum.value;
   if (num > 1){
      travel.wname.value=travel.pname[0].value;
      travel.wid.value=travel.nid[0].value;
      travel.wby.value=travel.ny[0].value;
      travel.wbm.value=travel.nm[0].value;
      travel.wbd.value=travel.nd[0].value;
      
   }
   else {
      travel.wname.value=travel.pname.value;
      travel.wid.value=travel.nid.value;
      travel.wby.value=travel.ny.value;
      travel.wbm.value=travel.nm.value;
      travel.wbd.value=travel.nd.value;
   }
 }
 
 function checkvalue(){   
 //檢查被被保人相關資料------------------------------------------------
  if (checkmainvalue("check") == false){
 		return false;
   }  
   
 //檢查要保人/付款人相關資料------------------------------------------------
  if (travel.wname.value ==""){     
     alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
     document.travel.wname.focus();
     return false;
  }
  
  if (travel.wby.value ==""){     
     alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");     
     document.travel.wby.focus();
     return false;
  }
  else {
  	if (checkNum(travel.wby.value) == false){        
        alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
        document.travel.wby.focus();
        return false;
  	}
  }
  if (travel.wbm.value ==""){     
     alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
     document.travel.wbm.focus();
     return false;
  }
  else{
   if (checkNum(travel.wbm.value) == false){        
        alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
        document.travel.wbm.focus();
        return false;
  	}
  }
  if (travel.wbd.value ==""){     
     alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
     document.travel.wdb.focus();
     return false;
  }
  else{
    if (checkNum(travel.wbd.value) == false){        
        alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
        document.travel.wdb.focus();
        return false;
  	}
  }
  
  //----------------------------------------------------------------
  if (travel.wid.value ==""){     
     alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
     document.travel.wid.focus();
     return false;
  }
  else {
    if (travel.wid.value.length != 10){        
        alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
        document.travel.wid.focus();
     	return false;
     }
   if (CheckEngNum(travel.wid.value) == false){        
        alert("第一位被保險人需為要保人！為縮短您填寫的時間，請直接勾選同第一位被保險人欄位，謝謝！");
        document.travel.wid.focus();
        return false;
  	}
  }
  //----------------------------------------------------------------
  
  if (travel.wtcode.value =="" && travel.wctel.value =="" 
    && travel.whcode.value =="" && travel.whtel.value ==""){
     alert("請輸入公司或住家電話，謝謝！");

     return false;  
  }
  else {
 	 if (travel.wtcode.value =="" && travel.wctel.value != ""){ 
    	 alert("請輸入要保人/付款人公司電話區碼，謝謝！");
         document.travel.wtcode.focus();
	     return false;  
  	 }
  	 if (travel.wtcode.value !="" && travel.wctel.value == ""){ 
    	 alert("請輸入要保人/付款人公司電話，謝謝！");
         document.travel.wctel.focus();
	     return false;  
  	 }
  	 if (travel.whcode.value =="" && travel.whtel.value != ""){ 
    	 alert("請輸入要保人/付款人住家電話區碼，謝謝！");
         document.travel.whcode.focus();
	     return false;  
  	 }
  	 if (travel.whcode.value !="" && travel.whtel.value == ""){ 
    	 alert("請輸入要保人/付款人住家電話號碼，謝謝！");
         document.travel.whtel.focus();
	     return false;  
  	 }
  }
  
  //------------------------------------------------
	if (travel.wmobile.value =="" ){
		alert("請輸入要保人/付款人手機號碼！");
		document.travel.wmobile.focus();
		return false;
	}	
	else {
		if (travel.wmobile.value.length != 10 ){
			alert("提醒您，要保人/付款人行動電話號碼共10碼，請重新輸入，謝謝！");
			document.travel.wmobile.focus();
			return false;
		}	
	
		if (checkNum(travel.wmobile.value) ==false ){
			alert("要保人/付款人行動電話號碼有誤，請重新輸入為09xxxxxxxx，謝謝！");
			document.travel.wmobile.focus();
			return false;
		}	
		
		if (travel.wmobile.value.substring(0,2) != '09' ){
			alert("要保人/付款人行動電話號碼有誤，請重新輸入為09xxxxxxxx，謝謝！");
			document.travel.wmobile.focus();
			return false;
		}			
	}
	
  //------------------------------------------------  
	if (travel.wmail.value =="" ){
		alert("請輸入要保人/付款人Email，謝謝！");
		document.travel.wmail.focus();
		return false;
	}	
	else {
		if(IsValidEmail(travel.wmail.value)==false){
			alert("請輸入要保人/付款人Email格式不符！例如︰takecare@taishin.com.tw，謝謝！");
			document.travel.wmail.focus();
			return false;
		}
		if(email_check(travel.wmail.value)==false){
			alert("請輸入要保人/付款人Email格式不符！例如︰takecare@taishin.com.tw，謝謝！");
			document.travel.wmail.focus();
			return false;
		}
	}
	
  if (travel.wpcode.value ==""){
     alert("請輸入要保人/付款人保單寄送地址之郵遞區號，謝謝！");
     document.travel.wpcode.focus();
     return false;
  }
  if (travel.waddress.value ==""){
     alert("請輸入要保人/付款人保單寄送地址，謝謝！");
     document.travel.waddress.focus();
     return false;
  }
  if (travel.wcare.value ==""){
     alert("請輸入緊急聯絡人姓名，謝謝！");
     document.travel.wcare.focus();
     return false;
  }
  if (travel.wcaretel.value ==""){
     alert("請輸入緊急聯絡人電話，謝謝！");
     document.travel.wcaretel.focus();
     return false;
  }  
  else {
	  if (checkNum(travel.wcaretel.value) == false){
     	alert("緊急聯絡人電話有誤，請重新輸入謝謝！");
     	document.travel.wcaretel.focus();
     	return false;
  	  }
  }
  
  //假設有投保其他保險公司
   if (travel.wothstate[1].checked){
   	   if (travel.wothcompany.value==""){
   	   	  alert("請輸入投保公司名稱，謝謝！");
   	   	  document.travel.wothcompany.focus();
   	   	  return false;
   	   } 		
   	   if (travel.wobenfit.value==""){
   	   	  alert("請輸入保險金額，謝謝！");
   	   	  document.travel.wobenfit.focus();
   	   	  return false;
   	   } 
   	   else{
   	      if (checkNum(travel.wobenfit.value) == false){
	   	      alert("保險金額有誤，謝謝！");
   		   	  document.travel.wobenfit.focus();
   	   		  return false;
   	      }
   	   }	
   }
   else{
   		travel.wothcompany.value="";
   		travel.wobenfit.value="";
   }  
   
   travel.lastno.value="1";
   document.travel.submit();
 }
 
 //----------------------------------------------------------------------
 
 
var ALP_STR = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
var NUM_STR = "0123456789";
var SEX_STR = "12";
var MAX_COUNT = 999;
 
var local=new Array(36);
local[10]='A';
local[11]='B';
local[12]='C';
local[13]='D';
local[14]='E';
local[15]='F';
local[16]='G';
local[17]='H';
local[34]='I';
local[18]='J';
local[19]='K';
local[20]='L';
local[21]='M';
local[22]='N';
local[35]='O';
local[23]='P';
local[24]='Q';
local[25]='R';
local[26]='S';
local[27]='T';
local[28]='U';
local[29]='V';
local[32]='W';
local[30]='X';
local[31]='Y';
local[33]='Z';

function checkid(id){
    id=id.toUpperCase();
    if(lengtherr(id)){
        //alert('輸入的字號長度有誤！');
        return false;
    }else if(firstlettererr(id)){
        //alert('身分證第一碼查無此英文字母:'+id.substring(0,1));
        return false;
    }else if(numerr(id)){
        //alert('輸入的身分證後九碼應為數字！');
        return false;
    }else if(checkerr(id)){
        //alert('您輸入的身分證檢查碼有誤！');
        return false;
    }
    return true;
}
function lengtherr(id){
    if(id.length<10){
        return 1;
    }else{
        return 0;
    }
}
function firstlettererr(id){
    var fl=id.substring(0,1);
    var haserr = 1;
    for(i=10;i<=35;i++){
        if(local[i]!=fl){
            continue;
        }else{
            haserr=0;
            break;
        }
    }
    if(haserr==1){
        return 1;
    }else{
        return 0;
    }
}

function numerr(id){
    var haserr=0;
    for(i=1;i<=9;i++){
        if(parseInt(id.substring(i,i+1))>0 || id.substring(i,i+1)=='0'){
            continue;
        }else{
            haserr = 1;
            break;
        }
    }
    if(haserr==1){
        return 1;
    }else{
        return 0;
    }
}

// ------------------------------------------------------------
// 去字串前後空白
function trim(str) {
	while (str.indexOf(" ")==0) {
		str = str.substring(1, str.length);
	}
	while ((str.length>0) && (str.indexOf(" ")==(str.length-1))) {
		str = str.substring(0, str.length-1);
	}
	return str;
}

function getPID_SUM(sPID) {
	var iChkNum = 0;

	// 第 1 碼
	iChkNum = ALP_STR.indexOf(sPID.substr(0,1)) + 10;
	iChkNum = Math.floor(iChkNum/10) + (iChkNum%10*9);

	// 第 2 - 9 碼
	for(var i=1; i<sPID.length-1; i++) {
		iChkNum += sPID.substr(i,1) * (9-i);
	}

	// 第 10 碼
	iChkNum += sPID.substr(9,1)*1;

	return iChkNum;
}

function chkPID_CHAR(sPID) {
	var sMsg = "";
	//sPID = trim(sPID.toUpperCase());
	var iPIDLen = String(sPID).length;

	var sChk = ALP_STR + NUM_STR;
	for(i=0;i<iPIDLen;i++) {
		if (sChk.indexOf(sPID.substr(i,1)) < 0) {
			sMsg = "這個身分證字號含有不正確的字元！";
			break;
		}
	}

	if (sMsg.length == 0) {
		if (ALP_STR.indexOf(sPID.substr(0,1)) < 0) {
			sMsg = "身分證字號第 1 碼應為英文字母(A~Z)。";
		} else if ((sPID.substr(1,1) != "1") && (sPID.substr(1,1) != "2")) {
			sMsg = "身分證字號第 2 碼應為數字(1~2)。";
		} else {
			for(var i=2; i<iPIDLen; i++) {
				if (NUM_STR.indexOf(sPID.substr(i, 1)) < 0) {
					sMsg = "第 " + (i+1) + " 碼應為數字(0~9)。";
					break;
				}
			}
		}
	}

	if (sMsg.length != 0) {
		return 0;
	} else {
		return 1;
	}
}

function checkerr(sPID) {

		sPID = trim(sPID.toUpperCase());
		if (!chkPID_CHAR(sPID)) return 1;

		var iChkNum = getPID_SUM(sPID);

		if (iChkNum % 10 != 0) {
			var iLastNum = sPID.substr(9, 1) * 1;
			for (i=0; i<10; i++) {
				var xRightAlpNum = iChkNum - iLastNum + i;
				if ((xRightAlpNum % 10) ==0) {
					//sMsg = "最後一個數應為：" + i;
					return 1;
				}
			}
		}
		
	return 0;
}
function checkerr1(id){
    var se = new Array(10);
    var we = 0;
    var checkcode = 0;
    for(i=10;i<=35;i++){
        if(local[i]==id.substring(0,1)){
             se[0]=parseInt((i+'0').substring(0,1));
             se[1]=parseInt((i+'0').substring(1,2));
             break;
        }
    }
    for(i=1;i<=9;i++){
        se[i+1]=parseInt(id.substring(i,i+1));
    }
    for(i=0;i<=10;i++){
        if(i==0){
            we=we+se[i];
        }else{
            we=we+(se[i]*(10-i));
        }
    }

    checkcode = ((10-mod(we,10))+'0').substring(0,1);

    if(checkcode!=id.substring(9,10)){
        return 1;
    }else{
        return 0;
    }
}

function mod(a,b){
    var r;
    r = Math.round(a/b);
    if((b*r)>a){
        r-=1;
    }
    return (a-(b*r))
}
 function checkNum(value){
	if( isNaN(value) ){
		return false;
	}
	return true;
 }
 function IsValidEmail(email)
{
	re = new RegExp("^.+@.+\\..+$","i");  //Create regular expression object.
	r = email.match(re);
	if(r==null)
	{
	  return false;
	}
      return true;
}
 function CheckEngNum(value){
	var pattern = /[a-zA-Z0-9]/
	if(!pattern.test(value)) {
	  //alert(str+"需為英數字");
	  return false;
	}
	return true;
 }
 function CheckEng(value){
	var pattern = /[a-zA-Z]/
	if(!pattern.test(value)) {
	  return false;
	}
	return true;
 }
 
 function email_check(email){
	reg=/^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$/i
	if(!email.match(reg)){
		return false;
	}
	return true;
} 