(function($) {
    var cumulativeOffset = function(element) {
        var top = 0, left = 0, display = "";
        do {
            display = $(element).css("display");
            $(element).css("display", "block");
            top += element.offsetTop  || 0;
            left += element.offsetLeft || 0;
            $(element).css("display", display);
            element = element.offsetParent;
        } while(element);

        return {
            top: top,
            left: left
        };
    };

    function setWidth() {
        var navW = j$("#headerAreaImage").width();
        var marW = navW / 2 + 30;
        j$(".menuFirst:first").css({
            "right": "calc(50% + " + marW + "px)"
        }).animate({
            opacity: 1
        }, 800, 'easeOutQuart');
        j$(".menuFirst:last").css({
            "left": "calc(50% + " + marW + "px)"
        }).animate({
            opacity: 1
        }, 800, 'easeOutQuart');
        
        var logoh = ~~(j$("#headerAreaImage").outerHeight());
        j$("#globalNaviAreaSection").css('margin-top', -logoh);
    }

    document.addEventListener('templateEditReady', function() {
        j$("#coverAreaSection").height('');
    });

    document.addEventListener('templateHeadUpdate', function() {
        var h = ~~(j$("#headerAreaSection").outerHeight());
        j$("#globalNaviArea").css('height', h);
        j$("#globalNaviArea .menuFirst").css('height', h);
        j$("#coverAreaSection").css('margin-top', h);
        setWidth();
    }, false);

    j$(window).on("resize", setWidth);

    /**
 * ページトップ&フェード
 */
    $("p#pagetop").bScroller({duration: 1000});

    /**
     * メニューホバー処理
     */
    $("#globalNaviAreaSection").find(".bhover").bHover();

    /**
     * アンケーユニット対応
     */
    if (0 < $(".bAnchorSide").length) {
        $(".bAnchorSide").find('a').on('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            var ease = $(this).parents('.bAnchorSide').data('easing');
            var speed = $(this).parents('.bAnchorSide').data('speed');
            var t = this.href.split('#')[1];
            bMainScroll($('#' + t).offset().top, speed, ease || null, null, $("#fixedArea").outerHeight());
        });
    }

    if (0 < $(".bAnchor").length) {
        $(".bAnchor").find('a').on('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            var ease = $(this).parents('.bAnchor').data('easing');
            var speed = $(this).parents('.bAnchor').data('speed');
            var t = this.href.split('#')[1];
            bMainScroll($('#' + t).offset().top, speed, ease || null, null, $("#fixedArea").outerHeight());
        });
    }

    /**
     * animate.css用。テスト
     */
    if (j$("#items").length == 0) {
        j$("[class*=attach_anim]").addClass("anim");
        j$("[class*=attach_anim]").on("inview", function(e, view) {
            if (view && j$(this).hasClass("attach_anim")) {
                var match = j$(this).attr('class').match(/(attach_[a-zA-Z]+)/g);
                if (match) {
                    for (var i = 0; i < match.length; i++) {
                        j$(this).addClass(match[i].replace('attach_', ''));
                    }
                    j$(this).addClass('animated');
                }
            }
        });
    }
    
    function _setPullDownLocal() {
        j$("#globalNaviArea ul li ul").each(function(){
            var p = j$(this).parent();
            var t = p.outerHeight();
            var self=this;
            var maxw=0;
            var right = 'auto';
            var left = 0;

            $(self).css({display: 'block', left:'auto', right:'auto'});

            var onEnter=function(e){
              j$(self).stop(true).show().animate({height: j$(self).data('defH'), opacity: 1}, 200);
            }
          
            var onLeave=function(e){
              j$(self).stop(true).animate({height:0, opacity:0}, 200, function(){
                    j$(self).hide();
                });
            }
          
            j$(this).find('li>a').each(function(){
              var imgw=$(this).find("img").outerWidth(true);
                var txtw=$(this).find(">span").outerWidth(true);
                maxw=Math.max(maxw, txtw+imgw+1);
            }).width(maxw);

            if(!j$(self).data('defH')){
              j$(self).data('defH', j$(self).height());
            }
        
            if(j$(window).width() < j$(this).outerWidth()+cumulativeOffset(self).left) {
                right = 0;
                left = 'auto';
            }
            p.off('mouseenter', onEnter).on('mouseenter', onEnter);
            p.off('mouseleave', onLeave).on('mouseleave', onLeave);
            j$(self).css({visibility: 'visible', display:'none', height: 0, opacity: 0, top: t, right:right, left:left});
        });
    }
    
    /**
     * ローカルナビプルダウンメニュー
     */
    $(function() {
        if ($("#unitmenu").length) return;

        j$("#globalNaviArea ul > img").imagesLoaded(function() {
            _setPullDownLocal();
        });

        setTimeout(function() {
            setWidth();
            _setPullDownLocal();
        }, 0);
    });



    //アニメーションキック
    $(function() {
        $('.inView').one('inview', function(event, isInView) {
          if (isInView) {
            $(this).addClass('fadeInDown');
            } else {
          //表示領域から出た時
          $(this).removeClass('fadeInDown');
          $(this).css('opacity',0); //非表示にしておく
            }
        });
      });

    // ページトップ
    $(function() {
        var showFlag = false;
        var topBtn = $('#scroll_btn');    
        topBtn.css('bottom', '-100px');
        var showFlag = false;
        //スクロールが100に達したらボタン表示
        $(window).scroll(function () {
            if ($(this).scrollTop() > 100) {
                if (showFlag == false) {
                    showFlag = true;
                    topBtn.stop().animate({'right' : '0px'}, 200); 
                }
            } else {
                if (showFlag) {
                    showFlag = false;
                    topBtn.stop().animate({'right' : '-100px'}, 200); 
                }
            }
        });
        //スクロールしてトップ
        //topBtn.click(function () {
        //    $('body,html').animate({
        //        scrollTop: 0
        //    }, 500);
        //    return false;
        //});
    });


//アニメーションキック
    $(function() {
        $('.inView').one('inview', function(event, isInView) {
          if (isInView) {
            $(this).addClass('fadeInDown');
            } else {
          //表示領域から出た時
          $(this).removeClass('fadeInDown');
          $(this).css('opacity',0); //非表示にしておく
            }
        });
      });
      
      
//スライダー
$(function() {
    $('.slick-bannerSlide').slick({
		infinite: true,
        arrows: true,
		autoplay: true,
		slidesToShow: 4,
		slidesToScroll: 1,
		autoplaySpeed: 3000,
		responsive: [{
			breakpoint: 800,settings: { //800pxでは3画像表示
				slidesToShow: 1,
				slidesToScroll: 1,
			}
		}]
	});
});


//ヘッダー固定
$(function($) {
	var tab = $('.headerBotttomWrapper');
	var tab2 = $('#coverAreaSection');
    offset = tab.offset();

    $(window).scroll(function () {
      if($(window).scrollTop() > offset.top) {
        tab.addClass('fixed');
        tab2.addClass('coverMrgn');
      } else {
        tab.removeClass('fixed');
        tab2.removeClass('coverMrgn');
      }
    });
});



//スライダー
$(document).on('ready', function() {
	$(".lazy").slick({
        lazyLoad: 'ondemand', // ondemand progressive anticipated
        infinite: true,
        autoplay: true,
        	arrows: true,
        	autoplaySpeed: 5000,
        	fade: true,
		cssEase: 'linear'
      });
      $('.slick-newsbox').slick({
	    infinite: true,
        autoplay: true,
        	arrows: true,
        	autoplaySpeed: 5000,
        });
        $('.slick-bannerSlide').slick({
		infinite: true,
        arrows: true,
		autoplay: true,
		slidesToShow: 4,
		slidesToScroll: 1,
		autoplaySpeed: 3000,
		responsive: [{
			breakpoint: 800,settings: { //800pxでは3画像表示
				slidesToShow: 1,
				slidesToScroll: 1,
			}
		}]
	});
});


})(jQuery);
