/** *** NOT DIRECTLY EDIT. CHECK OUT FROM CVS **** */
var rakutenTr_History = {};
(function($){
rakutenTr_History.CONSTANTS =  {
ASHIATO_DOMAIN : "http://ashiato.travel.rakuten.co.jp/"
, HISTORY_SIZE : {defaultNum:15,domesticAirPackageBrowse:30}
, ICON : {
AIR_DIRECT : {G101:"icon_direct_via_smaller",GR102:"icon_direct_via_smaller"},
AIR_SEAT   : {F:"incon_05_smaller",C:"incon_04_smaller",Y:"icon-classY_smaller"},
AIR_TICKET : {IT:"icon_tickettype_lowprice_smaller",ZP:"icon_tickettype_regular_smaller"}
}
, WEEK : {
0 : "日",
1 : "月",
2 : "火",
3 : "水",
4 : "木",
5 : "金",
6 : "土"
}
, SEARCH_QUERY_KEYS : [
"f_nen1",
"f_tuki1",
"f_hi1",
"f_nen2",
"f_tuki2",
"f_hi2",
"f_otona_su",
"f_s1",
"f_s2",
"f_y1",
"f_y2",
"f_y3",
"f_y4",
"f_heya_su",
"f_kin2",
"f_kin",
"f_teikei"
]
, LIBRARIES : {
domesticAirPackageBrowse : [
{
url:"http://img.travel.rakuten.co.jp/share/master/js/rakutenTr_domesticAirPackageMaster.js",
names:["rtm.domesticAirPackage"]
},
{
url:"http://img.travel.rakuten.co.jp/share/ddp/front/images/waiting/anawaitingimgs.js",
names:["anaimgslist"]
},
{
url:"http://img.travel.rakuten.co.jp/share/themes/rdp/js/ani.js",
names:["jalImglist"]
}
],
overseasAirBrowse : [
{
url:"http://img.travel.rakuten.co.jp/air/js/airline.js",
names:["airline"]
},
{
url:"http://img.travel.rakuten.co.jp/share/ext/js/airkaigaidata_dp_new_test.js",
names:["airline2","city1"]
},
{
url:"http://img.travel.rakuten.co.jp/air/js/airport.js",
names:["convertArray"]
}
]
}
, INITIAL_GIF : {ANA:"/share/ddp/front/images/waiting/ani_0705_initial.gif",JAL:"/share/images/rdp/waiting/ani_0705_initial.gif"}
, WAITING_GIF : {ANA:"/share/ddp/front/images/waiting/waiting.gif",JAL:"/share/images/rdp/waiting/waiting.gif"}
, DEFAULT_IMAGE_WIDTH : 75
, DEFAULT_IMAGE_HEIGHT : 75
, DEFAULT_SERVICE : "domesticHotelBrowse"
, ASHIATO_API_VERSION : "2010-01-26"
, INFORMATION_URL : {
domesticHotelBrowse       : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/HOcUx/?f_no=##HOTEL_NO##",
domesticHotelBrowseSTATIC : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/zgLP3/?f_no=##HOTEL_NO##",
domesticHotelBrowseIPHONE   : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/m3xEP/?f_no=##HOTEL_NO##",
domesticHotelBrowseANDROID  : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/TQUzi/?f_no=##HOTEL_NO##",
domesticAirPackageBrowseANA : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/zQsXu/",
domesticAirPackageBrowseJAL : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/jgsr8/",
overseasHotelBrowseGM : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/oV7OQ/", //GTA,MIKI
overseasHotelBrowseKCK : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/QEXBG/", //直、中、韓
overseasAirBrowse   : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/zaLKv/",
overseasAirPackageBrowse : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/IXqfb/"
}
, PARAMETER_NAME : {
hotelNoANA : "noTomariHotel",
hotelNoJAL : "hotelNo",
planIdANA : "idTomariPlan",
planIdJAL : "planId",
roomClassANA : "cTomariHotelHeya",
roomClassJAL : "roomClass",
nsBinOuroANA : "ouroBin",
nsBinOuroJAL : "nsBinOuro",
nsBinHukuroANA : "fukuroBin",
nsBinHukuroJAL : "nsBinHukuro"
}
, ASHIATO_API_INFO : {
domesticHotelBrowse: ["hotelBasicInfo"],
overseasHotelBrowse: ["hotelBasicInfo"],
overseasAirBrowse: ["airBasicInfo"],
campaignBrowse: ["campaignBasicInfo"]
}
, EMPTY_MESSAGE : {
domesticHotelBrowse: '<p class="empty" >最近見た宿泊施設はありません</p>' +
'<p class="empty" ><a href="http://travel.rakuten.co.jp/">国内施設の検索はこちらから</a></p>',
domesticAirPackageBrowse : '<p class="empty" >最近見た航空券付プランはありません</p>' +
'<p class="empty" ><a href="http://img.travel.rakuten.co.jp/image/tr/se/rirek/xEE1j/">航空券付プランの検索はこちらから</a></p>',
overseasHotelBrowse: '<p class="empty" >最近見た宿泊施設はありません</p>' +
'<p class="empty" ><a href="http://travel.rakuten.co.jp/kaigai_hotel/">海外ホテルの検索はこちらから</a></p>',
overseasAirBrowse:   '<p class="empty" >最近見た航空券はありません</p>' +
'<p class="empty" ><a href="http://travel.rakuten.co.jp/air/">海外航空券の検索はこちらから</a></p>',
overseasAirPackageBrowse : '<p class="empty" >最近見た海外航空券付プランはありません</p>' +
'<p class="empty" ><a href="http://img.travel.rakuten.co.jp/image/tr/se/rirek/8An2K/">航空券付プランの検索はこちらから</a></p>'
}
, HISTORY_NUM_MESSAGE : {
domesticHotelBrowse : '<strong class="historyNum" >0</strong>軒の閲覧履歴があります<span id="pgIndex"></span><span id="toCompare"></span>',
domesticAirPackageBrowse : '<strong class="historyNum" >0</strong>施設の閲覧履歴があります<span id="pgIndex"></span><span id="toCompare"></span>',
overseasHotelBrowse : '<strong class="historyNum" >0</strong>軒の閲覧履歴があります<span id="pgIndex"></span><span id="toCompare"></span>',
overseasAirBrowse : '<strong class="historyNum" >0</strong>件の閲覧履歴があります<span id="pgIndex"></span><span id="toCompare"></span>',
overseasAirPackageBrowse : '<strong class="historyNum" >0</strong>件の閲覧履歴があります<span id="pgIndex"></span><span id="toCompare"></span>'
}
, HISTORY_NUM_MESSAGE_PAGE_ONLY : {
domesticHotelBrowse : '<strong class="historyNum" >0</strong>軒の閲覧履歴があります<br><span id="pgIndex"></span>',
domesticAirPackageBrowse : '<strong class="historyNum" >0</strong>施設の閲覧履歴があります<br><span id="pgIndex"></span>',
overseasHotelBrowse : '<strong class="historyNum" >0</strong>軒の閲覧履歴があります<br><span id="pgIndex"></span>',
overseasAirBrowse : '<strong class="historyNum" >0</strong>件の閲覧履歴があります<br><span id="pgIndex"></span>',
overseasAirPackageBrowse : '<strong class="historyNum" >0</strong>件の閲覧履歴があります<br><span id="pgIndex"></span>'
}
, URL_IMAGE_TRAVEL_RAKUTEN : 'http://travel.rakuten.co.jp'
, COMPARE_HTML : {
domesticHotelBrowse : 'http://img.travel.rakuten.co.jp/image/tr/se/rirek/Y8rzq/',
domesticAirPackageBrowse : 'http://travel.rakuten.co.jp/share/themes/compare/domestic_air_package_compare.html',
overseasHotelBrowse : 'http://travel.rakuten.co.jp/share/themes/compare/overseas_hotel_compare.html',
overseasAirBrowse : 'http://travel.rakuten.co.jp/share/themes/compare/overseas_air_compare.html',
overseasAirPackageBrowse : 'http://travel.rakuten.co.jp/share/themes/compare/overseas_air_package_compare.html'
}
, CNT_COOKIE_POSITION : {
domesticHotelBrowse : 0 ,
domesticAirPackageBrowse : 1 ,
overseasHotelBrowse : 2 ,
overseasAirBrowse : 3,
overseasAirPackageBrowse : 4,
domesticAirPackageStock : 5
}
, TYPE_BROWSE : "1"
, TYPE_STOCK  : "2"
, DMST_AIP_COMPARE_HTML :'http://travel.rakuten.co.jp/share/themes/compare/domestic_air_package_compare.html'
, DELETE_KEY : {
domesticHotelBrowse      : 'hotelNo',
overseasHotelBrowse      : 'hotelNo',
domesticAirPackageBrowse : 'itemKey',
overseasAirBrowse        : 'itemKey',
overseasAirPackageBrowse : 'itemKey'
}
};
rakutenTr_History.historyDataList = {};
rakutenTr_History.defaultOptions = {
dataSource : "AshiatoAPI" ,
template : "Image" ,
paging   : true ,
pageIndex   : true ,
pagingEase : "inlinePaging",
duration    : 100,
rootId : "verticalRecentRoot" ,
title : {
domesticHotelBrowse:'最近見た宿泊施設' ,
domesticAirPackageBrowse:'最近見た航空券付プラン' ,
overseasHotelBrowse:'最近見た宿泊施設' ,
overseasAirBrowse:'最近見た航空券',
overseasAirPackageBrowse:'最近見た航空券付きプラン'
},
head : {
domesticHotelBrowse:'<h3>最近見た宿泊施設</h3>' ,
domesticAirPackageBrowse:'<h3>最近見た航空券付プラン</h3>' ,
overseasHotelBrowse:'<h3>最近見た宿泊施設</h3>' ,
overseasAirBrowse:'<h3>最近見た航空券</h3>',
overseasAirPackageBrowse:'<h3>最近見た航空券付きプラン</h3>'
},
substituteHead : {
domesticHotelBrowse:'<h3>最近見た宿泊施設</h3>' ,
domesticAirPackageBrowse:'<h3>最近見た航空券付プラン</h3>' ,
overseasHotelBrowse:'<h3>最近見た宿泊施設</h3>' ,
overseasAirBrowse:'<h3>最近見た航空券</h3>',
overseasAirPackageBrowse:'<h3>最近見た航空券付プラン</h3>'
},
foot : {
domesticHotelBrowse:'<p class="more"><a href="http://travel.rakuten.co.jp/share/themes/compare/compare.html"><span>閲覧履歴をもっと見る</span></a></p><p class="more"><a href="http://img.travel.rakuten.co.jp/image/tr/se/rirek/Rzubl/">アフィリエイトに利用する</a></p>' ,
domesticAirPackageBrowse:'<p class="more"><a href="http://travel.rakuten.co.jp/share/themes/compare/domestic_air_package_compare.html"><span>閲覧履歴をもっと見る</span></a></p>' ,
overseasHotelBrowse:'<p class="more"><a href="http://travel.rakuten.co.jp/share/themes/compare/overseas_hotel_compare.html"><span>閲覧履歴をもっと見る</span></a></p>' ,
overseasAirBrowse:'<p class="more"><a href="http://travel.rakuten.co.jp/share/themes/compare/overseas_air_compare.html"><span>閲覧履歴をもっと見る</span></a></p>' ,
overseasAirPackageBrowse:'<p class="more"><a href="http://travel.rakuten.co.jp/share/themes/compare/overseas_air_package_compare.html"><span>閲覧履歴をもっと見る</span></a></p>'
},
substituteFoot : {
domesticHotelBrowse:'<p class="more"><a href="http://img.travel.rakuten.co.jp/image/tr/se/rirek/Rzubl/">アフィリエイトに利用する</a></p>',
domesticAirPackageBrowse:'' ,
overseasHotelBrowse:'' ,
overseasAirBrowse  :'',
overseasAirPackageBrowse  :''
},
imageWidth : 50 ,
imageHeight : 50 ,
maxNameLength : 24 ,
num : {
domesticHotelBrowse: 5,
domesticAirPackageBrowse: 3,
overseasHotelBrowse: 5,
overseasAirBrowse: 3,
overseasAirPackageBrowse: 3
},
displayAll : true,
displayTop : false,
defaultService : "domesticHotelBrowse",
searchQueryCustom : false,
afterPutFunc : function(stockId,viewCode){
var elem,dataList,i;
elem = $("div.recentContents").find("a.mClipImg[name=" +stockId+ "]");
elem.unbind();
dataList = rakutenTr_History.historyDataList.domesticAirPackageBrowse;
$(elem).parents("div.shareOff").removeClass("shareOff").addClass("shareOn");
$("#mDelete"+stockId).removeClass("shareOff").addClass("shareOn");
for(i=0; i<dataList.length; i++){
if(dataList[i].itemKey == stockId){
dataList[i].type = "stock";
break;
}
}
}
};
rakutenTr_History.defaultCampaignOptions = {
num : 3,
maxNameLength : 20,
template : 'Image',
empty_msg : '<p class="empty" >最近見た特集・キャンペーンはありません</p><p class="empty" ><a href="http://img.travel.rakuten.co.jp/image/tr/se/rirek/ex4TC/" >特集＆キャンペーン一覧</a></p>',
header_msg : '<h3>最近見た特集</h3>',
footer_msg : '',
imageWidth : '50px',
imageHeight : '50px',
campaignRootId : 'verticalRecentRoot'
};
rakutenTr_History.options = {
top : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function(){
var _rootJQObj = $('<p id="recentTitle" class="searchHistoryTitle"></p><div id="recentBrowsRoot" class="browsHistory"></div>');
$(_rootJQObj).insertBefore('.searchAnnounce');
try{
$(document.body).mousedown(function(event){
var target = $(event.target);
if(!target.parents("p.addBrowseHistoryTip").length && ! target.is("p.addBrowseHistoryTip") ) {
$("p.addBrowseHistoryTip").remove();
}
});
}catch(e){}
},
rootId : "recentBrowsRoot" ,
template : "ImageTop" ,
imageWidth : 60 ,
imageHeight : 60 ,
maxNameLength : 30 ,
num : {
domesticHotelBrowse: 2,
domesticAirPackageBrowse: 1
},
pageIndex  : true ,
displayAll : false,
displayTop : true,
campaign : $.extend({}, rakutenTr_History.defaultCampaignOptions, {
num : 1,
template : "ImageTop",
initialize : function(){
var _rootJQObj = $('<div id="recentRoot" class="recentBox"><div id="verticalRecentRoot" class="atDmstTop"></div></div>');
$(_rootJQObj).insertAfter('#loginForm');
}
}),
afterPutFunc : function(stockId,viewCode){
var elem = $("div#recentBrowsRoot").find("a.mClipImg[name=" +stockId+ "]");
elem.unbind();
$(elem).parents("li.shareOff").removeClass("shareOff").addClass("shareOn");
$(elem).parents("ul.recentContents").addClass("shareOn");
tipElem = $('<p id="addTip'+stockId+'" class="addBrowseHistoryTip" >閲覧履歴に追加しました<br><a class="addBrowseHistoryLink" href="' + rakutenTr_History.CONSTANTS.DMST_AIP_COMPARE_HTML + '">追加したプランを比較・共有する</a></p>');
$(".scrllArea").prepend(tipElem);
var cnt = rakutenTr_History.page -1;
rakutenTr_History.historyDataList.domesticAirPackageBrowse[cnt].type = "stock";
}
},true),
keyword_search : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
if($("div#extra").length) {
$("div#extra").append('<div id="verticalRecentRoot" style="margin-top: 10px; font-size: 1.2em;"></div>');
} else {
$("div#recentArea").attr("id","wdgtAtKwList").append('<div id="verticalRecentRoot"></div>');
}
}
},true),
ski : $.extend({},rakutenTr_History.defaultOptions,{
num : {
domesticHotelBrowse: 3,
domesticAirPackageBrowse: 1,
overseasHotelBrowse: 3,
overseasAirBrowse: 1,
overseasAirPackageBrowse: 1
}
},true),
business : $.extend({},rakutenTr_History.defaultOptions,{
num : {
domesticHotelBrowse: 3,
domesticAirPackageBrowse: 1,
overseasHotelBrowse: 3,
overseasAirBrowse: 1,
overseasAirPackageBrowse: 1
}
},true),
domestic_search_dayuse : $.extend({},rakutenTr_History.defaultOptions,{
},true),
domestic_search_station : $.extend({},rakutenTr_History.defaultOptions,{
},true),
search_map : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
if($("#spotArea").length) {
$("#spotArea").before('<div id="hrRcmdBox"><div id="hrztlWdgtArea" class="clearfix hrDmstc" ><h3>最近見た宿泊施設</h3><div id="hrztlWdgtBox" class="clearfix" ></div></div></div>');
} else {
$("#mainArea").append('<div id="hrRcmdBox"><div id="hrztlWdgtArea" class="clearfix hrDmstc" ><h3>最近見た宿泊施設</h3><div id="hrztlWdgtBox" class="clearfix" ></div></div></div>');
}
},
displayAll : false,
template : "HorizontalImage",
rootId : "hrztlWdgtBox",
foot : {
domesticHotelBrowse:''
},
head : {
domesticHotelBrowse:"" ,
overseasHotelBrowse:""
},
emptyInitialize : function(){
$("#hrRcmdBox").remove();
},
maxNameLength : 21 ,
defaultService : "domesticHotelBrowse",
num : 5
},true),
search_undecided : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
$("div#disphistory").attr("id","wdgtAtHotelList").removeClass("recentArea").append('<div id="verticalRecentRoot" class="nrml" ></div>');
}
},true),
smart_top : $.extend({},rakutenTr_History.defaultOptions,{
head : {
domesticHotelBrowse:''
},
foot : {
domesticHotelBrowse:''
},
substituteHead : {
domesticHotelBrowse:''
},
substituteFoot : {
domesticHotelBrowse:''
},
num :3,
displayAll:false,
paging:true,
param:{
f_flg : "KIHON"
}
},true),
domestic_air_package_top : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"domesticAirPackageBrowse",
num : {
domesticHotelBrowse: 3,
domesticAirPackageBrowse: 1,
overseasHotelBrowse: 3,
overseasAirBrowse: 1,
overseasAirPackageBrowse: 1
}
},true),
domestic_air_package_list_ana : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"domesticAirPackageBrowse"
},true),
domestic_air_package_list_jal : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"domesticAirPackageBrowse"
},true),
overseas_keyword_search : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
if($("div#extra").length) {
$("div#extra").append('<div id="verticalRecentRoot" style="margin-top: 10px; font-size: 1.2em;"></div>');
}
},
defaultService:"overseasHotelBrowse"
},true),
overseas_air_searchlist : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"overseasAirBrowse"
},true),
overseas_hotellist : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"overseasHotelBrowse"
},true),
overseas_planlist : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"overseasHotelBrowse"
},true),
overseas_air_package_top : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"overseasAirPackageBrowse",
num : {
domesticHotelBrowse: 3,
domesticAirPackageBrowse: 1,
overseasHotelBrowse: 3,
overseasAirBrowse: 1,
overseasAirPackageBrowse: 1
}
},true),
overseas_air_package_list : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
$("div#right").append('<div id="verticalRecentRoot" ></div>');
},
defaultService:"overseasAirPackageBrowse"
},true),
overseas_top : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function(){
if($("#ovrsBrwsBox").length) return;
var _rootJQObj = $('<div id="ovrsBrwsBox"><div id="ovrsBrwsHistry"><p id="recentTitle" class="searchHistoryTitle"></p><div id="recentBrowsRoot" class="browsHistory" style="display:block;"></div></div></div>');
$('div#overseasAirCall').before(_rootJQObj);
},
rootId : "recentBrowsRoot",
template : "ImageTop",
maxNameLength : 30,
maxNameLengths : {
overseasHotelBrowse: 30,
overseasAirBrowse: 40,
overseasAirPackageBrowse: 40
},
defaultService:"overseasHotelBrowse",
num : {
overseasHotelBrowse: 2,
overseasAirBrowse: 1,
overseasAirPackageBrowse: 1
},
pageIndex  : true ,
displayAll : false,
displayTop : true
},true),
overseas_hotel_info : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
$('<div id="hrztlWdgtArea" class="clearfix" ><h3>最近見た宿泊施設</h3><div id="hrztlWdgtBox" class="clearfix" ></div></div>').insertAfter("p#RthPagetop");
},
displayAll : false,
template : "HorizontalImage",
rootId : "hrztlWdgtBox",
head : {
overseasHotelBrowse:""
},
defaultService : "overseasHotelBrowse",
num : 5,
foot : {
overseasHotelBrowse:''
},
emptyInitialize : function(){
$("#hrztlWdgtArea").remove();
}
},true),
domestic_hotel_list : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function(){
var _rootJQObj = $('<div id="wdgtAtHotelList" ><div id="verticalRecentRoot" style="display:none;"></div></div>');
$(_rootJQObj).insertAfter('#anadisp');
},
callback : function(){
$("#verticalRecentRoot").show();
}
},true),
domestic_review_search : $.extend({},rakutenTr_History.defaultOptions,{
},true),
overseas_review_search : $.extend({},rakutenTr_History.defaultOptions,{
defaultService:"overseasHotelBrowse"
},true),
other : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function(){
var _rootJQObj = $('<div id="wdgtAtHotelList" ><div id="verticalRecentRoot" ></div></div>');
$(_rootJQObj).insertAfter('#anadisp');
}
},true),
domestic_tablet : $.extend({},rakutenTr_History.defaultOptions,{
initialize : function() {
$("#searchArea").after('<article id="recentryArea"><div class="clearfix hrDmstc" id="hrztlWdgtArea"><h3>最近見た宿泊施設</h3><div class="clearfix" id="hrztlWdgtBox"></div></div></div>');
},
displayAll : false,
template : "HorizontalImage",
rootId : "hrztlWdgtBox",
foot : {
domesticHotelBrowse:''
},
head : {
domesticHotelBrowse:"" ,
overseasHotelBrowse:""
},
emptyInitialize : function(){
$("#recentryArea").remove();
},
maxNameLength : 21 ,
defaultService : "domesticHotelBrowse",
num : 5,
searchQueryCustom : true
},true)
};
rakutenTr_History.headOptions = {
domestic_hotel_info : {
service : "domesticHotelBrowse",
initialize : function(s){
$("#grpHeaderPrimary").after(s);
},
cntClass : ""
},
search_map : {
service : "domesticHotelBrowse",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
domestic_hotel_list : {
service : "domesticHotelBrowse",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
search_map_ap_ana : {
service : "domesticAirPackageBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/VXYCD/",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
domestic_air_package_list_ana : {
service : "domesticAirPackageBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/VXYCD/",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
domestic_air_package_info_ana : {
service : "domesticAirPackageBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/VXYCD/",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
search_map_ap_jal : {
service : "domesticAirPackageBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/SazqD/",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
domestic_air_package_list_jal : {
service : "domesticAirPackageBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/SazqD/",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
domestic_air_package_info_jal : {
service : "domesticAirPackageBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/SazqD/",
initialize : function(s){
$("#grpSimpleHeader").after(s);
},
cntClass : ""
},
overseas_planlist : {
service : "overseasHotelBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/WDlSS/",
initialize : function(s){
$("#foreignConditionArea").before(s);
}
},
overseas_hotel_info : {
service : "overseasHotelBrowse",
clickUrl : "http://img.travel.rakuten.co.jp/image/tr/se/rirek/WDlSS/",
initialize : function(s){
$("#grpSimpleHeader").length ? $("#grpSimpleHeader").after(s) : $("#RthSignArea").before(s);
}
}/*,
overseas_air_package_list : {
service : "overseasAirPackageBrowse",
clickUrl : "http://travel.rakuten.co.jp/share/themes/compare/overseas_air_package_compare.html", //TODO click集計urlにする
initialize : function(s){
$("#grpheaderArea").after(s);
}
},
overseas_air_package_top : {
service : "overseasAirPackageBrowse",
clickUrl : "http://travel.rakuten.co.jp/share/themes/compare/overseas_air_package_compare.html", //TODO click集計urlにする
initialize : function(s){
$("#grpheaderArea").after(s);
}
}*/
};
rakutenTr_History.getHistoryAshiatoAPI = function(o){
try {
var that = this;
var viewCode = this.viewCode || "other";
o = o || {};
var service = o.service || this.service || this.options[viewCode].defaultService || this.CONSTANTS.DEFAULT_SERVICE;
if(!this.getCookie("Rz")&&!this.getCookie("ashiato-travel-id")) {
if(o.callback) {
setTimeout(function(){o.callback.apply(that,[{body:{contents:[]}}]);},100);
}
} else {
var rc = (this.root || $("#"+this.options[viewCode].rootId)).find(".recentContents");
rc.html('<div style="text-align:center;width:100%;" ><img src="http://img.travel.rakuten.co.jp/share/themes/recently/images/loadingAnimation.gif" /></div>');
this.load(service);
var maxNum = this.CONSTANTS.HISTORY_SIZE[service] || this.CONSTANTS.HISTORY_SIZE['defaultNum'];
$.ajax({
url:this.CONSTANTS.ASHIATO_DOMAIN+"ashiato/"+service+"/take",
dataType:"jsonp",
scriptCharset:"UTF-8",
data:{
maxNum : maxNum,
version : this.CONSTANTS.ASHIATO_API_VERSION
},
success:function(json){
that.ready(service,function(){
if(o.callback) o.callback.apply(that,[json]);
});
},
cache: false,
timeout:10000
});
}
}catch(e){
this.setError({"method":"getHistoryAshiatoAPI","Error":e});
}
};
rakutenTr_History.putHotelHistory = function (history) {
this.putHistory(history,"domesticHotelBrowse");
};
rakutenTr_History.putHistory = function (history,service,viewCode) {
try {
var that = this;
if(service != "domesticHotelBrowse" || this.getCookie("ashi-no") != history.hotelNo) {
if (service == "domesticHotelBrowse") {
document.cookie = "ashi-no=" + history.hotelNo + "; path=/; domain=travel.rakuten.co.jp";
}
$.ajax({
url:this.CONSTANTS.ASHIATO_DOMAIN+"ashiato/"+service+"/put",
dataType:"jsonp",
data:history,
success : function(){
if (viewCode) {
that.dispHotelHistory(viewCode);
}
},
cache: false,
timeout:10000
});
} else {
if (viewCode) {
that.dispHotelHistory(viewCode);
}
}
}catch(e){
this.setError({"method":"putHistory","Error":e});
}
};
rakutenTr_History.dispHotelHistory = function (viewCode) {
var that = this;
$(document.body).ready(function(){
try {
if (viewCode && that.headOptions[viewCode]) {
var html = "";
var ashiCnt = that.getCookie("ashi-cnt");
var cnt = "";
var serviceName = that.headOptions[viewCode].service;
var template = that.getRetargetingHeaderTemplate();
var cookiePosition = that.CONSTANTS.CNT_COOKIE_POSITION;
var splited = ashiCnt.split("_");
if(ashiCnt) {
cnt = Number( splited[cookiePosition[serviceName]] || 0 )
+ ((that.getCookie("Rz")) ? Number( splited[cookiePosition[serviceName.replace("Browse","Stock")]] || 0 ) : 0);
if(!cnt || cnt == 0) {
html = template.historyCntEmpty[serviceName].join("");
} else {
html = template.historyCntContents[serviceName].join("");
}
} else {
html = template.historyCntEmpty[serviceName].join("");
}
html = html.replace(/##CNT_CLASS##/g,that.headOptions[viewCode].cntClass||'')
.replace(/##COMPARE_HTML##/g,that.headOptions[viewCode].clickUrl || that.CONSTANTS.COMPARE_HTML[serviceName])
.replace(/##HISTORY_CNT##/g,cnt);
var initialize = that.headOptions[viewCode].initialize;
if(that.isRenderedHead) $("#historyCount").remove();
if(initialize) initialize(html);
that.isRenderedHead = true;
}
}catch(e){}
viewCode = viewCode || "other";
if (viewCode && that.options[viewCode]) {
that.viewCode = viewCode;
try {
var dispFunction = "dispBy" + that.options[viewCode].dataSource;
that.queryExtract();
if(!that.hasSearchQuery && that.options[viewCode].searchQueryCustom){
$.ajax({
url:that.CONSTANTS.ASHIATO_DOMAIN+"ashiato/domesticHotelSearch/take/",
dataType:"jsonp",
scriptCharset:"UTF-8",
cache: false,
timeout:10000,
data:{
maxNum:1
},
success:function(json){
var info = (json.body.contents[0]||{}).domesticHotelSearchBasicInfo;
that.setDefaultSearchQuery(info);
if(that[dispFunction]) that[dispFunction](); // dispByAshiatoAPI
},
error:function(){
that.setDefaultSearchQuery();
if(that[dispFunction]) that[dispFunction](); // dispByAshiatoAPI
}
});
}else{
if(that[dispFunction]) that[dispFunction](); // dispByAshiatoAPI
}
}catch(e){
that.setError({"method":"dispHotelHistory","Error":e});
}
}
if (viewCode && that.options[viewCode] && that.options[viewCode].campaign && !$("div#recentFtr").length) {
that.campaignReady(viewCode, function(viewCode){
that.dispCampaignHistory(viewCode);
});
}
});
};
rakutenTr_History.setDefaultSearchQuery = function(sq){
if(!sq){
var data1 = new Date(),
data2 = new Date(),
i;
data2.setDate(data1.getDate()+1);
var searchQueryDefault = {
f_nen1: ''+(data1.getFullYear()),
f_tuki1: ('0'+(data1.getMonth()+1)).slice(-2),
f_hi1: ('0'+(data1.getDate())).slice(-2),
f_nen2: ''+(data2.getFullYear()),
f_tuki2: ('0'+(data2.getMonth()+1)).slice(-2),
f_hi2: ('0'+(data2.getDate())).slice(-2),
f_otona_su: '1',
f_s1: '0',
f_s2: '0',
f_y1: '0',
f_y2: '0',
f_y3: '0',
f_y4: '0',
f_heya_su: '1',
f_kin2: '',
f_kin: '',
f_teikei: ''
};
var key = this.CONSTANTS.SEARCH_QUERY_KEYS;
sq={};
for(i=0;i<key.length;i++){
sq[key[i]]=searchQueryDefault[key[i]];
}
}
this.searchQuery = sq;
this.hasSearchQuery = true;
};
rakutenTr_History.dispByAshiatoAPI = function() {
try {
this.getHistoryAshiatoAPI({
callback : function(json){
var that = rakutenTr_History;
that.setHistoryDataList(json);
if(!that.isRendered){
that.render();
} else {
that.renderContents();
that.renderHead();
that.renderFoot();
}
}
});
}catch(e){
this.setError({"method":"dispByAshiatoAPI","Error":e});
}
};
rakutenTr_History.setHistoryDataList = function(json, service) {
var contents = json.body.contents || [],
cl = contents.length,
i,
j,
historyDataList = [],
info;
service = service || this.service || this.options[this.viewCode].defaultService || this.CONSTANTS.DEFAULT_SERVICE;
if(this[service+"Mining"]) {
historyDataList = this[service+"Mining"](contents) || [];
} else {
var infoKeys = this.CONSTANTS.ASHIATO_API_INFO[service];
for(i=0;i<cl;i++) {
info = {};
for(j=0;j<infoKeys.length;j++) {
info = $.extend({},info,contents[i][infoKeys[j]],true);
}
if(info) historyDataList.push(info);
}
}
this.historyDataList[service] = historyDataList;
};
rakutenTr_History.domesticAirPackageBrowseMining = function(contents){
var cl = contents.length;
var i;
var info;
var c;
var historyDataList = [];
for(i=0;i<cl;i++) {
c = contents[i];
info = $.extend(
{},
c.airPackageBasicInfo.airPackageSearchInfo,
c.airPackageBasicInfo.airPackageFareInfo,
c.airPackageBasicInfo.airBasicInfo,
{browseDate : c.airPackageBasicInfo.browseDate},
c.hotelBasicInfo,
c.planBasicInfo,
{type : c.airPackageBasicInfo.type, itemKey : c.airPackageBasicInfo.itemKey}
);
historyDataList.push(info);
}
return historyDataList;
};
rakutenTr_History.overseasAirPackageBrowseMining = function(contents){
var cl = contents.length;
var i,info,c,historyDataList = [];
for(i=0;i<cl;i++) {
c = contents[i];
info = $.extend(
c.airPackageBrowseBasicInfo,
c.airPackageBrowseSearchInfo,
c.airPackageFareInfo,
{browseDate : c.browseDate},
c.hotelBasicInfo,
{itemKey : c.itemKey}
);
historyDataList.push(info);
}
return historyDataList;
};
rakutenTr_History.queryExtract = function(){
var kvl = location.search.substring(1).split(/\&/);
var i, kv;
var q={}, sq={};
for(i=0;i<kvl.length;i++){
kv = kvl[i].split("=");
q[kv[0]] = kv[1];
}
var sqk = this.CONSTANTS.SEARCH_QUERY_KEYS;
var exists = true;
var k;
for(i=0;i<sqk.length;i++){
k = sqk[i];
v = q[k];
if(k != undefined && v != undefined){
sq[k] = v;
}else {
exists = false;
break;
}
}
this.query = q;
this.searchQuery = sq;
this.hasSearchQuery = exists;
};
rakutenTr_History.replaceBySearchQuery = function(s){
var q = this.searchQuery;
var k = null;
for(k in q) {
if(!q.hasOwnProperty(k)) continue;
s = s.replace(new RegExp("##"+k+"##","g"),q[k] == null ? "":q[k]);
}
return s;
};
rakutenTr_History.dispByFixedData = function() {
try {
var service = this.service || this.options[this.viewCode].defaultService || this.CONSTANTS.DEFAULT_SERVICE;
this.historyDataList[service] = this.options[this.viewCode].fixedData;
this.render();
}catch(e){
this.setError({"method":"dispByFixedData","Error":e});
}
};
rakutenTr_History.getOptionsHeadTemplate = function(){
var head;
if(!this.isSubstitute) {
head = this.options[this.viewCode].head || "";
} else {
head = this.options[this.viewCode].substituteHead || "";
}
head = typeof(head) === "string" ? head : head[this.service] || "";
return head;
};
rakutenTr_History.getOptionsTitleTemplate = function(){
return this.options[this.viewCode].title[this.service] || "";
};
rakutenTr_History.getOptionsParam = function(){
var paramString = "";
var param = this.options[this.viewCode].param;
var paramArray = [];
if(param){
for(var key in param) {
if(param.hasOwnProperty(key) === true) {
paramArray.push(key+"="+encodeURI(param[key]));
}
}
paramString = String(paramArray.join("&"));
}
return paramString;
};
rakutenTr_History.getOptionsFootTemplate = function(){
var foot;
if(!this.isSubstitute) {
foot = this.options[this.viewCode].foot || "";
} else {
foot = this.options[this.viewCode].substituteFoot || "";
}
foot = typeof(foot) === "string" ? foot : foot[this.service] || "";
return foot;
};
rakutenTr_History.getTabsTemplate = function(){
var tabs = [
'<ul class="clearfix" id="wdgtTabArea">',
'<li id="wdgtDmstTab"><span><strong>国内</strong></span></li>',
'<li id="wdgtOvrsTab"><span><strong>海外</strong></span></li>',
'</ul>'
];
return tabs.join("");
};
rakutenTr_History.getRadioTemplate = function(){
var radio = [
'<form>',
'<ul id="radioSwtch" >',
'<li class="domestic"><div><input type="radio" id="domesticHotel" name="domesticServiceName" checked="true" value="domesticHotelBrowse" ><label for="domesticHotel"><img width="18" height="18" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_dmst_hotel_icon.gif">ホテル</label></div></li>',
'<li class="domestic"><div><input type="radio" id="domesticAirPackage" name="domesticServiceName" value="domesticAirPackageBrowse"><label for="domesticAirPackage"><img src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_dmst_hotel_icon.gif" width="18" height="18">ホテル<span>+</span><img src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_dmst_air_icon.gif" width="18" height="18">航空券</label></div></li>',
'<li class="overseas"><div><input type="radio" id="overseasHotel" name="overseasServiceName" checked="true" value="overseasHotelBrowse" ><label for="overseasHotel"><img width="18" height="18" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_ovrs_hotel_icon.gif">ホテル</label></div></li>',
'<li class="overseas"><div><input type="radio" id="overseasAir"   name="overseasServiceName" value="overseasAirBrowse" ><label for="overseasAir"><img width="18" height="18" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_ovrs_air_icon.gif">航空券</label></div></li>',
'<li class="overseas"><div><input type="radio" id="overseasAirPackage" name="overseasServiceName" value="overseasAirPackageBrowse" ><label for="overseasAirPackage"><img src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_ovrs_hotel_icon.gif" width="18" height="18">ホテル<span>+</span><img src="http://img.travel.rakuten.co.jp/share/themes/recently/images/img_ovrs_air_icon.gif" width="18" height="18">航空券</label></div></li>',
'</ul>',
'</form>'
];
return radio.join("");
};
rakutenTr_History.getHistoryNumTemplate = function(){
return '<p id="recTtlNum" class="recTtlNum"></p>';
};
rakutenTr_History.getInformationUrl = function(){
var agent = navigator.userAgent;
if (/iPhone|iPod/.test(agent)) {
return this.CONSTANTS.INFORMATION_URL.domesticHotelBrowseIPHONE;
} else if (/Android/.test(agent)) {
return this.CONSTANTS.INFORMATION_URL.domesticHotelBrowseANDROID;
} else {
return this.CONSTANTS.INFORMATION_URL.domesticHotelBrowse;
}
}
rakutenTr_History.getTemplateHorizontalImage = function(){
var template = {};
var options = this.options[this.viewCode];
var imageWidth = Number(options.imageWidth || this.CONSTANTS.DEFAULT_IMAGE_WIDTH);
var imageHeight = Number(options.imageHeight || this.CONSTANTS.DEFAULT_IMAGE_HEIGHT);
var imgr = (imageWidth > 60 ? 200 : 60);
template.head = [];
template.head.push('<div class="recentHead">'+this.getOptionsHeadTemplate()+"</div>");
if(options.displayAll) {
template.head.push(this.getTabsTemplate());
}
template.head.push('<div id="hrztlWdgtInside" class="clearfix recentList">');
if(options.paging) {
if(this.viewCode=='domestic_tablet'){
template.head.push('<div id="rwdBtn" class="rwdBtn" ><a href="javascript:void(0);" class="paging" ><img width="19" height="120" alt="" src="http://travel.rakuten.co.jp/tablet/images/btn_hor_wdgt_left_up.png"></a><img width="19" height="120" alt="" src="http://travel.rakuten.co.jp/tablet/images/btn_hor_wdgt_left_no.png" class="disabledPaging" ></div>');
template.head.push('<div id="fwdBtn" class="fwdBtn" ><a href="javascript:void(0);" class="paging" ><img width="19" height="120" alt="" src="http://travel.rakuten.co.jp/tablet/images/btn_hor_wdgt_right_up.png"></a><img width="19" height="120" alt="" src="http://travel.rakuten.co.jp/tablet/images/btn_hor_wdgt_right_no.png" class="disabledPaging"></div>');
}else{
template.head.push('<div id="rwdBtn" class="rwdBtn" ><a href="javascript:void(0);" class="paging" ><img width="19" height="72" alt="" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/btn_hor_wdgt_left_up.gif"></a><img width="19" height="72" alt="" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/btn_hor_wdgt_left_no.gif" class="disabledPaging" ></div>');
template.head.push('<div id="fwdBtn" class="fwdBtn" ><a href="javascript:void(0);" class="paging" ><img width="19" height="72" alt="" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/btn_hor_wdgt_right_up.gif"></a><img width="19" height="72" alt="" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/btn_hor_wdgt_right_no.gif" class="disabledPaging"></div>');
}
}
if(options.displayAll) {
template.head.push(this.getRadioTemplate());
}
template.contents = [
'<ul class="recentContents clearfix"></ul>'
];
var constants = this.CONSTANTS;
var domesticHotelUrl = constants.INFORMATION_URL.domesticHotelBrowseSTATIC;
var paramString = this.getOptionsParam();
if(paramString) {
paramString = "&"+paramString;
domesticHotelUrl = this.getInformationUrl() + paramString;
}
template.list = {
domesticHotelBrowse : [
'<li id="recentHotel##HOTEL_NO##" class="recentHotel" >',
'<h4><a href="'+domesticHotelUrl+'" title="##HOTEL_NAME_ORG##">',
'<span class="recentHotelImage"><img width="'+imageWidth+'" height="'+imageHeight+'" src="http://img.travel.rakuten.co.jp/image/imgr_'+imgr+'?no=##HOTEL_NO##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"></span>##HOTEL_NAME##</a>##AREA_SEARCH_LINK##</h4></li>'
],
domesticAirPackageBrowse : [],
overseasHotelBrowse : [
'<li id="recentHotel##HOTEL_NO##" class="recentHotel" >',
'<h4><a href="##INFORMATION_URL##'+paramString+'" title="##HOTEL_NAME_ORG##">',
'<span class="recentHotelImage"><img width="'+imageWidth+'" height="'+imageHeight+'" src="##IMG##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"></span>##HOTEL_NAME##</a></h4>##AREA_SEARCH_LINK##</li>'
],
overseasAirBrowse : []
};
template.empty= {
domesticHotelBrowse : ['<li style="border:1px solid #FFFFFF;"></li>'],
domesticAirPackageBrowse : ['<li style="border:1px solid #FFFFFF;"></li>'],
overseasHotelBrowse : ['<li style="border:1px solid #FFFFFF;"></li>'],
overseasAirBrowse : ['<li style="border:1px solid #FFFFFF;"></li>']
};
template.areaSearchLink = {
domesticHotelBrowse : [
'<p class="areaBox">',
'<span>##AREA_NAME##</span><br>',
'<a name="##HOTEL_NO##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'<a href="http://img.travel.rakuten.co.jp/image/tr/se/rirek/gzjqG/?f_nen1=##f_nen1##&f_tuki1=##f_tuki1##&f_hi1=##f_hi1##&f_nen2=##f_nen2##&f_tuki2=##f_tuki2##&f_hi2=##f_hi2##&f_otona_su=##f_otona_su##&f_s1=##f_s1##&f_s2=##f_s2##&f_y1=##f_y1##&f_y2=##f_y2##&f_y3=##f_y3##&f_y4=##f_y4##&f_heya_su=##f_heya_su##&f_kin2=##f_kin2##&f_kin=##f_kin##&f_teikei=##f_teikei##&f_no=##F_NO##&f_dai=##F_DAI##&f_chu=##F_CHU##&f_shou=##F_SHOU##&f_sai=##F_SAI##&f_kaiin_tel=&f_setubi=&f_sort=&f_image=1&f_hyoji=30&f_rm_equip=&f_sort_cate=&f_teikei_cate=&f_kaiin_no="><img width="60" height="15" src="http://img.travel.rakuten.co.jp/share/themes/recently/images/btn_near.gif"></a>',
'</p>'
],
domesticAirPackageBrowse : [''],
overseasHotelBrowse : [
'<p class="areaBox">',
'<a name="##HOTEL_NO##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</p>'
],
overseasAirBrowse : ['']
};
template.foot = [];
template.foot.push('</div>');
template.foot.push('<div style="clear:both;"></div>');
template.foot.push('<div class="recentFoot" >'+this.getOptionsFootTemplate()+"</div>");
if(options.paging) {
template.foot.push('<p id="recTtlNum"></p>');
}
return template;
};
rakutenTr_History.getTemplateImage = function(){
var template = {};
var options = this.options[this.viewCode];
var imageWidth = Number(options.imageWidth || this.CONSTANTS.DEFAULT_IMAGE_WIDTH);
var imageHeight = Number(options.imageHeight || this.CONSTANTS.DEFAULT_IMAGE_HEIGHT);
var campaignImageWidth = (options.campaign) ? options.campaign.imageWidth : this.CONSTANTS.DEFAULT_IMAGE_WIDTH;
var campaignImageHeight = (options.campaign) ? options.campaign.imageHeight : this.CONSTANTS.DEFAULT_IMAGE_HEIGHT;
var imgr = (imageWidth > 60 ? 200 : 60);
template.head = [];
template.head.push('<div class="recentHead" >'+this.getOptionsHeadTemplate()+"</div>");
if(options.displayAll) {
template.head.push(this.getTabsTemplate());
}
template.head.push('<div class="recentList">');
if(options.displayAll) {
template.head.push(this.getRadioTemplate());
}
if(options.paging) {
template.head.push(this.getHistoryNumTemplate());
template.head.push('<p class="upDownBtn upBtn paging"><a href="javascript:void(0);"><span>▲</span></a></p>');
}
template.contents = [
'<div class="recentContents" style="margin-bottom:5px;margin-top:5px;"></div>'
];
var constants = this.CONSTANTS;
var domesticHotelUrl = constants.INFORMATION_URL.domesticHotelBrowseSTATIC;
var paramString = this.getOptionsParam();
if(paramString) {
paramString = "&"+paramString;
domesticHotelUrl = this.getInformationUrl() + paramString;
}
template.list = {
domesticHotelBrowse : [
'<div id="recentHotel##HOTEL_NO##" class="recentHotel" >',
'<h4><a href="'+domesticHotelUrl+'" title="##HOTEL_NAME_ORG##">',
'<span><img width="'+imageWidth+'" height="'+imageHeight+'" src="http://img.travel.rakuten.co.jp/image/imgr_'+imgr+'?no=##HOTEL_NO##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"></span>##HOTEL_NAME##</a></h4>',
'<ul class="boxNavi">',
'<a name="##HOTEL_NO##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</ul>',
'</div>'
],
domesticAirPackageBrowse : [
'<div class="recentHotel rakuPack ##shareOn##" >',
'<p class="daysAndRate">■##days##<span>日間(##night##泊)⇒</span><strong>##fareSum##</strong><span>円</span></p>',
'<h4 class="dpHotel clearfix"><a title="##hotelNameOrg##" href="javascript:rakutenTr_History.submitToRakuPack(\'##INFORMATION_URL##?gfs100_gfs200=&fRcUmu=##pattern##&cdTomariTiikiKen=##pref##&##hotelNoName##=##hotelNo##&##planIdName##=##planNo##&##roomClassName##=##roomType##&dHatuToujyouYy=##depYear##&dHatuToujyouMm=##depMonth##&dHatuToujyouDd=##depDay##&cdHatuKuukou=##deptCode##&cdTyakuKuukou=##deplCode##&##nsBinOuroName##=##depAirline##&cdHatuKuukouHukuro=##rettCode##&cdTyakuKuukouHukuro=##retlCode##&##nsBinHukuroName##=##rettAirline##&dTyakuToujyouYy=##retYear##&dTyakuToujyouMm=##retMonth##&dTyakuToujyouDd=##retDay##&dCheckInYy=##checkInYear##&dCheckInMm=##checkInMonth##&dCheckInDd=##checkInDay##&dCheckOutYy=##checkOutYear##&dCheckOutMm=##checkOutMonth##&dCheckOutDd=##checkOutDay##&suOtona=##adultNum##&suSyogakkouKougakunen=##highPreNum##&suSyogakkouTeigakunen=##lowPreNum##&suYouziSyokuziFutonTuki=##infrantMFNum##&suYouziSyokuziNomi=##infrantMNum##&suYouziFutonNomi=##infrantFNum##&suYouziSyokuziFutonFuyou=##infrantNum##&suNyuYouzi=##babyNum##&suTomariHeya=##roomNum##&fDptab=1\',\'##company##\');void(0);"><span><img height="50" width="50" src="http://img.travel.rakuten.co.jp/image/imgr_'+imgr+'?no=##hotelNo##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'" /></span>##hotelName##</a></h4>',
'<p class="iconRndTrp"><span>##departure##⇔##arrival##</span></p>',
'<p class="dptDate##company##">##depDate##(##week##)発</p>',
'<p class="pssgrNum"><span>大人##adultNum##人/子供##preNum##人/幼児##infrantAllNum##人</span><br>',
'##num##名##roomNum##室利用時<br>',
'##browseDate##時点</p>',
'<ul class="boxNavi">',
'<a name="##itemKey##" href="javascript:void(0);" class="mDeleteImg ##shareOn##" id="mDelete##itemKey##">削除</a>',
'<a name="##itemKey##" href="javascript:void(0);" class="mClipImg">追加</a>',
'</ul>',
'</div>'
],
overseasHotelBrowse : [
'<div id="recentHotel##HOTEL_NO##" class="recentHotel" >',
'<h4><a href="##INFORMATION_URL##'+paramString+'" title="##HOTEL_NAME_ORG##">',
'<span><img width="'+imageWidth+'" height="'+imageHeight+'" src="##IMG##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"></span>##HOTEL_NAME##</a></h4>',
'<ul class="boxNavi">',
'<a name="##HOTEL_NO##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</ul>',
'</div>'
],
overseasAirBrowse : [
'<div class="air_item clearfix">',
'<div class="clearfix">',
'<div class="mi_01">■##gkin##円</div>',
'</div>',
'<div class="air_koku clearfix">',
'<div class="air_logo"><img width="38" height="25" src="http://img.travel.rakuten.co.jp/share/air_img/biyoku/i_##ca##.gif" alt="##airLineName##"></div>',
'<div class="air_logo_name">##airLineName##</div>',
'</div>',
'<p class="airplan"><a href="##INFORMATION_URL##?codeAirline=##caOrg##&ticketType=##tkt##&seatClass=##seat##&returnOpen=##ro##&journey=##jc##&minStay=##mins##&maxStay=##maxs##&maxStayType=##maxst##&fareItemNo=##no##&productNo=##no##&departureDate1=##depDt1##&departureDate2=##depDt2##&departure1=##dep1##&arrival1=##arv1##&departure2=##dep2##&arrival2=##arv2##&adultNum=##a##&childNum=##c##&infantNum=##i##&campaignPageFlag=1" title="##fnameOrg##" >##fname##</a></p>',
'<p class="planki">',
'##departure## ⇔ ##arrival##<br>',
'##depDate1## - ##depDate2##<br>',
'大人##a##人/子供##c##人/幼児##i##人</p>',
'<p class="planbutton">##directIcon##  ##seatIcon##  ##ticketIcon##</p>',
'<ul class="boxNavi">',
'<a name="##itemKey##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</ul>',
'</div>'
],
overseasAirPackageBrowse : [
'<div class="recentHotel rakuPack ovrsDp" >',
'<p class="daysAndRate">■##days##<span>日間⇒</span><strong>##fareSum##</strong><span>円</span></p>',
'<h4 class="dpHotel clearfix"><a title="##hotelNameOrg##" href="##INFORMATION_URL##?##linkUrl##"><span><img width="'+imageWidth+'" height="'+imageHeight+'" src="##IMG##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"/></span>##hotelName##</a></h4>',
'<p class="ovrsDpAirNm"><img src="http://img.travel.rakuten.co.jp##tailUrl##" height="25" width="38">##depCompanyName##</p>',
'<p class="anaRndTrp overDpOD">##arrivalName## → ##destinationName##</p>',
'<p class="ovrsDptDate">##depDate##(##week##)発</p>',
'<p class="pssgrNum"><span>大人##adultNum##人/子供##childNum##人/幼児##infantNum##人</span><br>',
'##browseDate## ##num##名##f_heya_su##室利用時</p>',
'<ul class="boxNavi">',
'<a name="##itemKey##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</ul>',
'</div>'
],
campaignBrowse : [
'<li>',
'<a href="##CAMPAIGN_URL##">',
'<span><img width="'+campaignImageWidth+'" height="'+campaignImageHeight+'" src="##CAMPAIGN_IMG_SMALL##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"/></span>',
'##CAMPAIGN_NAME##',
'</a>',
'</li>'
]
};
template.empty= {
domesticHotelBrowse : [
'<div id="recentHotelEmpty" class="recentHotel recentEmpty" >',
'<h4><div class="recentHotelImage"></div><div class="recentHotelTitle"></div></h4>',
'</div>'
],
domesticAirPackageBrowse: [
'<div class="recentHotel rakuPack recentEmpty" >',
'</div>'
],
overseasHotelBrowse : [
'<div id="recentHotelEmpty" class="recentHotel recentEmpty" >',
'<h4><div class="recentHotelImage"></div><div class="recentHotelTitle"></div></h4>',
'</div>'
],
overseasAirBrowse : [
'<div class="air_item clearfix recentEmpty" >',
'</div>'
],
overseasAirPackageBrowse: [
'<div class="recentHotel rakuPack ovrsDp recentEmpty" >',
'</div>'
]
};
template.areaSearchLink = {
domesticHotelBrowse : [''],
domesticAirPackageBrowse : [''],
overseasHotelBrowse : [''],
overseasAirBrowse : [''],
overseasAirPackageBrowse : ['']
};
template.foot = [];
if(options.paging) {
template.foot.push('<p class="upDownBtn downBtn paging"><a href="javascript:void(0);"><span>▼</span></a></p>');
}
template.foot.push('</div>');
template.foot.push('<div class="recentFoot" >'+this.getOptionsFootTemplate()+"</div>");
return template;
};
rakutenTr_History.getTemplateImageTop = function(){
var template = {};
var options = this.options[this.viewCode];
var imageWidth = Number(options.imageWidth || this.CONSTANTS.DEFAULT_IMAGE_WIDTH);
var imageHeight = Number(options.imageHeight || this.CONSTANTS.DEFAULT_IMAGE_HEIGHT);
var campaignImageWidth = (options.campaign) ? options.campaign.imageWidth : this.CONSTANTS.DEFAULT_IMAGE_WIDTH;
var campaignImageHeight = (options.campaign) ? options.campaign.imageHeight : this.CONSTANTS.DEFAULT_IMAGE_HEIGHT;
var imgr = (imageWidth > 60 ? 200 : 60);
template.head = [];
template.contents =[];
if(options.paging) {
template.contents.push('<p id="recTtlNum"></p>');
}
template.contents.push('<div class="scrllArea">');
template.contents.push(
['<a class="scrllBackBrws" href="javascript:void(0);">▲</a>',
'<ul class="recentContents clearfix"></ul>',
'<a class="scrllfwrdBrws" href="javascript:void(0);">▼</a>'].join("")
);
var constants = this.CONSTANTS;
var domesticHotelUrl = constants.INFORMATION_URL.domesticHotelBrowseSTATIC;
var paramString = this.getOptionsParam();
if(paramString) {
paramString = "&"+paramString;
domesticHotelUrl = this.getInformationUrl() + paramString;
}
template.list = {
domesticHotelBrowse : [
'<li id="recentHotel##HOTEL_NO##" class="recentHotel" >',
'<h4>',
'<a class="mDeleteImg delDmstHtl" href="javascript:void(0);" name="##HOTEL_NO##">削除</a>',
'<a href="'+domesticHotelUrl+'" title="##HOTEL_NAME_ORG##">',
'<span><img width="'+imageWidth+'" height="'+imageHeight+'" src="http://img.travel.rakuten.co.jp/image/imgr_'+imgr+'?no=##HOTEL_NO##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"></span>##HOTEL_NAME##</a></h4>',
'</li>'
],
domesticAirPackageBrowse : [
'<li class="##shareOn##">',
'<dl class="boxNavi">',
'<a name="##itemKey##" href="javascript:void(0);" class="mDeleteImg ##shareOn##" id="mDelete##itemKey##">削除</a>',
'<a name="##itemKey##" href="javascript:void(0);" class="mClipImg">追加</a>',
'</dl>',
'<dl>',
'<dt class="dpHtlImg">',
'<a href="javascript:rakutenTr_History.submitToRakuPack(\'##INFORMATION_URL##?gfs100_gfs200=&fRcUmu=##pattern##&cdTomariTiikiKen=##pref##&##hotelNoName##=##hotelNo##&##planIdName##=##planNo##&##roomClassName##=##roomType##&dHatuToujyouYy=##depYear##&dHatuToujyouMm=##depMonth##&dHatuToujyouDd=##depDay##&cdHatuKuukou=##deptCode##&cdTyakuKuukou=##deplCode##&##nsBinOuroName##=##depAirline##&cdHatuKuukouHukuro=##rettCode##&cdTyakuKuukouHukuro=##retlCode##&##nsBinHukuroName##=##rettAirline##&dTyakuToujyouYy=##retYear##&dTyakuToujyouMm=##retMonth##&dTyakuToujyouDd=##retDay##&dCheckInYy=##checkInYear##&dCheckInMm=##checkInMonth##&dCheckInDd=##checkInDay##&dCheckOutYy=##checkOutYear##&dCheckOutMm=##checkOutMonth##&dCheckOutDd=##checkOutDay##&suOtona=##adultNum##&suSyogakkouKougakunen=##highPreNum##&suSyogakkouTeigakunen=##lowPreNum##&suYouziSyokuziFutonTuki=##infrantMFNum##&suYouziSyokuziNomi=##infrantMNum##&suYouziFutonNomi=##infrantFNum##&suYouziSyokuziFutonFuyou=##infrantNum##&suNyuYouzi=##babyNum##&suTomariHeya=##roomNum##&fDptab=1\',\'##company##\');">',
'<span style="display:block;float:left;width:60px;"><img width="'+imageWidth+'" height="'+imageHeight+'" src="http://img.travel.rakuten.co.jp/image/imgr_'+imgr+'?no=##hotelNo##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'" alt="##hotelNameOrg##"></span>',
'</a>',
'</dt>',
'<dd class="dpPrice">',
'■##days##日間(##night##泊)⇒<strong>##fareSum##</strong>円',
'</dd>',
'<dd class="htlNm">',
'<a href="javascript:rakutenTr_History.submitToRakuPack(\'##INFORMATION_URL##?gfs100_gfs200=&fRcUmu=##pattern##&cdTomariTiikiKen=##pref##&##hotelNoName##=##hotelNo##&##planIdName##=##planNo##&##roomClassName##=##roomType##&dHatuToujyouYy=##depYear##&dHatuToujyouMm=##depMonth##&dHatuToujyouDd=##depDay##&cdHatuKuukou=##deptCode##&cdTyakuKuukou=##deplCode##&##nsBinOuroName##=##depAirline##&cdHatuKuukouHukuro=##rettCode##&cdTyakuKuukouHukuro=##retlCode##&##nsBinHukuroName##=##rettAirline##&dTyakuToujyouYy=##retYear##&dTyakuToujyouMm=##retMonth##&dTyakuToujyouDd=##retDay##&dCheckInYy=##checkInYear##&dCheckInMm=##checkInMonth##&dCheckInDd=##checkInDay##&dCheckOutYy=##checkOutYear##&dCheckOutMm=##checkOutMonth##&dCheckOutDd=##checkOutDay##&suOtona=##adultNum##&suSyogakkouKougakunen=##highPreNum##&suSyogakkouTeigakunen=##lowPreNum##&suYouziSyokuziFutonTuki=##infrantMFNum##&suYouziSyokuziNomi=##infrantMNum##&suYouziFutonNomi=##infrantFNum##&suYouziSyokuziFutonFuyou=##infrantNum##&suNyuYouzi=##babyNum##&suTomariHeya=##roomNum##&fDptab=1\',\'##company##\');">##hotelName##</a>',
'</dd>',
'</dl>',
'<p class="iconRndTrp##company##"><span>##departure##⇔##arrival##</span></p>',
'<p class="dptDate">##depDate##(##week##)発大人##adultNum##人/子供##preNum##人/幼児##infrantAllNum##人<br>##browseDate##時点　##num##名##roomNum##室利用時</p>',
'</li>'
],
overseasHotelBrowse : [
'<li id="recentHotel##HOTEL_NO##" class="recentHotel" >',
'<h4>',
'<a class="mDeleteImg delDmstHtl" href="javascript:void(0);" name="##HOTEL_NO##">削除</a>',
'<a href="##INFORMATION_URL##'+paramString+'" title="##HOTEL_NAME_ORG##">',
'<span><img width="'+imageWidth+'" height="'+imageHeight+'" src="##IMG##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"></span>##HOTEL_NAME##</a></h4>',
'</li>'
],
overseasAirPackageBrowse : [
'<li>',
'<p class="carrierInfo clearfix">',
'<img src="http://img.travel.rakuten.co.jp##tailUrl##" height="25" width="38">',
'<span>##depCompanyName##<br>##arrivalName##⇔##destinationName##&nbsp;【##days##日間(##night##泊)⇒<strong>##fareSum##円</strong>】</span>',
'<a name="##itemKey##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</p>',
'<div class="clearfix">',
'<a class="plnPix" href="##INFORMATION_URL##?##linkUrl##">',
'<img width="'+imageWidth+'" height="'+imageHeight+'" src="##IMG##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'" alt="##hotelNameOrg##">##hotelName##',
'</a>',
'</div>',
'<p>##depDate##(##week##)発大人##adultNum##人/子供##childNum##人/幼児##infantNum##人<br>##browseDate##時点 ##num##名##f_heya_su##室利用時</p>',
'</li>'
],
overseasAirBrowse : [
'<li class="airOnly">',
'<p>',
'<strong>■##gkin##円</strong>  ##directIcon##  ##seatIcon##  ##ticketIcon##',
'<a name="##itemKey##" href="javascript:void(0);" class="mDeleteImg">削除</a>',
'</p>',
'<div class="air_logo">',
'<a href="##INFORMATION_URL##?codeAirline=##caOrg##&ticketType=##tkt##&seatClass=##seat##&returnOpen=##ro##&journey=##jc##&minStay=##mins##&maxStay=##maxs##&maxStayType=##maxst##&fareItemNo=##no##&productNo=##no##&departureDate1=##depDt1##&departureDate2=##depDt2##&departure1=##dep1##&arrival1=##arv1##&departure2=##dep2##&arrival2=##arv2##&adultNum=##a##&childNum=##c##&infantNum=##i##&campaignPageFlag=1" title="##fnameOrg##">',
'<img width="38" height="25" src="http://img.travel.rakuten.co.jp/share/air_img/biyoku/i_##ca##.gif" alt="##airLineName##">',
'■##fname##',
'</a>',
'</div>',
'<p>##airLineName##</p>',
'<p>■##depDate1## - ##depDate2## ・##departure##⇔##arrival##</p>',
'<p>■大人##a##人/子供##c##人/幼児##i##人</p>',
'</li>'
],
campaignBrowse : [
'<li>',
'<a href="##CAMPAIGN_URL##">',
'<span><img width="'+campaignImageWidth+'" height="'+campaignImageHeight+'" src="##CAMPAIGN_IMG_SMALL##" onError="this.src=\'http://img.travel.rakuten.co.jp/share/themes/searchlist/images/no_photo.gif\'"/></span>',
'##CAMPAIGN_NAME##',
'</a>',
'</li>'
]
};
template.empty= {
domesticHotelBrowse : [
'<li id="recentHotelEmpty" class="recentHotel recentEmpty" >',
'<h4><div class="recentHotelImage"></div><div class="recentHotelTitle"></div></h4>',
'</li>'
],
domesticAirPackageBrowse: [
'<div class="recentHotel rakuPack recentEmpty">',
'</div>'
],
overseasHotelBrowse : [
'<li></li>'
],
overseasAirBrowse : [
'<li class="airOnly"></li>'
],
overseasAirPackageBrowse: [
'<li></li>'
]
};
template.areaSearchLink = {
domesticHotelBrowse : [''],
domesticAirPackageBrowse : [''],
overseasHotelBrowse : [''],
overseasAirBrowse : [''],
overseasAirPackageBrowse : ['']
};
template.foot = [];
return template;
};
rakutenTr_History.getTemplateText = function(){
var template = {};
var options = this.options[this.viewCode];
var hotelUrl = options.hotelUrl || this.CONSTANTS.DEFAULT_DOMESTIC_HOTEL_URL;
template.head = [];
template.head.push(this.getOptionsHeadTemplate());
if(options.displayAll) {
template.head.push(this.getTabsTemplate());
}
if(options.paging) {
template.head.push('<p class="recentPaging"><a href="javascript:void(0);" class="recentPagingPrev" ><img src="http://img.travel.rakuten.co.jp/share/themes/top/images/recent_up_arrow.gif" alt="前の履歴" /></a></p>');
}
template.head.push('<ul class="recentList">');
var paramString = this.getOptionsParam();
template.list = [];
template.list.push('<li id="recentHotel##HOTEL_NO##" class="recentHotel"><a href="'+hotelUrl+'?f_no=##HOTEL_NO##'+paramString+'" title="##HOTEL_NAME_ORG##">##HOTEL_NAME##</a></li>');
template.empty= [];
template.empty.push('<li id="recentHotelEmpty" class="recentHotel" style="height:10px">',
'<h4></h4>',
'</li>');
template.foot = [];
template.foot.push('</ul>');
if(options.paging) {
template.foot.push('<p class="recentPaging"><a href="javascript:void(0);" class="recentPagingNext"><img src="http://img.travel.rakuten.co.jp/share/themes/top/images/recent_down_arrow.gif" alt="後の履歴" /></a></p>');
}
template.foot.push(this.getOptionsFootTemplate());
return template;
};
rakutenTr_History.render = function() {
try{
var options = this.options[this.viewCode];
var initialize = options.initialize;
if(initialize) initialize();
this.service = String(options.defaultService || this.CONSTANTS.DEFAULT_SERVICE);
var service = this.service;
var that = this;
if(!this.root) this.root = $("#"+options.rootId);
var root = this.root;
var historyDataList = this.historyDataList[service] || [];
if(historyDataList.length == 0) {
this.isSubstitute = true;
this.historyDataList[service] = options.substituteData || [];
if(options.emptyInitialize) options.emptyInitialize();
}
var templateFunction = "getTemplate"+options.template;
this.template = this[templateFunction](); // getTemplateImage ,
var template = this.template;
var html = [];
html.push(template.head.join(""));
html.push(template.contents.join(""));
html.push(template.foot.join(""));
root.empty();
root.append(html.join(""));
if(options.displayAll) {
var radioClick = function(service){
that.service = service;
if(that.historyDataList[that.service]) {
that.renderContents();
that.renderHead();
that.renderFoot();
} else {
setTimeout(function(){
that.getHistoryAshiatoAPI({
callback : function(json){
that.setHistoryDataList(json);
that.renderContents();
that.renderHead();
that.renderFoot();
}
});
},100);
}
};
var radio = root.find('input:radio[name="domesticServiceName"],input:radio[name="overseasServiceName"]');
root.find('#wdgtDmstTab').click(function(){
root.find("#wdgtDmstTab").find('a').replaceWith('<span><strong>国内</strong></span>');
root.find("#wdgtOvrsTab").find('span').replaceWith('<a href="javascript:void(0);"><strong>海外</strong></a>');
root.find("div.recentList").css('border-color', '#66B821');
root.find("li.domestic").show();
root.find("li.overseas").hide();
if(!root.find('input:radio[name="domesticServiceName"]:checked').length) {
root.find('input:radio[name="domesticServiceName"]:first').val(["domesticHotelBrowse"]);
}
radioClick(root.find('input:radio[name="domesticServiceName"]:checked').val());
});
root.find('#wdgtOvrsTab').click(function(){
root.find("#wdgtOvrsTab").find('a').replaceWith('<span><strong>海外</strong></span>');
root.find("#wdgtDmstTab").find('span').replaceWith('<a href="javascript:void(0);"><strong>国内</strong></a>');
root.find("div.recentList").css('border-color', '#5085C5');
root.find("li.overseas").show();
root.find("li.domestic").hide();
if(!root.find('input:radio[name="overseasServiceName"]:checked').length) {
root.find('input:radio[name="overseasServiceName"]:first').val(["overseasHotelBrowse"]);
}
radioClick(root.find('input:radio[name="overseasServiceName"]:checked').val());
});
radio.val([service]);
if(service.match("overseas")) {
root.find('#wdgtOvrsTab').click();
} else {
root.find('#wdgtDmstTab').click();
}
radio.click(function(){
radioClick($(this).val());
});
} else if (options.displayTop) {
that.chkService='';
var radioSearchClick = function(service){
if(service){
if(that.chkService == service) return;
that.chkService = service;
if(service=="domesticAirPackageBrowse" || service=="overseasAirPackageBrowse"){
root.addClass("dynmcPckg");
}else{
root.removeClass("dynmcPckg");
}
$("div#recentBrowsRoot").show();
$("p#recentTitle").show();
that.service = service;
if(that.historyDataList[that.service]) {
that.renderContents();
that.renderTitle();
} else {
setTimeout(function(){
that.getHistoryAshiatoAPI({
callback : function(json){
that.setHistoryDataList(json);
that.renderContents();
that.renderTitle();
}
});
},100);
}
} else {
that.chkService = service;
$("div#recentBrowsRoot").hide();
$("p#recentTitle").hide();
}
};
var radioDomestic = $('input:radio[name="searchCategory"],'+
'#dh-radio,'+
'#dap-ana-radio,'+
'#dap-ana-rent-radio,'+
'#dap-jal-radio,'+
'#dap-jal-rent-radio,'+
'#du-radio,'+
'#db-radio,'+
'#dr-radio');
var radioOverseas = $('input:radio[name="searchCategoryForeign"],'+
'#oh-radio,'+
'#oa-radio,'+
'#oap-radio');
var searchCategoryValue = {
"1"        : "domesticHotelBrowse",
"ana"      : "domesticAirPackageBrowse",
"ana-rent" : "domesticAirPackageBrowse",
"jal"      : "domesticAirPackageBrowse",
"jal-rent" : "domesticAirPackageBrowse",
"dh"        : "domesticHotelBrowse",
"dap"      : "domesticAirPackageBrowse"
};
var searchCategoryForeignValue = {
"3" : "overseasHotelBrowse",
"2" : "overseasAirBrowse",
"1" : "overseasAirPackageBrowse",
"oh" : "overseasHotelBrowse",
"oa" : "overseasAirBrowse",
"oap" : "overseasAirPackageBrowse"
};
if(radioDomestic.size()){
radioSearchClick(searchCategoryValue[radioDomestic.filter(":checked").val()]||'');
radioDomestic.click(function(){
radioSearchClick(searchCategoryValue[$(this).val()]||'');
});
}
if(radioOverseas.size()){
radioSearchClick(searchCategoryForeignValue[radioOverseas.filter(":checked").val()]||'');
radioOverseas.click(function(){
radioSearchClick(searchCategoryForeignValue[$(this).val()]||'');
});
}
} else {
this.renderContents();
this.renderHead();
this.renderFoot();
}
this.isRendered = true;
if(options.callback) options.callback();
} catch (e) {
this.setError({"method":"dispHotelHistory","Error":e});
}
};
rakutenTr_History.renderTitle = function(){
$("p#recentTitle").html(this.options[this.viewCode].title[this.service] || "");
};
rakutenTr_History.renderHead = function(){
var options = this.options[this.viewCode];
var root = this.root || $("#"+options.rootId);
root.find("div.recentHead").html(this.getOptionsHeadTemplate());
};
rakutenTr_History.renderFoot = function(){
var options = this.options[this.viewCode];
var root = this.root || $("#"+options.rootId);
root.find("div.recentFoot").html(this.getOptionsFootTemplate());
};
rakutenTr_History.deleteItem = function(viewCode,service,key){
var that = this;
var data={},delKey,type;
delKey = that.CONSTANTS.DELETE_KEY[service];
if($("a#mDelete"+key).hasClass("shareOn")){
type = that.CONSTANTS.TYPE_STOCK;
}else if($("a#mDelete"+key).hasClass("shareOff")){
type = that.CONSTANTS.TYPE_BROWSE;
}
data[delKey] = key;
if(type) data["type"]=type;
$.ajax({
url:that.CONSTANTS.ASHIATO_DOMAIN+"ashiato/"+service+"/delete/",
cache: false,
timeout:10000,
dataType:'jsonp',
data:data,
scriptCharset:"UTF-8",
success : function(json){
if(json.header.status == 'Success'){
that.dispHotelHistory(viewCode);
}
}
});
};
rakutenTr_History.renderContents = function(){
var that = this;
var service = this.service;
var options = this.options[this.viewCode];
var root = this.root || $("#"+options.rootId);
var div = root.find(".recentContents");
div.empty();
this.page = 1;
var num = typeof(options.num) == "number" ? options.num : options.num[service];
this.pages = Math.ceil(this.historyDataList[service].length/num);
var maxNameLength = options.maxNameLengths ? options.maxNameLengths[service] : options.maxNameLength;
var historyDataList = this.historyDataList[service] || [];
this.isSubstitute = false;
if(historyDataList.length === 0) {
if(options.emptyInitialize) options.emptyInitialize();
this.isSubstitute = true;
root.find("p.recTtlNum").hide();
} else {
root.find("p.recTtlNum").show();
}
if(options.rootId == "verticalRecentRoot"){
root.find("#recTtlNum").html(this.CONSTANTS.HISTORY_NUM_MESSAGE_PAGE_ONLY[service]).find("strong.historyNum").text(historyDataList.length);
}else{
root.find("#recTtlNum").html(this.CONSTANTS.HISTORY_NUM_MESSAGE[service]).find("strong.historyNum").text(historyDataList.length);
}
topClip =  function(){
if((options.template == "ImageTop")){
if(div.find(".shareOn").length){
div.addClass("shareOn");
}else if(div.find(".shareOff").length){
div.removeClass("shareOn");
}else if(div.find(".noLogin").length){
div.removeClass("shareOn");
}
}
var mDeleteImg = root.find(".mDeleteImg").unbind();
mDeleteImg.click(function(){
that.deleteItem(that.viewCode, service, this.name);
});
var mClipImg = root.find(".mClipImg").unbind();
mClipImg.click(function(){
if($("a.mClipImg[name="+this.name+"]").parents(".shareOff").length){
var data = {};
data["itemKey"] = this.name
that.putStock(that.viewCode, this.name, data);
}
});
};
if(options.paging) {
div.append(this.getPagingList());
var pagingPrev = root.find(".upBtn,.rwdBtn,a.recentPagingPrev,a.scrllBackBrws").unbind();
var pagingNext = root.find(".downBtn,.fwdBtn,a.recentPagingNext,a.scrllfwrdBrws").unbind();
var pagingIndex = "";
this.page  = 1;
var duration = options.duration || 50;
historyDataList = that.historyDataList[that.service];
var element;
pagingNext.click(function(){
var i;
that.page++;
if(that.page > that.pages) that.page = 1;
for(i=0;i<num;i++) {
var data = historyDataList[i+((that.page-1)*num)];
element = $(that.getPagingListElement(data,maxNameLength));
(function(e,i){
setTimeout(function(){
root.find(".recentContents > div:eq("+i+")").replaceWith(e);
root.find(".recentContents > li:eq("+i+")").replaceWith(e);
e.css({"opacity":0}).animate({"opacity":1},250);
topClip();
},(num-i-1)*duration);
})(element,i);
}
if(options.pageIndex) {
pagingIndex = "[ページ "+that.page+"/"+that.pages+"]";
$("#pgIndex").html(pagingIndex);
}
});
pagingPrev.click(function(){
var i;
that.page--;
if(that.page < 1) that.page = that.pages;
for(i=num-1;i>=0;i--) {
var data = historyDataList[((that.page-1)*num)+i];
element = $(that.getPagingListElement(data,maxNameLength));
(function(e,i){
setTimeout(function(){
root.find(".recentContents > div:eq("+i+")").replaceWith(e);
root.find(".recentContents > li:eq("+i+")").replaceWith(e);
e.css({"opacity":0}).animate({"opacity":1},250);
topClip();
},i*duration);
})(element,i);
}
if(options.pageIndex) {
pagingIndex = "[ページ "+that.page+"/"+that.pages+"]";
$("#pgIndex").html(pagingIndex);
}
});
if(options.pageIndex) {
pagingIndex = "[ページ "+that.page+"/"+that.pages+"]";
}
topClip();
} else  {
div.append(this.getPagingList());
topClip();
}
if(this.pages == 0) {
if(options.displayTop){
root.hide();
$("p#recentTitle").hide();
}else{
pagingIndex = "";
if(pagingPrev) pagingPrev.unbind();
if(pagingNext) pagingNext.unbind();
root.find(".paging").hide();
root.find(".disabledPaging").show();
root.find(".recentEmpty").remove();
root.find(".recentContents").append(this.CONSTANTS.EMPTY_MESSAGE[service]);
}
} else if(this.pages == 1) {
if(pagingPrev) pagingPrev.unbind();
if(pagingNext) pagingNext.unbind();
root.find(".paging").hide();
root.find(".disabledPaging").show();
root.find(".recentEmpty").remove();
} else {
root.find(".paging").show();
root.find(".disabledPaging").hide();
}
if(options.pageIndex) {
$("#pgIndex").html(pagingIndex);
$("#toCompare").html('<a href="'+this.CONSTANTS.COMPARE_HTML[service]+'" >もっと見る</a>');
}
};
rakutenTr_History.getPagingList = function(){
var service = this.service;
var page = this.page;
var options = this.options[this.viewCode];
var num = typeof(options.num) == "number" ? options.num : options.num[service];
var historyDataList = this.historyDataList[service];
var startIndex = (page-1)*num;
var lastIndex = startIndex + num;
var html = [];
for(var idx=startIndex;idx<lastIndex;idx++) {
var hotel = historyDataList[idx];
html.push(this.getPagingListElement(hotel,options.maxNameLength));
}
return html.join("");
};
rakutenTr_History.getPagingListElement = function(info,maxNameLength){
var template = this.template;
var service = String(this.service);
var constants = this.CONSTANTS;
var hsq = this.hasSearchQuery;
var templateList = template.list[service].join("");
var areaSearchLink = "";
var hotelName;
if(!info) {
return template.empty[service].join("");
}
var imageWidth = Number(this.options[this.viewCode].imageWidth || this.CONSTANTS.DEFAULT_IMAGE_WIDTH);
var imgr = (imageWidth > 60 ? 200 : 60);
if(service == "domesticHotelBrowse") {
info.hotelName = this.sanitize(info.hotelName);
hotelName = info.hotelName || "";
if (maxNameLength && hotelName.length > maxNameLength) {
hotelName = hotelName.substr(0,maxNameLength - 2) + "...";
}
if(hsq) areaSearchLink = this.replaceBySearchQuery(template.areaSearchLink[service].join(""));
var f_no = (!info.detailClassCode) ? "03" : "04";
templateList = templateList.replace("##AREA_SEARCH_LINK##",areaSearchLink);
return templateList.replace(/##HOTEL_NAME##/g,hotelName)
.replace(/##HOTEL_NAME_ORG##/g,info.hotelName)
.replace(/##HOTEL_NO##/g,info.hotelNo)
.replace(/##AREA_NAME##/g,info.areaName || "")
.replace(/##F_DAI##/g,info.largeClassCode)
.replace(/##F_CHU##/g,info.middleClassCode)
.replace(/##F_SHOU##/g,info.smallClassCode)
.replace(/##F_SAI##/g,info.detailClassCode || "")
.replace(/##F_NO##/g,f_no);
} else if(service == "overseasHotelBrowse") {
info.hotelName = this.sanitize(info.hotelName);
info.hotelName = info.hotelName || info.hotelNameEn || "";
hotelName = info.hotelName;
if (maxNameLength && hotelName.length > maxNameLength) {
hotelName = hotelName.substr(0,maxNameLength - 3) + "...";
}
var param = "";
if (info.wholesaler == "GTA"){
suffix = "GM";
param = "f_city_code="+info.cityCode+"&f_item_code="+info.itemCode;
img   = "http://img.travel.rakuten.co.jp/image/imgr_"+imgr+"?no="+info.hotelNo;
} else if(info.wholesaler == "MIKI" || info.wholesaler == "BTOB") {
suffix = "GM";
param = "f_no="+info.hotelNo;
subDir = info.hotelNo%100;
img  = "http://img.travel.rakuten.co.jp/share/kaigai/ws_cont/"+subDir+"/"+info.hotelNo+"/exterior_200_"+info.hotelNo+".jpg";
} else {
suffix = "KCK";
param = "f_no="+info.hotelNo;
img   = "http://img.travel.rakuten.co.jp/image/imgr_"+imgr+"?no="+info.hotelNo;
}
var informationUrl = constants.INFORMATION_URL[service+suffix]+"?"+param;
areaSearchLink = template.areaSearchLink[service].join("");
templateList = templateList.replace("##AREA_SEARCH_LINK##",areaSearchLink);
return templateList.replace(/##HOTEL_NAME##/g,hotelName)
.replace(/##HOTEL_NAME_ORG##/g,info.hotelName)
.replace(/##HOTEL_NO##/g,info.hotelNo)
.replace(/##INFORMATION_URL##/g,informationUrl)
.replace(/##IMG##/g,img);
} else if(service == "overseasAirBrowse"){
var icon = constants.ICON;
var depDate1 = info.depDt1.replace(/([\d]{4})([\d]{2})([\d]{2})/,"$1/$2/$3");
var depDate2 = info.depDt2.replace(/([\d]{4})([\d]{2})([\d]{2})/,"$1/$2/$3");
var ca = info.ca.toLowerCase();
info.airLineName = this.getAireLineName(info.ca);
if(info.airLineName == "") info.airLineName = "航空会社未定";
info.fname = this.sanitize(info.fname);
var fname = info.fname;
if (maxNameLength && fname.length > maxNameLength) {
fname = fname.substr(0,maxNameLength - 3) + "...";
}
info.departure   = this.getCityName(info.dep1).split(/\/|\(/)[0];
info.arrival     = getSuggStr(info.arv1).split(/\/|\(/)[0];
info.directIcon = '<img src="http://img.travel.rakuten.co.jp/share/themes/top/images/'+(icon.AIR_DIRECT[info.nsf+info.jc] || "icon_via_smaller")+'.gif" />';
if(icon.AIR_SEAT[info.seat]) {
info.seatIcon = '<img src="http://img.travel.rakuten.co.jp/share/themes/top/images/'+icon.AIR_SEAT[info.seat]+'.gif" />';
} else {
info.seatIcon = '';
}
if(icon.AIR_TICKET[info.tkt]) {
info.ticketIcon = '<img src="http://img.travel.rakuten.co.jp/share/themes/top/images/'+icon.AIR_TICKET[info.tkt]+'.gif" />';
} else {
info.ticketIcon = '';
}
return templateList.replace(/##INFORMATION_URL##/g,constants.INFORMATION_URL[service])
.replace(/##no##/g,info.no)
.replace(/##fname##/g,fname)
.replace(/##fnameOrg##/g,info.fname)
.replace(/##gkin##/g,info.gkin)
.replace(/##depDate1##/g,depDate1)
.replace(/##depDate2##/g,depDate2)
.replace(/##depDt1##/g,info.depDt1)
.replace(/##depDt2##/g,info.depDt2)
.replace(/##ca##/g,ca)
.replace(/##caOrg##/g,info.ca)
.replace(/##airLineName##/g,info.airLineName)
.replace(/##departure##/g,info.departure)
.replace(/##arrival##/g,info.arrival)
.replace(/##a##/g,info.a)
.replace(/##c##/g,info.c)
.replace(/##i##/g,info.i)
.replace(/##directIcon##/g,info.directIcon)
.replace(/##seatIcon##/g,info.seatIcon)
.replace(/##ticketIcon##/g,info.ticketIcon)
.replace(/##tkt##/g,info.tkt)
.replace(/##seat##/g,info.seat)
.replace(/##ro##/g,info.ro)
.replace(/##jc##/g,info.jc)
.replace(/##mins##/g,info.mins)
.replace(/##maxs##/g,info.maxs)
.replace(/##maxst##/g,info.maxst)
.replace(/##dep1##/g,info.dep1)
.replace(/##arv1##/g,info.arv1)
.replace(/##dep2##/g,info.dep2)
.replace(/##arv2##/g,info.arv2)
.replace(/##itemKey##/g, info.itemKey);
} else if(service == "domesticAirPackageBrowse") {
var night = (new Date(info.retDate).getTime() - new Date(info.depDate).getTime())/86400000;
var days = night+1;
var airport = rtm.domesticAirPackage.name.airport;
var departure = airport[info.deptCode];
var arrival = airport[info.deplCode];
var week = constants.WEEK[new Date(info.depDate).getDay()];
var adultNum = Number(info.adultNum);
var preNum = Number((info.highPreNum - 0) +
(info.lowPreNum - 0)||0);
var infrantAllNum = Number((info.infrantMFNum - 0) +
(info.infrantMNum - 0) +
(info.infrantFNum - 0) +
(info.infrantNum - 0) +
(info.babyNum - 0)||0);
var num = adultNum + preNum + infrantAllNum;
var depDates = info.depDate.match(/^([0-9]{4})\/([0-9]{1,2})\/([0-9]{1,2})$/);
var depYear = depDates[1];
var depMonth = depDates[2];
var depDay = depDates[3];
var retDates = info.retDate.match(/^([0-9]{4})\/([0-9]{1,2})\/([0-9]{1,2})$/);
var retYear = retDates[1];
var retMonth = retDates[2];
var retDay = retDates[3];
var checkInDates = info.checkin.match(/^([0-9]{4})\/([0-9]{1,2})\/([0-9]{1,2})$/);
var checkInYear = checkInDates[1];
var checkInMonth = checkInDates[2];
var checkInDay = checkInDates[3];
var checkOutDates = info.checkout.match(/^([0-9]{4})\/([0-9]{1,2})\/([0-9]{1,2})$/);
var checkOutYear = checkOutDates[1];
var checkOutMonth = checkOutDates[2];
var checkOutDay = checkOutDates[3];
info.hotelName = this.sanitize(info.hotelName);
hotelName = info.hotelName;
if (maxNameLength && hotelName.length > maxNameLength) {
hotelName = hotelName.substr(0,maxNameLength - 3) + "...";
}
var fareSum = info.fareSum || "0";
while(fareSum != (fareSum = fareSum.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
var company = info.company || "ANA";
var pn = constants.PARAMETER_NAME;
var share = !this.getCookie("Rz") ? 'noLogin' : (info.type == 'stock' ? 'shareOn' : 'shareOff');
return templateList
.replace(/##INFORMATION_URL##/g,constants.INFORMATION_URL[service+company])
.replace(/##hotelNoName##/g,pn["hotelNo"+company])
.replace(/##planIdName##/g,pn["planId"+company])
.replace(/##roomClassName##/g,pn["roomClass"+company])
.replace(/##nsBinOuroName##/g,pn["nsBinOuro"+company])
.replace(/##nsBinHukuroName##/g,pn["nsBinHukuro"+company])
.replace(/##deptCode##/g,info.deptCode)
.replace(/##deplCode##/g,info.deplCode)
.replace(/##rettCode##/g,info.rettCode)
.replace(/##retlCode##/g,info.retlCode)
.replace(/##depAirline##/g,info.depAirline)
.replace(/##rettAirline##/g,info.rettAirline)
.replace(/##planNo##/g,info.planNo)
.replace(/##roomType##/g,info.roomType)
.replace(/##pattern##/g,info.pattern)
.replace(/##pattern##/g,info.pattern)
.replace(/##highPreNum##/g,info.highPreNum)
.replace(/##lowPreNum##/g,info.lowPreNum)
.replace(/##infrantMFNum##/g,info.infrantMFNum)
.replace(/##infrantMNum##/g,info.infrantMNum)
.replace(/##infrantFNum##/g,info.infrantFNum)
.replace(/##infrantNum##/g,info.infrantNum)
.replace(/##babyNum##/g,info.babyNum)
.replace(/##depYear##/g,depYear)
.replace(/##depMonth##/g,depMonth)
.replace(/##depDay##/g,depDay)
.replace(/##retYear##/g,retYear)
.replace(/##retMonth##/g,retMonth)
.replace(/##retDay##/g,retDay)
.replace(/##days##/g,days)
.replace(/##night##/g,night)
.replace(/##departure##/g,departure)
.replace(/##arrival##/g,arrival)
.replace(/##fareSum##/g,fareSum)
.replace(/##hotelName##/g,hotelName)
.replace(/##hotelNameOrg##/g,info.hotelName)
.replace(/##hotelNo##/g,info.hotelNo)
.replace(/##depDate##/g,depMonth+"/"+depDay)
.replace(/##week##/g,week)
.replace(/##adultNum##/g,adultNum)
.replace(/##preNum##/g,preNum)
.replace(/##infrantAllNum##/g,infrantAllNum)
.replace(/##num##/g,num)
.replace(/##browseDate##/g,info.browseDate)
.replace(/##roomNum##/g,info.roomNum)
.replace(/##pref##/g,info.pref)
.replace(/##checkInYear##/g,checkInYear)
.replace(/##checkInMonth##/g,checkInMonth)
.replace(/##checkInDay##/g,checkInDay)
.replace(/##checkOutYear##/g,checkOutYear)
.replace(/##checkOutMonth##/g,checkOutMonth)
.replace(/##checkOutDay##/g,checkOutDay)
.replace(/##company##/g,company)
.replace(/##shareOn##/g, share)
.replace(/##itemKey##/g, info.itemKey);
} else if(service == "overseasAirPackageBrowse") {
night = (new Date(info.retlDate).getTime() - new Date(info.deptDate).getTime())/86400000;
days = night+1;
week = constants.WEEK[new Date(info.deptDate).getDay()];
adultNum = Number(info.adultNum - 0||0);
var childNum = Number((info.childNum - 0) +
(info.childNumNoBed - 0)||0);
var infantNum = Number((info.infantNum - 0)||0);
num = adultNum + childNum + infantNum;
info.hotelName = this.sanitize(info.hotelName);
hotelName = info.hotelName || info.hotelNameEn ||"";
if (maxNameLength && hotelName.length > maxNameLength) {
hotelName = hotelName.substr(0,maxNameLength - 3) + "...";
}
var img;
if(info.wholesaler == "MIKI" || info.wholesaler == "BTOB") {
var subDir = info.hotelNo%100;
img  = "http://img.travel.rakuten.co.jp/share/kaigai/ws_cont/"+subDir+"/"+info.hotelNo+"/exterior_200_"+info.hotelNo+".jpg";
} else {
img   = "http://img.travel.rakuten.co.jp/image/imgr_"+imgr+"?no="+info.hotelNo;
}
fareSum = info.fareSum || "0";
while(fareSum != (fareSum = fareSum.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
return templateList
.replace(/##INFORMATION_URL##/g,constants.INFORMATION_URL[service])
.replace(/##tailUrl##/g,info.tailUrl)
.replace(/##IMG##/g,img)
.replace(/##depCompanyName##/,info.depCompanyName)
.replace(/##deptCode##/g,info.deptCode)
.replace(/##deplCode##/g,info.deplCode)
.replace(/##rettCode##/g,info.rettCode)
.replace(/##retlCode##/g,info.retlCode)
.replace(/##days##/g,days)
.replace(/##night##/g,night)
.replace(/##destinationName##/g,info.destinationName)
.replace(/##arrivalName##/g,info.arrivalName)
.replace(/##fareSum##/g,fareSum)
.replace(/##hotelName##/g,hotelName)
.replace(/##hotelNameOrg##/g,info.hotelName)
.replace(/##hotelNo##/g,info.hotelNo)
.replace(/##depDate##/g,info.deptDate.match(/^[0-9]{4}\/([0-9]{1,2}\/[0-9]{1,2})$/)[1])
.replace(/##week##/g,week)
.replace(/##adultNum##/g,adultNum)
.replace(/##childNum##/g,childNum)
.replace(/##infantNum##/g,infantNum)
.replace(/##num##/g,num)
.replace(/##browseDate##/g,info.browseDate)
.replace(/##f_heya_su##/g,info.f_heya_su)
.replace(/##linkUrl##/g,info.linkUrl)
.replace(/##itemKey##/g, info.itemKey);
}
};
rakutenTr_History.login = function(loginOptions){
this.deleteCookie("ashi-cnt");
this.deleteCookie("ashi-no");
loginOptions = loginOptions || {};
$.ajax({
url:this.CONSTANTS.ASHIATO_DOMAIN+"ashiato/login/",
cache: false,
timeout:10000,
dataType:'script',
success : function(){
if(loginOptions.callback) loginOptions.callback();
}
});
};
rakutenTr_History.logout = function(){
this.deleteCookie("ashi-cnt");
this.deleteCookie("ashi-no");
};
rakutenTr_History.deleteCookie = function(name){
var dt = new Date();
dt.setYear(dt.getYear() - 1);
var str = name + "=; path=/; domain=travel.rakuten.co.jp; expires=" + dt.toGMTString();
document.cookie = str;
};
rakutenTr_History.ErrorObjArr = new Array();
rakutenTr_History.setError = function(eobj){
if (this.ErrorObjArr.length >= 10) {
this.ErrorObjArr.shift();
}
this.ErrorObjArr.push(eobj);
};
rakutenTr_History.getError = function(){
if(this.ErrorObjArr.length == 0)return "No Error";
var mwk = "";
try {
for (var idx = 0; idx <  this.ErrorObjArr.length; idx++) {
mwk += "Error_" + (idx+1) + ":(" + this.ErrorObjArr[idx].method + ")" + this.ErrorObjArr[idx].Error.message + "\n";
}
}catch(e){
}
return mwk;
};
rakutenTr_History.sanitize = function(str){
str = str || "";
return str.replace(/\&/g,"＆")
.replace(/\'/g,"&apos;")
.replace(/\"/g,"&quot;")
.replace(/\</g,"&lt;")
.replace(/\>/g,"&gt;");
};
rakutenTr_History.getAireLineName = function (code) {
var name = "";
try {
var i = 0;
var al2 = window.airline2;
var al = al2.length;
for (i = 0; i < al; i++) {
if (code == al2[i].code) {
name = al2[i].name;
break;
}
}
} catch (e) {
alert("CityName exception: " + e);
}
return name;
};
rakutenTr_History.getCityName = function(code) {
var name = "";
try {
var i = 0;
var city1 = window.city1;
for (i = 0; i < city1.length; i++) {
if (code == city1[i].code) {
name = city1[i].name;
break;
}
}
} catch (e) {
alert("CityName exception: " + e.message);
}
return name;
};
rakutenTr_History.ready = function(service,f) {
var that = this;
var id = null;
id = setInterval(function(){
if(!that.isLoaded[service]) return;
clearInterval(id);
f();
},100);
};
rakutenTr_History.seek = function(obj,a){
if(!a.length) return true;
var e = a.shift();
if(!obj[e]) return false;
return arguments.callee(obj[e],a);
};
rakutenTr_History.load = function(service) {
if(!this.isLoaded) this.isLoaded = {};
var that = this;
var libraries = this.CONSTANTS.LIBRARIES[service] || [];
var ll = libraries.length;
var i, j;
var library, names;
for(i=0;i<ll;i++) {
library = libraries[i];
try{
names = library.names;
for(j=0;j<names.length;j++) {
if(!this.seek(window, names[j].split("."))) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = library.url;
script.charset = 'Shift_JIS';
document.getElementsByTagName('head')[0].appendChild(script);
break;
}
}
} catch(e) {
names = library.names;
for(j=0;j<names.length;j++) {
if(!this.seek(window, names[j].split("."))) {
document.write('<script type="text/javascript" src="'+library.url+'"><\/script>');
break;
}
}
}
}
var id = null;
id = setInterval(function(){
for(i=0;i<ll;i++) {
library = libraries[i];
names = library.names;
for(j=0;j<names.length;j++) {
if(!that.seek(window, names[j].split("."))) {
return;
}
}
}
that.isLoaded[service] = true;
clearInterval(id);
},100);
};
rakutenTr_History.submitToRakuPack = function(url,company) {
var constants = this.CONSTANTS;
$(document.body).empty()
.append('<center><br><br><img id="loadingImage" src="'+constants.URL_IMAGE_TRAVEL_RAKUTEN+constants.INITIAL_GIF[company]+'"/><br><img src="'+constants.URL_IMAGE_TRAVEL_RAKUTEN+constants.WAITING_GIF[company]+'"></center>');
setTimeout(function(){window.location=url;},500);
setInterval(function(){rakutenTr_History.iconChange(company);}, 3000);
};
rakutenTr_History.iconChange = function(company) {
var anaimgslist = window.anaimgslist,
jalImglist = window.jalImglist;
var imglist = anaimgslist;
if(company == "JAL"){
imglist = jalImglist;
}
var selectnum = Math.floor((Math.random() * 50)) % imglist.length;
var image     = (/^http/.test(imglist[selectnum])) ? imglist[selectnum] : this.CONSTANTS.URL_IMAGE_TRAVEL_RAKUTEN + imglist[selectnum];
$('#loadingImage').attr('src',image);
};
rakutenTr_History.jQueryRefresh = function(jQuery) {
$ = jQuery;
};
rakutenTr_History.getCookie = function(name){
var value = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = $.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
value = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return value;
};
rakutenTr_History.getRetargetingHeaderTemplate = function(){
var template = {};
template.historyCntContents= {
domesticHotelBrowse :      ['<p id="historyCount" class="dmstH ##CNT_CLASS##"><strong><a href="##COMPARE_HTML##"><em>##HISTORY_CNT##</em>軒の閲覧履歴があります</a></strong></p>'],
domesticAirPackageBrowse : ['<p id="historyCount" class="dmstAP ##CNT_CLASS##"><strong><a href="##COMPARE_HTML##"><em>##HISTORY_CNT##</em>軒の閲覧履歴があります</a></strong></p>'],
overseasHotelBrowse :      ['<p id="historyCount" class="ovrsH ##CNT_CLASS##"><strong><a href="##COMPARE_HTML##"><em>##HISTORY_CNT##</em>軒の閲覧履歴があります</a></strong></p>'],
overseasAirBrowse :        ['<p id="historyCount" class="ovrsA ##CNT_CLASS##"><strong><a href="##COMPARE_HTML##"><em>##HISTORY_CNT##</em>軒の閲覧履歴があります</a></strong></p>'],
overseasAirPackageBrowse : ['<p id="historyCount" class="ovrsAP ##CNT_CLASS##"><strong><a href="##COMPARE_HTML##"><em>##HISTORY_CNT##</em>軒の閲覧履歴があります</a></strong></p>']
};
template.historyCntEmpty = {
domesticHotelBrowse :      ['<p id="historyCount" class="dmstH ##CNT_CLASS##"><strong><span>閲覧履歴がありません</span></strong></p>'],
domesticAirPackageBrowse : ['<p id="historyCount" class="dmstAP ##CNT_CLASS##"><strong><span>閲覧履歴がありません</span></strong></p>'],
overseasHotelBrowse :      ['<p id="historyCount" class="ovrsH ##CNT_CLASS##"><strong><span>閲覧履歴がありません</span></strong></p>'],
overseasAirBrowse :        ['<p id="historyCount" class="ovrsA ##CNT_CLASS##"><strong><span>閲覧履歴がありません</span></strong></p>'],
overseasAirPackageBrowse : ['<p id="historyCount" class="ovrsAP ##CNT_CLASS##"><strong><span>閲覧履歴がありません</span></strong></p>']
};
this.importCss("http://img.travel.rakuten.co.jp/share/themes/recently/css/count_recent_hotel.css");
return template;
};
rakutenTr_History.importCss = function(file){
try {
var link = document.createElement('link');
link.href = file;
link.type = 'text/css';
link.rel = 'stylesheet';
document.getElementsByTagName('head').item(0).appendChild(link);
}catch(e){
}
};
rakutenTr_History.dispCampaignHistory = function(viewCode){
var that = this;
viewCode = viewCode || 'other';
that.viewCode = viewCode;
$.ajax({
url:that.CONSTANTS.ASHIATO_DOMAIN+"ashiato/campaignBrowse/take/",
cache: false,
timeout:10000,
dataType:'jsonp',
data:{
maxNum : that.CONSTANTS.HISTORY_SIZE.defaultNum,
version : that.CONSTANTS.ASHIATO_API_VERSION
},
scriptCharset:"UTF-8",
success : function(json){
that.renderCampaignHistory(json);
}
});
};
rakutenTr_History.renderCampaignHistory = function(json){
var html = [];
html.push(this.renderCampaignHeader());
html.push(this.renderCampaignContents(json));
html.push(this.renderCampaignFooter());
var initialize = this.options[this.viewCode].campaign.initialize;
if(initialize) initialize();
var recentRootObj = $("#" + this.options[this.viewCode].campaign.campaignRootId);
var recentFtrObj = $('<div id="recentFtr" style="border-top:0">'+html.join("")+'</div>');
recentRootObj.append(recentFtrObj);
};
rakutenTr_History.renderCampaignContents = function(json){
var viewCode = this.viewCode;
var options = this.options;
var template_type = options[viewCode].campaign.template;
var templateFunction = "getTemplate" + template_type;
this.template = this[templateFunction]();
var service = 'campaignBrowse';
this.setHistoryDataList(json, service);
var num = options[viewCode].campaign.num;
var historyDataList = this.historyDataList[service];
var html = [];
var dispCnt = 0;
var device = '1'; //device:1はPC, 0は全て
num = num < historyDataList.length? num : historyDataList.length;
if(num == 0) {
html.push(options[viewCode].campaign.empty_msg);
} else {
for (var i = 0; i < historyDataList.length; i++) {
var campaign = historyDataList[i];
if(campaign.device == device || campaign.device === "0") {
html.push(this.getCampaignPagingListElement(campaign, this.options.maxNameLength));
if(++dispCnt >= num) break;
}
}
}
return '<div id="recentLnk"><ul>'+html.join("")+'</ul></dvi>';
};
rakutenTr_History.renderCampaignHeader = function(){
var viewCode = this.viewCode;
var options = this.options;
var header = options[viewCode].campaign.header_msg;
return header;
};
rakutenTr_History.renderCampaignFooter= function(){
var viewCode = this.viewCode;
var options = this.options;
var footer = options[viewCode].campaign.footer_msg;
return footer;
};
rakutenTr_History.getCampaignPagingListElement = function(info){
var template = this.template;
var templateList = template.list['campaignBrowse'].join("");
var maxNameLength = 25;
if(!info) {
return template.empty.campaignBrowse.join("");
}
var pageName = info.pageName;
if (maxNameLength && pageName.length > maxNameLength) {
pageName = pageName.substr(0,maxNameLength - 2) + "...";
}
return templateList
.replace(/##CAMPAIGN_URL##/g,info.url)
.replace(/##CAMPAIGN_IMG_SMALL##/g,info.imageSmall)
.replace(/##CAMPAIGN_NAME##/g,pageName);
};
rakutenTr_History.campaignReady = function(viewCode, f){
var that = this;
var id = null;
id = setInterval(function(){
if(!that.isRendered) return;
clearInterval(id);
f(viewCode);
},100);
};
rakutenTr_History.putStock = function(viewCode,stockId,data){
var that = this;
data['type'] = that.CONSTANTS.TYPE_STOCK;
try {
$.ajax({
url:that.CONSTANTS.ASHIATO_DOMAIN + 'ashiato/domesticAirPackageBrowse/put',
dataType:'jsonp',
data:data,
traditional : true,
success : function(json){
if(json.header.status == 'Success'){
var afterPutFunc = that.options[viewCode].afterPutFunc;
if(afterPutFunc) afterPutFunc(stockId,viewCode);
}
},
cache: false,
timeout:10000
});
}catch(e){}
};
})(this.jQuery);

