// JavaScript Document
var autoReloadTimer;
var autoReloadToggle=true;
var lastWarning=0;
var lastRenraku=0;
var webName,srcVer;
var simpleFlg=true;
var cssURL = '';
var readInterval = 1000 * 30;

function loadComplete(){
	webName = $('#webName').val();
	srcVer = $('#srcVer').val();
	cssURL = srcVer + '/css/';
	
	var mainCSSURL = cssURL + 'main.css';
	$('#cssMain').attr('href',mainCSSURL);
	var mizusakiCSSURL = cssURL + 'mizusaki.css';
	$('#cssMizusaki').attr('href',mizusakiCSSURL);
	
	if($('#hdnAutoLoginKBN').val() === '1'){
		var param = {
			'appname':nasiappname,
			'prgname':'TX101',
			'ssid': '',
			'loginID': $('#hdnAutoLoginID').val(),
			'loginPass': $('#hdnAutoLoginPass').val(),
			'arguments':'ssid,loginID,loginPass'
		};
		//var retCheck = cmGetXMLbyAjax(param,true);
		var callbackAjax = function(){
			var retCheck = retXML;
			if($(retCheck).find('kbn').text() === 'I001' ){
				$('#ssid').val($(retCheck).find('ssid').text());
				pagindDiv('divListTaxi');
			}
		};
		cmGetXMLbyAjax(param,true,callbackAjax);
	}
	
	$('#btnLogin').on('click',function(){
		var param = {
			'appname':nasiappname,
			'prgname':'TX101',
			'ssid': '',
			'loginID': $('#inpLoginID').val(),
			'loginPass': $('#inpLoginPass').val(),
			'arguments':'ssid,loginID,loginPass'
		};
		//var retCheck = cmGetXMLbyAjax(param,true);
		var callbackAjax = function(){
			var retCheck = retXML;
			if($(retCheck).find('kbn').text() === 'I001' ){
				$('#ssid').val($(retCheck).find('ssid').text());
				pagindDiv('divListTaxi');
			}
		};
		cmGetXMLbyAjax(param,true,callbackAjax);
	});
	
	$('#btnKettei').on('click',function(){
		var updateCheck = checkUpdateTaxiCall('1');
		if(updateCheck.length === 0){
			updateTaxiCall('1');
		}else {
			$('#modalErrorTitle').empty();
			$('#modalErrorTitle').text('エラー！');

			$('#modalErrorMessage').empty();
			for(var i=0; i<updateCheck.length; i++){
				$('#modalErrorMessage').append('<p>'+updateCheck[i]+'</p>');
			}
			$('#modalError').modal('show');
		}
	});
	$('#btnMiketsu').on('click',function(){
		var updateCheck = checkUpdateTaxiCall('0');
		if(updateCheck.length === 0){
			updateTaxiCall('0');
		}else {
			$('#modalErrorTitle').empty();
			$('#modalErrorTitle').text('エラー！');

			$('#modalErrorMessage').empty();
			for(var i=0; i<updateCheck.length; i++){
				$('#modalErrorMessage').append('<p>'+updateCheck[i]+'</p>');
			}
			$('#modalError').modal('show');
		}
	});
	
	$('#btnSearchBasho').on('click',function(){
		getSougeiBashoList();
	});
	
	$('*[name="btnBack"]').on('click',function(){
		pagindDiv($('#backPageID').val());
	});
	
	$('*[name="btnLogoff"]').on('click',function(){
		var param = {
			'appname':nasiappname,
			'prgname':'TX009',
			'ssid': $('#ssid').val(),
			'arguments':'ssid'
		};
		//var getList = cmGetXMLbyAjax(param,true);
		var callbackAjax = function(){
			var getList = retXML;
			if($(getList).find('kbn').text() === 'I001' ){
				if($('#hdnAutoLoginKBN').val() === '1'){
					window.close();
				}else {
					window.location.href = 'pilot.html';
				}
			}
		};
		cmGetXMLbyAjax(param,true,callbackAjax);
	});
	
};

function pagindDiv(pageID){
	stopAutoReload();
	
	$('#pageID').val(pageID);
	
	$('#backPageID').val($('.pageDiv.d-block').attr('id'));
	
	$('.pageDiv').removeClass('d-block');
	$('.pageDiv').addClass('d-none');
	
	$('#'+pageID).addClass('d-block');
	$('#'+pageID).removeClass('d-none');
	
	switch(pageID){
		case 'divListTaxi' :
			startAutoReload();
			getTaxiList();
			break;
		
		case 'divTaxiCallDetail' :
			break;
		
		case 'divPilotData' :
			break;
			
		case 'divRenrakuList' :
			getRenrakuList();
			break;
	}
	
	$(window).scrollTop(0);
}

function startAutoReload(){
	autoReloadTimer = setInterval(getTaxiList,readInterval);
}
function stopAutoReload(){
	clearInterval(autoReloadTimer);
}

function getTaxiList(){
	$('#spinLoading').show();
	var param = {
		'appname':nasiappname,
		'prgname':'TX111',
		'ssid': $('#ssid').val(),
		'arguments':'ssid'
	};
	//var getList = cmGetXMLbyAjax(param,true);
	var callbackAjax = function(){
		var getList = retXML;
		if($(getList).find('kbn').text() === 'I001' ){
			$('#lstTaxi').empty();
			$(getList).find('line').each(function(){
				var checkIcon = '';
				if($(this).find('status').text() === '1'){
					checkIcon = '<img class="kettei" src="'+srcVer+'/image/kettei.png">';
				}
				var bikoStr = $(this).find('biko').text();
				if(bikoStr === ''){
					bikoStr = '&nbsp;';
				}

				var addList = 	'<li data-taxino="'+$(this).find('taxiNo').text()+'" data-changeflg="'+$(this).find('changeFlg').text()+'">' +
									'<div class="container-fluid">'+
										'<div class="row no-gutters">' +
											'<div class="col-sm-12">'+ 
												$(this).find('mukaeDate').text() + '&nbsp;' +
												$(this).find('mukaeTime').text() + '&nbsp;' +
												$(this).find('fromPoint').text()  + '&nbsp;' + '→'  + '&nbsp;' + $(this).find('endPoint').text()  + '&nbsp;' +
												$(this).find('trainTime').text() +
											'</div>' +
										'</div>' +
										'<div class="row no-gutters">' +
											'<div class="col-sm-3">'+ 
												$(this).find('taxiName').text() +
											'</div>' +
											'<div class="col-sm-8">'+ 
												bikoStr +
											'</div>' +
											'<div class="col-sm-1">'+ 
												'<div class="mx-auto">' + checkIcon + '</div>' +
											'</div>' +
										'</div>' +
									'</div>' +
								'</li>';
				$('#lstTaxi').append(addList);
			});
			$('#lstTaxi>li').on('click',function(){
				if($(this).attr('data-changeflg') === '1'){
					$('#hdnTaxiNo').val($(this).attr('data-taxino'));
					getTaxiCallData();
				}else {
					$('#modalErrorTitle').empty();
					$('#modalErrorTitle').text('注意！');

					$('#modalErrorMessage').empty();
					$('#modalErrorMessage').append('<p>送迎時刻が近いため情報の変更は出来ません。</p>');
					$('#modalError').modal('show');
				}
			});
			$('#spinLoading').hide();
		}
	};
	cmGetXMLbyAjax(param,true,callbackAjax);
}

function getTaxiCallData(){
	var param = {
		'appname':nasiappname,
		'prgname':'TX121',
		'ssid': $('#ssid').val(),
		'taxiNo' : $('#hdnTaxiNo').val(), 
		'arguments':'ssid,taxiNo'
	};
	//var getList = cmGetXMLbyAjax(param,true);
	var callbackAjax = function(){
		var getList = retXML;
		if($(getList).find('kbn').text() === 'I001' ){
			$('.inpTaxiDetail').empty();

			$('#hdnSougeiKbn').val($(getList).find('mukaeKbn').text());
			$('#spnSougeiKbn').text($(getList).find('mukaeKbnNM').text());
			$('#inpSougeiDate').val($(getList).find('mukaeDate').text());
			$('#inpSougeiTime').val($(getList).find('mukaeTime').text());
			if($(getList).find('mukaeKbn').text() === '1' || $(getList).find('mukaeKbn').text() === '2'){
				$('#titleBasho').text('行先');
				$('#divTrainTime').show();
			}else {
				$('#titleBasho').text('迎先');
				$('#divTrainTime').hide();
			}
			$('#inpSougeiBasho').val($(getList).find('mukaePoint').text());
			$('#inpTrainTime').val($(getList).find('trainTime').text());
			$('#inpBiko').val($(getList).find('biko').text());
			if($(getList).find('hatobakoFlg').text() === '1'){
				$('#inpHatobakoCheck').prop('checked',true);
			}else {
				$('#inpHatobakoCheck').prop('checked',false);
			}
			if($(getList).find('jimusyokeiyuFlg').text() === '1'){
				$('#inpJimusyokeiyuCheck').prop('checked',true);
			}else {
				$('#inpJimusyokeiyuCheck').prop('checked',false);
			}
			if($(getList).find('noTaxiFlg').text() === '1'){
				$('#inpCarCheck').prop('checked',true);
			}else {
				$('#inpCarCheck').prop('checked',false);
			}
			if($(getList).find('status').text() === '1'){
				$('#inpHatobakoCheck').prop('disabled',true);
				$('#inpJimusyokeiyuCheck').prop('disabled',true);
				$('#inpCarCheck').prop('disabled',true);
			}else {
				$('#inpHatobakoCheck').prop('disabled',false);
				$('#inpJimusyokeiyuCheck').prop('disabled',false);
				$('#inpCarCheck').prop('disabled',false);
			}
			

			$('#spinLoading').hide();
			pagindDiv('divTaxiCallDetail');
		}
	};
	cmGetXMLbyAjax(param,true,callbackAjax);
}

function checkUpdateTaxiCall(ketteiKbn){
	var retCheck = [];
	// 送迎日チェック
	if(ketteiKbn === '1' && $('#inpSougeiDate').val() === ''){
		retCheck.push('送迎日が入力されていません。');
	}else if($('#inpSougeiDate').val() !== '' && !checkDateFormat($('#inpSougeiDate').val())){
		retCheck.push('送迎日はYYYY/MM/DDの形式で入力してください。');
	}
	// 送迎時刻チェック
	if(ketteiKbn === '1' && $('#inpSougeiTime').val() === ''){
		retCheck.push('送迎時刻が入力されていません。');
	}else if($('#inpSougeiTime').val() !== '' && !checkTimeFormat($('#inpSougeiTime').val())){
		retCheck.push('送迎時刻はHH:MMの形式で入力してください。');
	}
	// 行先／迎先チェック
	if(ketteiKbn === '1' && $('#inpSougeiBasho').val() === ''){
		retCheck.push('行先/迎先が入力されていません。');
	}else if(!checkStrLength($('#inpSougeiBasho').val(),20)){
		retCheck.push('行先/迎先は20桁以内の半角／全角文字で入力して下さい。');
	}
	// 電車時刻チェック
	
	var sougeiKbn = false;
	if($('#hdnSougeiKbn').val() === '1' || $('#hdnSougeiKbn').val() === '2'){ sougeiKbn = true; }
	if(!$('#inpCarCheck').prop('checked')){
		if(ketteiKbn === '1' && sougeiKbn && $('#inpTrainTime').val() === ''){
			retCheck.push('電車時刻が入力されていません。');
		}else if($('#inpTrainTime').val() !== '' && !checkTimeFormat($('#inpTrainTime').val())){
			retCheck.push('電車時刻はHH:MMの形式で入力してください。');
		}
	}
	return retCheck;
}

function updateTaxiCall(ketteiKbn){
	var mukaeBasho='',okuriBasho='';
	var sougeiKbn = $('#hdnSougeiKbn').val();
	switch(sougeiKbn){
		case '1':
		case '2':
			mukaeBasho = '自宅';
			okuriBasho = $('#inpSougeiBasho').val();
			break;
			
		case '3':
		case '4':
			mukaeBasho = $('#inpSougeiBasho').val();
			okuriBasho = '自宅';
			break;
	}
	var hatobakoCheck = '0';
	if($('#inpHatobakoCheck').prop('checked')){ hatobakoCheck = '1'; }
	var jimusyokeiyuCheck = '0';
	if($('#inpJimusyokeiyuCheck').prop('checked')){ jimusyokeiyuCheck = '1'; }
	var noTaxiFlg = '0';
	if($('#inpCarCheck').prop('checked')){ noTaxiFlg = '1'; }
	
	var param = {
		'appname':nasiappname,
		'prgname':'TX122',
		'ssid': $('#ssid').val(),
		'ketteiKbn' : ketteiKbn,
		'taxiNo' : $('#hdnTaxiNo').val(),
		'sougeiDate' : $('#inpSougeiDate').val(),
		'sougeiTime' : $('#inpSougeiTime').val(),
		'mukaeBasho' : mukaeBasho,
		'okuriBasho' : okuriBasho,
		'trainTime' : $('#inpTrainTime').val(),
		'boatNo' : $('#inpBoatNo').val(),
		'hatobakoCheck' : hatobakoCheck,
		'jimusyokeiyuCheck' : jimusyokeiyuCheck,
		'noTaxiFlg' : noTaxiFlg,
		'arguments':'ssid,ketteiKbn,taxiNo,sougeiDate,sougeiTime,mukaeBasho,okuriBasho,trainTime,boatNo,hatobakoCheck,jimusyokeiyuCheck,noTaxiFlg'
	};
	//var getList = cmGetXMLbyAjax(param,true);
	
	var callbackAjax = function(){
		var getList = retXML;
		if($(getList).find('kbn').text() === 'I001' ){

			$('#modalErrorMessage').empty();
			$('#modalErrorMessage').append('<p>更新しました。</p>');
			$('#modalError').modal('show');

			$('#spinLoading').hide();
			pagindDiv('divListTaxi');
		}
	};
	cmGetXMLbyAjax(param,true,callbackAjax);
}

function getSougeiBashoList(){
	$('#spinLoading').show();
	var param = {
		'appname':nasiappname,
		'prgname':'TX123',
		'ssid': $('#ssid').val(),
		'arguments':'ssid'
	};
	//var getList = cmGetXMLbyAjax(param,true);
	var callbackAjax = function(){
		var getList = retXML;
		if($(getList).find('kbn').text() === 'I001' ){
			$('#lstSougeiBasho').empty();
			$(getList).find('line').each(function(){			
				var addList = 	'<li data-mukaePoint="'+$(this).find('mukaePoint').text()+'">' +
									'<div class="container-fluid">'+
										'<div class="row no-gutters">' +
											'<div class="col-sm-11">'+
												$(this).find('mukaePoint').text() +
											'</div>' +
											'<div class="col-sm-1">'+
												'<i class="fas fa-arrow-circle-right"></i>' +
											'</div>' +
										'</div>' +
									'</div>' +
								'</li>';
				$('#lstSougeiBasho').append(addList);
			});
			$('#lstSougeiBasho>li').on('click',function(){
				$('#inpSougeiBasho').val($(this).attr('data-mukaepoint'));
				pagindDiv('divTaxiCallDetail');
			});
			$('#spinLoading').hide();
			pagindDiv('divListSougeiBasho');
		}
	};
	cmGetXMLbyAjax(param,true,callbackAjax);
}
