/*------------------------------------------------------------

 2010 TERA Web Site
 
 Toppage Works Slider Javascript
 
 coding.Kobayashi

------------------------------------------------------------*/

$( function(){
	/*------------------------------
		初期設定
	------------------------------*/
	var sliderinterval	= 2200;								//autoSliderのミリ秒
	var worksArg	= new Array();
	var liNum		= eval($( '#worksArea li' ).size());	//worksの個数
	var liWidth		= $( '#worksArea li' ).width();			//liのwidth
	var interval	= 500;									//animateとtimeoutのミリ秒
	
	//#worksArea liのstyle:leftを代入
	for( i=0; i<liNum; i++ ){
		leftPos	= liWidth * i;
		$( '#worksArea li' ).eq(i).css('left' , leftPos);
	}
	
	//#worksArea li を配列化
	$( '#worksArea li' ).each(function() {
		worksArg.push($(this));
	});
	
	/*------------------------------
		workSliderをinterval(ミリ秒)毎に動かす
	------------------------------*/
	function workAutoPlay(){
		workAutoPlayVar	= setInterval( function(){
			var cnNum	= $('#worksArea li').last().children().children().attr('name');
			
			if( cnNum == liNum ){	//配列の最後だったとき
				$(worksArg[0]).clone().insertAfter($('#worksArea li').last()).css( 'left' , liWidth * liNum );
			}
			else {					//配列の最後ではなかったとき
				$(worksArg[cnNum]).clone().insertAfter($('#worksArea li').last()).css( 'left' , liWidth * liNum );
			}
			
			/*--------------- animate ---------------*/
			nextPos	= '-=' + liWidth;
			$( '#worksArea li' ).animate( { 'left' : nextPos } , interval  );
			
			/*--------------- rollover復帰、class削除 ---------------*/
			//$.yuga.rollover();
			classOff();
			
			/*--------------- 最後の削除 ---------------*/
			setTimeout( function(){
				$( '#worksArea li' ).first().remove();
			}, interval);
		} , sliderinterval);
	}
	workAutoPlay();
	
	/*------------------------------
		clickされたときのクラス無効化
	------------------------------*/
	function classOff(){
		$( '#workList #next' ).removeClass('nextAct');
		$( '#workList #prev' ).removeClass('prevAct');
		
		setTimeout( function(){
			$('#workList #next').addClass('nextAct');
			$('#workList #prev').addClass('prevAct');
		}, interval);
	}
	
	/*------------------------------
		nextがclickされたとき
	------------------------------*/
	$( '#workList .nextAct' ).live( 'click' , function (){		//←クリックで→に動く
		/*--------------- 頭にliを追加 ---------------*/
		//最初のliのnameを取得
		var cnNum	= $('#worksArea li').first().children().children().attr('name');
		
		if( cnNum == 1 ){	//配列の最初だったとき
			$(worksArg[liNum-1]).clone().insertBefore($('#worksArea li').first()).css( 'left' , -liWidth );
		}
		else {				//配列の最初ではなかったとき
			$(worksArg[cnNum-2]).clone().insertBefore($('#worksArea li').first()).css( 'left' , -liWidth );
		}
		
		/*--------------- animate ---------------*/
		nextPos	= '+=' + liWidth;
		$( '#worksArea li' ).animate( { 'left' : nextPos } , interval );
		
		/*--------------- 最後の削除 ---------------*/
		setTimeout( function(){
			$( '#worksArea li' ).last().remove();
		}, interval);
		
		//$.yuga.rollover();
		classOff();
		
		/*--------------- オートプレイの再スタート ---------------*/
		clearInterval( workAutoPlayVar );
		setTimeout( workAutoPlay() , sliderinterval );
	});
	
	/*------------------------------
		nextがclickされたとき
	------------------------------*/
	$( '#workList .prevAct' ).live( 'click' , function workSliderPrev(){		//→クリックで←に動く
		/*--------------- 頭にliを追加 ---------------*/
		//最後のliのnameを取得
		var cnNum	= $('#worksArea li').last().children().children().attr('name');
		
		if( cnNum == liNum ){	//配列の最後だったとき
			$(worksArg[0]).clone().insertAfter($('#worksArea li').last()).css( 'left' , liWidth * liNum );
		}
		else {					//配列の最後ではなかったとき
			$(worksArg[cnNum]).clone().insertAfter($('#worksArea li').last()).css( 'left' , liWidth * liNum );
		}
		
		/*--------------- animate ---------------*/
		nextPos	= '-=' + liWidth;
		$( '#worksArea li' ).animate( { 'left' : nextPos } , interval  );
		
		/*--------------- 最後の削除 ---------------*/
		setTimeout( function(){
			$( '#worksArea li' ).first().remove();
		}, interval);
		
		$.yuga.rollover();
		classOff();
		
		/*--------------- オートプレイの再スタート ---------------*/
		clearInterval( workAutoPlayVar );
		setTimeout( workAutoPlay() , sliderinterval );
	});
});


