
//2010/01/20 ウィンドウサイズより大きかった場合の処理を追加
//2010/01/22 大きかった場合の処理を、「表示位置に追従した左上」に修正

// スクロール位置／ウィンドウサイズ取得用コード追加
// 【ToDo】グローバル変数注意
var isWin9X = (navigator.appVersion.toLowerCase().indexOf('windows 98')+1);
var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);
var isOpera = (navigator.userAgent.toLowerCase().indexOf('opera')+1?1:0);
if (isOpera) isIE = false;
var isSafari = (navigator.appVersion.toLowerCase().indexOf('safari')+1?1:0);

function getScrollPosition() {//スクロール位置取得
	var obj = new Object();
	obj.x = document.documentElement.scrollLeft || document.body.scrollLeft;
	obj.y = document.documentElement.scrollTop  || document.body.scrollTop;
	return obj;
}

function getScreenSize() {//スクリーンサイズ取得
	var obj = new Object();

	if (!isSafari && !isOpera) {
		obj.x = document.documentElement.clientWidth  || document.body.clientWidth  || document.body.scrollWidth;
		obj.y = document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight;
	} else {
		obj.x = window.innerWidth;
		obj.y = window.innerHeight;
	}
	obj.mx = parseInt((obj.x)/2);
	obj.my = parseInt((obj.y)/2);
	return obj;
}





//以下bigimage処理

function L_windowSize(){//【ToDo】この処理がgetScreenSizeと被っている。統合した方がいいかも。
	var obj = new Object();
	
	obj.windowX = document.documentElement.clientWidth || document.body.clientWidth || document.body.scrollWidth;
	obj.windowY = document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight;

	obj.maxX = document.documentElement.scrollWidth;
	obj.maxY = document.documentElement.scrollHeight;

	if( obj.maxX < document.body.scrollWidth ){
		obj.maxX = document.body.scrollWidth;
	}
	if( obj.maxY < document.body.scrollHeight ){
		obj.maxY = document.body.scrollHeight;
	}

	obj.scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
	obj.scrollY = document.documentElement.scrollTop || document.body.scrollTop;

	return obj;

}


var L_bigImageOnFlag;


var addOnresizeEvent=function(func){
	var oldEvent = window.onresize;
	if (typeof window.onresize != 'function'){
		window.onresize = func;
	} else {
		window.onresize = function(){
			oldEvent();
			func();
		}
	}
}
addOnresizeEvent(L_bigImageResize);


function L_bigImageOn(n){

	if( !L_bigImageOnFlag ){

		L_bigImageOnFlag = 1;

		var BODY = document.body;
		var wSize = L_windowSize();

		var newImage = document.createElement("div");
		newImage.id = "L_bigImage_img";
		newImage.innerHTML = '<img src="'+n+'" onload="L_bigImageResize()" id="L_bigImage_src" style="border:solid 1px #eeeeee;" /><div align="right" style="font-size:12px;line-height:14px;color:#000000;">クリックで表示オフ</div>';
		newImage.align = "center";
		newImage.style.background = "#ffffff";
		newImage.style.padding = "10px";
		newImage.style.position = "absolute";
		newImage.style.zIndex = "100";
		if( navigator.appVersion.indexOf("MSIE 5.5") == -1 ){
			newImage.style.cursor = "pointer";
		}
		newImage.onclick = function(){L_bigImageOff()};

		BODY.appendChild(newImage);

		bigImage = document.getElementById("L_bigImage_img");
		
		/*
		//テスト用変数出力
		alert(
			"ste2:"+(getScreenSize().x > document.getElementById("L_bigImage_src").width)+"\n"
			+"screenx:"+getScreenSize().x+"\n"
			+"divSrc.width:"+ document.getElementById("L_bigImage_src").width
		);
		*/
		
		if( getScreenSize().x > document.getElementById("L_bigImage_src").width ){
			//まんなかに表示
			bigImage.style.left = wSize.windowX/2 - document.getElementById("L_bigImage_src").width/2 + wSize.scrollX - 10 +"px";
		}else{
			//大き過ぎるときは左固定
			//alert(getScreenSize().x );
			bigImage.style.left="0px" ;
		}
		if( getScreenSize().y > document.getElementById("L_bigImage_src").height ){
			//縦位置をまんなかに表示
			bigImage.style.top = wSize.windowY/2 - document.getElementById("L_bigImage_src").height/2 + wSize.scrollY - 20 +"px";
		}else{
			//大き過ぎるときは上固定（古い処理）
			//bigImage.style.top="0px" ;
			
			//大き過ぎるときは「表示位置の」上に固定
			bigImage.style.top = wSize.scrollY - 20 +"px";
		}

		var newDiv = document.createElement("div");
		newDiv.id = "L_bigImage_div";
		newDiv.style.position = "absolute";
		newDiv.style.left = "0px";
		newDiv.style.top = "0px";
		newDiv.style.background = "#000000";
		newDiv.align = "center";
		newDiv.style.width = wSize.maxX +"px";
		newDiv.style.height = wSize.maxY +"px";
		newDiv.style.zIndex = "99";
		newDiv.style.filter = "Alpha(opacity=70)";
		newDiv.style.opacity = "0.7";
		if( navigator.appVersion.indexOf("MSIE 5.5") == -1 ){
			newDiv.style.cursor = "pointer";
		}
		newDiv.onclick = function(){L_bigImageOff()};

		BODY.appendChild(newDiv);
	}

}



function L_bigImageOff(){

	if( L_bigImageOnFlag ){

		document.body.removeChild(document.getElementById("L_bigImage_img"));
		document.body.removeChild(document.getElementById("L_bigImage_div"));

		L_bigImageOnFlag = 0;
	}
}



function L_bigImageResize(){

	if( L_bigImageOnFlag ){

		var DIV = document.getElementById("L_bigImage_div");
		var IMG = document.getElementById("L_bigImage_img");
		var wSize = L_windowSize();

		DIV.style.width = wSize.maxX +"px";
		DIV.style.height = wSize.maxY +"px";
		/*
		IMG.style.left = wSize.windowX/2 - document.getElementById("L_bigImage_src").width/2 + wSize.scrollX - 10 +"px";
		IMG.style.top = wSize.windowY/2 - document.getElementById("L_bigImage_src").height/2 + wSize.scrollY - 20 +"px";
		*/


		if( getScreenSize().x > document.getElementById("L_bigImage_src").width ){
			//まんなかに表示
			IMG.style.left = wSize.windowX/2 - document.getElementById("L_bigImage_src").width/2 + wSize.scrollX - 10 +"px";
		}else{
			//大き過ぎるときは左固定
			//alert(getScreenSize().x );
			IMG.style.left="0px" ;
		}
		//alert(getScreenSize().y+"/"+document.getElementById("L_bigImage_src").height +"/"+(getScreenSize().y>document.getElementById("L_bigImage_src").height));
		if( getScreenSize().y > document.getElementById("L_bigImage_src").height ){
			//縦位置をまんなかに表示
			IMG.style.top = wSize.windowY/2 - document.getElementById("L_bigImage_src").height/2 + wSize.scrollY - 20 +"px";
		}else{
			//大き過ぎるときは上固定
			//alert(getScreenSize().y );
			//IMG.style.top="0px" ;
			
			//大き過ぎるときはスクロール位置に合わせて上固定
			IMG.style.top = wSize.scrollY - 20 +"px";
		}


	}

}


