

// Lineup
// ----------------------------------------------------------------------- //

$(function(){

	(jQuery.support.opacity) ? noIE = 1 : noIE = 0;

	if(noIE){
		$("#lineupBox").animate({"opacity":0}, {duration:0});
		$("#iNav").hide();
	}
	$("#lineupArea").css("background","url(../image/loading.gif) center center no-repeat");
	$('#lineupBox').css("display","none");

});


window.onload = function(){
//jQuery.event.add(window, "load", function(){
//$(function(){

	$("#lineupArea").css("background-image","none");
	$('#lineupBox').css("display","block");

	$('#lineupArea span').pngfix( );

	(jQuery.support.opacity) ? noIE = 1 : noIE = 0;

	var all_line = new Number(0);
	var current_line = new Number(0);

	var all_item = $("#lineupMain li").length;	// 全アイテム数
	if (all_item > 3) {

	var all_item_total = all_item * 3;	// 全アイテム数（前後）
	var base_mgn = all_item * -255;	// 前クローンの分だけ左に

	// サムネイルナビ作成
	$("#lineupMain li").each(function(i,e){
		this_id = $(this).attr("id");
		this_nav_id = "nav" + this_id;
		$("#tnMenu").append('<li rel="' + i + '" id="' + this_id + '"><a href="#" style="background:url(tn/' + this_id + '.png) 0 0 no-repeat" class="pngbg">' + this_id + '</a></li>');
		$("#iNav").css("visibility","visible");
		$("#iNav").fadeIn(2000);
		if(noIE){
			$("#iNav").fadeIn(2000);
		} else {
			$("#iNav").show();
		}
	});

	} else {
		$("#iNav").hide();
		var all_item_total = all_item;
		$("#lineupBox").css("margin-left","255px");
		var base_mgn = -255;	// アイテム数3つ以下のマージン調整
	}


	// 前後にクローン作成
	if (all_item > 3) {
		$("#lineupMain").clone(true).prependTo("#lineupBox");
		$("#lineupMain").clone(true).appendTo("#lineupBox");
	}

	// ラインナップの幅測定
	$("#lineupBox").css("width", all_item_total * 255);

	// サムネイルナビの幅測定
	inWidth = (all_item * 41) + 56;
	$("#iNav").css("width", inWidth);

	// IE6の誤差設定
	if (typeof document.documentElement.style.maxHeight != "undefined") { var ie6mgn = 0; }
		else { var ie6mgn = 58;	}

	// 初回のアイテム表示
	var rand = Math.floor(Math.random() * (all_item - 1));
	if (all_item > 3) {
		now_item = rand;
//		first_margin = -1 * ((all_item * 130) + (now_item * 255));
		first_margin = ((rand - 1) * -255) + 353 + base_mgn + ie6mgn;
		first_margin += "px";
		$("#lineupBox").css("margin-left", first_margin);
	} else {
		now_item = 0;
	}

	if(noIE){
		$("#lineupBox").animate({"opacity":0}, {duration:0});
		$("#lineupBox").animate({"opacity":1}, {queue:false, duration:2000});
	}
	//	$("#lineupBox").css("visibility","visible").animate({"opacity":1}, {queue:false, duration:2000});
		$("#lineupBox").css("visibility","visible");
	firsttime = true;
	moveNum(now_item);

	// 自動
	if (all_item > 3) {
		autoPlay();
	}

	jQuery.easing.def = "easeOutQuad";


	$("a#left").click(function(){
		moveLeft();
		return false;
	});
	$("a#right").click(function(){
		moveRight();
		return false;
	});
	$("#tnMenu a").click(function(){
		var num = $(this).parent().attr("rel");
		$("#lineupBox").stop();
		moveNum(num);
		return false;
		})
		.hover(
			function () {
					$(this).css("cursor","pointer");
			},
			function () {
					$(this).css("cursor","default");
		});

	// キーボード操作
	$(window).keydown(function(e){
		if(e.keyCode == "37"){
			moveLeft();
		}
		if(e.keyCode == "39"){
			moveRight();
		}
		if(e.keyCode == "38"){
			data_id = $("li", ".lineup:eq(1)").eq(now_item).attr("id");
//			console.log(data_id + " " + now_item);
			location.href = data_id + "/index.html";
		}
		return false;
	});

	function moveLeft(){
		num = eval(now_item) - 1;
		moveNum(num);
	}
	function moveRight(){
		num = eval(now_item) + 1;
		moveNum(num);
	}

	function moveNum(num){
		var mgn = num * -255;
		var mgn = mgn + 353 + base_mgn + ie6mgn;
		dir = Math.abs(now_item - num);
//		drtn = dir ? (dir * 300) + 400 : (firsttime) ? all_item * 200 : 1200;
//		drtn = dir ? (dir * 300) + 400 : (firsttime) ? all_item * 600 : 1200;
//		drtn = dir ? (dir * 1000) + 400 : (firsttime) ? all_item * 2000 : all_item * 310 + 600;
		drtn = dir ? (dir * 1000) + 400 : (firsttime) ? 3 * 600 : all_item * 110 + 600;

			now_mgn = $("#lineupBox").offset();
			now_mgn = now_mgn.left;
			move_mgn = Math.abs(now_mgn - mgn);
			move_speed = move_mgn / drtn;
//			console.log(" all_item: " + all_item + " dir:" + dir + " now_mgn:" + now_mgn + " mgn:" + mgn + " move_mgn:" + move_mgn + " drtn:" + drtn + " move_speed:" + move_speed);

		firsttime = false;
		var mgn = mgn + "px";
//		$("#lineupBox").animate({"marginLeft":mgn}, {duration:drtn});
//		$("#lineupBox").animate({"marginLeft":mgn}, {duration:drtn, easing: "easeOutQuad"});
		$("#lineupBox").animate({"marginLeft":mgn}, {duration:drtn, easing: "easeOutCubic"});
		if (num < 0) { num = all_item - 1; reset(num); }
		else if (num >= all_item) { num = 0; reset(num); }
		now_item = num;
		$("#tnMenu li").removeClass("current");
		$("#tnMenu li").css("background-position","0 0 !important");
		$("#tnMenu li").eq(now_item).addClass("current");
		return now_item;
	}


	// 本体メニューにリセット

	function reset(num){
		if (num == undefined) { num = 0; }
		var mgn = num * -255;
		var mgn = mgn + 353 + base_mgn + ie6mgn;
		var mgn = mgn + "px";
		$("#lineupBox").animate({"marginLeft":mgn}, {duration:0});
		now_item = num;
		return now_item;
	}


	// 自動

	function autoMove(){
		now_item = eval(now_item);
		now_item += 1;
		if (now_item >= all_item){
				now_item = 0;
				var mgn = 592 + base_mgn + ie6mgn;
				var mgn = mgn + "px";
				$("#lineupBox").css({"margin-left":mgn});
			}
		moveNum(now_item);
	}

	function autoPlay(str){
		$.timer(10000, function (timer){
			$("a#left").click(function(){
				timer.reset(10000);
			});
			$("a#right").click(function(){
				timer.reset(10000);
			});
			$("#tnMenu li a").click(function(){
				timer.reset(10000);
			});
			$("#lineupMain li").click(function () {
				timer.reset(10000);
			});
			autoMove();
		});
	}


//});
}
