/* ======================================================================================
	処理概要 ： トップ画像表示処理
	パラメタ ： 第一引数～ : 画像パス
	復帰情報 ： true  : 正常
							false : 異常
====================================================================================== */
var _DIVID = "cont_topimg";
var _IMGID = "topimg";
var _PAUSE = 2.25;
var _FADE = .55;
/* ----------------------------------------
	_ROTATION：ローテ回数-1を設定
---------------------------------------- */
var _ROTATION = 4;
var _TIMER;

var _IMGPASS = new Array();
var _DECKSIZE;
var _OPACITY = 100;
var _ONDECK = 0;
var _DEFAULTIMG;
var _IMGROTATION;

function photoShufflerLaunch() {
	var nArgCount = photoShufflerLaunch.arguments.length;

	if (nArgCount<1) {
		return true;
	} else {
		_IMGPASS = new Array();

		for (var i=0; i<nArgCount; i++) {
			_IMGPASS[i] = photoShufflerLaunch.arguments[i]
		}

		_ONDECK = 0;
		document.getElementById(_DIVID).style.backgroundImage='url("' + _IMGPASS[_ONDECK] + '")';

		_DECKSIZE = _IMGPASS.length;
		_DEFAULTIMG = document.getElementById(_IMGID).src;
		_IMGROTATION = _DECKSIZE * (_ROTATION+1);
		_TIMER = setTimeout("photoShufflerFade()",_PAUSE*1000);

		return true;
	}
}

function photoShufflerFade() {
	var thediv = document.getElementById(_DIVID);
	var theimg = document.getElementById(_IMGID);
	var fadeDelta = 100 / (30 * _FADE);

	if (_OPACITY < 2*fadeDelta ) {
		_OPACITY = 100;
		// ローテ終了後にタイマーとローテ画像を解除
		if (_IMGROTATION < 1) {
			clearTimeout(_TIMER);
			theimg.style.visibility = "hidden";
			return;
		}
		photoShufflerShuffle();
	  _TIMER = setTimeout("photoShufflerFade()",_PAUSE*1000);
	} else {
  	_OPACITY -= fadeDelta;
		setOpacity(theimg, _OPACITY);
		_TIMER = setTimeout("photoShufflerFade()",30);
	}

	return true;
}

function photoShufflerShuffle() {
	var thediv = document.getElementById(_DIVID);
	var theimg = document.getElementById(_IMGID);

	theimg.src = _IMGPASS[_ONDECK];
	
	// 画像透過処理
	setOpacity(theimg, 100);

	_ONDECK = ++_ONDECK % _DECKSIZE;

	// ローテ終了後にデフォルト画像をセット
	if (--_IMGROTATION < 1) {
		_IMGPASS[_ONDECK] = _DEFAULTIMG;
	}
	
	// 次の画像をセット
	thediv.style.backgroundImage='url("' + _IMGPASS[_ONDECK] + '")';

	return true;
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;

	return true;
}

