// JavaScript Document

/****************************************
制作：佐佐木社会保険労務士事務所

著作権は佐佐木社会保険労務士事務所にあり、違法コピーを禁じます。
発見した場合には直ちに法的な措置を取らせていただきます。
*****************************************/


/* 産前休業の期間 */
var single = 41;
var twin = 97;
var default_date;
var sankyu = 56;
var ikukyu = 57;
var ikukyuEnd = 364;

/* バリデート */
function validate(){
	if(validateCheck()==true){
		alert("入力して頂いた値に不備が御座いました。<br>お手数ですが入力内容をご確認ください。");
	}else{
		calcData();
	}
}

/* バリデートチェック */
function validateCheck(){
	
	var booleanValue;
	
	if(document.calc.yearData.options[document.calc.yearData.selectedIndex].value==""){
		booleanValue = true;
	}
	
	if(document.calc.monthData.value==""){
		booleanValue = true;
	}
	
	if(document.calc.dayData.value==""){
		booleanValue = true;
	}
	
	return booleanValue;
}

/* 計算の実行 */
function calcData(){
	
	//1.双子か否かの判定
	if(document.calc.twin_check[0].checked){
		default_date = twin;
	}else{
		default_date = single;
	}
	
	//2.dateオブジェクトを生成し、値変換を行う。
	var putYear = document.calc.yearData.options[document.calc.yearData.selectedIndex].value;
	var putMonth = document.calc.monthData.value-1;	
	var putDay = document.calc.dayData.value;
	
	//3.時間をUNIX時間に変更
	var dataCapsule = new Date(putYear,putMonth,putDay);
	var dataCapsuleImpl = dataCapsule.getTime();
	
	//4.計算する(産前休暇開始)
	var beforeVacation = new Date(dataCapsuleImpl - default_date * (1000 * 60 * 60 * 24));
	document.calc.inputData1.value = "平成" + (beforeVacation.getYear()) + "年" + (beforeVacation.getMonth()+1) + "月" + beforeVacation.getDate() + "日";
	
	//5.計算する(産後休暇終了)
	var afterVacation = new Date(dataCapsuleImpl + sankyu * (1000 * 60 * 60 * 24));
	document.calc.inputData2.value = "平成" + (afterVacation.getYear()) + "年" + (afterVacation.getMonth()+1) + "月" + afterVacation.getDate() + "日";
	
	//6.計算する(育児休暇開始)
	var startVacation = new Date(dataCapsuleImpl + ikukyu * (1000 * 60 * 60 * 24));
	document.calc.inputData3.value = "平成" + (startVacation.getYear()) + "年" + (startVacation.getMonth()+1) + "月" + startVacation.getDate() + "日";
	
	//7.計算する(育児休暇終了)
	var endVacation = new Date(dataCapsuleImpl);
var hensu = endVacation.getMonth()+1;

//document.write(hensu);

var hyoujiDay;
var hyoujiMonth;

switch (hensu){

	case 1:

	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=12;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=1;
	}

	break;


	case 2:

	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=1;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=2;
	}

	break;


	case 3:
	
	
	if(putDay-1==0){
		
		if(putYear%4==3){
			hyoujiDay=29;
			hyoujiMonth=2;
		}else{
			hyoujiDay=28;
			hyoujiMonth=2;			
		}
			
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=3;
	}
	

	break;


	case 4:

	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=3;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=4;
	}

	break;


	case 5:
	
	if(putDay-1==0){
		hyoujiDay=30;
		hyoujiMonth=4;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=5;
	}
	
	break;


	case 6:
	
	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=5;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=6;
	}
		
	break;


	case 7:

	if(putDay-1==0){
		hyoujiDay=30;
		hyoujiMonth=6;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=7;
	}

	break;


	case 8:

	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=7;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=8;
	}

	break;


	case 9:

	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=8;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=9;
	}

	break;


	case 10:

	if(putDay-1==0){
		hyoujiDay=30;
		hyoujiMonth=9;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=10;
	}

	break;


	case 11:
	
	if(putDay-1==0){
		hyoujiDay=31;
		hyoujiMonth=10;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=11;
	}
	
	break;


	case 12:
	
	if(putDay-1==0){
		hyoujiDay=30;
		hyoujiMonth=11;
	}else{
		hyoujiDay=putDay-1;
		hyoujiMonth=12;
	}

	break;

}

var hyoujiYear=endVacation.getYear()+1;

//	var endVacation = new Date(dataCapsuleImpl + ikukyuEnd * (1000 * 60 * 60 * 24));
document.calc.inputData4.value = "平成" + hyoujiYear + "年" + hyoujiMonth + "月" + hyoujiDay + "日";	
	
/*	
	var endVacation = new Date(dataCapsuleImpl + ikukyuEnd * (1000 * 60 * 60 * 24));
	document.calc.inputData4.value = "平成" + (endVacation.getYear()) + "年" + (endVacation.getMonth()+1) + "月" + endVacation.getDate() + "日";
*/



	//8.その他の値を入力
	document.calc.inputData5.value=document.calc.inputData3.value;
	document.calc.inputData7.value=document.calc.inputData3.value;
	document.calc.inputData8.value=document.calc.inputData4.value;
	var endKyufu = new Date(dataCapsuleImpl + (ikukyuEnd-1) * (1000 * 60 * 60 * 24));
	document.calc.inputData6.value = "平成" + (endKyufu.getYear()) + "年" + (endKyufu.getMonth()+1) + "月" + endKyufu.getDate() + "日";
}
