/*===================================================== * Script Name: tour2nd_module_main.js * Description: 空席照会モジュール ツアー2ndメイン処理 * Version: 1.00 * Last Up Date: 2017/09/29 =====================================================*/ // ここからコントローラ処理 var m_tour2ndModuleMain_siteType = { site : 'tour2nd', module : 'Main' }; var m_tour2ndModuleMain_AREA_CODE_JP = '01'; //初期値設定 var m_tour2ndModuleMain_defaults_common = { m_defModuleType:'H', // デザイン 'V':縦版,'H':横版 m_defModulePosition:'C', // モジュール設定位置 'L':左,'C':中央,'R':右 m_defIsDispTabDomInt:true, // 国内/国際タブ表示スイッチ m_defIsDispTabFuncDom:true, // 国内旅行タブ表示スイッチ m_defIsDispTabFuncInt:true, // 国際旅行タブ表示スイッチ m_defIsDispDomDp:true, // 国内旅作タブ表示スイッチ m_defIsDispDomPkg:true, // 国内パッケージタブ表示スイッチ m_defIsDispDomHotel:true, // 国内ホテルタブ表示スイッチ m_defIsDispDomHotelBulk:true, // 国内ホテル(3社一括)タブの表示スイッチ m_defIsDispDomCar:true, // 国内レンタカータブ表示スイッチ m_defIsDispDomTraffic:true, // 国内観光タブ表示スイッチ m_defIsDispDomBulk:true, // 国内ツアー一括タブ表示スイッチ m_defIsDispIntDp:true, // 海外旅作タブ表示スイッチ m_defIsDispIntPkg:true, // 海外パッケージタブ表示スイッチ m_defIsDispIntOption:true, // 海外オプションタブ表示スイッチ m_defCoopSiteCode:'', // 提携サイトコード m_defFormMethod:'get', // formMethod切り替え get/post m_defKartKeep:'' // 再検索パラメータ }; // defaults値保持のため、shallow copy var m_tour2ndModuleMain_optionParam_common = $tour_module_jq.extend(m_tour2ndModuleMain_optionParam_common, m_tour2ndModuleMain_defaults_common); function m_tour2ndModuleMain_setParams(options){ m_tour2ndModuleMain_optionParam_common = $tour_module_jq.extend(m_tour2ndModuleMain_optionParam_common, options.common); var defIsDispTabDomInt = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispTabDomInt'); // フラグ調整 // 国内/国際タブ表示スイッチがtrueの場合は国内旅行タブと国際旅行タブを両方trueにする if(defIsDispTabDomInt){ m_tour2ndModuleMain_optionParam_common.m_defIsDispTabFuncDom = true; m_tour2ndModuleMain_optionParam_common.m_defIsDispTabFuncInt = true; } //国内/国際タブ var defIsDispTabFuncDom = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispTabFuncDom'); var defIsDispTabFuncInt = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispTabFuncInt'); //国際 var defIsDispIntTabisaku = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispIntDp'); var defIsDispIntPackTour = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispIntPkg'); var defIsDispIntOption = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispIntOption'); //国内 var defIsDispDomDp = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomDp'); var defIsDispDomPkg = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomPkg'); var defIsDispDomHotel = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomHotel'); var defIsDispDomHotelBulk = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomHotelBulk'); var defIsDispDomCar = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomCar'); var defIsDispDomTraffic = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomTraffic'); var defIsDispDomBulk = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomBulk'); // 吹き出し位置パラメータ設定 var defModulePosition = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defModulePosition'); if(defModulePosition === 'R'){ m_tour2ndModuleMain_optionParam_common['m_defModulePosition'] = 'right'; }else if(defModulePosition === 'L'){ m_tour2ndModuleMain_optionParam_common['m_defModulePosition'] = 'left'; }else{ m_tour2ndModuleMain_optionParam_common['m_defModulePosition'] = 'center'; } ////////////////////////// // 他モジュールの初期化 ////////////////////////// // 国内/国際タブ if(defIsDispTabDomInt){ var optionsTabSelDomInt = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.tabDomInt); this.tour2ndModuleTab('privateSetParams', optionsTabSelDomInt); } //国内旅作 if(defIsDispDomDp){ var optionsDomTabiskau = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourDp); this.domtour2ndModuleDp('privateSetParams', optionsDomTabiskau); } //国内パッケージ if(defIsDispDomPkg){ var optionsDomPack = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourPkg); this.domtour2ndModulePkg('privateSetParams', optionsDomPack); } //国内ホテル if(defIsDispDomHotel){ var optionsDomHotel = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourHotel); this.domtour2ndModuleHotel('privateSetParams', optionsDomHotel); } //国内ホテル(3社一括) if(defIsDispDomHotelBulk){ var optionsDomHotelBulk = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourHotelBulk); this.domtour2ndModuleHotelBulk('privateSetParams', optionsDomHotelBulk); } //国内レンタカー if(defIsDispDomCar){ var optionsDomCar = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourCar); this.domtour2ndModuleCar('privateSetParams', optionsDomCar); } //国内観光 if(defIsDispDomTraffic){ var optionsDomTraffic = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourTraffic); this.domtour2ndModuleTraffic('privateSetParams', optionsDomTraffic); } //国内ツアー if(defIsDispDomBulk){ var optionsDomBulk = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.domtourBulk); this.domtour2ndModuleBulk('privateSetParams', optionsDomBulk); } // 海外旅作 if(defIsDispIntTabisaku){ var optionsIntTabiskau = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.inttourDp); this.inttour2ndModuleDp('privateSetParams', optionsIntTabiskau); } // 海外パッケージ if(defIsDispIntPackTour){ var optionsIntPack = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.inttourPkg); this.inttour2ndModulePkg('privateSetParams', optionsIntPack); } // 海外オプション if(defIsDispIntOption){ var optionsIntOption = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.inttourOption); this.inttour2ndModuleOption('privateSetParams', optionsIntOption); } // 国内旅行タブ if(defIsDispTabDomInt || defIsDispTabFuncDom){ var optionsTabSelFuncDom = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.tabFuncDom); this.domtour2ndModuleTab('privateSetParams', optionsTabSelFuncDom); } // 国際旅行タブ if(defIsDispTabDomInt || defIsDispTabFuncInt){ var optionsTabSelFuncInt = $tour_module_jq.extend({}, m_tour2ndModuleMain_optionParam_common, options.tabFuncInt); this.inttour2ndModuleTab('privateSetParams', optionsTabSelFuncInt); } }; // 指定文字列の配列内存在チェック function m_tour2ndModuleMain_getStrArrayMatchAll(targetStr, arrayStr){ if($tour_module_jq.inArray(targetStr, arrayStr) != -1){ return true; } return false; }; /** * 国際線2ndモジュールHTML埋め込み処理 */ function m_tour2ndModuleMain_secondModuleDisplay(options) { // 縦or横版制御 var defModuleType = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defModuleType'); if(defModuleType === 'V'){ defModuleType = 'vertical'; }else{ defModuleType = 'horizon'; } // テキスト設定 // 特になし // 画面レイアウト var html = ''; html += '
\n'; html += '
\n'; html += '
\n'; // 国内/国際タブが追加される箇所 html += '
\n'; html += '\n'; html += '
\n'; html += '
\n'; // 国内旅行タブが追加される箇所 html += '\n'; html += '
\n'; // 国内旅作モジュールが追加される箇所 html += '
\n'; html += '
\n'; // 国内パッケージツアーが追加される箇所 html += '
\n'; html += '
\n'; // 国内ホテルが追加される箇所 html += '
\n'; html += '
\n'; // 国内ホテル(3社一括)が追加される箇所 html += '
\n'; html += '
\n'; // 国内レンタカーが追加される箇所 html += '
\n'; html += '
\n'; // 国内観光・体験・現地交通が追加される箇所 html += '
\n'; html += '
\n'; // 国内ツアーが追加される箇所 html += '
\n'; html += '
\n'; html += '
\n'; html += '\n'; html += '\n'; html += '
\n'; html += '
\n'; // 国際旅行タブが追加される箇所 html += '\n'; html += '
\n'; // 海外旅作モジュールが追加される箇所 html += '
\n'; html += '\n'; html += '
\n'; // 海外パッケージモジュールが追加される箇所 html += '
\n'; html += '\n'; html += '
\n'; // 海外オプションモジュールが追加される箇所 html += '
\n'; html += '
\n'; html += '
\n'; html += '\n'; html += '\n'; html += ''; html += '
\n'; html += '
\n'; html += '
\n'; html += '\n'; html += '\n'; html += '
\n'; this.append(html); var calHtml = ''; this.after(calHtml); m_inttour2ndModuleMain_setDefVal(this, options); }; function m_inttour2ndModuleMain_setDefVal(target, options){ //国内/国際タブ var defIsDispTabDomInt = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispTabDomInt'); var defIsDispTabFuncDom = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispTabFuncDom'); var defIsDispTabFuncInt = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispTabFuncInt'); //国際 var defIsDispIntTabisaku = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispIntDp'); var defIsDispIntPackTour = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispIntPkg'); var defIsDispIntOption = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispIntOption'); //国内 var defIsDispDomDp = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomDp'); var defIsDispDomPkg = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomPkg'); var defIsDispDomHotel = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomHotel'); var defIsDispDomHotelBulk = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomHotelBulk'); var defIsDispDomCar = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomCar'); var defIsDispDomTraffic = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomTraffic'); var defIsDispDomBulk = m_tourModuleCommon_getParam(m_tour2ndModuleMain_siteType, options, 'm_defIsDispDomBulk'); //国内ツアータブ・海外ツアータブ初期表示制御 var activeTab = ''; if(defIsDispTabFuncDom && !defIsDispTabFuncInt){ target.find('.mod_domtour').addClass('is-active'); }else if(!defIsDispTabFuncDom && defIsDispTabFuncInt){ target.find('.mod_inttour').addClass('is-active'); } // AdobeTarget設定、optionsの初期値を更新 if(m_tourModuleCommon_setTargetValue_params !== undefined){ options = $tour_module_jq.extend(true,options,m_tourModuleCommon_setTargetValue_params); } // 再検索パラメータ設定 var optionsParam = undefined; if(defIsDispIntTabisaku || defIsDispIntPackTour){ // 海外ツアー optionsParam = target.tourCommonModule('setResearchValue', m_inttour2ndModuleCommon_setDefValue); } if(defIsDispDomDp || defIsDispDomPkg || defIsDispDomHotel || defIsDispDomHotelBulk || defIsDispDomCar || defIsDispDomTraffic || defIsDispDomBulk){ // 国内ツアー var optionsParamDom = target.tourCommonModule('setResearchValue', m_domtour2ndModuleCommon_setDefValue); if (!_.isEmpty(optionsParamDom) && optionsParam === undefined) { optionsParam = {}; } $tour_module_jq.extend(optionsParam, optionsParamDom); } if(optionsParam!==undefined){ var moduleFlg = true; //タブ判定 true:国内 false:海外 // 海外モジュール判定 // 海外旅行タブの各モジュール一意の項目を設定(仮) // [旅作,パッケージツアー,パッケージツアー(コースコード)]の順 // [旅作,パッケージ,ホテル,レンタカー,観光,ツアー一括] var module_judge = ['outwardDeptName','freeword','courseNo']; for(i=0;i