// JavaScript Document
var web_doc_alias = '';
var validPtn = '';
var josenDateTime = '';
var k1 = '';
var k2 = '';
var k3 = '';
var k4 = '';
var k5 = '';
var k6 = '';
$(document).ready(function(){
	web_doc_alias = $('#web_doc_alias').val();
	josenDateTime = $('#josenDateTime').val();

	k1 = $('#k1Flg').val();
	k2 = $('#k2Flg').val();
	k3 = $('#k3Flg').val();
	k4 = $('#k4Flg').val();
	k5 = $('#k5Flg').val();
	k6 = $('#k6Flg').val();
	
    $.validator.addMethod(
        'mojichk',
        function(value,element,num){
            count = textbyte(value);
            if (this.optional(element)){
                return true;
            } else if (count > num){
                return false;
            } else {
                return true;
            }
        },       
    );
	//▼禁止文字チェック(& , % # + \)
    $.validator.addMethod(
        'kinshi',
        function(value,element){
            if (this.optional(element)){
                return true;
            } else if (value.match(/&/i) == "&"){
                return false;
            } else if (value.match(/,/i) == ","){
                return false;
            } else if (value.match(/%/i) == "%"){
                return false;
            } else if (value.match(/#/i) == "#"){
                return false;
            } else if (value.match(/\+/i) == "\+"){
                return false;
            } else if (value.match(/\\/i) == "\\"){
                return false;
            } else if (value.match(/</i) == "<"){
                return false;
            } else if (value.match(/>/i) == ">"){
                return false;
            } else {
                return true;
            }
        },'入力できない文字が含まれています。'  
    );

	$('#form_A116').validate({
		ignore: [], //type="hidden"項目のエラーチェックを可能とする
		rules : {
			inpDateK1 : {
				required:  function(){return validPtn == '1' && k1 == 'True';}
			},
			// inpTimeInK1: {
			// 	required: true
			// },
			// inpTimeOutK1: {
			// 	required: true
			// },
			inpDateK2 : {
				required:  function(){return validPtn == '1' && k2 == 'True';}
			},
			// inpTimeInK2: {
			// 	required: true
			// },
			// inpTimeOutK2: {
			// 	required: true
			// },
			inpDateK3 : {
				required:  function(){return validPtn == '1' && k3 == 'True';}
			},
			// inpTimeInK3: {
			// 	required: true
			// },
			// inpTimeOutK3: {
			// 	required: true
			// },
			inpDateK4 : {
				required:  function(){return validPtn == '1' && k4 == 'True';}
			},
			// inpTimeInK4: {
			// 	required: true
			// },
			// inpTimeOutK4: {
			// 	required: true
			// },
			inpDateK5 : {
				required:  function(){return validPtn == '1' && k5 == 'True';}
			},
			// inpTimeInK5: {
			// 	required: true
			// },
			// inpTimeOutK5: {
			// 	required: true
			// },
			inpDateK6 : {
				required:  function(){return validPtn == '1' && k6 == 'True';}
			},
			// inpTimeInK6: {
			// 	required: true
			// },
			// inpTimeOutK6: {
			// 	required: true
			// },
			txtTokki : {
				mojichk: 200,
				kinshi: true
			},
		},
		messages: {
			inpDateK1 : {
				required: '通航日付を指定して下さい'
			},
			// inpTimeInK1: {
			// 	required: '通航時刻を指定して下さい'
			// },
			// inpTimeOutK1: {
			// 	required: '通航時刻を指定して下さい'
			// },
			inpDateK2 : {
				required: '通航日付を指定して下さい'
			},
			// inpTimeInK2: {
			// 	required: '通航時刻を指定して下さい'
			// },
			// inpTimeOutK2: {
			// 	required: '通航時刻を指定して下さい'
			// },
			inpDateK3 : {
				required: '通航日付を指定して下さい'
			},
			// inpTimeInK3: {
			// 	required: '通航時刻を指定して下さい'
			// },
			// inpTimeOutK3: {
			// 	required: '通航時刻を指定して下さい'
			// },
			inpDateK4 : {
				required: '通航日付を指定して下さい'
			},
			// inpTimeInK4: {
			// 	required: '通航時刻を指定して下さい'
			// },
			// inpTimeOutK4: {
			// 	required: '通航時刻を指定して下さい'
			// },
			inpDateK5 : {
				required: '通航日付を指定して下さい'
			},
			// inpTimeInK5: {
			// 	required: '通航時刻を指定して下さい'
			// },
			// inpTimeOutK5: {
			// 	required: '通航時刻を指定して下さい'
			// },
			inpDateK6 : {
				required: '通航日付を指定して下さい'
			},
			// inpTimeInK6: {
			// 	required: '通航時刻を指定して下さい'
			// },
			// inpTimeOutK6: {
			// 	required: '通航時刻を指定して下さい'
			// },
			txtTokki : {
				mojichk: '文字数オーバー(全角100文字,半角200文字)'
			},
		},
		errorClass: "formValidError",
		errorPlacement: function(error, element) {
			var parentObj = $(element).parents('fieldset');
			parentObj.append(error);
			if(!$(error).hasClass('p-1')){ $(error).addClass('p-1'); }
		},
	});
	
	// $('.koroDateTime').on('change',function(){
	// 	var koroNo = $(this).attr('koroNo');
	// 	changeKoroDateTime(koroNo);
	// })


	$('#linkFileCall').on('click',function(){
		$('#linkForm').submit();
	});
	
	//戻る
	$('#btnCancel').on('click',function(){
		modalAlert('1','確認','入力が取り消されますが、よろしいですか？',callbackCancel);
	});
	
	$('#btnBack').on('click',function(){
		updateMizusakiIrai('3');
	});
	
	//一時保存
	$('#btnSave').on('click',function(){
		validPtn = '0';
		if($('#form_A116').valid()){
			updateMizusakiIrai('1');
		}else {
			modalAlert('0','エラー！','入力内容を確認してください。');
		}
	});

	//航路通報入力へ進む
	$('#btnNext').on('click',function(){
		validPtn = '1';
		var errCount = 0;

		// if(k1 == 'True'){
		// 	errCount = errCount + changeKoroDateTime('K1');
		// }
		// if(k2 == 'True'){
		// 	errCount = errCount + changeKoroDateTime('K2');
		// }
		// if(k3 == 'True'){
		// 	errCount = errCount + changeKoroDateTime('K3');
		// }
		// if(k4 == 'True'){
		// 	errCount = errCount + changeKoroDateTime('K4');
		// }
		// if(k5 == 'True'){
		// 	errCount = errCount + changeKoroDateTime('K5');
		// }
		// if(k6 == 'True'){
		// 	errCount = errCount + changeKoroDateTime('K6');
		// }
		
		if($('#form_A116').valid()){
			if(errCount == 0) {
//				$('#lblErrNationcap').text('');
				updateMizusakiIrai('2');
			} else {
				modalAlert('0','エラー！','入力内容を確認してください。');
				return false;
			}
		}else {
			modalAlert('0','エラー！','入力内容を確認してください。');
		}
	});
});

//▼文字バイト数計算  ※文字数チェックから呼び出し
function textbyte(str) {
        count=0;
        for(i=0;i<str.length;i++)
        (str.charAt(i).match(/[ｱ-ﾝ]/) || encodeURI(str.charAt(i)).length< 4)?count++:count+=2;
        return count;
}

//更新処理
function updateMizusakiIrai(syoriKbn){
	if($('#inpKissuiMiteiCheck').prop('checked')){ checkKissuiMitei = 1; }
	var param = {
		'appname': nasiappname,
		'prgname':'A117',
		'param1': nasiappname,
		'param2': $('#ssid').val(),
		'param3': $('#kubun').val(),
		'param4': syoriKbn,
		'param5': $('#k_order_no').val(),
		'param6': $('#KORO_KUBUN').val(),
		'param7': $('#KORO_ID').val(),
		'param8': $('#inpDateK1').val(),
		'param9': $('#inpTimeInK1').val(),
		'param10': $('#inpTimeOutK1').val(),
		'param11': $('#inpDateK2').val(),
		'param12': $('#inpTimeInK2').val(),
		'param13': $('#inpTimeOutK2').val(),
		'param14': $('#inpDateK3').val(),
		'param15': $('#inpTimeInK3').val(),
		'param16': $('#inpTimeOutK3').val(),
		'param17': $('#inpDateK4').val(),
		'param18': $('#inpTimeInK4').val(),
		'param19': $('#inpTimeOutK4').val(),
		'param20': $('#inpDateK5').val(),
		'param21': $('#inpTimeInK5').val(),
		'param22': $('#inpTimeOutK5').val(),
		'param23': $('#inpDateK6').val(),
		'param24': $('#inpTimeInK6').val(),
		'param25': $('#inpTimeOutK6').val(),
		'param26' : $('#txtTokki').val(),
		'arguments':'param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13,param14,param15,param16,param17,param18,param19,param20,param21,param22,param23,param24,param25,param26'
	};
	var retXml = ajaxFunction(param);
	var kekka = $(retXml).find('ret').text();
	if(kekka === 'I001' ){
		if(syoriKbn === '1'){
			// 履歴紹介画面へ移動
			$('#prgname').val('A130');
			$('#menuForm').submit();
		}else if(syoriKbn === '2'){
			// 内容確認画面へ進む
			$('#arguments').val('paramAppName,ssid,parentPG,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10');
			$('#prgname').val('A133');
			$('#param1').val($('#k_order_no').val());
			$('#param2').val($('#kubun').val());
			$('#menuForm').submit();
		}else if(syoriKbn === '3'){
			// 嚮導情報入力へ戻る
			$('#arguments').val('paramAppName,ssid,parentPG,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10');
			$('#prgname').val('A114');
			$('#param1').val($('#kubun').val());
			$('#param2').val($('#k_order_no').val());
			$('#menuForm').submit();
		}
	}else if(kekka === 'E001' ){
		// セッションエラーを表示
		$('#prgname').val('A040');
		$('#menuForm').submit();
	}else if(kekka === 'P001' ){
		// パラメータエラーを表示
		$('#prgname').val('A000');
		$('#menuForm').submit();
	}
}

function callbackCancel(){
	/* 2022/03/18 戻るボタンで遷移する先をトップページに変更
	$('#prgname').val('A130');
	$('#menuForm').submit();
	*/
	$('#prgname').val($('#parentPG').val());
	$('#param1').val('0');
	$('#menuForm').submit();
}

//lblErr処理
function changeKoroDateTime(koroNo){
	var dateOrg = $('#inpDate'+koroNo).val().split('-');
	var koroDate = dateOrg[0]+dateOrg[1]+dateOrg[2];

	var inTimeOrg = '';
	var koroInTime = '';
	if($('#inTimeFlg'+koroNo).val() == 'True'){
		inTimeOrg = $('#inpTimeIn'+koroNo).val().split(':');
		koroInTime = inTimeOrg[0]+inTimeOrg[1];
	}else{
		koroInTime = '9999';
	}

	var outTimeOrg = '';
	var koroOutTime = '';
	if($('#outTimeFlg'+koroNo).val() == 'True'){
		outTimeOrg = $('#inpTimeOut'+koroNo).val().split(':');
		koroOutTime = outTimeOrg[0]+outTimeOrg[1];
	}else{
		koroOutTime = '9999';
	}

	if($('#josenDateTime').val() > koroDate+koroInTime){
		$('#lblErr'+koroNo).text('乗船日以前の日時です。');
		return 1;
	}else if($('#josenDateTime').val() > koroDate+koroOutTime){
		$('#lblErr'+koroNo).text('乗船日以前の日時です。');
		return 1;
	}else {
		$('#lblErr'+koroNo).text('');
		return 0;
	}
}