﻿var httpObj; 
var timerId; 
var timeout_sec=3; 

function closeChildWindow(){ 
	var board=document.getElementById('board'); 
	board.style.visibility='hidden'; 
} 

function openChildWindow(e){ 
	var board=document.getElementById('board'); 
	if(document.body.clientWidth){//IEのみ？ 
		board.style.left=document.body.clientWidth - 200 + 'px'; 
	} 
	board.style.top='275px'; 
	board.style.left=e.clientX-20+'px'; 
	//board.style.left='660px'; 
	board.style.visibility='visible'; 

	//チェックされたID属性値を取得 
	var target_node; 
	if(e.target){//IEでは使えない 
		target_node=e.target; 
	} 
	else if(e.srcElement){//IE対策 
		target_node=e.srcElement; 
	} 
	//Safari対策 
	if(target_node.nodeType==3){ 
		target_node=target_node.parentNode; 
	} 

	var target_url='yotei.txt'; 

	//処理を実行するための関数リファレンスを定義 
	var funcRef=function(text_data){ 
		var content=document.getElementById('content'); 
		content.innerHTML=text_data; 
		// content.firstChild.nodeValue=text_data; 

		//透明度変更 
		board.style.filter='alpha(opacity=90)'; 
		board.style.mozOpacity=0.9; 
		board.style.opacity=0.9; 
	} 
	//HTTP通信を開始し、完了したら上記関数を実行させる 
	httpRequest(target_url, funcRef); 
} 

function httpRequest(target_url, functionReference){ 
	try{ 
		if(window.ActiveXObject){ 
			httpObj=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		else if(window.XMLHttpRequest){ 
			httpObj=new XMLHttpRequest(); 
		} 
		else{ 
			httpObj=false; 
		} 
	} 
	catch(e){ 
		httpObj=false; 
	} 
	if(! httpObj) 
	{ 
		httpObjGenerateFail(); 
	} 

	//タイマーセット 
	timerId=setInterval('timeoutCheck()', 1000); 

	httpObj.open("GET",target_url,true); 
	httpObj.onreadystatechange=function(){ 
		if(httpObj.readyState==4){ 
			clearInterval(timerId); 
			if(httpObj.status==200){
				functionReference(httpObj.responseText); 
			} 
			else{ 
				alert(httpObj.status+':'+httpObj.statusText); 
				return false; 
			} 
		} 
	} 
	httpObj.send(''); 
} 

function httpObjGenerateFail(){ 
	alert('ご利用のブラウザでは当コンテンツを利用できません。'); 
	return false; 
} 

function timeoutCheck(){ 
	timeout_sec--; 
	if(timeout_sec<=0){ 
		//タイマー停止 
		clearInterval(timerId); 
		//HTTPリクエスト中断 
		httpObj.abort(); 
		alert('タイムアウトです。'); 
		return false; 
	} 
} 

function setListeners(e){ 
	var child=document.getElementById('child'); 
	addListener(child,'click',openChildWindow,false); 
	var close=document.getElementById('close'); 
	addListener(close,'click',closeChildWindow,false); 
} 

function addListener(elem, eventType, func, cap){ 
	if(elem.addEventListener){ 
		elem.addEventListener(eventType, func, cap); 
	} 
	else if(elem.attachEvent){ 
		elem.attachEvent('on'+eventType, func); 
	} 
	else{ 
		alert('ご利用のブラウザはサポートされていません。'); 
		return false; 
	} 
} 

addListener(window, 'load', setListeners, false); 
