/**
 * @author kumadam
 */
var data;				// コンテンツデータ
var dataCnt;			// コンテンツデータ数  最小1
var image1;
var image2;

var tabMax		= 20;	// 1フレームタブMax数
var tabArray	= new Array(tabMax);

var interval	= 5000;	// 表示時間（ミリ秒）
var timerID 	= 0;

var on			= 1;	// tabのonフラグ
var off			= 0;	// tabのoffフラグ

var nowCnt		= 0;	// 現在のカウント位置
var linkCnt		= -1;	// リンクのカウント位置

var opaCnt		= 10;	// 透明度の調整値
var opaTime		= 20;	// 透明度調整関数を呼ぶ時間（ミリ秒）
var mFlag		= 1;	// mouse overとmouse outの判別フラグ（1:mouse over/2:mouse out）


// イメージクラス
var ImageClass = function(imageID)
{
	this.imgID 			= imageID;	// イメージID(imageID1/imageID2)
	this.opa			= 0;
	this.imgFlag		= 0;
	this.timerIDFadeIn 	= 0;
	this.timerIDFadeOut = 0;

	// フェードイン関数	
	this.fadeIn = function(){
		this.opa += opaCnt;
		if (document.getElementById(this.imgID).style.visibility != "visible") {
			document.getElementById(this.imgID).style.visibility = "visible";
		}
		if (this.opa <= 100) {
			this.setOpa();
			return;
		}
		this.opa = 100;
		clearInterval(this.timerIDFadeIn);
		this.imgFlag		= 1;
		return;
	}
	
	// フェードアウト関数
	this.fadeOut = function(cnt){
		if(this.opa > 0)
		{
			this.setOpa();
			this.opa -= opaCnt;
			return;
		}
		else
		{
			document.getElementById(this.imgID).style.visibility = "hidden";
			this.opa = 0;
		}
		clearInterval(this.timerIDFadeOut);
		this.imgFlag		= 0;
		return;
	}
	
	// 透明度設定関数
	this.setOpa = function()
	{
		document.getElementById(this.imgID).style.filter  = "alpha(opacity:" + this.opa + ")";
		document.getElementById(this.imgID).style.opacity = this.opa/100;
	}

}

// 初期化処理関数
function imgmo_init(realData)
{
	data	= realData;
	dataCnt	= data.prop.length;
	if(dataCnt>tabMax)
	{
		dataCnt = tabMax;
	}
	image1	= new ImageClass("imageID1");
	image2	= new ImageClass("imageID2");
	image2.imgFlag = 1;
	for( i=0 ; i<tabMax ; i++ )
	{
		setTab(i,off);
	}
	if(1!=dataCnt)
	{
		imgAuto();
	}
	else
	{
		// データが一つの場合
		setTab(0,on);
		setImg(0);
		linkCnt = 0;
	}
	return;
}

// mouse over関数
function imgmo_mover(cnt)
{
	var tempCnt;
	if(dataCnt == 1)
	{
		return;
	}
	
	if(dataCnt<=cnt)
	{
		return;
	}
	clearInterval(timerID);
	if(nowCnt == 0)
	{
		tempCnt = dataCnt-1;
	}
	else{
		tempCnt = nowCnt-1;
	}
	if(tempCnt == cnt)
	{
		return;
	}
	nowCnt = cnt;
	for(i=0 ; i<dataCnt ; i++)
	{
		if(i==nowCnt)
		{
			setTab(nowCnt,on);
			continue;
		}
		setTab(i,off);		
	}
	setImg(nowCnt);
	linkCnt = nowCnt;
	nowCnt 	= nowCnt+1;
	if(nowCnt >= dataCnt){
		nowCnt = 0;
	}
}

// mouse out関数
function imgmo_mout(cnt)
{
	if(dataCnt == 1)
	{
		return;
	}
	if(dataCnt<=cnt)
	{
		return;
	}
	timerID = setInterval("imgAuto()", interval);
}

// image mouse click関数
function imgmo_click()
{
	window.location.href = cont.prop[linkCnt].Link; 				// 画像クリック時にリンク先へ移動
}

// tab mouse click関数
function imgmo_tClick(cnt)
{
	if(cnt>=dataCnt)
	{
		return;
	}
	imgmo_click();
}

// tabセット関数
function setTab(cnt, onoff)
{
	tabArray[cnt] = document.getElementById("tab"+cnt);
	if (dataCnt>cnt) {
		if (onoff != on) {
			tabArray[cnt].src = data.prop[cnt].tName_off;
		}else{
			tabArray[cnt].src = data.prop[cnt].tName_on;
		}
	}
}

// イメージセット関数
function setImg(cnt)
{
	if (dataCnt > cnt) {
		if (image1.imgFlag == 0 && image2.imgFlag != 0) {
			clearInterval(image1.timerIDFadeIn);
			clearInterval(image2.timerIDFadeOut);
			image1.opa = 0;
			document.getElementById(image1.imgID).src = data.prop[cnt].fName;
			image1.timerIDFadeIn	= setInterval("image1.fadeIn()", opaTime);
			image2.timerIDFadeOut	= setInterval("image2.fadeOut()", opaTime);
		}else if(image1.imgFlag != 0 && image2.imgFlag == 0){
			clearInterval(image2.timerIDFadeIn);
			clearInterval(image1.timerIDFadeOut);
			image2.opa = 0;
			document.getElementById(image2.imgID).src = data.prop[cnt].fName;
			image2.timerIDFadeIn	= setInterval("image2.fadeIn()", opaTime);
			image1.timerIDFadeOut	= setInterval("image1.fadeOut()", opaTime);
		}
	}
	return;
}

// イメージ自動切換え関数
function imgAuto()
{
	clearInterval(timerID);
	if(nowCnt == 0){
		setTab(dataCnt-1,off);
	}else{
		setTab(nowCnt-1,off);
	}
	setTab(nowCnt, on);
	setImg(nowCnt);
	linkCnt = nowCnt;
	nowCnt 	= nowCnt+1;
	if(nowCnt >= dataCnt){
		nowCnt = 0;
	}
	timerID = setInterval("imgAuto()",interval);
}

