var commonFunc = commonFunc || {};
;(function($) {
commonFunc = (function() {
'use strict';
var EVENT_ID = '.smbc',
get_ua = function() {
var ua = {};
ua.name = window.navigator.userAgent.toLowerCase();
ua.isIE = (ua.name.indexOf('msie') >= 0 || ua.name.indexOf('trident') >= 0);
ua.isiPhone = ua.name.indexOf('iphone') >= 0;
ua.isiPod = ua.name.indexOf('ipod') >= 0;
ua.isiPad = ua.name.indexOf('ipad') >= 0;
ua.isiOS = (ua.isiPhone || ua.isiPod || ua.isiPad);
ua.isAndroid = ua.name.indexOf('android') >= 0;
ua.isSP = (ua.isiPhone || (ua.isAndroid && ua.name.indexOf('mobile') >= 0));
ua.isTablet = (ua.isiPad || (ua.isAndroid && ua.name.indexOf('mobile') < 0));
ua.isTouch = (ua.isiOS || ua.isAndroid);
return ua;
};
$.extend($.easing, {
easeOutExpo: function (x, t, b, c, d) {
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
}
});
return {
accordion: function() {
var btn = $('.accordionBtn');
btn
.on('touchend'+EVENT_ID,function() {
if($(this).find('.accBtn').length > 0) {
if($(this).attr("data-move") === 'no' || !$(this).attr("data-move")) {
if($(this).closest('.accordionWrap').hasClass('open')) {
$(this).siblings('.accordionContents').slideUp('slow','easeOutExpo',function() {
$(this)
.closest('.accordionWrap').removeClass('open')
.find('.accordionBtn').removeClass('open')
.find('.accBtn').text('開く');
});
}else {
$(this).closest('.accordionBtn').addClass('open');
$(this).siblings('.accordionContents').slideDown('slow','easeOutExpo',function() {
$(this)
.closest('.accordionWrap').addClass('open')
.find('.accBtn').text('閉じる');
});
}
}
}
})
.on('touchstart'+EVENT_ID,function() {
$(this).attr('data-move','no')
})
.on('touchmove'+EVENT_ID,function() {
$(this).attr('data-move','yes')
});
},
drawerCampaign: function() {
var path = '/smbcsp/img/xml/gnav_banner.xml', drwHtml = '';
function xmlLoad() {
$.ajax({
type: "GET",
url: path,
dataType: "text",
}).done(function(data) {
var xmlData = $.parseXML(data);
setDrawerCampaign(xmlData);
});
}
/* drawer campaign */
function setDrawerCampaign(xml) {
$(xml).find('item').each(function() {
drwHtml += '
' + $(this).find('text').text() + '';
});
$('#drawerCampaign .secondHierarchy').html(drwHtml);
}
xmlLoad();
},
drawerAccordion: function() {
var btn = $('#spDrawerMenu').find('.globalBlock > dt');
var block = $('#spDrawerMenu').find('.globalBlock > dd');
block
.hide()
.each(function() {
if($(this).siblings('dt').hasClass('open')) {
$(this).show().closest('dl').addClass('open');
}
});
btn
.on('touchend'+EVENT_ID,function() {
if($(this).siblings('dd').length > 0) {
if($(this).attr("data-move") === 'no' || !$(this).attr("data-move")) {
if($(this).closest('dl').hasClass('open')) {
$(this).siblings('dd').slideUp(500,'easeOutExpo',function() {
$(this)
.siblings('dt').removeClass('open')
.closest('dl').removeClass('open');
});
}else {
$(this).closest('dl').andSelf().addClass('open');
$(this).siblings('dd').slideDown(500,'easeOutExpo');
}
}
return false;
}
})
.on('touchstart'+EVENT_ID,function() {
$(this).attr('data-move','no')
})
.on('touchmove'+EVENT_ID,function() {
$(this).attr('data-move','yes')
});
},
smoothScroll: function() {
$('a[href^=#]').not('.noSmooth').on('touchend'+EVENT_ID,function() {
if($($(this).attr('href')).length > 0) {
var speed = 500,
href= $(this).attr("href"),
target = $(href == "#" || href == "" ? 'html' : href),
position = target.offset().top;
$('body,html').animate({scrollTop:position}, speed, 'easeOutExpo');
return false;
}
});
},
/* 入力フォーム フォーカス */
focusForm: function() {
if($('#searchSubmitFixed').length > 0) {
$('#wrapper')
.on('focus'+EVENT_ID,'input[type="text"], textarea, select',function(){
$('#searchSubmitFixed').hide();
})
.on('blur'+EVENT_ID,'input[type="text"], textarea, select',function(){
$('#searchSubmitFixed').show();
});
}
},
/* ダイアログ */
dialogConfirm: function() {
$(document).on('touchend'+EVENT_ID,'.dialogConfirm',function(){
if($(this).attr("data-move") === 'no' || !$(this).attr("data-move")) {
if($(this).attr('data-dialog') && $(this).attr('data-jump')) {
if(window.confirm($(this).attr('data-dialog'))){
location.href = $(this).attr('data-jump');
}
}
return false;
}
})
.on('touchstart'+EVENT_ID,'.dialogConfirm',function() {
$(this).attr('data-move','no')
})
.on('touchmove'+EVENT_ID,'.dialogConfirm',function() {
$(this).attr('data-move','yes')
});
},
goTop: function() {
var elm, i, l;
elm = $('#pageTop');
setDefault();
bindGoTop();
bindScroll();
function bindScroll() {
$(window).on('scroll.smbcGoTopBtn', $.debounce(100, function(){
if ($(window).scrollTop() > 200) {
elm.css({'-webkit-transform': 'translateY(0px)','transform': 'translateY(0px)'});
} else {
elm.css({'-webkit-transform': 'translateY(200px)','transform': 'translateY(200px)'});
}
}));
}
function setDefault(){
elm.attr('href','javascript:;');
var stid = setTimeout(function(){
clearTimeout(stid);
elm.css({
'-webkit-transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)',
'-moz-transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)',
'-o-transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)',
'transition': 'all 500ms cubic-bezier(.13,.63,.35,1.23)'
}, 0)
});
elm.css({
'-webkit-transform': 'translateY(200px)',
'transform': 'translateY(200px)',
'display': 'block'
});
}
function bindGoTop(){
elm.on('click.smbcGoTopBtn touchend.smbcGoTopBtn', function(){
elm.css({'-webkit-transform': 'translateY(0px)','transform': 'translateY(0px)'});
$('html, body').stop().animate({
scrollTop : 0
}, 500, 'easeOutExpo');
return false;
})
}
}
}
}());
$(function() {
commonFunc.smoothScroll();
commonFunc.accordion();
commonFunc.drawerAccordion();
commonFunc.drawerCampaign();
commonFunc.focusForm();
commonFunc.dialogConfirm();
commonFunc.goTop();
});
})(jQuery);