/* *----------------------------------------------* */
/* *	Constant Definition						  * */
/* *----------------------------------------------* */
	var	SPACE_CELL_NUM	= 13;
	var	PIC_PATH		= "kanj/";
	var	PIC_EXT			= ".jpg";
	var	PIC_LEN			= 2;
	var	EXTRA_KANJI		= 2;

function iToStr(w, n){
    var i;
    var r = n.toString();
    var d = w - r.length;
    for (i=0; i<d; i++){
        r = "0" + r;
    }
    return(r);
}
var	aSkipNumber = new Array( SPACE_CELL_NUM );
aSkipNumber[ 0] =  4;
aSkipNumber[ 1] =  7;
aSkipNumber[ 2] =  9;
aSkipNumber[ 3] = 12;
aSkipNumber[ 4] = 17;
aSkipNumber[ 5] = 22;
aSkipNumber[ 6] = 25;
aSkipNumber[ 7] = 27;
aSkipNumber[ 8] = 30;
aSkipNumber[ 9] = 35;
aSkipNumber[10] = 38;
aSkipNumber[11] = 40;
aSkipNumber[12] = 46;
function oPak(n){
	this.oCells = new Array(n);
}
function isSkipNum( sp, num ){
	// sp: Search Start pointer
	// num: numeric number to be examined
	for (var i=sp; i<SPACE_CELL_NUM; i++){
		if (aSkipNumber[i] == num) return true;	// the number to be skipped
	}
	return false;
}
function makeNumComversionData( iMaxNum ){
	var	iRec, iRef, sp, w;
	if (iMaxNum < 10){
		w = 1;	// "0" - "9"
	} else if (iMaxNum < 100){
		w = 2;	// "00" - "99"
	} else if (iMaxNum < 1000){
		w = 3;	// "000" - "999"
	} else {
		w = 4;	// "0000" - "9999"
	}
	sp = 0;
	iRec = 0;
	for (iRef=0; iRef<iMaxNum; iRef++){
		if (isSkipNum(sp, iRef)){
			sp ++;		// shift search start pointer
			continue;	// Skip the iRef number
		}
		this[iRec] = new oPak(2);
		with(this[iRec]){
			oCells[0] = iRec;	// Seq. Num, 0,1,2,....n
			oCells[1] = iToStr(w, iRef);
		}
		iRec ++;
	}
	this.length = iRec;
}
var	KNJID = new makeNumComversionData( KANJI_MAX_NUM );
function fnGetKanjiRecNobyImgNo( iImgNo ){
	if (typeof(KNJID) != "object") return 0;
	for (var i=0; i<KNJID.length; i++){
		if (KNJID[i].oCells[1] == iImgNo) return(KNJID[i].oCells[0]);
	}
	return 0;
}
function fnSetRichMsgBoxCoreData(){
	var	LSPN1 = "<span style='font-size:125%'>";
	var	LSPN2 = "<span style='font-size:300%'>";
	var	sImgNo, oKANJI;
	for (var i=0; i<KNJID.length; i++){
		sImgNo = KNJID[i].oCells[1];
		oKANJI = fnGetKanjifaceByImgNo( sImgNo, K_IMGNO_0, K_ALREC_7 );

		aTit2[i]  = "Data for KajiCross [01]-" + iToStr(2, i+1);
		aPic2[i]  = PIC_PATH + sImgNo + PIC_EXT;
		aWid2[i]  = K_WIDTH;
		aHgt2[i]  = K_HEIGHT;
		with(oKANJI){
		aCap2[i]  = LSPN1       + oKanji[K_LFACE_2] + "</span>";
		aMsg2[i]  = LSPN2       + oKanji[K_LFACE_2] + "</span><br><br>";
		aMsg2[i] += "画数　 : " + oKanji[K_STROK_3] + "<br>";
		aMsg2[i] += "意味　 : " + oKanji[K_CMEAN_4] + "<br>";
		aMsg2[i] += "音読み : " + oKanji[K_OREAD_5] + "<br>";
		aMsg2[i] += "訓読み : " + oKanji[K_KREAD_6] + "<br>";
		}
		aTip2[i]  = "Letter Face";
	}
	giBoxNum2 = i;
	TheRichMbox2 = new makeRichMbox2();
}
function fnShowKajiData(){
	var	e = event.srcElement;
	while(e.tagName != "TD" && e.tagName != "TR"){
		e = e.parentElement;
	}
	if ((e.children.length == 0) || (e.children[0].tagName != "IMG")) return;
	var sImgSrc = e.children[0].src;	// <TD><IMG src="xx.jpg" /></TD>
	var	sp = sImgSrc.lastIndexOf( PIC_EXT );
	if (sp == -1) return;
	var sImgNo = sImgSrc.substr(sp - PIC_LEN, PIC_LEN);
	if (sImgNo == "99") return;
	fnShowRichMbox2( fnGetKanjiRecNobyImgNo( sImgNo ) );
}
