var VtmEkispert = function (options) {
var baseId = options.id;
var resultContentsId = options.resultContentsId;
var resultId = options.resultId;
var corporationBind = options.corporationBind;
var dateTimeApp;
var stationApp1;
var stationApp2;
var conditonApp;
var resultApp;
var listeners = {};
var storage = localStorage;
var transferTimeMostMargin = "T3221233232319:F332112212000:A23121121:";
var transferTimeNormal = "T3221233232319:F332112212000:A23121141:";
var transferTimeLessMargin = "T3221233232319:F332112212000:A23121111:";
var answerCount = 3;
var radius = 10000;
var fromLocationText = "マップから指定した出発地";
var toLocationText = "マップから指定した到着地";
var yourLocationText = "現在地";
//経路探索用変数
var from, to;
var viaList = [];
var fromLocation, toLocation;
var language = "ja";
var isiPhone = navigator.userAgent.match(/iPhone/i) != null;
var isAndroid_phone = (navigator.userAgent.match(/Android/i) != null && navigator.userAgent.match(/Mobile/i) != null);
init();
/**
* 初期化処理
*/
function init() {
language = storage.getItem("language") || "ja";
var buffer = '';
buffer += '
';
//メッセージモーダル
buffer += '
';
buffer += '
';
buffer += '
';
buffer += '';
buffer += '
';
buffer += '
';
buffer += '
';
buffer += '';
buffer += '
';
buffer += '
';
buffer += '
';
buffer += '
';
buffer += '
';
buffer += output("", "");
if (typeof options.forWebLink != "undefined" && options.forWebLink) {
buffer += '';
}
buffer += '
' + output("検索日時を指定する", "Date") + '
';
buffer += '
日付
';
buffer += '
' + output("検索条件を設定する", "Setting") + '
';
buffer += '
探索条件
';
buffer += '
' + output("検索する", "Search") + '';
//駅の履歴
buffer += '
' + output("検索履歴から指定", "Route search history") + '
';
buffer += '
' + output("履歴一覧を表示", "Show history list") + '';
//探索履歴
buffer += '
' + output("Myコースを検索", "Route search My course") + '
';
buffer += '
' + output("登録済みのMyコースはありません", "There is no My course") + '
';
buffer += '
';
buffer += '';
document.getElementById(options.id).innerHTML = buffer;
//履歴のボタン
addEvent(document.getElementById(baseId + "_openHistory"), "click", function () {
if (storage.getItem(VTM_RESULT_LOCAL_STORAGE) && typeof JSON.parse(storage.getItem(VTM_RESULT_LOCAL_STORAGE)).point != "undefined") {
var history = JSON.parse(storage.getItem(VTM_RESULT_LOCAL_STORAGE));
var pointHistory = "";
for (var i = 0; i < history.point.length; i++) {
pointHistory += '';
}
if (language == "ja") {
displayMessage("出発・到着地の履歴", pointHistory);
} else if (language == "en") {
displayMessage("History of departure / arrival place", pointHistory);
}
for (var i = 0; i < history.point.length; i++) {
addEvent(document.getElementById(baseId + "_depHistoryButton_" + String(i)), "click", function (e) {
var n = e.srcElement.id.replace(baseId + "_depHistoryButton_", "");
setFromStation(history.point[parseInt(n)].name);
$('#searchMessageModal').modal('hide');
});
addEvent(document.getElementById(baseId + "_arrHistoryButton_" + String(i)), "click", function (e) {
var n = e.srcElement.id.replace(baseId + "_arrHistoryButton_", "");
setToStation(history.point[parseInt(n)].name);
$('#searchMessageModal').modal('hide');
});
}
} else {
if (language == "ja") {
displayMessage("出発・到着地の履歴", "履歴はありません");
} else if (language == "en") {
displayMessage("History of departure / arrival place", "There is no history");
}
}
});
dateTimeApp = new expGuiDateTime(document.getElementById(baseId + "_dateTime"));
dateTimeApp.setConfigure("agent", 1);
dateTimeApp.setConfigure(dateTimeApp.SEARCHTYPE_LASTTRAIN_LABEL, "最終");
dateTimeApp.dispDateTime(dateTimeApp.SEARCHTYPE_DIA);
// 駅名入力パーツ#1初期化
stationApp1 = new expGuiStation(document.getElementById(baseId + "_station_1"));
stationApp1.setConfigure("apiURL", "https://api.vtfm.jp/");
stationApp1.setConfigure("agent", 1);
stationApp1.setConfigure("key", VTM_EKISPERT_KEY);
stationApp1.setConfigure("geolocation", true);
stationApp1.bind("geolocation", function (status) {
getLocationStatus(status);
});
stationApp1.setStationSort([stationApp1.createSortObject("バス", "bus"), stationApp1.createSortObject("施設", "landmark"), stationApp1.createSortObject("住所", "address", false)]);
stationApp1.bind("focus", function () {
if (stationApp1.getStation() == fromLocationText) {
stationApp1.setStation("");
delete fromLocation;
}
});
stationApp1.dispStation();
// 駅名入力パーツ#2初期化
stationApp2 = new expGuiStation(document.getElementById(baseId + "_station_2"));
stationApp2.setConfigure("apiURL", "https://api.vtfm.jp/");
stationApp2.setConfigure("agent", 1);
stationApp2.setConfigure("key", VTM_EKISPERT_KEY);
stationApp2.setConfigure("geolocation", true);
stationApp2.bind("geolocation", function (status) {
getLocationStatus(status);
});
stationApp2.setStationSort([stationApp1.createSortObject("バス", "bus"), stationApp1.createSortObject("施設", "landmark"), stationApp1.createSortObject("住所", "address", false)]);
stationApp2.bind("focus", function () {
if (stationApp2.getStation() == toLocationText) {
stationApp2.setStation("");
delete toLocation;
}
});
stationApp2.dispStation();
// 探索条件パーツ初期化
conditonApp = new expGuiCondition(document.getElementById(baseId + "_condition"));
var conditionArea = '';
conditionArea += '';
conditionArea += '
';
conditionArea += '
';
conditionArea += '
';
document.getElementById(baseId + '_condition').innerHTML = conditionArea;
// 経路表示パーツ初期化
var resultArea = "";
resultArea += '