function loadFcard(LID){
	if(LID == 'm'){
		var RMW = MWORDS;
		var MR = 1;
		mmr = 1;
	}else{
		var RMW = RWORDS;
		var MR = 0;
		mmr =0;
	}
	pointer = 0;
	frontb = 0;
	noki = 0;
	kimode = 0;
	kiset = 0;
	lastans = "";
	oMenuBar.show();
	showFword(MR);
}
function showFword(MR,nofocus){
	var tpointer,tpointer2,nobox,nooks = 0;
	if(MR == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	if(kimode == 0){
		if(fmode == 0){
			tpointer = pointer;
		}else if(fmode == 2){
			if(nong == 0){
				showDialog('間違いカードはありません。');
				modeCard(MR,0,0)
				return;
			}else{
				for(var tpo = 0;tpo<RMW.length;tpo++){
					if(RMW[tpo]['ok'] == 1){
						if(nooks == pointer){
							tpointer = tpo;
							break;
						}
						nooks++;
					}
				}
			}
		}else{
			if(RMW.length - nong == 0){
				showDialog('正解カードはありません。');
				modeCard(MR,0,0)
				return;
			}else{
				for(var tpo = 0;tpo<RMW.length;tpo++){
					if(RMW[tpo]['ok'] == 0){
						if(nooks == pointer){
							tpointer = tpo;
							break;
						}
						nooks++;
					}
				}
			}
		}
		tpoi = tpointer;
		var nofok = RMW.length - nong;
		if(fmode == 0){
			var ltarg = '<span class="red strong">全: '+(tpointer+1)+'/'+RMW.length+'</span>　<a class="ajax" onclick="modeCard('+MR+',1,0)">正: '+nofok+'</a>　<a class="ajax" onclick="modeCard('+MR+',2,0)">誤: '+nong+'</a>';
		}else if(fmode == 2){
			var ltarg = '<a class="ajax" onclick="modeCard('+MR+',0,0)">全: '+RMW.length+'</a>　<a class="ajax" onclick="modeCard('+MR+',1,0)">正: '+nofok+'</a>　<span class="red strong">誤: '+(nooks+1)+'/'+nong+'</span>';
		}else{
			var ltarg = '<a class="ajax" onclick="modeCard('+MR+',0,0)">全: '+RMW.length+'</a>　<span class="red strong">正: '+(nooks+1)+'/'+nofok+'</span>　<a class="ajax" onclick="modeCard('+MR+',2,0)">誤:'+nong+'</a>';
		}
		var kiltarg = "";
		if(kiset == 1){
			kiltarg = '<div class="size12">定着度（'+kimin2+'%-'+kimax2+'%）: <a class="ajax" onclick="modeCard('+MR+',0,1)">全: '+noki+'</a>　<a class="ajax" onclick="modeCard('+MR+',1,1)">正: '+(noki-kinong)+'</a>　<a class="ajax" onclick="modeCard('+MR+',2,1)">誤:'+kinong+'</a></div>';
		}
	}else if(kimode == 1){
		if(fmode == 0){
			if(noki == 0){
				showDialog('定着度設定カードはありません。');
				modeCard(MR,0,0)
				return;
			}else{
				for(var tpo = 0;tpo<RMW.length;tpo++){
					if(RMW[tpo]['ki'] == 1){
						if(nooks == pointer){
							tpointer = tpo;
							tpointer2 = nooks;
							break;
						}
						nooks++;
					}
				}
			}
		}else if(fmode == 2){
			if(kinong == 0){
				showDialog('間違いカードはありません。');
				modeCard(MR,0,1)
				return;
			}else{
				for(var tpo = 0;tpo<RMW.length;tpo++){
					if(RMW[tpo]['ok'] == 1 && RMW[tpo]['ki'] == 1){
						if(nooks == pointer){
							tpointer = tpo;
							tpointer2 = nooks;
							break;
						}
						nooks++;
					}
				}
			}
		}else{
			if(noki - kinong == 0){
				showDialog('正解カードはありません。');
				modeCard(MR,0,1)
				return;
			}else{
				for(var tpo = 0;tpo<RMW.length;tpo++){
					if(RMW[tpo]['ok'] == 0 && RMW[tpo]['ki'] == 1){
						if(nooks == pointer){
							tpointer = tpo;
							tpointer2 = nooks;
							break;
						}
						nooks++;
					}
				}
			}
		}
		tpoi = tpointer;
		var nofok = noki - kinong;
		if(fmode == 0){
			var kiltarg = '<span class="red strong">全: '+(tpointer2+1)+'/'+noki+'</span>　<a class="ajax" onclick="modeCard('+MR+',1,1)">正: '+nofok+'</a>　<a class="ajax" onclick="modeCard('+MR+',2,1)">誤: '+kinong+'</a>';
		}else if(fmode == 2){
			var kiltarg = '<a class="ajax" onclick="modeCard('+MR+',0,1)">全: '+noki+'</a>　<a class="ajax" onclick="modeCard('+MR+',1,1)">正: '+nofok+'</a>　<span class="red strong">誤: '+(nooks+1)+'/'+kinong+'</span>';
		}else{
			var kiltarg = '<a class="ajax" onclick="modeCard('+MR+',0,1)">全: '+noki+'</a>　<span class="red strong">正: '+(nooks+1)+'/'+nofok+'</span>　<a class="ajax" onclick="modeCard('+MR+',2,1)">誤:'+kinong+'</a>';
		}
		kiltarg = '<div class="size12">定着度（'+kimin2+'%-'+kimax2+'%）: '+kiltarg+'</div>';
		ltarg = '<a class="ajax" onclick="modeCard('+MR+',0,0)">全: '+RMW.length+'</a>　<a class="ajax" onclick="modeCard('+MR+',1,0)">正: '+(RMW.length-nong)+'</a>　<a class="ajax" onclick="modeCard('+MR+',2,0)">誤:'+nong+'</a>';
	}
	if(frontb == 1){
		wval = RMW[tpointer]['word'];
		fans = RMW[tpointer]['mean'];
	}else if(frontb == 0){
		wval = RMW[tpointer]['mean'];
		fans = RMW[tpointer]['word'];
	}
	if((flipval == 1 && frontb == 0) || (flipval == 0 && frontb == 1)){
		var wval2 = RMW[tpointer]['word'];
		var fans2 = RMW[tpointer]['mean'];
	}else{
		var wval2 = RMW[tpointer]['mean'];
		var fans2 = RMW[tpointer]['word'];
	}
	if(RMW[tpointer]['ok'] == 0){
		nobox = 5;
	}else{
		nobox = 6;
	}
	if(flipboth == 2){
		var ltarg2 = '<span class="red strong">スペル</span>';
	}else if(frontb == 0){
		var ltarg2 = '<span class="red strong">スペル</span>　<a class="ajax" onclick="frontCard('+MR+',1)">訳</a>';
	}else{
		var ltarg2 = '<a class="ajax" onclick="frontCard('+MR+',0)">スペル</a>　<span class="red strong">訳</span>';
	}
	if(flipboth == 1){
		$('fcarea').innerHTML = '<br /><div class="sbox'+nobox+'_top"><div class="sbox'+nobox+'_bottom"><div class="sbox'+nobox+'"><div class="profpad2"><div class="size12">カード'+keysetter[1]+' ： '+ltarg+'　　対象'+keysetter[2]+' ： '+ltarg2+'</div>'+kiltarg+'<div class="size25 strong padt padb line2" align="center">'+RMW[tpointer]['word']+'<hr />'+RMW[tpointer]['mean']+'</div><div align="center" class="size12"><a class="ajax" onclick="bothCard('+MR+')">表示切替'+keysetter[3]+'</a>　<a class="ajax" onclick="preFword('+MR+')">前'+keysetter[5]+'</a>　<a class="ajax" onclick="nextFword('+MR+')">次'+keysetter[6]+'</a>　<a class="ajax" onclick="ngFword('+tpointer+',0,'+MR+')">正'+keysetter[7]+'</a>　<a class="ajax" onclick="ngFword('+tpointer+',1,'+MR+')">誤'+keysetter[8]+'</a></div><div class="padt size14 strong">'+lastans+'</div></div></div></div></div></div>';
	}else if(flipboth == 2){
		$('fcarea').innerHTML = '<br /><div class="sbox'+nobox+'_top"><div class="sbox'+nobox+'_bottom"><div class="sbox'+nobox+'"><div class="profpad2"><div class="size12">カード'+keysetter[1]+' ： '+ltarg+'　　対象'+keysetter[2]+' ： '+ltarg2+'</div>'+kiltarg+'<div class="size25 strong padt padb line2" align="center">'+wval2+'<hr /><input type="text" id="fdic" size="20" /></div><div align="center" class="size12"><a class="ajax" onclick="bothCard('+MR+')">表示切替'+keysetter[3]+'</a>　<a class="ajax" onclick="flipCard('+MR+')">裏返す'+keysetter[4]+'</a>　<a class="ajax" onclick="preFword('+MR+')">前'+keysetter[5]+'</a>　<a class="ajax" onclick="nextFword('+MR+')">判定'+keysetter[6]+'</a></div><div class="padt size14 strong">'+lastans+'</div></div></div></div></div></div>';
		if(nofocus != 1){
			$("fdic").focus();
		}
	}else{
		$('fcarea').innerHTML = '<br /><div class="sbox'+nobox+'_top"><div class="sbox'+nobox+'_bottom"><div class="sbox'+nobox+'"><div class="profpad2"><div class="size12">カード'+keysetter[1]+' ： '+ltarg+'　　対象'+keysetter[2]+' ： '+ltarg2+'</div>'+kiltarg+'<div class="size25 strong padt padb line2" align="center">'+wval2+'</div><div align="center" class="size12"><a class="ajax" onclick="bothCard('+MR+')">表示切替'+keysetter[3]+'</a>　<a class="ajax" onclick="flipCard('+MR+')">裏返す'+keysetter[4]+'</a>　<a class="ajax" onclick="preFword('+MR+')">前'+keysetter[5]+'</a>　<a class="ajax" onclick="nextFword('+MR+')">次'+keysetter[6]+'</a>　<a class="ajax" onclick="ngFword('+tpointer+',0,'+MR+')">正'+keysetter[7]+'</a>　<a class="ajax" onclick="ngFword('+tpointer+',1,'+MR+')">誤'+keysetter[8]+'</a></div><div class="padt size14 strong">'+lastans+'</div></div></div></div></div></div>';
	}
}
function ngFword(tpointer,okg,MR,dcdone){
	if(MR == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	if(okg == 1 && RMW[tpointer]['ok'] == 0){
		if(RMW[tpointer]['ki'] == 1){
			kinong++;
		}
		nong++;
	}else if(okg == 0 && RMW[tpointer]['ok'] == 1){
		if(RMW[tpointer]['ki'] == 1){
			kinong--;
		}
		nong--;
	}
	RMW[tpointer]['ok'] = okg;
	if($('ok-'+RMW[tpointer]['id'])){
		if(okg == 1){
			$('ok-'+RMW[tpointer]['id']).checked = true;
		}else{
			$('ok-'+RMW[tpointer]['id']).checked = false;
		}
	}
	if((okg == 0 && fmode == 2) || (okg == 1 && fmode == 1)){
		pointer--;	
	}
	if(dcdone != 1){
		lastans = wval+" ⇒ "+fans;
	}
	nextFword(MR);
}
function modeCard(MR,MRNO,KI){
	if(KI != undefined){
		kimode = KI;
	}
	if(MRNO != undefined){
		fmode = MRNO;
	}else{
		if(fmode == 2){
			fmode = 0
		}else{
			if(kimode == 0){
				if((nong == 0 && fmode == 1) || (RWORDS.length - nong == 0 && fmode == 0)){
					fmode++;
					modeCard(MR,MRNO,0);
					return;
				}else{
					fmode++;
				}
			}else{
				if((kinong == 0 && fmode == 1) || (noki - kinong == 0 && fmode == 0)){
					fmode++;
					modeCard(MR,MRNO,1);
					return;
				}else{
					fmode++;
				}
			}
		}
	}
	pointer = 0;
	showFword(MR);
}
function frontCard(MR,MRNO){
	if(MRNO != undefined){
		frontb = MRNO;
	}else{
		if(frontb == 0){
			frontb = 1;
		}else{
			frontb = 0;
		}
	}
	flipval = 0;
	showFword(MR);
}
function dicCheck(MR){
	if($('fdic')){
		if($('fdic').value == fans){
			lastans = '<span class="red size18">O</span> '+$('fdic').value;
			ngFword(tpoi,0,MR,1);
		}else{
			lastans = '<span class="blue size18">X</span> '+$('fdic').value+" ⇒ "+fans;
			ngFword(tpoi,1,MR,1);
		}
	}else{
		lastans = wval+" ⇒ "+fans;
		nextFword(MR);
	}
}
function nextFword(MR){
	if(MR == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	if(kimode == 0){
		if((fmode == 0 && pointer == RMW.length - 1) || (fmode == 2 && pointer == nong - 1)|| (fmode == 1 && pointer == RMW.length - nong - 1)){
			showDialog('先頭に戻りました。');
			pointer = 0;
		}else{
			pointer++;
		}
	}else{
		if((fmode == 0 && pointer == noki - 1) || (fmode == 2 && pointer == kinong - 1)|| (fmode == 1 && pointer == noki - kinong - 1)){
			showDialog('先頭に戻りました。');
			pointer = 0;
		}else{
			pointer++;
		}

	}
	flipval = 0;
	showFword(MR);
}
function preFword(MR){
	if(MR == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	if(kimode == 0){
		if(pointer == 0){
			if(fmode == 2){
				pointer = nong - 1;
			}else if(fmode == 1){
				pointer = RMW.length - nong - 1;
			}else{
				pointer = RMW.length - 1;
			}
			showDialog('最後尾にジャンプしました。');
		}else{
			pointer--;
		}
	}else{
		if(pointer == 0){
			if(fmode == 2){
				pointer = kinong - 1;
			}else if(fmode == 1){
				pointer = noki - kinong - 1;
			}else{
				pointer = noki - 1;
			}
			showDialog('最後尾にジャンプしました。');
		}else{
			pointer--;
		}	
	}
	lastans = "";
	flipval = 0;
	showFword(MR);
}
function flipCard(MR){
	if(flipval == 0){
		flipval = 1;
	}else{
		flipval = 0;
	}
	showFword(MR);
}
function bothCard(MR){
	if(flipboth == 1 && frontb == 1){
		flipboth = 0;
	}else if(flipboth == 2){
		flipboth = 0;
	}else{
		flipboth++;
	}
	showFword(MR);
}
function changeOk(OKI,MR){
	if(MR == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	if($('ok-'+RMW[OKI]['id']).checked == true){
		RMW[OKI]['ok'] = 1;
		if(RMW[OKI]['ki'] == 1){
			kinong++;
		}
		nong++;
	}else{
		RMW[OKI]['ok'] = 0;
		if(RMW[OKI]['ki'] == 1){
			kinong--;
		}
		nong--;
	}
	if(mmr != 2){
		showFword(MR,1);
	}
}
function resetCard(){
	if(mmr == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	fmode = 0;
	nong = 0;
	frontb = 0;
	pointer = 0;
	kinong = 0;
	lastans = "";
	for(var i=0;i<RMW.length;i++){
		RMW[i]['ok'] = 0;
	}
	showFword(mmr);
	if(mmr == 0){
		renderWordList();
	}else{
		myItemList();
	}
}
function randomizeCard(){
	if(mmr == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	pointer = 0;
	lastans = "";
	RMW = RMW.shuffle();
	showFword(mmr);
	if(mmr == 0){
		renderWordList();
	}else{
		myItemList();
	}
}
function filterByMemory(){
	YAHOO.popup.container.panel2.setFooter('<table width="220"><tr><td><div class="size14" align="right"><a class="ajax" onclick="kiokuSet()"><img src="../img/chart_bar_link.png" height="14" /> 記憶セット</a></div></td></tr></table>');
	YAHOO.popup.container.panel2.setHeader('<img src="img/status_unknown.png" height="12"/> SELFlash! 記憶定着度フィルター');
	if(slidone == 0){
		YAHOO.popup.container.panel2.setBody('<table width="220"><tr><td><div id="demo_bg" class="yui-h-slider" title="Range slider"><div id="demo_min_thumb" class="yui-slider-thumb"><img src="../yui/slider/assets/left-thumb.png"></div><div id="demo_max_thumb" class="yui-slider-thumb"><img src="../yui/slider/assets/right-thumb.png"></div></div><div id="demo_info" class="size12"></div></td></tr></table>');
		sRender();
		slidone = 1;
	}
	if(kiset == 1){
		var cf = 100/(200 - 20);
		var kmax = kimax2/cf+20;
		var kmin = kimin2/cf;
		slider.setMaxValue(kmax);
		slider.setMinValue(kmin);
	}
	YAHOO.popup.container.panel2.show();
}
function kiokuSet(){
	noki = 0;
	kinong = 0;
	kimax2 = kimax;
	kimin2 = kimin;
	kiset = 1;
	kimode = 1;
	if(mmr == 1){
		var RMW = MWORDS;
	}else{
		var RMW = RWORDS;
	}
	for(var i= 0;i<RMW.length;i++){
		if(Math.round(RMW[i]['progress']) <= Math.round(kimax2) && Math.round(RMW[i]['progress']) >= Math.round(kimin2)){
			RMW[i]['ki'] = 1;
			noki++;
			if(RMW[i]['ok'] == 1){
				kinong++;
			}
		}else{
			RMW[i]['ki'] = 0;
		}
	}
	showFword(mmr);
}
function sRender(){
    var Dom = YAHOO.util.Dom;
    var range = 200;
    var tickSize = 2;
    var minThumbDistance = 0;
    var initValues = [0,200];
    var cf = 100/(range - 20);
    var convert = function (val) {
        return Math.round(val * cf);
    };
    YAHOO.util.Event.onDOMReady(function () {
        var demo_bg = Dom.get("demo_bg"),
            info    = Dom.get("demo_info");
        slider = YAHOO.widget.Slider.getHorizDualSlider(demo_bg,
            "demo_min_thumb", "demo_max_thumb",
            range, tickSize, initValues);
        slider.minRange = minThumbDistance;
        var updateUI = function () {
            var min = convert(slider.minVal),
                max = convert(slider.maxVal - 20);

            info.innerHTML = '定着度 <span class="red strong">' + min + '</div>％ ～ <span class="red strong">' + max + '</span>％ のアイテムを学習';
			kimax = max;
			kimin = min;
        };
        slider.subscribe('ready', updateUI);
        slider.subscribe('change', updateUI);
        YAHOO.example.slider = slider;
    });
	
}
function keySettings(){
	var ksop = "";
	for(var i=0;i<keysets1.length;i++){
			ksop +='<tr><td><div class="size12 red" align="center">'+keysets1[i]+'</div></td><td width="10"></td><td><select id="ks-'+i+'">';
		for(var j=0;j<commands.length;j++){
			if(assignC[i] == j){
				ksop +='<option value="'+j+'" selected>'+commands[j]+'</option>';
			}else{
				ksop +='<option value="'+j+'">'+commands[j]+'</option>';
			}
		}
		ksop += '</select></td></tr>';
	}
	YAHOO.popup.container.panel1.setFooter('<table width="300"><tr><td><div class="size14" align="right"><a class="ajax" onclick="keySettings2(1)"><img src="../img/shoki.png" height="14" /> 初期設定に戻す</a>　<a class="ajax" onclick="keySettings2()"><img src="../img/settings.gif" height="14" /> キーセット</a></div></td></tr></table>');
	YAHOO.popup.container.panel1.setHeader('<img src="img/status_unknown.png" height="12"/> SELFlash! キーボードショートカット設定');
		YAHOO.popup.container.panel1.setBody('<table width="300"><tr><td><table>'+ksop+'</table></td></tr></table>');
	YAHOO.popup.container.panel1.show();
}
function keySettings2(shoki){
	if(shoki == 1){
		assignC = Array(5,7,4,8,6,3,1,0,0,0,0,0);;
	}else{
		for(var i=0;i<keysets1.length;i++){
			assignC[i] = $('ks-'+i).value*1;	
		}
	}
	YAHOO.popup.container.panel1.hide();
	var tdate = new Date();
	var ttstamp = tdate.getTime() + 60*60*24*365*1000;
	var edate = new Date(ttstamp);
	YAHOO.util.Cookie.set("flashkey", assignC.join('&'), { expires: edate });
	ksetter(1);
}
function strokeKey(Knum){
	var cfuncs = Array(0,modeCard,frontCard,bothCard,flipCard,preFword,dicCheck,ngFword,ngFword);
	switch(Knum){
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:cfuncs[Knum](mmr);break;
		case 7:cfuncs[Knum](tpoi,0,mmr);break;
		case 8:cfuncs[Knum](tpoi,1,mmr);break;
	}
}
function saveFlash(){
	if($('iusername').value == ""){
		showDialog('データをセーブするにはsmart.fmにログインする必要があります。');
	}else if(clid == 0){
		alert('申し訳ありませんが、現在マイアイテムのSELFlash!データセーブには対応しておりません。ご了承ください。');
	}else{
		var parameter = $H({username : $('iusername').value}).toQueryString();
		new Ajax.Request(
			'php/saveFlash.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					var slist = roj.responseText;
					YAHOO.popup.container.panel3.setFooter('<table width="300"><tr><td><div class="size14" align="right"><a class="ajax" onclick="saveFlash2()"><img src="../img/disc.png" height="14" /> セーブ</a></div></td></tr></table>');
					YAHOO.popup.container.panel3.setHeader('<img src="img/status_unknown.png" height="12"/> SELFlash! データセーブ');
					YAHOO.popup.container.panel3.setBody('<table width="300"><tr><td><table>'+slist+'</table></td></tr></table>');
					YAHOO.popup.container.panel3.show();
				}
			}
		);
	}
}
function saveFlash2(){
	if($('fname').value.match(/^\s*$/)){
		alert('ファイル名を入力してください。');
	}else if($('fname').value.length > 20){
		alert('ファイル名は２０文字以内で入力してください。');
	}else{
		var savefval;
		for(var y=0;y<=3;y++){
			if($('savefile-'+y)){
				if($('savefile-'+y).checked){
					savefval = $('savefile-'+y).value;
				}
			}
		}
		if(savefval == undefined){
			alert('上書きするファイルを選んでください。');
		}else{
			if(mmr == 1){
				var RMW = MWORDS;
			}else{
				var RMW = RWORDS;
			}
			var svid="",svword="",svmean="",svtype="",svsound="",svlang="",svrlang="",svlevel="",svprogress="",svok="",svki="";
			for(var i=0;i<RMW.length;i++){
				svid+= '=#'+RMW[i]['id'];
				svword+= '=#'+RMW[i]['word'];
				svmean+= '=#'+RMW[i]['mean'];
				svtype+= '=#'+RMW[i]['type'];
				svsound+= '=#'+RMW[i]['sound'];
				svlang+= '=#'+RMW[i]['lang'];
				svrlang+= '=#'+RMW[i]['rlang'];
				svlevel+= '=#'+RMW[i]['wlevel'];
				svprogress+= '=#'+RMW[i]['progress'];
				svok+= '=#'+RMW[i]['ok'];
				svki+= '=#'+RMW[i]['ki'];
			}
			var svzero = '=#'+kimode+'=#'+kinong+'=#'+noki+'=#'+kimax2+'=#'+kimin2+'=#'+frontb+'=#'+lastans+'=#'+fans+'=#'+wval+'=#'+flipboth+'=#'+tpoi+'=#'+mmr+'=#'+nong+'=#'+fmode+'=#'+flipval+'=#'+pointer+"=#"+ kiset;
			var savedata = svzero +"&amp;"+ svid +"&amp;"+  svword +"&amp;"+  svmean +"&amp;"+  svtype +"&amp;"+  svsound +"&amp;"+  svlang +"&amp;"+  svrlang +"&amp;"+  svlevel +"&amp;"+  svprogress +"&amp;"+  svok +"&amp;"+  svki　;
			var parameter = $H({username : $('iusername').value, savedata : savedata, stitle : $('fname').value,lno : clid,savefile :savefval}).toQueryString();
			YAHOO.popup.container.panel3.setBody('<table width="300"><tr><td><div align="center"><span class="red strong">データをセーブ中です...</span><br /><img src="../img/loading.gif" /></div></table></td></tr></table>');
			new Ajax.Request(
				'php/saveFlash2.php',
				{
					method : 'post',
					parameters : parameter,
					onFailure : function(roj){
						alert(roj.responseText);
					},
					onComplete : function(roj){
						YAHOO.popup.container.panel3.hide();
						showDialog('データのセーブが完了しました！');
					}
				}
			);
		}
	}
}
function loadFlash(){
	if($('iusername').value == ""){
		showDialog('データをロードするにはsmart.fmにログインする必要があります。');
	}else{
		var parameter = $H({username : $('iusername').value}).toQueryString();
		new Ajax.Request(
			'php/loadFlash.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					var slist = roj.responseText;
					YAHOO.popup.container.panel3.setFooter('<table width="300"><tr><td><div class="size11" align="right">ロードするデータ名をクリックしてください</div></td></tr></table>');
					YAHOO.popup.container.panel3.setHeader('<img src="img/status_unknown.png" height="12"/> SELFlash! データロード');
					YAHOO.popup.container.panel3.setBody('<table width="300"><tr><td><table>'+slist+'</table></td></tr></table>');
					YAHOO.popup.container.panel3.show();
				}
			}
		);
	}
}
function loadFlash2(LNO){
	if($('iusername').value == ""){
		showDialog('データをロードするにはsmart.fmにログインする必要があります。');
	}else{
		YAHOO.popup.container.panel3.setBody('<table width="300"><tr><td><div align="center"><span class="red strong">データをロード中です...</span><br /><img src="../img/loading.gif" /></div></table></td></tr></table>');
		var parameter = $H({username : $('iusername').value,sno : LNO}).toQueryString();
		new Ajax.Request(
			'php/loadFlash2.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					var ROJ = roj.responseText.split('&amp;');
					clid = ROJ[0]*1;
					if(ROJ[0] != 0){
						showListInfo(ROJ[0],1);
						ROJ.shift();
						var IDS = Array();
						RWORDS = Array();
						for(var i=0;i<ROJ.length;i++){
							IDS[i] = ROJ[i].split("=#");
							IDS[i].shift();
							for(var j=0;j<IDS[i].length;j++){
								if(i == 1){
									RWORDS[j] = Array();
								}
								switch(i){
									case 1:RWORDS[j]['id'] = IDS[i][j];break;
									case 2:RWORDS[j]['word'] = IDS[i][j];break;
									case 3:RWORDS[j]['mean'] = IDS[i][j];break;
									case 4:RWORDS[j]['type'] = IDS[i][j];break;
									case 5:RWORDS[j]['sound'] = IDS[i][j];break;
									case 6:RWORDS[j]['lang'] = IDS[i][j];break;
									case 7:RWORDS[j]['rlang'] = IDS[i][j];break;
									case 8:RWORDS[j]['wlevel'] = IDS[i][j];break;
									case 9:RWORDS[j]['progress'] = IDS[i][j];break;
									case 10:RWORDS[j]['ok'] = IDS[i][j];break;
									case 11:RWORDS[j]['ki'] = IDS[i][j];break;
									case 0:switch(j){
											case 0:kimode = IDS[i][j];break;
											case 1:kinong = IDS[i][j];break;
											case 2:noki = IDS[i][j];break;
											case 3:kimax2 = IDS[i][j];break;
											case 4:kimin2 = IDS[i][j];break;
											case 5:frontb = IDS[i][j];break;
											case 6:lastans = IDS[i][j];break;
											case 7:fans = IDS[i][j];break;
											case 8:wval = IDS[i][j];break;
											case 9:flipboth = IDS[i][j];break;
											case 10:tpoi = IDS[i][j];break;
											case 11:mmr = IDS[i][j];break;
											case 12:nong = IDS[i][j];break;
											case 13:fmode = IDS[i][j];break;
											case 14:flipval = IDS[i][j];break;
											case 15:pointer = IDS[i][j];break;
											case 16:kiset = IDS[i][j];break;
										}
								}
							}
						};
						NRW = RWORDS.length;
						renderWordList();
					}else{
						$('listInfoArea').innerHTML = '<div align="right" class="padboth strong size12 padt">単語フィルター <input type="text" id="wsearch" size="15" onkeyup="myFilter()" /></div>';
					}
					YAHOO.popup.container.panel3.hide();
					showDialog('データのロードが完了しました！');
					oMenuBar.show();
					showFword(mmr);
				}
			}
		);
	}
}