/* 091020　K_kato */

/*グローバル変数
-----------------------------------------------------------------------*/
var flg_browser;							//ブラウザの判別　IE = true
var httpOj;										//外部xml読み込み
var imgList = new Array();		//ランダムした画像を代入
var alphaTimer = '';					//アルファ時のタイマー変数
var changeTimer = '';					//表示切替時のタイマー変数
var alpha = 0;								//透明度
var counter = 0;							//現在表示している画像の配列番号
var imgW = '900px';						//表示切替で使用する白枠の幅
var imgH = '260px';						//表示切替で使用する白枠の高さ

window.onBeforeUnload = browser_check();


/*ブラウザ判別
-----------------------------------------------------------------------*/
function browser_check()
{
	var browser = navigator.userAgent.toLowerCase();
		
	if(browser.indexOf("msie") != -1) flg_browser = 'ie';
	else flg_browser = 'etc';
	OnloadAddEvent();
}


/*オンロードイベント追加
-----------------------------------------------------------------------*/
function OnloadAddEvent()
{
	if(flg_browser == 'ie') window.attachEvent('onload',load_xml);
	else window.addEventListener('load',load_xml,false);
}

/*外部xml読み込み
-----------------------------------------------------------------------*/
function load_xml()
{
	httpOj = createHttpRequest();	
	httpOj.open('get','list.xml',true);	
	httpOj.onreadystatechange = function()
	{
		if(httpOj.readyState == 4) imgArraySet();
	}  
	httpOj.send('');
}


/*XMLHttpRequest判定
-----------------------------------------------------------------------*/
function createHttpRequest()
{
	if(window.ActiveXObject)
	{
		try
		{
			return new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch(e1)
		{
			try
			{
				return new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch(e2)
			{
				return null;
			}
		}
		
	}
	else if(window.XMLHttpRequest) return new XMLHttpRequest();
	else return null;
}


/*配列にimgパスセット
-----------------------------------------------------------------------*/
function imgArraySet()
{	
	var detail = httpOj.responseXML.getElementsByTagName('detail');	
	var num = detail[0].getElementsByTagName('image').length;
	
	for(i = 0; i < num; i++)
	{
		imgList[i] = detail[0].getElementsByTagName('image').item(i).firstChild.nodeValue;
	}
	
	arrayRandomSet(num);
}


/*配列ランダム処理
-----------------------------------------------------------------------*/
function arrayRandomSet(num)
{
	var randomNum;
	var html = '<span id="jsWhiteDisplayBOX"></span>';
	
	for(i = 0; i < num; i++)
	{
		randomNum = Math.floor(Math.random() * num);
		
		var copy = imgList[i];
		imgList[i] = imgList[randomNum];
		imgList[randomNum] = copy;
	}
	
	for(i = 0; i < num; i++)
	{
		html += '<img id="jsChangeNumber' + i + '" src="' + imgList[i] + '" />';
	}
	
	document.getElementById('jsMainImgDisplayBOX').style.visibility = 'hidden';
	document.getElementById('jsMainImgDisplayBOX').innerHTML = html;
	
	for(i = 0; i < num; i++)
	{
		document.getElementById('jsChangeNumber' + i).style.visibility = 'hidden';
		document.getElementById('jsChangeNumber' + i).style.zIndex = (i + 1) * (-1);
		document.getElementById('jsChangeNumber' + i).style.position = 'absolute';
		document.getElementById('jsChangeNumber' + i).style.top = '0px';
	}
	
	document.getElementById('jsWhiteDisplayBOX').style.width = imgW;
	document.getElementById('jsWhiteDisplayBOX').style.height = imgH;
	document.getElementById('jsWhiteDisplayBOX').style.backgroundColor = '#ffffff';
	document.getElementById('jsWhiteDisplayBOX').style.display = 'block';
	document.getElementById('jsWhiteDisplayBOX').style.zIndex = 0;
	document.getElementById('jsWhiteDisplayBOX').style.position = 'absolute';
	document.getElementById('jsWhiteDisplayBOX').style.top = '0px';
	
	document.getElementById('jsMainImgDisplayBOX').style.visibility = 'visible';
	
	openImg();
}


/*img表示アニメーション
-----------------------------------------------------------------------*/
function openImg()
{
	document.getElementById('jsChangeNumber' + counter).style.visibility = 'visible';
	var pass = document.getElementById('jsWhiteDisplayBOX').style;

	alphaTimer = setTimeout('openImg()',10);
	pass.display = 'block';
	pass.filter = 'alpha(opacity=' + (alpha) + ')';
	pass.opacity = alpha / 100;
	
	if(alpha <= 0)
	{
		clearTimeout(alphaTimer);
		alphaTimer = '';
		alpha = 0;
		pass.filter = 'alpha(opacity=' + (alpha) + ')';
		pass.opacity = alpha / 100;
		changeTimer = setTimeout('closeImg()',5000);
	}
	else alpha -= Math.ceil(alpha / 120);
}


/*img非表示アニメーション
-----------------------------------------------------------------------*/
function closeImg()
{
	if(changeTimer != '')
	{
		clearTimeout(changeTimer);
		changeTimer = '';
	}
	
	var pass = document.getElementById('jsWhiteDisplayBOX').style;
	
	alphaTimer = setTimeout('closeImg()',10);
		
	pass.filter = 'alpha(opacity=' + (alpha) + ')';
	pass.opacity = alpha / 100;
		
	if(alpha >= 100)
	{
		clearTimeout(alphaTimer);
		alphaTimer = '';
		alpha = 100;
		pass.filter = 'alpha(opacity=' + (alpha) + ')';
		pass.opacity = alpha / 100;
		document.getElementById('jsChangeNumber' + counter).style.visibility = 'hidden';
		if(counter >= imgList.length - 1) counter = 0;
		else counter++;
		openImg();
	}
	else alpha += 2 + (alpha / 130);
}