/**
 * 東北電力ビッグスワンスタジアム Site Eyecatch Controller
 * Date: 17/10/2010
 * @author xe-que design works
 * @version 1.0
 *
 */

var SLIDE_IMAGE_FADE_TIME  = 500; 			// スライドトランジション時間
var SLIDE_CATCH_FADE_TIME  = 300; 			// キャッチトランジション時間（フェードアウト時間）
var SLIDE_CATCH_FADE_DELAY = 50; 			// キャッチトランジション時間（フェードインまでのディレイ時間）
var SLIDE_START_FADE_RIGHT = '50px'; 		// キャッチ画像がスライド開始する位置
var SLIDE_START_FADE_TIME  = 2000; 			// スライド初回フェードイン時間
var SLIDE_INTERVAL_START   = 4000; 			// スライド自動チェンジインターバル（初回）
var SLIDE_INTERVAL		   = 6000; 			// スライド自動チェンジインターバル（２回目以降）

var slide_timer = "";						// タイマーハンドラ

jQuery(function( $ ){

	// スライド初期化
	$('#catchimages').nivoSlider({
		 manualAdvance: true
		,directionNav: false
		,controlNav:true
		,animSpeed: SLIDE_IMAGE_FADE_TIME
		,beforeChange: function() {
			$('#catchcopy').animate({'opacity':0}, SLIDE_CATCH_FADE_TIME);
			clearTimeout(slide_timer); // タイマーストップで自動スライドを停止
		}
		,afterChange:  function() {
			changeCatchcopy();
		}
	});
	$('#catchcopy').children().each(function(idx){
		$(this).attr('id','catch-' + idx); 	// ハンドリングしやすいように id 付与
		if (idx != 0) $(this).hide();		// 最初の項目以外は非表示
	});

	// コントローラー追加（nivo のものを移動）
	catch_control = jQuery('<div/>', { 'id': 'catchcopy-control'});
	$('#basebox').append(catch_control);
	$('.nivo-controlNav').appendTo('#catchcopy-control').find('a').each(function(){$(this).attr('id','control-' + $(this).attr('rel'));}); // id 付与;	

	// キャッチコピーフェード処理
	function changeCatchcopy(idx) {
		var currentSlide = idx;
		if (!currentSlide) currentSlide = $('#catchimages').data('nivo:vars').currentSlide;
		slideNumber = $('#catchimages').data('nivo:vars').totalSlides;

		// 表示対象のキャッチコピーの画像をdiv内の先頭に移動してフェードイン（最後のスライドはキャッチコピーを表示しない）
		if (currentSlide != (slideNumber - 1)) {
			$('#catchcopy').show();
			target = $('#catch-' + currentSlide);
			temp = target.hide().clone();
			target.remove();
			$('#catchcopy').css({"right": SLIDE_START_FADE_RIGHT,'opacity':0}).delay(SLIDE_CATCH_FADE_DELAY).append(temp).animate({"right": '20px','opacity':1});
			$('#catch-' + currentSlide).show(); // 先頭に移動した画像の表示
		} else {
			$('#catchcopy').hide();
		}
		
	}

	// 初回表示
	$('#basebox').fadeIn(SLIDE_START_FADE_TIME,function(){
		 slide_timer = setTimeout(changeSlide, SLIDE_INTERVAL_START); // タイマー起動（初回）
	});
	
	// スライド自動変更処理
	function changeSlide() {
		// 現在値インクリメント
		currentSlide = $('.nivo-controlNav').find('.active').attr('rel');
		currentSlide++;
		slideNumber = $('#catchimages').data('nivo:vars').totalSlides;

		// クリックイベントでスライド変更処理を実行
		$('.nivo-control:eq(' + currentSlide + ')').click();
		if (currentSlide != slideNumber - 1) slide_timer = setTimeout(changeSlide, SLIDE_INTERVAL); // タイマー起動
	}
	
	// マウスアップでタイマー解除
	$('.nivo-controlNav a').mouseup(function(){
		if (slide_timer) {
			clearTimeout(slide_timer);
			slide_timer = "";
		}

	 });

});

