//JavaScript document
//imagebox.js

function imageBox(image){
	var winWidth = document.documentElement.clientWidth;
	var winHeight = document.documentElement.clientHeight;
	var docHeight = document.body.scrollHeight;
	var offsetTop = document.documentElement.scrollTop;
	
	//imageBoxContainer setting
	var imageBoxContainer = document.createElement('div');
	imageBoxContainer.setAttribute('id','imageBoxContainer');
	document.body.appendChild(imageBoxContainer);
	imageBoxContainer.style.width = winWidth + 'px';
	imageBoxContainer.style.height = (docHeight > winHeight ? docHeight : winHeight) + 'px';
	
	//imageBox setting
	var imageBox = document.createElement('div');
	imageBox.setAttribute('id','imageBox');
	imageBox.innerHTML = '<img src="' + image + '" name="image" /><br /><a href="javascript: boxClose();"><img  src="./images/news/closelabel.gif" /></a>';
	document.body.appendChild(imageBox);
	var imageWidth = document.image.width;
	var imageHeight = document.image.height;
	imageBox.style.top = (imageHeight >= winHeight ? 0 :(winHeight - imageHeight) / 2 + offsetTop) + 'px';
	imageBox.style.left = (winWidth - imageWidth) / 2 + 'px';
	progressOpacity(imageBox, 0, 100); // imageboxノードの不透明度を0から100へ変化させる
}

function boxClose(){
	var imageBoxContainer = document.getElementById('imageBoxContainer');
	var imageBox = document.getElementById('imageBox');
	document.body.removeChild(imageBox);
	document.body.removeChild(imageBoxContainer);
}

function progressOpacity(node, startOpacity, endOpacity) {
	var step = 3; // 不透明度変化のステップ幅
	var msec = 10; // タイマーの間隔
	var opc = startOpacity;
	var m = 0;
	while (opc <= endOpacity) {
		id = window.setTimeout('setOpacity(' + opc + ')', m);
		opc += step;
		if (opc > endOpacity && (opc % endOpacity) < step) {
			opc = endOpacity;
		}
		m += msec;
	}
}

function setOpacity(opc) {
	if (navigator.userAgent.indexOf('MSIE') == -1) {
		document.getElementById('imageBox').style.opacity = opc / 100;
	} else {
		document.getElementById('imageBox').style.filter = 'alpha(opacity=' + opc + ')';
	}
}

