
var obj;
var slideMax = 0;//----- 写真数
var currentNum = 0;//----- 現在表示中の番号
var interval;
var intervalTime = 8000;//----- フェイド間隔（1000：１秒）
var mouseOver = true;//----- マウスオーバー効果の有無

$(document).ready(
	function(){
		preloadIMG('#main-vis');
	}
);


/* ------------------------------

			プリロード

------------------------------ */
function preloadIMG(o){
	var obj = o;
	var imgMax = $('ul > li', obj).length;
	
	for(var i=0;i<imgMax;i++){
		var targetLI = $('ul > li:eq(' + i + ')', obj);
		var targetImg = $('img', targetLI);
		var src = targetImg.attr('src');
		
		$("<img/>").attr("src", src);
	}
	
	
	//----- スライド設定
	setSlide(obj);
	//----- ターゲットとなるDOM要素のID（or class）を指定
	
}


/* ------------------------------

		スライドの設定

------------------------------ */
//----- スライドの初期化
function setSlide(o){
	obj = $(o);
	
	slideMax = $('ul:eq(0) > li', obj).length;
	
	$('ul:eq(0) > li', obj).hide();
	
	setNavi();//----- ナビ設定
	
	$('ul:eq(0) > li:eq(0)', obj).fadeIn('slow', 'easeInCubic', function(){
		if(slideMax > 1){ setLoop(); }
	});
	
	/*
	if(mouseOver){
		$('ul:eq(0) > li', obj).mouseenter(function(){
			$(this).animate({
				opacity: 0.7
			}, 'fast');
		}).mouseleave(function(){
			$(this).animate({
				opacity: 1
			}, 'fast');
		});
	}
	*/
	
}


//----- スライドをフェイド切替え
function changeSlide(){
	
	resetActiveNav();
	
	var currentImg = $('ul > li:eq(' + currentNum + ')', obj);
	
	var nextNum;
	
	if((currentNum+1) > (slideMax-1)){
		nextNum = 0;
	} else {
		nextNum = currentNum + 1;
	}
	
	var nextImg = $('ul > li:eq(' + nextNum + ')', obj);
	
	if((currentNum+1) > (slideMax-1)){
		currentNum = 0;
	} else {
		currentNum += 1;
	}
	
	setActiveNav(currentNum);
	
	currentImg.fadeOut('normal', 'easeOutCubic');
	nextImg.fadeIn('slow', 'easeInCubic');
}


//----- スライドを指定した番号の写真にフェイド切替え
function changePointSlide(n){
	
	resetActiveNav();
	
	var currentImg = $('ul > li:eq(' + currentNum + ')', obj);
	var targetSlide =  $('ul > li:eq(' + n + ')', obj);
	
	currentNum = n;
	
	setActiveNav(currentNum);
	
	currentImg.fadeOut('normal', 'easeOutCubic');
	targetSlide.fadeIn('slow', 'easeInCubic');
}



/* ------------------------------

		ループの設定

------------------------------ */
//----- ループをセット
function setLoop(){
	interval = setInterval(function(){
		changeSlide();//----- フェイドスタート
	}, intervalTime);
}

//----- ループを解除
function resetLoop(){
	clearInterval(interval);
}


/* ------------------------------

		ナビゲーション

------------------------------ */

//----- ナビゲーションの初期化
function setNavi(){
	
	var targetLI = $('#controll > ul > li');
	
	/*
	if(targetLI.size() > 0){
		targetLI.remove();
	}
	*/
	
	
	for(var i=0;i<slideMax;i++){
		//var caps = String(i+1);
		/*
		$('#controll > ul').append(
			$('<li/>').data('navIndex', i)
		);
		*/
		
		$('#controll > ul > li:eq(' + i + ')').data('navIndex', i);
		
		if(i == currentNum){
			$('#controll > ul > li:eq(' + i + ')').addClass('current')
		}
	}
	
	$('#controll > ul > li > span > span').click(function(){
		if(!$(this).parent().parent().hasClass('current')){
			resetLoop();
			changePointSlide($(this).parent().parent().data('navIndex'));
			setLoop();
			return false;
		} else {
			return false;
		}
	});
	
	
}

//----- アクティブ設定
function setActiveNav(n){
	$('#controll > ul > li:eq(' + n + ')').addClass('current');
}

//----- アクティブ設定の解除
function resetActiveNav(){
	$('#controll > ul > li:eq(' + currentNum + ')').removeClass('current');
}


/* ------------------------------

		メニューイメージ

------------------------------ */



$(function(){
	setMenuImages();
});

//----- メニューイメージ設定
function setMenuImages(){
	var navMax = $('ul#gNav > li').length;
	
	for(var i=0;i<navMax;i++){
		$('ul#gNav > li:eq(' + i + ')').data('navIndex', i);
		$('ul#gNav > li:eq(' + i + ')').mouseenter(function(){
			menuImgOn($(this).data('navIndex'));
		}).mouseleave(function(){
			menuImgOff();
		});
	}
}

//----- メニューイメージエリアの表示
function menuImgOn(n){
	menuImgSet(n);
	
	$('#menuImg').fadeIn('fast');
}

//----- メニューイメージエリアの非表示
function menuImgOff(){
	$('#menuImg').hide();
}

//----- 指定番号のメニューイメージを表示
function menuImgSet(n){
	var mMax = $('ul#menuImgList > li').length;
	
	for(var i=0;i<mMax;i++){
		if(i != n){
			$('ul#menuImgList > li:eq(' + i + ')').hide();
		} else {
			$('ul#menuImgList > li:eq(' + i + ')').show();
		}
	}
}

