/* 091020　K_kato */

/*グローバル変数
-----------------------------------------------------------------------*/
var flg_browser;
var httpOj;
var imgList = new Array();
var imgListNum;
var alphaTimer = '';
var changeTimer;
var alpha = 0;
var counter = 0;

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 = '900px';
	document.getElementById('jsWhiteDisplayBOX').style.height = '350px';
	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';
	
	imgListNum = i - 1;
	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()',3500);
	}
	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 >= imgListNum) counter = 0;
		else counter++;
		openImg();
	}
	else alpha += 2 + (alpha / 130);
}
