//namespace
var HC = HC || {};
//avoid conflict
(function(){
//flags
var bookmarkBeforeClass = 'jscBookmarkBefore';
var bookmarkAfterClass = 'jscBookmarkAfter';
//DEFINE OBJECT
HC = {
switchHorizontallyByTab: function(target) {
target.on('click', 'li a', function(e) {
var $that = $(this),
$thatParent = $that.parent(),
targetParentIdx = $thatParent.index(),
$rankingTab = target,
$currentRankingTab = $rankingTab.find('.current'),
$rankListWrapper = $('#jsiRankListWrapper'),
$rankList = $rankListWrapper.find('.jscRankList'),
$currentRankList = $rankListWrapper.find('.current'),
$nextRankList = $rankList.eq(targetParentIdx),
switchDuration = 400;
if (!$thatParent.hasClass('current')) {
$thatParent.addClass('current');
$currentRankingTab.removeClass('current');
$currentRankList.stop().animate({
left: '5px',
'opacity': '0'
}, {
duration: switchDuration,
easing: 'swing',
complete: function() {
$(this).css({
'opacity': ''
});
$(this).addClass('dn').removeClass('current').css({
left: 0
});
$nextRankList.removeClass('dn').addClass('current').css({
left: '-5px',
'opacity': '0'
}).stop().animate({
'left': '0',
'opacity': '1'
},{
duration: switchDuration,
easing: 'swing',
complete: function() {
$(this).css({
'opacity': ''
});
}
}
);
}
});
if ($('#jsiTabGenderRankingMens').hasClass('current')) {
customLinkLog('styleRanking_mens')
} else {
customLinkLog('styleRanking_ladies');
}
} else {
return false;
}
});
},
switchVerticallyByTab: function(target) {
target.on('click', 'li a', function(e) {
var $that = $(this),
$thatParent = $that.parent(),
$tabWrapper = target,
$tabs = $tabWrapper.find('li'),
$tabBody = $('div.jscTabBody'),
idx = $thatParent.index(),
$currentBody = $tabBody.eq(idx),
switchDuration = 400;
if (!$thatParent.hasClass('current')) {
$tabBody.not($currentBody).stop(true, true).animate({
'top': '15px',
'opacity': '0'
}, {
duration: switchDuration,
complete: function() {
$(this).css({
'opacity': ''
});
$tabBody.not($currentBody).addClass('dn');
$currentBody.removeClass('dn').css({
'top': '-5px',
'opacity': '0'
}).stop(true, true).animate({
'top': '0',
'opacity': '1'
},{
duration: switchDuration,
complete: function() {
$(this).css({
'opacity': ''
});
}
}
);
}
});
$thatParent.addClass('current');
$tabs.not($thatParent).removeClass('current');
if ($('#jsiTabGenderLadies').hasClass('current')) {
customLinkLog('styleNew_ladies');
} else if ($('#jsiTabGenderMens').hasClass('current')) {
customLinkLog('styleNew_mens')
}
} else {
return false;
}
});
},
hoverAlphaLayer: {
bind: function(targetScope) {
var $targetScope = (targetScope) ? targetScope : $('body');
HC.changeToSavedStatus($targetScope);
}
},
changeToSavedStatus: function($targetScope) {
var $targetScope = ($targetScope) ? $targetScope : $('body');
var $btnSaveToMyStyle = $targetScope.find('.jscBtnSaveToMyStyle');
$.each($btnSaveToMyStyle, function(i) {
var myItem = $(this);
$(this).on('click', {myItem: myItem}, HC.myStyleSave);
});
},
myStyleSave: function(event) {
if($(this).hasClass(bookmarkAfterClass)) {
return;
}
$('.jscBookmarkNotification').remove();
var LOGINSTS_GUEST = "0";
var LOGINSTS_AUTO = "1";
var LOGINSTS_LOGIN = "2";
var $myItem = event.data.myItem;
var $myP = $(this).closest('p');
var styleId = $myP.prop('id');
styleId = styleId.replace('mysId01','');
var loginSts = $('#myStyleLoginSts').html();
var url = '';
if(loginSts == LOGINSTS_AUTO || loginSts == LOGINSTS_LOGIN){
try{
customLinkLog(subSiteSection + ":Clip_style_login");
} catch(e) {} //nop
url = $('#myStyleAjaxUrl').html();
$.ajax({
type: "GET",
url: url,
data: {
"styleId": styleId
},
dataType: "json",
timeout: 30000,
cache: false,
success: function(myStyleData){
HC.ajaxSuccess(myStyleData, $myItem);
},
error: function(xmlHttpReq, textSts, errThrown){
HC.ajaxError(xmlHttpReq, textSts, errThrown);
}
});
}
else if(loginSts == LOGINSTS_GUEST){
try{
customLinkLog(subSiteSection + ":Clip_style_nologin");
} catch(e) {} //nop
url = $('#bmStyleAjaxUrl').html();
$.ajax({
type: "GET",
url: url,
data: {
"styleId": styleId
},
dataType: "json",
timeout: 30000,
cache: false,
success: function(myStyleData){
HC.ajaxSuccess(myStyleData, $myItem);
},
error: function(xmlHttpReq, textSts, errThrown){
HC.ajaxError(xmlHttpReq, textSts, errThrown);
}
});
}
},
ajaxSuccess : function(myStyleData, $myItem){
var WEBAPI_RC_OK = "0";
var WEBAPI_RC_ERROR = "99";
var WEBAPI_RC_SESSION_END = "90";
var WEBAPI_RC_NOT_AUTH = "91";
var MYREGISTCD_NORMAL = "0";
var MYREGISTCD_OVERLAP = "1";
var MYREGISTCD_EXCESS = "2";
var MYREGISTCD_NOPUBLISH = "3";
if(myStyleData.returnCd != WEBAPI_RC_OK){
$MsgTitle = $('#myStyleSavedMsgTitle');
$MsgValue = $('#myStyleSavedMsgValue');
if((myStyleData.returnCd == WEBAPI_RC_SESSION_END) || (myStyleData.returnCd == WEBAPI_RC_NOT_AUTH)){
$MsgTitle.html('セッションエラー');
$MsgValue.html('セッションが切れました。
TOPへ戻ってください。');
}
else {
$MsgTitle.html('システムエラー');
$MsgValue.html('申し訳ございません。システムエラーが発生しました。
恐れ入りますが、一度画面を閉じて再度アクセスしていただくか、
しばらく経ってからご利用ください。');
}
$('#myStyleMyStyleListLink').css('display', 'none');
tb_show('','#TB_inline?height=140&width=400&inlineId=myStyleMsgContent&modal=true','');
return;
}
if(MYREGISTCD_NORMAL == myStyleData.myRegistCd || MYREGISTCD_EXCESS == myStyleData.myRegistCd) {
var $targetA = $myItem;
var $filmParent = null;
$filmParent = $targetA.closest('p');
var btnBmBeforeClass = 'btnBmBefore';
var btnBmAfterClass = 'btnBmAfter';
var isActiveClass = 'isActive';
$targetA.removeClass(bookmarkBeforeClass).addClass(bookmarkAfterClass);
if($targetA.hasClass(btnBmBeforeClass)) {
$targetA.removeClass(btnBmBeforeClass).addClass(btnBmAfterClass).text('ブックマーク済み');
} else {
$targetA.addClass(isActiveClass);
}
if(MYREGISTCD_NORMAL == myStyleData.myRegistCd){
var $film1 = $('').css({
'backgroundColor': 'rgba(51,51,51,0.8)',
'border-radius': '4px',
'color': '#FFFFFF',
'display': 'block',
'font-size': '10px',
'font-weight': 'bold',
'height': '24px',
'line-height': '24px',
'opacity': '0',
'position': 'absolute',
'text-align': 'center',
'top': '-32px',
'width': '172px',
'z-index': '100'
}).text('ブックマークに追加しました').addClass('jscBookmarkNotification');
$filmParent.append($film1);
if($targetA.hasClass(btnBmAfterClass)){
$film1.css({
'right': '50%',
'transform': 'translateX(50%)'
});
} else {
$film1.css('right','0');
}
$film1.animate({
'opacity': '1'
},{
duration: 600,
complete: function() {
$film1.delay(500).animate({
'opacity': '0'
}, {
duration: 600,
complete: function() {
$film1.remove();
}
});
}
});
$('#myAreaMyStyleCnt').html('(' + myStyleData.myStyleCnt + '件)');
try{
myStyleBookmark();
} catch(e) {} //nop
}
else if(MYREGISTCD_EXCESS == myStyleData.myRegistCd){
$MsgTitle = $('#myStyleSavedMsgTitle');
$MsgValue = $('#myStyleSavedMsgValue');
$MsgTitle.html(myStyleData.msgTitle);
$MsgValue.html(myStyleData.msg);
tb_show('','#TB_inline?height=140&width=400&inlineId=myStyleMsgContent&modal=true','');
}
}
else{
$MsgTitle = $('#myStyleSavedMsgTitle');
$MsgValue = $('#myStyleSavedMsgValue');
$MsgTitle.html(myStyleData.msgTitle);
$MsgValue.html(myStyleData.msg);
tb_show('','#TB_inline?height=140&width=400&inlineId=myStyleMsgContent&modal=true','');
}
},
ajaxError : function(xmlHttpReq, textSts, errThrown){
$MsgTitle = $('#myStyleSavedMsgTitle');
$MsgValue = $('#myStyleSavedMsgValue');
$MsgTitle.html('システムエラー');
$MsgValue.html('申し訳ございません。システムエラーが発生しました。
恐れ入りますが、一度画面を閉じて再度アクセスしていただくか、
しばらく経ってからご利用ください。');
$('#myStyleMyStyleListLink').css('display', 'none');
tb_show('','#TB_inline?height=140&width=400&inlineId=myStyleMsgContent&modal=true','');
},
appendWak : function($ancher) {
if ($ancher.prop("href") == null) {
return ;
}
var LOGINSTS_GUEST = "0";
var LOGINSTS_AUTO = "1";
var LOGINSTS_LOGIN = "2";
var isLogin;
var loginSts = $('#myStyleLoginSts').html();
if(loginSts == LOGINSTS_AUTO || loginSts == LOGINSTS_LOGIN){
isLogin = 'login';
}
else if(loginSts == LOGINSTS_GUEST){
isLogin = 'nologin';
}
$ancher.prop("href", $ancher.prop("href") + (($ancher.prop("href").indexOf("?")>0) ? "&" : "?") + "wak=" + subSiteSection + "_link_bookmarkstyle_" + isLogin);
}
};
}());