/* ------------------------------------------- */
/* 環境変数（環境に合わせ適時変更）            */
/* ------------------------------------------- */

var imgCount  = 3;         // 画像数              （環境により設定する）
var imgSecond = 5000;      // 切り替える秒数      （環境により設定する）
var divId     = 'image_';  // div タグの id 接頭語（環境により設定する）




/* ------------------------------------------- */
/* 画像切り替えAP（以下変更不要）              */
/* ------------------------------------------- */

// タイマー変数
var divCheckTimer = null;
var imgChangeTimer = null;

// index初期化
var divIndex = 0;
var imgIndex = 0;

/*
 * 概要：js の読み込みと同時に実行
 */
fncDivCheckInterval();

/*
 * 概要：div チェックインターバル
 */
function fncDivCheckInterval() {
	divCheckTimer = setInterval('fncDivCheck()', '10');
}

/*
 * 概要：div チェックおよび画像切り替えの実行
 */
function fncDivCheck() {
	// div が生成されたら
	if (fncDivNum()) {
		// タイマーが生きていればクリア
		if (divCheckTimer) {
			clearInterval(divCheckTimer);
		}
		// タイマーが起動していなければ実行
		if (imgChangeTimer == null) {
			// 画像切り替え処理の実行開始
			fncImgChangeInterval();
			// 最初の画像は表示を行う
			document.getElementById(divId + '1').style.display = 'block';
			imgIndex++;
		}
	}
}

/*
 * 概要：div チェック関数
 */
function fncDivNum() {
	var sttIndex = divIndex+1;
	for (i = sttIndex; i <= imgCount; i++) {
		if (document.getElementById(divId + i)) {
			divIndex++;
			if (document.getElementById(divId + i).style.display != 'none') {
				document.getElementById(divId + i).style.display = 'none';
			}
		}
	}
	
	// 全ての div が生成されたら
	if (divIndex == imgCount) {
		divIndex = 0;
		return true;
	} else {
		return false;
	}
}

/*
 * 概要：画像切り替えインターバル
 */
function fncImgChangeInterval() {
	imgChangeTimer = setInterval('fncImgChange()', imgSecond);
}

/*
 * 概要：画像切り替え関数
 */
function fncImgChange() {
	divArray = fncGetDiv();
	for (i = 0; i < divArray.length; i++) {
		if (imgIndex == i) {
			divArray[i].style.display = 'block';
		} else {
			divArray[i].style.display = 'none';
		}
	}
	imgIndex++;
	if (imgIndex == imgCount) {
		imgIndex = 0;
	}

	return;
}

/*
 * 概要：画像用 div 取得関数
 */
function fncGetDiv() {
	var retDiv = new Array();
	var sttIndex = divIndex+1;
	for (i = sttIndex; i <= imgCount; i++) {
		if (document.getElementById(divId + i)) {
			retDiv[i-1] = document.getElementById(divId + i);
		}
	}
	return retDiv;
}



/* ------------------------------------------- */
/* 生成されない場合のタイマー制御（ループ回避）*/
/* ------------------------------------------- */

/*
 * 概要：画面完全読み込み時、タイマーを止める（無限ループの回避）
 */
window.onload = fncTimerStop;

/*
 * 概要：読み込み完了後、タイマーが起動していればストップ
 */
function fncTimerStop() {
	// div が生成されておらず
	if (fncGetDiv().length < imgCount) {
		// タイマーが起動している場合は止める
		if (divCheckTimer) {
			clearInterval(divCheckTimer);
		}
	}
}
