﻿//2020-04-08	[john][PMK:98266]
//2022-03-11	[john][PMK:103673]
//2022-04-14	[john][PMK:103779]
//2023-01-06	[john][PMK:106082]
//2024-08-14	[john][PMK:112925]


function replaceDtm(obj){
	var errmsg = '';
	//var v = obj.value;
	var v = splitDate(obj);
	v = v.replace(/\s/g,"");
	v = v.replace(/-/g,"/");
	v = v.replace(/\./g,"/");
	if (v.length >= 8){
		
		v = v.replace(/(\d{4})(\d\d)(\d\d)/g, "$1/$2/$3");

		valY = v.substr(0, 4);
		valM = v.substr(5, 2);
		valD = v.substr(8, 2);

		errmsg = ISTureYMD(valY,valM,valD);
		if (errmsg != ""){
			alert(errmsg);
			return '';
		}
		else{
			return v.substring(0,10);
		}
	}else{
		if (v.length > 0){
			errmsg = "日期格式錯誤"
			alert(errmsg);
			return '' ;
		}
		return '' ;
	}
}
function replaceBirth(obj,idx){
	var errmsg = '';
	//var v = obj.value;
	var v = splitDate(obj);
	v = v.replace(/\s/g,"");
	v = v.replace(/-/g,"/");
	v = v.replace(/\./g,"/");
	if (v.length >= 8){
		
		v = v.replace(/(\d{4})(\d\d)(\d\d)/g, "$1/$2/$3");

		valY = v.substr(0, 4);
		valM = v.substr(5, 2);
		valD = v.substr(8, 2);
		console.log("valY="+valY+",valM="+valM+",valD="+valD)

		errmsg = ISTureYMD(valY,valM,valD);

		console.log("valY.indexOf(/)="+ valY.indexOf("/"));
		console.log("valM.indexOf(/)="+ valM.indexOf("/"));
		console.log("valD.indexOf(/)="+ valD.indexOf("/"));
		
		if (valY.indexOf("/") >=0 ){errmsg = "西元年格式錯誤";}
		if (valM.indexOf("/") >=0 ){errmsg = "西元月格式錯誤";}
		if (valD.indexOf("/") >=0){errmsg = "西元日格式錯誤";}

		if (errmsg != ""){
			alert(errmsg);
			return '';
		}
		else{
			return v.substring(0,10);
		}
	}else{
		if (v.length > 0){
			errmsg = "生日格式錯誤"
			if(idx != ""){errmsg = "第"+idx+"位旅客" + errmsg}
			alert(errmsg);
			//$("#paxBir"+idx).focus('');
			return '' ;
		}
		return '' ;
	}
}

function ISTureYMD(Y,M,D){
	emsg = "";
	if(((Number(Y)%4==0 && Number(Y)%100!=0)||(Number(Y)%400==0))&& Number(M)==2)	//閏年2月 29天 不能大於29
	{
		if(Number(D)>29){	
			emsg = "請輸入正確生日日期";
		}
	}
	else if(!((Number(Y)%4==0 && Number(Y)%100!=0)||(Number(Y)%400==0))&& Number(M)==2)	//平年2月 29天 不能大於28
	{
		if(Number(D)>28){	
			emsg = "請輸入正確生日日期";
		}
	}
	else	//其他月份
	{
		if(Number(M)==1|| Number(M)==3 || Number(M)==5|| Number(M)==7|| Number(M)==8|| Number(M)==10|| Number(M)==12)
		{
			if(Number(D)>31){	
				emsg = "請輸入正確生日日期";
				
			}
		}else if(Number(M)==4|| Number(M)==6 || Number(M)==9|| Number(M)==11)
		{
			if(Number(D)>30){	
				emsg = "請輸入正確生日日期";
			}
		}
		else{
			emsg = "請輸入正確生日月份";
		}
	}
	return emsg;
}

function splitDate(inputItem)
{	
	var val = inputItem.value
	if(val.length == 0) {	return val;	}
			if(val.indexOf('/') == -1)
			{	var valY, valM, valD, valDT;
				if(val.length == 8)
				{	valY = val.substr(0, 4);
					valM = val.substr(4, 2);
					valD = val.substr(6, 2);
				}
				else if(val.length == 6)
				{	valY = "20" + val.substr(0, 2);
					valM = val.substr(2, 2);
					valD = val.substr(4, 2);
				}
				valDT = valY + '/' + valM + '/' + valD;
				if(valY!='0000'){
					if(!jsIsDate(valDT))
					{	alert("錯誤的日期格式(ex:yyyy/mm/dd)。");
						inputItem.select();
						return "";
					}
				}
				//[Jack][wm.v1010.112.U] 日期年份須大於1900
				//[Jackli]2012-04-10將此段註解,由於部分頁面因此修改而無法使用
				/*if (parseFloat(valY) <= 1900 ){
					  alert("日期年份須大於1900。");
					  inputItem.select();
						  return val;
				}*/
				return valDT;
			}
	else
	{	var valArray = val.split('/');
		if(valArray.length != 3)
		{	alert("錯誤的日期格式(ex:yyyy/mm/dd)。");
			inputItem.select();
			return "";
		}
		//[Jack][wm.v1010.112.U] 日期年份須大於1900
		//[Jackli]2012-04-10將此段註解,由於部分頁面因此修改而無法使用
		//ken 帥啊 在加回去 偉災科威
		if ((valArray[0]) <= 1900 ){
			alert("日期年份須大於1900。");
			return "";
		}
		if(valArray[0].length == 2)
		{	valArray[0] = "20" + valArray[0];	}
		if(valArray[1].length == 1)
		{	valArray[1] = "0" + valArray[1];	}
		if(valArray[2].length == 1)
		{	valArray[2] = "0" + valArray[2];	}
		if(!jsIsDate(val))
			{	alert("錯誤的日期格式(ex:yyyy/mm/dd)。");
				inputItem.select();
				return "";
			}
		return valArray[0] + '/' + valArray[1] + '/' + valArray[2];
	}
}

function jsIsDate(datevalue)
{	//請傳入 「年/月/日」 的格式。
	if(datevalue.indexOf('/') < 0 )
	{	//alert("函數無法判定輸入的值。");
		return false;
	}
	//-----------------------------------------------------------------
	//  	0000/01/01 視為正確日期格式
	//-----------------------------------------------------------------
	if (datevalue.substr(0, 4) == "0000")
		datevalue = "2000" + datevalue.substr(4, 6);
	//-----------------------------------------------------------------
	var datetime,datearry ;
	datetime = new Date(datevalue)
	if (isNaN(datetime))
	{	//alert("輸入的「" + datevalue + "」為錯誤的日期格式。");
		return false;
	}
	datearry = datevalue.split('/');
	if(Number(datetime.getFullYear()) != Number(datearry[0]))
	{	return false;	}
	else if(Number(datetime.getMonth()) != (Number(datearry[1]) - 1))
	{	return false;	}
	else if(Number(datetime.getDate()) != Number(datearry[2]))
	{	return false;	}
	else
	{	return true;	}
}
