//移動　rico.js
function toPoint(n, n2)
{
	new Rico.Effect.Position("hospMenu", null, n, n2, 20);//ID, X, Y, ミリ秒, ステップ数
}

//本体
function menuScr(n)
{
	obj = document.getElementById(n);
	t = findPosY(obj);
	
	myMenuH = document.getElementById("hospMenu").offsetHeight;
	myBoxH = obj.parentNode.offsetHeight;
//	alert("myBoxH="+myBoxH);
	if( myBoxH <= myMenuH )
	{
//	alert("高さ追加処理");
		var myO = obj.parentNode.nextSibling;
//	alert(myO.nodeName);
		while(myO.nodeName != "#comment")
		{
			if(myO.className == "hospCont")
			{
				myBoxH += myO.offsetHeight;
//	alert("myBoxH="+myBoxH);
			}
			myO = myO.nextSibling;
		}
	}
	if( myBoxH <= myMenuH )
	{
		t = t - ( myMenuH - myBoxH);
	}
//	alert("menu="+myMenuH+"\nmy="+myBoxH+"\nnext="+myBottomBoxH);

	toPoint(t+21, t+21/2);//+21は、デフォルトの表示位置との差の値
}

//座標取得
function findPosY(obj)
{  
    var posTop = 0;  
    while (obj.offsetParent)
	{  
        posTop += obj.offsetTop;  
        obj = obj.offsetParent;  
    }  
    return posTop;  
}  

function findPosX(obj)
{  
    var posLeft = 0;  
    while (obj.offsetParent)
	{  
        posLeft += obj.offsetLeft;  
        obj = obj.offsetParent;  
    }  
    return posLeft;  
}  

//座標取得
//window.onload = function ()
//{
//	Event.observe($("box"), "click", msg, false);
//	Event.observe($("WORD1"), "click", displayXY, false);
//}

function displayXY(event)
{
	var mouseX = Event.pointerX(event);
	var mouseY = Event.pointerY(event);
	alert( "("+mouseX+", "+mouseY+")" );

}

function fade(n, n2)
{
//	var str = navigator.appName.toUpperCase();
//	var strV = navigator.appVersion;
//	if (str.indexOf("MICROSOFT") >= 0)
//	{
//		if(strV.charAt(22) == 7)
//		{
//			return;
//		}
//	}

	var myObjP = document.getElementById("hospWord");
	var myObj3 = document.getElementById(n).style;

	if(n2 == "1.0" || myObj3.zIndex == "undefined")
	{
		var myValue = 999;
		for(i=0; i<myObjP.childNodes.length; i++)
		{
			if(myObjP.childNodes[i].nodeName == "DIV")
			{
				var myObjC = myObjP.childNodes[i].style.zIndex;
				if(myObjC != -999)
				{
					if(myValue <= myObjC)
					{
						myValue = Number(myObjC)+1;
					}
				}
			}
		}
		myObj3.zIndex = myValue;
	}
	
	new Rico.Effect.FadeTo(n, n2, 200, 5);

	if(n2 == "0")
	{
		myObj3.zIndex = -999;
	}
}

window.onload = function ()
{
//	Event.observe($("WORD1"), "click", displayXY, false);

//用語解説の準備
//元データの取得
	var url = "/general/hospital/word.html";
	httpObj = new JKL.ParseXML.DOM( url );
	xmlData = httpObj.parse();
	
	if( xmlData != null )
	{
		dtObj = xmlData.getElementsByTagName("dt");
	}
	else
	{
//		alert("error");
		return;
	}

//当ファイルから必要なIDの取得
	aObj = document.getElementsByTagName("a");
	myId = new Array();
	for(i=0; i<aObj.length; i++)
	{
		aObjText = aObj[i].className;
		if( aObjText != "" )
		{
			var myMa = String(aObjText.match(/[A-Z]{5,}/g));
			if( myMa != "null" )
			{
				myId.push(myMa);
			}
		}
	}

//書き出し
	var myResultId = document.createElement('div');
	myResultId.id = "hospWord";
	document.getElementsByTagName("body").item(0).appendChild(myResultId);

	var myResult = "\n";
	for(i=0; i<myId.length; i++)
	{
		for(k=0; k<dtObj.length; k++)
		{
			if( dtObj[k].getAttribute('id') == myId[i] )
			{
				var resultTitle = dtObj[k].childNodes[0].nodeValue;
				try//IE
				{
					resultCont = dtObj[k].nextSibling.childNodes[0].nodeValue;
				}
				catch(e)//FF
				{
					resultCont = dtObj[k].nextSibling.nextSibling.childNodes[0].nodeValue;
				}
				
				myResult += '<div id="'+myId[i]+'" class="hospWord">'+'<p class="hospWordC"><a onClick="fade(\''+myId[i]+'\', 0)"><img src="../img/hospital_ps_close.gif" alt="" /></a></p>'+"\n<p><em>"+resultTitle+"</em>とは<br />"+resultCont+"</p>\n"+"\n</div>\n\n";
				break;
			}
		}
	}
	document.getElementById("hospWord").innerHTML = myResult;


//ウィンドウサイズ取得 ついでにブラウザ判定
	var str = navigator.appName.toUpperCase();
	var strV = navigator.appVersion;
	var Hw = 0;
	//IE
	if (str.indexOf("MICROSOFT") >= 0)
	{
		if(strV.charAt(22) >= 6)
		{
			Hw = document.body.clientWidth +10;
		}
		else 
		{
			return void(0);
		}
	}
	//IE以外（NN）
	else
	{
		Hw = window.outerWidth;
	}

//	//取得したウィンドウサイズから表示位置を計算
	if (Hw == 0 || Hw > 820)
	{
		Hw = (Hw - 820)/2;
	}
	else
	{
		Hw = 0;
	}

//文章中用語の座標取得
	for(i=1; i<=15; i++)//15=診療科あたり用語解説の最大値
	{
		var myNum = 'WORD'+i;
		myObj = document.getElementById(myNum);
		if(myObj != null)
		{
			myY = findPosY(myObj) +30;
			myX = findPosX(myObj) -150 +Hw;
			if(myX+200 > 820+Hw)//200=用語解説枠幅（260）が基準
			{
				myX = 530 +Hw;
			}
		}
		else
		{
			break;
		}
		if(myObj.getAttribute("className") != null)//IE
		{
			myClass = myObj.getAttribute("className");
		}
		else//FF
		{
			myClass = myObj.getAttribute("class");
		}

//		alert(myClass);
//		alert(myClass+","+myY);
		var myObj2 = document.getElementById(myClass);
		myObj2.style.top = myY+"px";
		myObj2.style.left = myX+"px";
		myObj2.style.zIndex = -999;
	}

}

//
//function ajaxReq(url)
//{
//	var msec = (new Date()).getTime();
//	new Ajax.Request(url, {
//		method: "get",
//		parameters: "cache="+msec,
//		onSuccess:function(httpObj){
//			$("result1").innerHTML = httpObj.responseText;
//			$("result2").innerHTML = httpObj.responseXML;
//		},
//		onFailure:function(httpObj){
//			$("result1").innerHTML = "エラーで読み込めませんでした";
//		}
//	});
//}
//
//window.onload = function ()
//{
////	var url = 'word.html';
//	var url = 'word.xml';
//	new Ajax.Request(url, {
//		method: "get",
//		onSuccess:function(httpObj){
//			alert(httpObj.responseXML.getElementById("ZINSOKUBYO").nodeType);
//		},
//		onFailure:function(httpObj){
//			alert("エラー");
//		}
//	});
//}
