window.onload = init;
var vId;
var vKey;
var vDisplay;
var vIntro;

function getmouseX(e){
	if (window.createPopup){
		return (event.x + document.body.scrollLeft);
	}else{
		return (e.pageX);
	}
}

function getmouseY(e){
	if (window.createPopup){
		return (event.y + document.body.scrollTop);
	}else{
		return (e.pageY);
	}
}

function show(e,id){
	var o=$("say");
	var ax=getmouseX(e)+10;
	var ay=getmouseY(e)+10;
	o.style.left=ax;
	o.style.top=ay;
	
	o.style.display="block";
	
	o.innerHTML=vIntro[id];

}

function hide(){
	var o=$("say");
	o.style.display="none";	
}

function test(){
	$("say").innerHTML="gogogo";
};
function init(){
//	alert("begin");
	loadDataFile("http://www.minghui.jp/vocabulary/vocabulary.csv");
//	var str=$("content").innerHTML;
//	str=str.replace(/オブジェクト/g,"<span id=\"i2\" class=\"al\" onmouseover=\"show(event,2);\" onmouseout=\"hide();\">オブジェクト</span>");
//	str=str.replace(/Internet Explorer/g,"<span id=\"i1\" class=\"al\" onmouseover=\"show(event,1);\" onmouseout=\"hide();\">Internet Explorer</span>");	
//	$("content").innerHTML=str;
}

function loadDataFile(fName){
	new Ajax.Request(fName,{ method:'get',onComplete:replaceData });
}

function replaceData(httpObj){
//	alert("replaceData");
	var txt=httpObj.responseText;
//	alert(httpObj.responseText);
	var str1;
	var rgexp;
	a=parseTabText(txt);
	var str=$("content").innerHTML;
//	alert("innerHTML: "+str);
	var rgexp=new Array(vId.length);

	for (var i=0;i<vId.length;i++){
//		rgexp[i] = new RegExp(vKey[vId[i]], "g");
//		alert(rgexp[i]);
		str1="<span id=\"i"+vId[i]+"\" class=\"al\" onmouseover=\"show(event,"+vId[i]+");\" onmouseout=\"hide();\">"+vDisplay[vId[i]]+"</span>";
//		str=str.replace(rgexp[i],str1);
		str=str.split(vKey[vId[i]]).join(str1);
	}
	$("content").innerHTML=str;
}

function parseTabText(tabText){
//	alert("parseTabText");
	var LF=String.fromCharCode(10);	//改行コード(LF)
	var TAB=String.fromCharCode(9);	//タブコード
	var lineData=tabText.split(LF);
	vId=new Array(lineData.length);
	vKey=new Array(lineData.length);
	vDisplay=new Array(lineData.length);
	vIntro=new Array(lineData.length);

//	alert("line len="+lineData.length);
	for (var i=0;i<lineData.length;i++){
//		alert("line="+lineData[i]);
		wCount=lineData[i].split(TAB);
//		alert(wCount[1]);
//		alert("col["+i+"]="+wCount.length);
		vId[i]=wCount[0];		// id
		vKey[vId[i]]=wCount[1];		// key
		vDisplay[vId[i]]=wCount[2];		// display
		vIntro[vId[i]]=wCount[3];	// value
//		alert("id="+vId[i]+",key="+vKey[vId[i]]+",mean="+vIntro[vId[i]]);
	}
//	alert("id size is:"+vId.length);
}

