/*------------------------------------------------------------
 2011 Central Nippon Expressway Company
 Photo Gallery Slider Javascript
------------------------------------------------------------*/

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


