/*=====================================================
* Script Name: tour2nd_module_tab.js
* Description: 空席照会モジュール ツアー2nd 国内/海外選択タブ
* Version: 1.00
* Last Up Date: 2017/9/29
=====================================================*/
var m_tour2ndModuleTab_siteType = { site : 'tour2nd', module : 'tab' };
var m_tour2ndModuleTab_AREA_CODE_JP_tabSelDomInt = '01';
//初期値設定
var m_tour2ndModuleTab_defaults = {
m_defInitTab:'1', // 機能タブ '1'(国内ツアー) or '2'(海外ツアー)
};
// defaults値保持のため、shallow copy
var m_tour2ndModuleTab_optionParam = $tour_module_jq.extend(m_tour2ndModuleTab_optionParam, m_tour2ndModuleTab_defaults);
function m_tour2ndModuleTab_setParams(options){
m_tour2ndModuleTab_optionParam = $tour_module_jq.extend(m_tour2ndModuleTab_optionParam, options);
};
// 指定文字列の配列内存在チェック
function m_tour2ndModuleTab_getStrArrayMatchAll(targetStr, arrayStr){
if($tour_module_jq.inArray(targetStr, arrayStr) != -1){
return true;
}
return false;
};
/**
* 国際線2ndモジュールHTML埋め込み処理
*/
function m_tour2ndModuleTab_secondModuleDisplay(options) {
// テキスト設定
var tabDomTourText = m_tourModuleCommon_getListValue(m_tour2ndModuleTab_tabNameDomTour, 'Text');
var tabIntTourText = m_tourModuleCommon_getListValue(m_tour2ndModuleTab_tabNameIntTour, 'Text');
// 画面レイアウト
var html = '';
// タブの制御(「国内旅行」「海外旅行」)
html += '
\n';
this.prepend(html);
var calHtml = '';
this.after(calHtml);
m_tour2ndModuleTab_setDefVal(this, options);
};
function m_tour2ndModuleTab_setDefVal(target, options){
options =$tour_module_jq.extend(m_tour2ndModuleTab_optionParam, options);
var defIsDispTabFuncDom = m_tourModuleCommon_getParam(m_tour2ndModuleTab_siteType, options, 'm_defIsDispTabFuncDom');
var defIsDispTabFuncInt = m_tourModuleCommon_getParam(m_tour2ndModuleTab_siteType, options, 'm_defIsDispTabFuncInt');
var defDispTabIndex = m_tourModuleCommon_getParam(m_tour2ndModuleTab_siteType, options, 'm_defInitTab');
// 更新時カレントタブ制御(「旅作」「海外パッケージ」モジュールの操作)
var $box = target;
var currentTab = undefined;
if (defDispTabIndex == '1' && defIsDispTabFuncDom) {
currentTab = target.find('.m_domtourTab');
} else if (defDispTabIndex == '2' && defIsDispTabFuncInt) {
currentTab = target.find('.m_inttourTab');
}
var $targetTab = $box.find('.' + $tour_module_jq(currentTab).attr('data-tab-target'));
var currentParentLi = currentTab.parent('li');
currentParentLi.siblings().removeClass('is-current');
currentParentLi.addClass('is-current');
if ($targetTab[0]) {
$box.find('.js-mod-travel-tab_contents').removeClass('is-active');
$targetTab.addClass('is-active');
}
// 海外旅行、国内旅行選択タブ
$tour_module_jq(document).on('click', '.js-mod-travel-tab_btn', function (e) {
e.preventDefault();
var $box = $tour_module_jq(this).closest('.js-mod-travel-tab');
var $target = $box.find('.' + $tour_module_jq(this).attr('data-tab-target'));
var $parentLi = $tour_module_jq(this).parent('li');
$parentLi.siblings().removeClass('is-current');
$parentLi.addClass('is-current');
if ($target[0]) {
$box.find('.js-mod-travel-tab_contents').removeClass('is-active');
$target.addClass('is-active');
}
});
};
// 外部公開メソッドの定義
$tour_module_jq.fn.tour2ndModuleTab = function(method) {
var methods = {
'privateSetParams' : m_tour2ndModuleTab_setParams,
'privateSecondModuleDisplay' : m_tour2ndModuleTab_secondModuleDisplay
};
if (methods[method]) {
return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
} else {
$tour_module_jq.error('Method ' + method + ' does not exist on $tour_module_jq.tour2ndModuleTab');
}
};