// キーマップ制御クラス.
function KeyMap()
{
	//起点(左上)(m).
	var mapConstSx = 29414;
	var mapConstSy = 157798;
	
	// 背景の一枚当たりのサイズ(pixel).
	var blockSize = 150;
	
	//スケールサイズ 画像一枚当たりの一辺の長さ(ｍ).
	var mapM = 42081;

	//1ピクセル当たりの移動距離を求める(pixel/m).
	var pixM = mapM / blockSize;
	
	// 中央表示.
	this.MoveCenter = function()
	{
		var keymapwin = document.getElementById("KeyMapWin");
		var console = common.GetChildNode(keymapwin, "console");
		
		var	mouseX = currentDocument.ActiveMouseX;
		var	mouseY = currentDocument.ActiveMouseY;
		
		var centerX = currentDocument.ActiveMouseX - parseInt(keymapwin.style.left) - parseInt(console.style.left);
		var centerY = currentDocument.ActiveMouseY - parseInt(keymapwin.style.top) - parseInt(console.style.top);
		
		centerX = mapConstSx + pixM * centerX;
		centerY = mapConstSy - pixM * centerY;
		
		viewController.MoveCenter(centerX, centerY);
	}
	
	// 中央マーク表示.
	// x			x座標(pixel).
	// y			y座標(pixel).
	this.ShowCenter = function(x, y)
	{
		var moveX = parseInt((mapConstSx - x) / pixM) * -1;
		var moveY = parseInt((mapConstSy - y) / pixM);
		document.getElementById("keymapCenter").style.top = moveY +10;
		document.getElementById("keymapCenter").style.left = moveX -5;
		
		this.ShowCenterPoint();
	}
	
	// キーマップ表示非表示制御.
	this.Show = function()
	{
		var keymapwin = document.getElementById("KeyMapWin");
		var src = "MapForm/img/keymap";
		
		if (keymapwin.style.visibility == "visible")
		{
			keymapwin.style.visibility = "hidden";
			document.getElementById("keymapCenter").style.visibility = "hidden";
		}
		else
		{
			keymapwin.style.visibility = "visible";
			this.ShowCenterPoint();
			src += "_on";
		}
		src += ".gif";
		document.getElementById("KeymapImage").src = src;
	}
	
	// 中央点表示非表示制御.
	this.ShowCenterPoint = function()
	{
		if (document.getElementById("KeyMapWin").style.visibility == "visible")
		{
			if (parseInt(document.getElementById("keymapCenter").style.left) + 5 < 0 || 
					parseInt(document.getElementById("keymapCenter").style.left) + 5 > 150)
			{
				document.getElementById("keymapCenter").style.visibility = "hidden";
			}
			else
			{
				if (parseInt(document.getElementById("keymapCenter").style.top) -15 < 0 || 
					parseInt(document.getElementById("keymapCenter").style.top) -15 > 216)
				{
					document.getElementById("keymapCenter").style.visibility = "hidden";
				}
				else
				{
					document.getElementById("keymapCenter").style.visibility = "visible";
				}
			}
		}
	}
}

