$(function() {
  var size = 183 * 5;
  var box  = $("#images");
  var btn  = $("#btn");
  var next = $("#btn .next");
  var prev = $("#btn .prev");
  var time = 2500;
  var num  = $(".tooltip").length - 6;

  // 画像遅延読み込み　初期設定
  var j = 0;
  var thumbList = new Array();
  $("#images .tooltip img").each(
    function(i) {
      if (i > 16) {
        thumbList[j] = this.src;
        this.src = "img/thumb00.jpg";
        // IE6,7用　遅延読み込み用フラグクラスの追加
        $(this).addClass("thumb");
        j++;
      }
    }
  );

  function interval() {
    btn.hide();
    box.animate({
      marginLeft : parseInt(box.css("margin-left")) - size / 5 +"px"
    }, 500, function() {
      box.css("margin-left", -size + "px");
      $(".tooltip", box).first().appendTo(box);
      btn.fadeIn("fast");
    });
    // 画像遅延読み込み
    if (thumbList.length != 0) {
      // $("#images .tooltip img[src='img/thumb00.jpg']").first().attr("src", thumbList.shift());　IE6,7不可
      $("#images .tooltip img[class='thumb']").first().attr("src", thumbList.shift()).removeClass();
    }
  }

  next.click(function() {
    btn.hide();
    box.animate({
      marginLeft : parseInt(box.css("margin-left"))-size+"px"
    }, 700, function() {
      box.css("margin-left",-size+"px");
      $(".tooltip:lt(5)", box).appendTo(box);
      btn.fadeIn("fast");
    });
    // 画像遅延読み込み
    if (thumbList.length != 0) {
      for (i = 0; i < 5; i++) {
        $("#images .tooltip img[class='thumb']").first().attr("src", thumbList.shift()).removeClass();
        if (thumbList.length == 0) {
          break;
        }
      }
    }
  });

  prev.click(function() {
    btn.hide();
    box.animate({
      marginLeft : parseInt(box.css("margin-left"))+size+"px"
    }, 700, function() {
      box.css("margin-left",-size+"px");
      $(".tooltip:gt(" + num + ")", box).prependTo(box);
      btn.fadeIn("fast");
    });
    // 画像遅延読み込み
    if (thumbList.length != 0) {
      for (i = 0; i < 5; i++) {
        $("#images .tooltip img[class='thumb']").last().attr("src", thumbList.pop()).removeClass();
        if (thumbList.length == 0) {
          break;
        }
      }
    }
  });

  next.mouseup(function() {
    clearInterval(timerID);
    timerID = setInterval(function() {
      interval();
    }, time);
  });
  prev.mouseup(function() {
    clearInterval(timerID);
    timerID = setInterval(function() {
      interval();
    }, time);
  });

  timerID = setInterval(function() {
    interval();
  }, time);

  // ツールチップ
  var height = null;
  $(".fukidashi").hide();
  $(".tooltip").hover(
    function() {
      clearInterval(timerID);
      height = $(".fukidashi", this).outerHeight(true) - 50;
      if (height > 150) {
        height = 150;
      }
      $(".fukidashi", this).show().css({
        "top"  : $(this).offset().top - height + "px",
        "left" : $(this).offset().left + $(this).width() - 60 + "px"
      });
    },
    function() {
      timerID = setInterval(function() {
        interval();
      }, time);
      $(".fukidashi", this).hide();
    }
  );

});

