/* ----------------------------------------

				Pick up Slider

---------------------------------------- */

$(document).ready(function(){
	initSlide();//----- pickup slider	
});

var imgNum;//----- 画像数
var thumbW = 130;//----- ユニット幅
var unitMax;//----- ユニット最大数
var unitMargin = 15;//----- ユニット右マージン
var unitW = thumbW + unitMargin;//----- ユニット幅（右マージン含む）
var defX;//----- スタート位置
var ulW;//----- ユニットセットの幅
var leftLimit;//----- スクロールリミット座標
var dispNum = 6;//----- 表示ユニット数

var slideSpeed = 500;//---- スライドの移動スピード
var slideInterval = 3000;//----- スライドのスピード

var inMove = false;//----- モーション判定
var inReset = false;//----- リセット判定


//----- スライダーの初期化
function initSlide(){
	var targetUL = $('div.slideUnit > ul');
	
	//var imgA = $('li > div > a > img', targetUL).unwrap();//----- サムネイルのAタグ削除
	
	//----- サムネイルのリンクを設定
	$('div.slideUnit > ul > li').each(function(){
		var thumbLink = $('p > a', this).attr('href');
		$('div > a', this).attr('href', thumbLink);
	});
	
	initThumbPos();
	
	imgNum = $('div.slideUnit > ul > li').length;
	
	if(imgNum > 6){
		unitMax = imgNum * 3;
		var listData = $('div.slideUnit > ul > li');
		listData.clone().appendTo('div.slideUnit > ul');
		listData.clone().appendTo('div.slideUnit > ul');
		//$('div.slideUnit > ul > li').clone().appendTo('div.slideUnit > ul');
	} else {
		unitMax = imgNum;
	}
	
	ulW = unitW * unitMax;
	leftLimit = (ulW - unitW * dispNum) * -1;
	defX = targetUL.css('left').replace('px', '');
	targetUL.css({ 'width': ulW + 'px' });
	
	setThumb();
	
}

//------ サムネイルの登場
function setThumb(){
	$('div.slideUnit > ul > li').hide();
	
	for(var i=0;i<unitMax;i++){
		if(i != (dispNum-1)){
			$('div.slideUnit > ul > li:eq(' + i + ')').delay(i * 80).fadeIn(900, 'easeInOutCubic');
		} else {
			$('div.slideUnit > ul > li:eq(' + i + ')').delay(i * 80).fadeIn(900, 'easeInOutCubic', function(){
				initArrow();
				setIndicator();
			});
		}
	}
}


//------ サムネイルの表示
function showThumb(){
	$('div.slideUnit > ul > li').hide();
	$('div.slideUnit > ul').css('left', defX).show();
	
	for(var i=0;i<unitMax;i++){
		if(i != (dispNum-1)){
			$('div.slideUnit > ul > li:eq(' + i + ')').delay(i * 80).fadeIn(900, 'easeInOutCubic');
		} else {
			$('div.slideUnit > ul > li:eq(' + i + ')').delay(i * 80)
			.fadeIn(900, 'easeInOutCubic', function(){
				inReset = false;
				rightON();
				setIndicator();
			});
		}
	}
}


//----- サムネイルリセット
function resetThumb(){
	
	$('#indicator').stop().css('width', '1px').animate({
		'width': '855px'
	}, slideInterval, function(){
		inReset = true;
		leftOFF();
		rightOFF();
		$('div.slideUnit > ul').fadeOut(200, 'easeInOutCubic', function(){
			showThumb();
		});
	});
	
}


//------ サムネイルの位置調整
function initThumbPos(){
	var targetUL = $('div.slideUnit > ul');
	
	$('li', targetUL).each(function(){
		var targetImg = $('div a > img', this);
		var tW = targetImg.attr('width');
		var pn = 1;//----正負チェック
		if(tW > thumbW){ pn *= -1; }
		var leftPos = Math.floor(Math.abs(tW - thumbW)/2 * pn) + 'px';
		targetImg.css('left', leftPos);
	});
}


//----- 左右アロー設定
function initArrow(){
	var aL = $('div.pickupSlide > div.slide > p.leftBtn > img');
	var aR = $('div.pickupSlide > div.slide > p.rightBtn > img');
	
	aL.attr('src', '/common/org/images/btn_left_off.gif');
	aR.attr('src', '/common/org/images/btn_right_off.gif');
	
	if(unitMax > 6){
		setRightArrow();
		setLeftArrow();
		rightON();
		leftOFF();
	} else {
		rightOFF();
		leftOFF();
	}
	
}


//----- ユニットセットの移動
function thumbMove(dir){
	
	inMove = true;
	
	resetIndicator();
	
	var targetUL = $('div.slideUnit > ul');
	var targetX;
	
	if(dir == 'right'){//---- 右へ移動
		if(Number(targetUL.css('left').replace('px', '')) > leftLimit){
			targetX = Number(targetUL.css('left').replace('px', '')) - unitW;
		}
	} else if(dir == 'left'){//---- 左へ移動
		if(Number(targetUL.css('left').replace('px', '')) < 0){
			targetX = Number(targetUL.css('left').replace('px', '')) + unitW;
		}
	}
	
	targetUL.animate({
		'left': targetX + 'px'
	}, slideSpeed, 'easeOutCubic', function(){
		
		if(Number(targetUL.css('left').replace('px', '')) == leftLimit){
			rightOFF();
			resetIndicator();
			resetThumb();
		} else if(Number(targetUL.css('left').replace('px', '')) == 0){
			leftOFF();
			setIndicator();
		} else {
			setIndicator();
		}
		
		inMove = false;
		
	});
}


//----- 右Arrowの機能を設定
function setRightArrow(){
	var targetUL = $('div.slideUnit > ul:not(:animated)');
	var aR = $('div.pickupSlide > div.slide > p.rightBtn');
	
	aR.mouseenter(function(){
		if(Number(targetUL.css('left').replace('px', '')) > leftLimit && !inMove && !inReset){
			$(this).css('cursor', 'pointer');
		} else {
			$(this).css('cursor', 'default');
		}
	}).click(function(){
		if(Number(targetUL.css('left').replace('px', '')) > leftLimit && !inMove && !inReset){
			leftON();
			thumbMove('right');
		}
	});
}

function rightOFF(){
	var aR = $('div.pickupSlide > div.slide > p.rightBtn');
	$('img', aR).attr('src', '/common/org/images/btn_right_off.gif');
	aR.css('cursor', 'default');
}

function rightON(){
	var aR = $('div.pickupSlide > div.slide > p.rightBtn');
	$('img', aR).attr('src', '/common/org/images/btn_right.gif');
	aR.css('cursor', 'pointer');
}


//----- 左Arrowの設定
function setLeftArrow(){
	var targetUL = $('div.slideUnit > ul');
	var aL = $('div.pickupSlide > div.slide > p.leftBtn');
	
	aL.mouseenter(function(){
		if(Number(targetUL.css('left').replace('px', '')) < 0 && !inMove && !inReset){
			$(this).css('cursor', 'pointer');
		} else {
			$(this).css('cursor', 'default');
		}
	}).click(function(){
		if(Number(targetUL.css('left').replace('px', '')) < 0 && !inMove && !inReset){
			resetIndicator();
			rightON();
			thumbMove('left');
		}
	});
}

function leftOFF(){
	var aL = $('div.pickupSlide > div.slide > p.leftBtn');
	$('img', aL).attr('src', '/common/org/images/btn_left_off.gif');
	aL.css('cursor', 'default');
}

function leftON(){
	var aL = $('div.pickupSlide > div.slide > p.leftBtn');
	$('img', aL).attr('src', '/common/org/images/btn_left.gif');
	aL.css('cursor', 'pointer');
}


//----- インジケータのリセット
function resetIndicator(){
	$('#indicator').stop().css('width', '1px');
}

//----- インジケータスタート
function setIndicator(){
	
	$('#indicator').stop().css('width', '1px')
	.animate({
		'width': '855px'
	}, slideInterval, function(){
		
		var targetUL = $('div.slideUnit > ul');
		
		leftON();//----- 左Arrowオン
		
		if(Number(targetUL.css('left').replace('px', '')) > leftLimit){
			var targetX = Number(targetUL.css('left').replace('px', '')) - unitW;
			
			$('div.slideUnit > ul').animate({
				'left': targetX + 'px'
			}, slideSpeed, 'easeInOutCubic', function(){
				
				if(Number(targetUL.css('left').replace('px', '')) == leftLimit){
					rightOFF();
					resetThumb();
				} else {
					setIndicator();
				}
			});
		}
		
	});
}



