if (!window.console) {
  window.console = {
    log: function() {}
  };
};

$(function() {
  var $prev = $('#styleLooks .prev'),
      $next = $('#styleLooks .next'),
      $container = $('#styleLooks .container').slideshow({
        lock: true,
        loop: true,
        onTransitionStart: function() {
          $prev.add($next).fadeOut();
        },
        onTransitionEnd: function() {
          if (api.hasNext()) $next.fadeIn();
          if (api.hasPrev()) $prev.fadeIn();
        }
      });
  var api = $container.slideshow.api();  
  $('#styleLooks .prev').bind('click', function() {
    api.prev();
  });
  $('#styleLooks .next').bind('click', function() {    
    api.next();
  });
  $('#styleLooks .thumb li a').bind('click', function() {
    api.moveTo($(this).parent().index() + 1);
  });
  $('#styleLooks .vol1').bind('click', function() {
    if (!(api.index === 0 || api.index === api.numOfSlides - 1)) api.moveTo(0);
  });
});

$(function() {
  var $prev = $('#newArrival .prev'),
      $next = $('#newArrival .next'),
      $container = $('#newArrival .container').slideshow({
        lock: true,
        onTransitionStart: function() {
          $prev.add($next).fadeOut();
        },
        onTransitionEnd: function() {
          if (api.hasNext()) $next.fadeIn();
          if (api.hasPrev()) $prev.fadeIn();
        }
      });
  var api = $container.slideshow.api();
  $('#newArrival .prev').bind('click', function() {
    api.prev();
  });
  $('#newArrival .next').bind('click', function() {    
    api.next();
  });
});

$(function() {
  var $window = $(window)
    , $preloader = $('#preloader')
    , $inner = $('#inner')
    , $parallex = $('.parallex');

  var buffer = 1440 //2.5Dをどの程度手前から開始するか（想定する最大画面のheightにすればOK）
    , menuOffset = 46; // globalMenu を固定で表示することにともなうオフセット
  Preloader.init(function(preloader) {
    preloader.on('progress', function() {
      $preloader.find('.number span').text(Math.floor(preloader.getProportion() * 100));
    });
    preloader.on('complete', function(next) {
      $preloader.fadeOut('slow', function() {
        $preloader.remove();
        $window.unbind('resize.preloader');
        $('body').css('overflow', 'auto');
        $window.trigger('resize');
        $('img[data-lazy-url]').each(function() {
          var $this = $(this);
          $this.attr('src', $this.attr('data-lazy-url'));
          $this.removeAttr('data-lazy-url');
        });
      });
      tab();
    });
  });

  $window.bind('scroll', function(e) {
    var d1 = new Date();
    var scrollPos = $(window).scrollTop();
    $inner.css('top', - scrollPos);
    $parallex.each(function() {
      var $section = $(this).parents('.section')
        , start = $section.position().top;
      if ((start - buffer <= scrollPos && scrollPos <= start + $section.height())) {
        $(this).children().each(function(i) {
          var $this = $(this);
          var initialTop
            , delta = scrollPos - start
            , distance = this.getAttribute('data-parallex-distance');
          //初回時にはCSSで設定した位置を保存しておく
          if ($.data(this, 'initialTop') === undefined) {
            $.data(this, 'initialTop', $this.position().top);
            //一番上のブロックは位置補正をしない
            if (i > 0) {
              $this.css('top', $this.position().top - (distance === '0' ? 0 : buffer * (1 - 1 / distance)));
            }
          }
          initialTop = $.data(this, 'initialTop');
          $this.stop().animate({'top': initialTop + (delta - (distance === '0' ? 0 : delta / distance))}, 0);
        });
      }
    });

    //スクロールに追随してnavigationをactiveに
    $('.section').each(function() {
      var $section = $(this)
        , $li = $($('.fixNav ul li')[$('.section').index($section)])
        , start = $section.position().top;
      if (start <= scrollPos + menuOffset && scrollPos + menuOffset < start + $section.height()) {
        if (!$li.hasClass('current')) $li.addClass('current');
      } else {
        $li.removeClass('current');
      }
    });
  });

  $window.bind('resize.preloader', function(e) {
    $preloader.height($window.height());
  });

  $window.bind('resize', function(e) {
    var $container = $('.container');
    $container.each(function() {
      var $this = $(this);
      var api = $.data($this.get(0), 'data-slideshow-api');
      if (api) {
        $(this).css('left', - api.index() * $window.width());
      }
      $(this).children().each(function(i, elem) {
        $(elem).css('left', i * $window.width());
      });
    });
  });  

  $('.navigation').localScroll({ hash : 'true', offset: { top:-menuOffset } });

  $('.navigation a').each(function() {
    $(this).hover(function(e) {
      $(this).prev().stop(true, true).fadeIn();
    },function(e) {
      $(this).prev().stop(true, true).fadeOut();
    });
  });

  $('.informationFirst li a:lt(3)').each(function() {
    $(this)
      .attr('href', '#' + this.className)
      .removeAttr('onclick');
  });

  $('.informationSecond').localScroll({hash : 'true', offset: {top:-menuOffset}});
  //$('.scrollBox').scrollable({visibleHeight: 400});
  $window.trigger('scroll').trigger('resize');

  // NEW ARRIVAL取得/append
  var $newArrivalContainer1 = $('#newArrivalContainer1');
  var $newArrivalContainer2 = $('#newArrivalContainer2');
  var $newArrivalContainer3 = $('#newArrivalContainer3');
  var $newArrivalContainers = [$newArrivalContainer1, $newArrivalContainer2, $newArrivalContainer3];
  $.getJSON('http://pipes.yahoo.com/pipes/pipe.run?_id=3ac405ea7472ce5b6f14e640439afa70&_render=json&_callback=?')
    .success(function(data) {
      $.each(data.value.items[0].item, function(i, item) {
        if(i >= 24 ) return;
        $newArrivalContainers[Math.floor(i/8)].append('<li><a href="' + item.url + '" target="_blank"><img src="' + item.image + '" width="168" height="268" alt="" /><p>' + item.name + '<br/>&yen;' + item.price + '</p></a></li>');
    });
  });

  $('.informationFirst .about').fancybox();
  $('.informationFirst .contact').fancybox();
  $('.informationFirst .recruit').fancybox(
  {
    onComplete: function() {
      $('#fancybox-wrap').css('position', 'absolute');
    },

    onStart: function() {
      $('#fancybox-wrap').css('position', 'absolute');
    }
  }
  );
  $('.footerInformation .mobile a').fancybox();

  // menuを半固定
  var header = $('#header').outerHeight(),
  	  fixMenu = $('.informationSecond').offset().top;

  $(window).scroll(function(){
  	if($(window).scrollTop() >= fixMenu){
  	  $('.informationSecond').css({
  	    position: "fixed"
  	  });
  	} else {
  	  $('.informationSecond').css({
  	    position: "relative"
  	  });
  	}
  });
});
