
var pdp_overlay = {};
pdp_overlay.enable = false;

/* ウィンドウサイズ（％） */
pdp_overlay.window_width_percent  = 80;
pdp_overlay.window_height_percent = 70;

/* -------------------------------------------------------------------------------- */

pdp_overlay.init = function(in_width, in_height)
{
	if(!document.getElementById){return false;}
	
	var p_overlay, p_win, p_win_title, p_win_body, p_win_close;
	
	p_overlay = document.getElementById('pdp_overlay');
	p_win = document.getElementById('pdp_overlay_window');
	p_win_title = document.getElementById('pdp_overlay_window_title');
	p_win_body = document.getElementById('pdp_overlay_window_body');
	p_win_close = document.getElementById('pdp_overlay_window_close');
	
	if( !p_overlay || !p_win || !p_win_title || !p_win_body || !p_win_close ){return false;}
	
	pdp_overlay.param = {
		overlay: p_overlay,
		win    : p_win,
		win_title: p_win_title,
		win_body : p_win_body,
		win_close: p_win_close,
		win_close_btn: null
	};
	
	var p_overlay_style = p_overlay.currentStyle || document.defaultView.getComputedStyle(p_overlay, '');
	if(p_overlay_style.zIndex != 100){return false;}
	
	var winW,winH,windowW,windowH,windowX,windowY;
	
	winW = get_client_width();
	winH = get_client_height();
	
	windowW = intval(winW * pdp_overlay.window_width_percent / 100);
	windowH = intval(winH * pdp_overlay.window_height_percent / 100);
	
	if(in_width > 0 && windowW < in_width){
		windowW = in_width;
		if(windowW > winW){windowW = winW;}
	}
	if(in_height > 0 && windowH < in_height){
		windowH = in_height;
		if(windowH > winH){windowH = winH;}
	}
	
	windowX = intval( (winW - windowW) / 2 );
	windowY = intval( (winH - windowH) / 2 ) - 24;	if(windowY < 1){windowY = 0;}
	
	/* window position */
	pdp_overlay.param.win.style.left = '' + windowX + 'px';
	pdp_overlay.param.win.style.top = '' + windowY + 'px';
	
	pdp_overlay.param.overlay.style.margin = '0px';
	pdp_overlay.param.win.style.margin = '0px';
	
	/* window width/height */
	pdp_overlay.param.win_body.style.width = '' + (windowW - 8) + 'px';
	pdp_overlay.param.win_body.style.height = '' + (windowH - 8) + 'px';
	
	if(document.all){
		if(navigator.appVersion.indexOf('MSIE 6') >= 0){	// for IE6
			pdp_overlay.param.overlay.style.position = 'absolute';
			pdp_overlay.param.overlay.style.width = '' + winW + 'px';
			pdp_overlay.param.overlay.style.height = '' + winH + 'px';
			//pdp_overlay.param.overlay.style.filter = 'alpha(opacity=25)';
			//pdp_overlay.param.overlay.style.backgroundColor = '#f0f0f0';
			pdp_overlay.param.win.style.borderColor = '#999999';
		}
	}
	
	pdp_overlay.enable = true;
	
	return true;
}

pdp_overlay.open = function(in_title, in_body, disable_close, in_width, in_height)
{
	if(!pdp_overlay.init(in_width, in_height)){return false;}
	
	var tmp = (disable_close) ? ' disabled' : '';
	
	pdp_overlay.param.win_title.innerHTML = in_title;
	pdp_overlay.param.win_body.innerHTML = in_body;
	pdp_overlay.param.win_close.innerHTML = '<input type="button" value="×" onClick="pdp_overlay.close();" id="pdp_overlay_window_close_btn" title="このページ内ウィンドウを閉じる"' + tmp + '>';
	
	pdp_overlay.param.win_close_btn = document.getElementById('pdp_overlay_window_close_btn');
	
	setTimeout( function(){ pdp_overlay.param.overlay.style.display = 'block'; }, 100 );
	
	return true;
}

pdp_overlay.close = function()
{
	setTimeout( function(){ pdp_overlay.param.overlay.style.display = 'none'; }, 100 );
	return true;
}

function pdp_overlay_open_img(img_file, img_width, img_height, img_caption)
{
	var echo_buffer, winW,winH,windowW,windowH;
	
	winW = get_client_width();
	winH = get_client_height();
	
	windowW = intval(winW * pdp_overlay.window_width_percent / 100);
	windowH = intval(winH * pdp_overlay.window_height_percent / 100);
	
	if(!pdp_overlay.enable || img_width > windowW || img_height > windowH){
		popWin(img_file, (img_width + 36), (img_height + 36), 'pdp_overlay_popup');
		return true;
	}
	
	echo_buffer  = '<p align="center" onDblClick="pdp_overlay.close();"><img src="' + img_file + '" alt="' + img_caption + '" title="' + img_caption + '" width="' + img_width + '" height="' + img_height + '"></p>';
	echo_buffer += '<p class="action_btn"><input type="button" value="このウィンドウを閉じる" onClick="pdp_overlay.close();"></p>';
	
	var window_width = img_width + 16;
	var window_height = img_height + 120;
	
	return pdp_overlay.open(img_caption, echo_buffer, false, window_width, window_height);
}

/* -------------------------------------------------------------------------------- */

function get_client_width()
{
	if(document.documentElement && document.documentElement.clientWidth){return document.documentElement.clientWidth;}
	if(document.body && document.body.clientWidth){return document.body.clientWidth;}
	return window.innerWidth;
}

function get_client_height()
{
	if(document.documentElement && document.documentElement.clientHeight){return document.documentElement.clientHeight;}
	if(document.body && document.body.clientHeight){return document.body.clientHeight;}
	return window.innerHeight;
}

/* -------------------------------------------------------------------------------- */

if(document.getElementById){
	var echo_buffer;
	
	echo_buffer  = '<div id="pdp_overlay">';
	echo_buffer += '<div id="pdp_overlay_window">';
	echo_buffer += '<h2 id="pdp_overlay_window_title"></h2>';
	echo_buffer += '<div id="pdp_overlay_window_body"></div>';
	echo_buffer += '<p id="pdp_overlay_window_close"></p>';
	echo_buffer += '</div>';	// pdp_overlay_window
	echo_buffer += '</div>';	// pdp_overlay
	
	document.write(echo_buffer + '\n\n');
	
	pdp_overlay.init();
}

var pdp_img_overlay_mask = new Image(100,100);	pdp_img_overlay_mask.src = './img/overlay_mask.png';
