Event.observe(
	window,
	'load',
	function(){
		getExplanation();
		tabview();
		switchContents();
		getMyStudiedIds();
		loadMyPage();
		processEnterKey();
		checkCookie();
		initializePopupArea();
	}
);
Array.prototype.shuffle = function() {
    var i = this.length;
    while(i){
        var j = Math.floor(Math.random()*i);
        var t = this[--i];
        this[i] = this[j];
        this[j] = t;
    }
    return this;
}
var dialogtime;
var oMenuBar;
YAHOO.namespace("popup.container");
YAHOO.namespace("example");
YAHOO.util.Event.onContentReady("productsandservices", function () {
    oMenuBar = new YAHOO.widget.MenuBar("productsandservices", { 
                                                autosubmenudisplay: true, 
                                                hidedelay: 750, 
                                                lazyload: true });
    oMenuBar.render();
	oMenuBar.hide();
});
function initializePopupArea(){
	YAHOO.popup.container.panel5 = new YAHOO.widget.Panel("panel5", { width:"320px", visible:false, constraintoviewport:true, fixedcenter : true, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}} ); 
	YAHOO.popup.container.panel5.render();
	YAHOO.popup.container.panel2 = new YAHOO.widget.Panel("panel2", { width:"240px", visible:false, constraintoviewport:true, fixedcenter : true, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}} ); 
	YAHOO.popup.container.panel2.render();
	YAHOO.popup.container.panel1 = new YAHOO.widget.Panel("panel1", { width:"320px", visible:false, constraintoviewport:true, fixedcenter : true, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}} ); 
	YAHOO.popup.container.panel1.render();
	YAHOO.popup.container.panel3 = new YAHOO.widget.Panel("panel3", { width:"320px", visible:false, constraintoviewport:true, fixedcenter : true, modal : true, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}} ); 
	YAHOO.popup.container.panel3.render();
}
function showDialog(TEXT){
	clearTimeout(dialogtime);
	YAHOO.popup.container.panel5.setFooter('<table width="300"><tr><td><div class="size11" align="right">２秒後に自然に消えます...</div></td></tr></table>');
	YAHOO.popup.container.panel5.setHeader('<img src="img/status_unknown.png" height="12"/> 確認メッセージ');
	YAHOO.popup.container.panel5.setBody('<table width="300"><tr><td><div class="size12 red strong pad line" align="center">'+TEXT+'</div></td></tr></table>');
	YAHOO.popup.container.panel5.show();
	dialogtime = setTimeout('hideDialog()',2000);
}
function hideDialog(){
	YAHOO.popup.container.panel5.hide();
}
var handleFailure = function(o){
	alert(o.responseText);
}
var clid = 0;//現在情報表示中リストID
var slider;
var kimode = 0;
var kinong = 0;
var noki = 0;
var kimax = 100;
var kimin = 0;
var kimax2 = 100;
var kimin2 = 0;
var kiset = 0;
var slidone = 0;
var frontb = 0;
var lastans = "";
var fans = "";
var wval = "";
var flipboth = 0;
var tpoi = 0;
var mmr = 2;
var nong = 0;
var fmode = 0;
var flipval = 0;
var pointer = 0;
var skeys = "";
var MWORDS = [];
var mlist = 0;
var wselect = 0;
var listexp = '';
var changed = 1;
var gettingl = 0;
var noitems = 0;
var wordOrder = 0;
var init = 0;
var tView;
var logsave = 1;
var nohistory = 0;
var keysetter = Array('','（Ins）','','（Del）','（→）','（←）','（Ent）','（↑）','（↓）');
var keysets1 = Array('←','↑','→','↓','Enter','Delete','Insert','Home','End','Page Up','Page Down','Pause');
var keysets2 = Array('←','↑','→','↓','Ent','Del','Ins','Home','End','PgUp','PgDn','Pause');
var keysets3 = Array(37,39,38,40,13,46,45,36,35,33,34,19);
var commands = Array('割り当てない','カード切り替え（全・正・誤）','対象切り替え（スペル・訳）','表示切替（片・両・タイプ）','裏返す','前へ','次へ・タイピング判別','正答','誤答');
var assignC = Array(5,7,4,8,6,3,1,0,0,0,0,0);
var toh = Array('形容詞','副詞','助動詞','接続詞','疑問詞','名詞','句動詞','熟語','前置詞','代名詞','動詞','感動詞','略語','固有名詞','不変化詞','サ変接続（日本語）','形容動詞（日本語）','ひらがな・カタカナ','その他','接頭語','接尾語','限定詞');
var toh2 = Array('Adjective','Adverb','Auxiliary Verb','Conjunction','Interrogative','Noun','Phrasal Verb','Phrase','Preposition','Pronoun','Verb','Interjection','Noun Abbreviation','Proper Noun','Particle','Verbal Noun','Adjectival Noun','Kana','None','Prefix','Suffix','Determiner');
var langs = Array("イタリア語","スペイン語","ドイツ語","フランス語","ポルトガル語","ロシア語","中国語","日本語","英語","韓国語","アイスランド語","アイヌ語","アイマラ語","アイルランド語","アカン語","アゼルバイジャン語","アッサム語","アファル語","アフリカーンス語","アブハズ語","アムハラ語","アラゴン語","アラビア語","アラム語","アルバニア語","アルメニア語","アヴァール語","アヴェスター語","イディッシュ語","イド語","イヌイット語","イヌピア語","イボ語","インターリングア","インドネシア語","ウイグル語","ウェルシュ語","ウォロフ語","ウクライナ語","ウズベク語","ウルドゥー語","エウェ語","エストニア語","エスペラント","オジブワ語","オセット語","オック語","オランダ語","オリヤー語","オロモ語","カザフ語","カシミール語","カタルーニャ語","カヌリ語","カンナダ語","ガリシア語","ガンダ語","キクユ語","キルギス語","キンヤルワンダ語","キンヤルワンダ語","ギリシャ語","クウェンヤ","クメール語","クリンゴン語","クリー語","クルド語","クロアチア語","クワンヤマ語","グアラニー語","グジャラート語","グリーンランド語","グルジア語","ケチュア語","コサ語","コミ語","コルシカ語","コンゴ語","サモア語","サモス語","サルデーニャ語","サンゴ語","サンスクリット","ショナ語","シンダール語","シンディー語","シンハラ語","ジャワ語","スウェーデン語","スコットランド・ゲール語","スロバキア語","スロベニア語","スワヒリ語","スワージ語","スンダ語","ズールー語","セルビア語","ソマリ語","ゾンカ語","タイ語","タガログ語","タジク語","タジク語","タタール語","タヒチ語","タミル語","チェコ語","チェチェン語","チェワ語","チャモロ語","チュヴァシ語","チワン語","ツォンガ語","ツワナ語","テルグ語","ディベヒ語","デンマーク語","トウィ語","トルクメン語","トルコ語","トンガ語","ナウル語","ナヴァホ語","ネパール語","ノルウェー語","ハイチクレオール語","ハウサ語","ハンガリー語","バシキール語","バスク語","バンバラ語","パシュトー語","パンジャーブ語","ヒリモトゥ語","ヒンディー語","ビスラマ語","ビルマ語","フィジー語","フィンランド語","フェロー語","フラ語","フリジア語","ブルガリア語","ブルトン語","ヘブライ語","ヘレロ語","ベトナム語","ベラルーシ語","ベンガル語","ベンダ語","ペルシャ語","ボスニア語","ボスニア語","ポーランド語","マオリ語","マケドニア語","マダガスカル語","マラッタ語","マラヤーラム語","マルタ語","マレー語","マン島語","マーシャル語","モルダビア語","モンゴル語","ラテン語","ラトビア語","ラーオ語","リトアニア語","リンガラ語","リンブルフ語","ルクセンブルク語","ルバ語","ルンディ語","ルーマニア語","レト・ロマン語","ロロ語","ワロン語","ンドンガ語","ヴォラピュク","北ンデベレ語","南ソト語","南ンデベレ語","古代教会スラヴ語","古典ギリシア語","古文(中国語）","古文(日本語）","古英語","台湾語","広東語");
var langs2 = Array("it","es","de","fr","pt","ru","zh-CN","ja","en","ko","is","ain","ay","ga","ak","az","as","aa","af","ab","am","an","ar","arc","sq","hy","av","ae","yi","io","iu","ik","ig","ia","id","ug","cy","wo","uk","uz","ur","ee","et","eo","oj","os","oc","nl","or","om","kk","ks","ca","kr","kn","gl","lg","ki","ky","kw","rw","el","qya","km","tlh","cr","ku","hr","kj","gn","gu","kl","ka","qu","xh","kv","co","kg","sm","se","sc","sg","sa","sn","sjn","sd","si","jv","sv","gd","sk","sl","sw","ss","su","zu","sr","so","dz","th","tl","tg","ti","tt","ty","ta","cs","ce","ny","ch","cv","za","ts","tn","te","dv","da","tw","tk","tr","to","na","nv","ne","no","ht","ha","hu","ba","eu","bm","ps","pa","ho","hi","bi","my","fj","fi","fo","ff","fy","bg","br","he","hz","vi","be","bn","ve","fa","bs","bo","pl","mi","mk","mg","mr","ml","mt","ms","gv","mh","mo","mn","la","lv","lo","lt","ln","li","lb","lu","rn","ro","rm","ii","wa","ng","vo","nd","st","nr","cu","grc","och","ojp","ang","zh-TW","zh-HK");
function getExplanation(){
	listexp = $('listInfoArea').innerHTML;
}
function setExplanation(){
	$('listInfoArea').innerHTML = listexp;
	$('itemarea').innerHTML = "";
	$('sexp').innerHTML = "";
	$("fcarea").innerHTML = "";
	oMenuBar.hide();
	mmr = 2;
	fmode = 0;
}
function navigateHistory(LINK){
	if(nohistory == 1 || location.href.split('#target=',2)[1] == encodeURIComponent(LINK)){
		loadSection(LINK);	
	}else{
		YAHOO.util.History.navigate('target',LINK);	
	}
}

function tabview(){;
	tView = new YAHOO.widget.TabView('demo');
}

function processEnterKey(){
	Event.observe(document,"keypress",function(e){
		e = e || window.event;
		var target = e.target || e.srcElement;
		if(target){
			if(((target.type && target.type == 'text') || (target.type && target.type == 'password')) && target.id != "fdic"){
				if(e.keyCode == 13) {
					if (e.preventDefault) {
						e.preventDefault(); 
						e.stopPropagation(); 
					}else{
						e.returnValue = false;
						e.cancelBubble = true;
					}
					if(target.id == "ct-searchkey"){
						changeTarget('searchkey');
					}
					return false;
				}
			}else if(mmr != 2){
				var stopy = 0;
				switch(e.keyCode){
					case 37:strokeKey(assignC[0]);break;
					case 38:strokeKey(assignC[1]);break;
					case 39:strokeKey(assignC[2]);break;
					case 40:strokeKey(assignC[3]);break;
					case 13:strokeKey(assignC[4]);break;
					case 46:strokeKey(assignC[5]);break;
					case 45:strokeKey(assignC[6]);break;
					case 36:strokeKey(assignC[7]);break;
					case 35:strokeKey(assignC[8]);break;
					case 33:strokeKey(assignC[9]);break;
					case 34:strokeKey(assignC[10]);break;
					case 19:strokeKey(assignC[11]);break;
					case 0:switch(e.charCode){
							default:stopy = 1;
						}break;
					default:stopy = 1;
				}
				if(stopy == 0){
					if (e.preventDefault) {
						e.preventDefault(); 
						e.stopPropagation(); 
					}else{
						e.returnValue = false;
						e.cancelBubble = true;
					}
				}
				
			}
		}
	});
}
function loadSection(section) {
	changed = 1;
	var OFFSET, LANG, TLANG, ORDER, PERPAGE, SEARCHKEY, LEVEL;
	var JURL2 = section.split("&");
	var TARGET = JURL2[0];
	for(i=0;i<JURL2.length;i++){
		var JURL3 = JURL2[i].split("=");
		if(JURL3[0] == "offset"){
			OFFSET = JURL3[1];
		}else if(JURL3[0] == "lang"){
			LANG = JURL3[1];
		}else if(JURL3[0] == "tlang"){
			TLANG = JURL3[1];
		}else if(JURL3[0] == "order"){
			ORDER = JURL3[1];
		}else if(JURL3[0] == "perpage"){
			PERPAGE = JURL3[1];
		}else if(JURL3[0] == "searchkey"){
			SEARCHKEY = JURL3[1];
		}else if(JURL3[0] == "level"){
			LEVEL = JURL3[1];
		}
	}
	var tars = Array('lang','tlang','target','order','perpage','level','searchkey');
	var tars2 = Array(LANG, TLANG, TARGET, ORDER, PERPAGE, LEVEL, SEARCHKEY);
	for(var i=0;i<tars.length;i++){
		if(tars2[i] != undefined){
			$('ct-'+tars[i]).value = tars2[i];
		}
	}
	if(LANG == undefined){
		LANG = "en";
		$('ct-lang').value = "en";
	}
	if(TLANG == undefined){
		TLANG = "ja";
		$('ct-tlang').value = "ja";
	}
	if(ORDER == undefined){
		ORDER = "time";
		$('ct-order').value = "time";
	}
	if(PERPAGE == undefined){
		PERPAGE = 20;
		$('ct-perpage').value = 20;
	}
	if(LEVEL == undefined){
		LEVEL = "";
		$('ct-level').value = 6;
	}
	if(SEARCHKEY != undefined && SEARCHKEY != ""){
		tView.selectTab(1);
	}else{
		tView.selectTab(0);
	}
	init = 1;
	if(TARGET == 3){
		$('ct-level').disabled = true;
		$('ord-level').disabled = true;
		$('ord-rlevel').disabled = true;
		if($('ct-order').value == "level" || $('ct-order').value == "rlevel"){
			$('ct-order').value = "time";
		}
	}else{
		$('ct-level').disabled = false;
		$('ord-level').disabled = false;
		$('ord-rlevel').disabled = false;
	}
	searchList(TARGET,OFFSET,LANG,TLANG,ORDER,PERPAGE,SEARCHKEY,LEVEL);
}
function switchContents(){
	var bookmarkedSection, querySection, initSection;
    
    function initializeNavigationBar() {
        currentSection = YAHOO.util.History.getCurrentState("target");
        loadSection(currentSection);
    }
	try {
		bookmarkedSection = YAHOO.util.History.getBookmarkedState("target");
		querySection = YAHOO.util.History.getQueryStringParameter("target");
		initSection = bookmarkedSection || querySection || "0";
		YAHOO.util.History.register(
			"target",
			initSection,
			function (state) {						  
				loadSection(state);
			}
		);
		YAHOO.util.History.onReady(
			function () {							 
				initializeNavigationBar();
			}
		);
	} catch(e){
		nohistory = 1;
		loadSection('0')
	}
    try {
        YAHOO.util.History.initialize("yui-history-field", "yui-history-iframe");
    } catch (e) {
        loadSection(initSection);
    }
}
function searchList(TARGET,OFFSET,LANG,TLANG,ORDER,PERPAGE,SEARCHKEY,LEVEL){
	$('searchResult').innerHTML = '<div align="center"><br /><span class="red strong">検索中です...</span><br /><img src="../img/loading.gif" /></div>';
	var parameter = $H({target : TARGET, offset : OFFSET, lang : LANG, tlang : TLANG, order : ORDER, perpage : PERPAGE, searchkey : SEARCHKEY, level : LEVEL,iknowname : $('iusername').value}).toQueryString();
	var handleSuccess = function(o){
		$('searchResult').innerHTML = o.responseText;
		if($('getlist').value == 1 && gettingl == 0){
			gettingl = 1;
			var sarray = [TARGET,OFFSET,LANG,TLANG,ORDER,PERPAGE,SEARCHKEY,LEVEL];
			changed = 0;
			updateMyStudiedLists(1,undefined,sarray);
		}
		var ctp = $('ct-perpage').value;
		var perpop = "";
		for(var ii=1;ii<=10;ii++){
			var ii2 = ii*10;
			if(ctp == ii2){
				perpop += '<option value="'+ii2+'" selected>'+ii2+'</option>';
			}else{
				perpop += '<option value="'+ii2+'">'+ii2+'</option>';
			}
		}
		if(SEARCHKEY != undefined){
			skeys = SEARCHKEY;
			$('perparea').innerHTML = '<table width="360"><tr><td><div class="red strong" id="ltarget"><img src="../img/folder_explore.png" /> キーワード検索の結果</div></td><td align="right">１ページ表示件数</td><td width="5"></td><td><select id="ct-perpage" onchange="changeTarget(\'perpage\')">'+perpop+'</select></td></tr></table>';
		}else{
			$('perparea').innerHTML = '<table width="360"><tr><td><div class="red strong" id="ltarget"><img src="../img/folder_explore.png" /> カテゴリー検索の結果</div></td><td align="right">１ページ表示件数</td><td width="5"></td><td><select id="ct-perpage" onchange="changeTarget(\'perpage\')">'+perpop+'</select></td></tr></table>';
		}
	}
	var callback =
	{
	  success: handleSuccess,
	  failure: handleFailure,
	  timeout: 1000*60*3
	};
	var request = YAHOO.util.Connect.asyncRequest('POST', 'php/searchList.php', callback, parameter);	
}
function searchByCat(){
	var newhref = $('ct-target').value+"&lang="+$('ct-lang').value+"&tlang="+$('ct-tlang').value+"&level="+$('ct-level').value+"&order="+$('ct-order').value+"&perpage="+$('ct-perpage').value;
	navigateHistory(newhref);
}
function changeTarget(COMP){
	if(COMP == "searchkey" && $('ct-searchkey').value.match(/^\s*$/)){
		alert('サーチボックスに検索キーワードを入力してください。');
	}else{
		var loc = location.href.split('#',2);
		if(!loc[1] && COMP != "target"){
			var exloc = loc[0].split('?');
			if(!exloc[1]){
				loc[1] = "target=0";
			}else{
				var ex2;
				var exloc2 = exloc[exloc.length - 1].split("&");
				for(var j=0;j<exloc2.length;j++){
					var exloc3 = exloc2[j].split("=");
					if(exloc3[0] == "target"){
						ex2 = exloc3[1];
						break;
					}
				}
				if(ex2 == undefined){
					loc[1] = "target=0";
				}else{
					loc[1] = "target="+ex2; 	
				}
			}
		}else if(!loc[1] && COMP == "target"){
			loc[1] = "target="+$('ct-target').value;
		}
		var loc2 = loc[1].split('%26');
		var newhref = "";
		var ex = 0;
		for(var i=0;i<loc2.length;i++){
			if(loc2[i].match(/^target=/)){
				newhref += $('ct-target').value;
			}else{
				var loc3 = loc2[i].split('%3D',2);
				if(loc3[0] == COMP){
					ex = 1;
					if($('ct-'+COMP).value){
						newhref += "&"+loc3[0]+"="+$('ct-'+COMP).value;
					}
				}else{
					if((loc3[0] != "offset" && loc3[0] != "searchkey") || (COMP == "perpage" && loc3[0] == "searchkey")){
						if(loc3[0] == "searchkey"){
							newhref += "&"+loc3[0]+"="+skeys;
						}else{
							newhref += "&"+loc3[0]+"="+loc3[1];
						}
					}
				}
			}
		}
		if(ex == 0 && COMP!="target"){
			newhref += "&"+COMP+"="+$('ct-'+COMP).value;
		}
		navigateHistory(newhref);
	}
}

function showListInfo(LID,NOITEM){
	$('listInfoArea').innerHTML = '<div align="center"><br /><span class="red strong">リスト情報を読み込み中です...</span><br /><img src="../img/loading.gif" /></div>';
	mmr = 2;
	fmode = 0;
	nong = 0;
	kinong = 0;
	kimode = 0;
	clid = LID;
	oMenuBar.hide();
	var parameter = $H({lid : LID,iknowname : $('iusername').value}).toQueryString();
	var handleSuccess = function(o){
		$('listInfoArea').innerHTML = o.responseText;
		if(NOITEM != 1){
			$("fcarea").innerHTML = "";
			getItemInfo(LID);
		}
		$('sexp').innerHTML ='<img src="../img/help.png" height="12"/> <a class="ajax" onclick="setExplanation()">SELF解説ページを表示</a>';
	}
	var callback =
	{
	  success: handleSuccess,
	  failure: handleFailure,
	  timeout: 1000*60*3
	};
	var request = YAHOO.util.Connect.asyncRequest('POST', 'php/showListInfo.php', callback, parameter);	
}

function getItemInfo(LID){
	$('itemarea').innerHTML = '<div align="center"><br /><span class="red strong">アイテム情報を読み込み中です...</span><br /><img src="../img/loading.gif" /></div>';
	var parameter = $H({lid : LID}).toQueryString();
	var handleSuccess = function(o){
		mlist = 0;
		var ROJ = o.responseText.split('&');
		var IDS = Array();
		RWORDS = Array();
		for(i=0;i<ROJ.length;i++){
			IDS[i] = ROJ[i].split("=#");
			IDS[i].shift();
			for(j=0;j<IDS[i].length;j++){
				if(i == 0){
					RWORDS[j] = Array();
				}
				switch(i){
					case 0:RWORDS[j]['id'] = IDS[i][j];RWORDS[j]['ok'] = 0;RWORDS[j]['ki'] = 0;break;
					case 1:RWORDS[j]['word'] = IDS[i][j];break;
					case 2:RWORDS[j]['mean'] = IDS[i][j];break;
					case 3:RWORDS[j]['type'] = IDS[i][j];break;
					case 4:RWORDS[j]['sound'] = IDS[i][j];break;
					case 5:RWORDS[j]['lang'] = IDS[i][j];break;
					case 6:RWORDS[j]['rlang'] = IDS[i][j];break;
					case 7:RWORDS[j]['wlevel'] = IDS[i][j];break;
				}
			}
		}
		NRW = RWORDS.length;
		renderWordList(1);
	}
	var callback =
	{
	  success: handleSuccess,
	  failure: handleFailure,
	  timeout: 1000*60*3
	};
	var request = YAHOO.util.Connect.asyncRequest('POST', 'php/getItemInfo.php', callback, parameter);	
}
function myFilter(){
	myItemList(0,1,$('wsearch').value);
}
function myItemList(doSort,page,Filter){
	if(doSort == "m"){
		$("fcarea").innerHTML = "";
		mmr = 2;
		fmode = 0;
		nong = 0;
		clid = 0;
		kinong = 0;
		kimode = 0;
		oMenuBar.hide();
	}
	if(Filter == undefined){
		Filter = "";
	}
	if(page == undefined){
		page = 1;
		$('listInfoArea').innerHTML = '<div align="right" class="padboth strong size12 padt">単語フィルター <input type="text" id="wsearch" size="15" onkeyup="myFilter()" /></div>';
	}
	$('itemarea').innerHTML = '<div align="center"><br /><span class="red strong">アイテム情報を読み込み中です...</span><br /><img src="../img/loading.gif" /></div>';
	mlist = 1;
	$('sexp').innerHTML ='<img src="../img/help.png" height="12"/> <a class="ajax" onclick="setExplanation()">SELF解説ページを表示</a>';
	var toh = {'Adjective':'形容詞','Adverb':'副詞','Auxiliary Verb':'助動詞','Conjunction':'接続詞','Interrogative':'疑問詞','Noun':'名詞','Phrasal Verb':'句動詞','Phrase':'熟語','Preposition':'前置詞','Pronoun':'代名詞','Verb':'動詞','Interjection':'感動詞','Noun Abbreviation':'略語','Proper Noun':'固有名詞','Particle':'不変化詞','Verbal Noun':'サ変接続（日本語）','Adjectival Noun':'形容動詞（日本語）','Kana':'ひらがな・カタカナ','None':'その他','Prefix':'接頭語','Suffix':'接尾語','Determiner':'限定詞'};
	if(doSort == 1){
		wssort2(wordOrder);
	}else{
		var wcheck = '';
		var onlearn = 0;
		var totalprog = 0;
		var pagex = 1;
		for(i=0;i<MWORDS.length;i++){
			if(MWORDS[i]['sound'] != ""){
				var valued = '<a class="ajax" onclick="playMSound('+i+')\"><img src="../img/konqsidebar_mediaplayer.png" height="14" /></a> ';
			}else{
				var valued = '<img src="../img/spellcheck.png"> ';
			}
			var aww = MWORDS[i]['word'];
			while(aww.match(/[^\\]'/)){
				aww = aww.replace(/([^\\])'/,"$1\\\'");
			}
			var bclass = "sbox2";
			if(MWORDS[i]['progress'] == 0){
				var probar = '<table width="35"><tr><td><div class="red strong size11"align="right">未学習</div></td></tr></table>';
			}else{
				onlearn++;
				bclass = "sbox5";
				var FIR = MWORDS[i]['progress'];
				totalprog += MWORDS[i]['progress']*1;
				var TWID2 = Math.round(((FIR) / 100) * 35);
				var TTWID2 = 35 - TWID2;
				probar = '<table width="35"><tr><td><div class="size10" align="center">'+FIR+'%</td></tr><tr><td><table class="percent2" width="35" height="5"><tr><td width="'+TWID2+'" class="percent"></td><td width="'+TTWID2+'"></td></tr></table></td></tr></table></div>';
			}
			if(Filter == "" || Filter.match(/^\s*$/) || MWORDS[i]['word'].toLowerCase().match(Filter.toLowerCase()) || MWORDS[i]['mean'].toLowerCase().match(Filter.toLowerCase())){
				if(((page - 1) * 100) <= (pagex - 1) && page * 100 >= pagex){
					if(MWORDS[i]['ok'] == 1){
						var selok = "checked";
					}else{
						var selok = "";
					}
					if(wselect == 1){
						var star = '';
						var sstar
						if(MWORDS[i]['wlevel'] == 0){
							star = '';
							sstar = '不明';
						}else{
							var star0 = Math.floor(MWORDS[i]['wlevel']);
							var star1 = Math.floor((MWORDS[i]['wlevel'] - star0) * 10);
							for(var j=0;j<star0;j++){
								star += '<img src="../img/star.gif" height="12">';
							}
							star += '<img src="../img/star'+star1+'.gif" height="12">';
							sstar = MWORDS[i]['wlevel'];
						}
						wcheck += '<div><table width="350"><tr><td width="25"><input type="checkbox" '+selok+' id="ok-'+MWORDS[i]['id']+'" onchange="changeOk('+i+',1)" /></td><td width="25"><span id="so-'+MWORDS[i]['id']+'">'+valued+'</span></td><td class="padr minwid"><a href="http://smart.fm/items/'+MWORDS[i]['id']+'" target="_blank" class="strong">'+MWORDS[i]['word']+'</span> </td><td></td><td width="60">'+star+'</td><td class="padr strong red" width="30" align="center">'+sstar+'</td><td class="padr" width="45">('+toh[MWORDS[i]['type']]+')</td><td width="35" align="center">'+probar+'</td></tr></table></div><hr />';
					}else{
						wcheck += '<div><table width="350"><tr><td width="25"><input type="checkbox" '+selok+' id="ok-'+MWORDS[i]['id']+'" onchange="changeOk('+i+',1)" /></td><td width="25"><span id="so-'+MWORDS[i]['id']+'">'+valued+'</span></td><td class="padr minwid"><a href="http://smart.fm/items/'+MWORDS[i]['id']+'" target="_blank" class="strong">'+MWORDS[i]['word']+'</span> </td><td class="padr strong minwid" align="right">'+MWORDS[i]['mean']+'</td><td class="padr" width="45">('+toh[MWORDS[i]['type']]+')</td><td width="35" align="center">'+probar+'</td></tr></table></div><hr />';
					}
				}
				pagex++;
			}
		}
		if(totalprog == 0){
			var FIR2 = 0;
		}else{
			var FIR2 = Math.floor((totalprog / (MWORDS.length * 100))*100);
		}
		var TWID = Math.round(((FIR2) / 100) * 50);
		var TTWID = 50 - TWID;
		var progbar2 = '<table><tr><td><div class="padr">記憶定着度</div></td><td><table class="apercent2" width="50" height="8"><tr><td width="'+TWID+'" class="apercent"></td><td width="'+TTWID+'"></td></tr></table></td><td width="5"> </td><td><div class="size12">'+FIR2+'%</td></tr></table></div>';
		//pagenation
		var tp = Math.floor((pagex - 1) / 100);
		var pagenater = "";
		for(var t=1;t<=tp;t++){
			if(t == page){
				pagenater += '<span class="red strong pagen">'+t+'</span> ';
			}else if(t > page - 3 && t < page + 3){
				pagenater += '<a onclick="myItemList(0,'+t+',\''+Filter+'\')" class="ajax pagen">'+t+'</a> ';
			}else if(t == page - 3 || t == page + 3){
				pagenater += '<a onclick="myItemList(0,'+t+',\''+Filter+'\')" class="ajax pagen">...</a> ';
			}else if(t == 1 || t == tp){
				pagenater += '<a onclick="myItemList(0,'+t+',\''+Filter+'\')" class="ajax pagen">'+t+'</a> ';
			}
		}
		if(wselect == 1){
			$('itemarea').innerHTML = '<div class="size12 strong pad"><table width="350"><tr><td><div><img src="../img/knewstuff.png" height="14"> <span class="red size14">'+MWORDS.length+'</span> アイテム</div></td><td width="5"></td><td align="center"><div> '+progbar2+'</div></td><td align="right"><select id="meanlev" onchange="changeDisplay('+page+')"><option value="0">語義詳細</option><option value="1" selected>難易度詳細</option></select></td></tr></table></div><div class="padboth"><table width="350"><tr><td><a class="ajax" onclick="loadFcard(\'m\')" target="_blank" onmouseover="changePics(\'self\',\'self1\')" onmouseout="changePics(\'self\',\'self\')"><img id="la-self" src="../img/self.png" /></a></td><td><div align="right">'+pagenater+'</div></td></tr></table></div><div class="size12 padboth"><hr /><div><table width="350"><tr><td width="50"><a class="ajax" onclick="wssort2(11,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(12,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr minwid"><a class="ajax" onclick="wssort2(1,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(2,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr strong minwid" align="right"><a class="ajax" onclick="wssort2(9,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(10,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr" width="45"><a class="ajax" onclick="wssort2(5,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(6,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td width="35" align="center"><a class="ajax" onclick="wssort2(7,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(8,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td></tr></table></div><hr />'+wcheck+'</div><div align="right" class="padb">'+pagenater+'</div>';
		}else{
			$('itemarea').innerHTML = '<div class="size12 strong pad"><table width="350"><tr><td><div><img src="../img/knewstuff.png" height="14"> <span class="red size14">'+MWORDS.length+'</span> アイテム</div></td><td width="5"></td><td align="center"><div> '+progbar2+'</div></td><td align="right"><select id="meanlev" onchange="changeDisplay('+page+')"><option value="0">語義詳細</option><option value="1">難易度詳細</option></select></td></tr></table></div><div class="padboth"><table width="350"><tr><td><a class="ajax" onclick="loadFcard(\'m\')" target="_blank" onmouseover="changePics(\'self\',\'self1\')" onmouseout="changePics(\'self\',\'self\')"><img id="la-self" src="../img/self.png" /></a></td><td><div align="right">'+pagenater+'</div></td></tr></table></div><div class="size12 padboth"><hr /><div><table width="350"><tr><td width="50"><a class="ajax" onclick="wssort2(11,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(12,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr minwid"><a class="ajax" onclick="wssort2(1,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(2,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr strong minwid" align="right"><a class="ajax" onclick="wssort2(3,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(4,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr" width="45"><a class="ajax" onclick="wssort2(5,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(6,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td width="35" align="center"><a class="ajax" onclick="wssort2(7,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort2(8,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td></tr></table></div><hr />'+wcheck+'</div><div align="right" class="padb">'+pagenater+'</div>';
		}
	}
}

function logoutWrongUser(LOG){
	var parameter = $H({authno : $('authno').value}).toQueryString();
	new Ajax.Request(
		'php/logout.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				$('authno').value = "";
				$('ilogno').value = "";
				$('iusername').value = "";
				MWORDS = [];
				YAHOO.util.Cookie.remove("iknowtoken");
				YAHOO.util.Cookie.remove("logcookie",{path : "/"});
				if(LOG == 1){
					logintoIknow();
				}else{
					$('logarea').innerHTML = '<div class="sbox2_top"><div class="sbox2_bottom"><div class="sbox2"><div align="center" class="red size12 strong line"><a class="ajax red strong" onclick="logintoIknow()"><img src="../img/iknowlogin.png" border="0"title="smart.fm にログイン" /></a><div class="padt"><input type="checkbox" id="logsave" checked value="1" onchange="changeLogsave()" /> ログイン状態を保存する</div></div></div></div></div>';
					if(logsave == 1){
						$('logsave').checked = true;
					}else{
						$('logsave').checked = false;
					}
					$('toparea').innerHTML = '<div class="white strong size12">ラーニングサイト <span class="size20 red">smart.fm</span> に <a class="ajax strong" onclick="logintoIknow()">ログイン</a> すると、このページをパーソナライズしたり、単語リスト作成などの拡張機能を使うことができます。</div>';
				}
			}
		}
	);
	
}

function getMyStudiedIds(){
	if($('ilogno').value != "" || ($('iusername').value != "" && $('oauthbug').value == 1)){
		var parameter = $H({iusername : $('iusername').value}).toQueryString();
		new Ajax.Request(
			'php/myItemList.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					var ROJ = roj.responseText.split('&');
					var IDS = Array();
					MWORDS = Array();
					for(i=0;i<ROJ.length;i++){
						IDS[i] = ROJ[i].split("=#");
						IDS[i].shift();
						for(j=0;j<IDS[i].length;j++){
							if(i == 0){
								MWORDS[j] = Array();
							}
							switch(i){
								case 0:MWORDS[j]['id'] = IDS[i][j];MWORDS[j]['ok'] = 0;MWORDS[j]['ki'] = 0;break;
								case 1:MWORDS[j]['word'] = IDS[i][j];break;
								case 2:MWORDS[j]['mean'] = IDS[i][j];break;
								case 3:MWORDS[j]['type'] = IDS[i][j];break;
								case 4:MWORDS[j]['sound'] = IDS[i][j];break;
								case 5:MWORDS[j]['lang'] = IDS[i][j];break;
								case 6:MWORDS[j]['rlang'] = IDS[i][j];break;
								case 7:MWORDS[j]['wlevel'] = IDS[i][j];break;
								case 8:MWORDS[j]['progress'] = IDS[i][j];break;
							}
						}
					}
					$('getmi').innerHTML = '<img src="../img/spellcheck.png" /> <a class="ajax" onclick="myItemList(\'m\')">マイ学習アイテムリストを表示</a>';
				}
			}
		);
	}
}

function sortWordDescend(a,b){ return a.word.toLowerCase() > b.word.toLowerCase() ? 1 : -1;}
function sortWordAscend(a,b){ return a.word.toLowerCase() < b.word.toLowerCase() ? 1 : -1;}
function sortMeanDescend(a,b){ return a.mean.toLowerCase() > b.mean.toLowerCase() ? 1 : -1;}
function sortMeanAscend(a,b){ return a.mean.toLowerCase() < b.mean.toLowerCase() ? 1 : -1;}
function sortTypeDescend(a,b){ return a.type.toLowerCase() > b.type.toLowerCase() ? 1 : -1;}
function sortTypeAscend(a,b){ return a.type.toLowerCase() < b.type.toLowerCase() ? 1 : -1;}
function sortProgDescend(a,b){ return a.progress*1 > b.progress*1 ? 1 : -1;}
function sortProgAscend(a,b){ return a.progress*1 < b.progress*1 ? 1 : -1;}
function sortLevelDescend(a,b){ return a.wlevel > b.wlevel ? 1 : -1;}
function sortLevelAscend(a,b){ return a.wlevel < b.wlevel ? 1 : -1;}
function sortOkDescend(a,b){ return a.ok > b.ok ? 1 : -1;}
function sortOkAscend(a,b){ return a.ok < b.ok ? 1 : -1;}


function wssort(HOW){
	switch(HOW){
		case 1:RWORDS.sort(sortWordDescend);wordOrder=1;break;
		case 2:RWORDS.sort(sortWordAscend);wordOrder=2;break;
		case 3:RWORDS.sort(sortMeanDescend);wordOrder=3;break;
		case 4:RWORDS.sort(sortMeanAscend);wordOrder=4;break;
		case 5:RWORDS.sort(sortTypeDescend);wordOrder=5;break;
		case 6:RWORDS.sort(sortTypeAscend);wordOrder=6;break;
		case 7:RWORDS.sort(sortProgDescend);wordOrder=7;break;
		case 8:RWORDS.sort(sortProgAscend);wordOrder=8;break;
		case 9:RWORDS.sort(sortLevelDescend);wordOrder=9;break;
		case 10:RWORDS.sort(sortLevelAscend);wordOrder=10;break;
		case 11:RWORDS.sort(sortOkDescend);wordOrder=11;break;
		case 12:RWORDS.sort(sortOkAscend);wordOrder=12;break;
	}
	renderWordList();
	if(mmr != 2){
		pointer = 0;
		showFword(0);
	}
}
function wssort2(HOW){
	switch(HOW){
		case 1:MWORDS.sort(sortWordDescend);wordOrder=1;break;
		case 2:MWORDS.sort(sortWordAscend);wordOrder=2;break;
		case 3:MWORDS.sort(sortMeanDescend);wordOrder=3;break;
		case 4:MWORDS.sort(sortMeanAscend);wordOrder=4;break;
		case 5:MWORDS.sort(sortTypeDescend);wordOrder=5;break;
		case 6:MWORDS.sort(sortTypeAscend);wordOrder=6;break;
		case 7:MWORDS.sort(sortProgDescend);wordOrder=7;break;
		case 8:MWORDS.sort(sortProgAscend);wordOrder=8;break;
		case 9:MWORDS.sort(sortLevelDescend);wordOrder=9;break;
		case 10:MWORDS.sort(sortLevelAscend);wordOrder=10;break;
		case 11:MWORDS.sort(sortOkDescend);wordOrder=11;break;
		case 12:MWORDS.sort(sortOkAscend);wordOrder=12;break;
	}
	myItemList();
	if(mmr != 2){
		pointer = 0;
		showFword(1);
	}
}
function renderWordList(doSort){
	var toh = {'Adjective':'形容詞','Adverb':'副詞','Auxiliary Verb':'助動詞','Conjunction':'接続詞','Interrogative':'疑問詞','Noun':'名詞','Phrasal Verb':'句動詞','Phrase':'熟語','Preposition':'前置詞','Pronoun':'代名詞','Verb':'動詞','Interjection':'感動詞','Noun Abbreviation':'略語','Proper Noun':'固有名詞','Particle':'不変化詞','Verbal Noun':'サ変接続（日本語）','Adjectival Noun':'形容動詞（日本語）','Kana':'ひらがな・カタカナ','None':'その他','Prefix':'接頭語','Suffix':'接尾語','Determiner':'限定詞'};
	if(doSort == 1){
		wssort(wordOrder,0);
	}else{
		var wcheck = '';
		var onlearn = 0;
		var totalprog = 0;
		for(i=0;i<RWORDS.length;i++){
			if(RWORDS[i]['sound'] != ""){
				var valued = '<a class="ajax" onclick="playSound('+i+')\"><img src="../img/konqsidebar_mediaplayer.png" height="14" /></a> ';
			}else{
				var valued = '<img src="../img/spellcheck.png"> ';
			}
			var aww = RWORDS[i]['word'];
			while(aww.match(/[^\\]'/)){
				aww = aww.replace(/([^\\])'/,"$1\\\'");
			}
			var bclass = "sbox2";
			var probar = '<table width="35"><tr><td><div class="red strong size11"align="right">未学習</div></td></tr></table>';
			RWORDS[i]['progress'] = 0;
			if(mlist == 0){
				for(var h=0;h<MWORDS.length;h++){
					if(RWORDS[i]['id'] == MWORDS[h]['id']){
						onlearn++;
						bclass = "sbox5";
						RWORDS[i]['progress'] = MWORDS[h]['progress'];
						var FIR = MWORDS[h]['progress'];
						totalprog += MWORDS[h]['progress']*1;
						var TWID2 = Math.round(((FIR) / 100) * 35);
						var TTWID2 = 35 - TWID2;
						probar = '<table width="35"><tr><td><div class="size10" align="center">'+FIR+'%</td></tr><tr><td><table class="percent2" width="35" height="5"><tr><td width="'+TWID2+'" class="percent"></td><td width="'+TTWID2+'"></td></tr></table></td></tr></table></div>';
						break;
					}
				}
			}
			if(RWORDS[i]['ok'] == 1){
				var selok = "checked";
			}else{
				var selok = "";
			}
			if(wselect == 1){
				var star = '';
				var sstar
				if(RWORDS[i]['wlevel'] == 0){
					star = '';
					sstar = '不明';
				}else{
					var star0 = Math.floor(RWORDS[i]['wlevel']);
					var star1 = Math.floor((RWORDS[i]['wlevel'] - star0) * 10);
					for(var j=0;j<star0;j++){
						star += '<img src="../img/star.gif" height="12">';
					}
					star += '<img src="../img/star'+star1+'.gif" height="12">';
					sstar = RWORDS[i]['wlevel'];
				}
				if(!$('wsearch') || !$('wsearch').value || $('wsearch').value.match(/^\s*$/) || RWORDS[i]['word'].toLowerCase().match($('wsearch').value.toLowerCase()) || RWORDS[i]['mean'].toLowerCase().match($('wsearch').value.toLowerCase())){
					wcheck += '<div><table width="350"><tr><td width="25"><input type="checkbox" '+selok+' id="ok-'+RWORDS[i]['id']+'" onchange="changeOk('+i+',0)" /></td><td width="25"><span id="so-'+RWORDS[i]['id']+'">'+valued+'</span></td><td class="padr minwid"><a href="http://smart.fm/items/'+RWORDS[i]['id']+'" target="_blank" class="strong">'+RWORDS[i]['word']+'</span> </td><td></td><td width="60">'+star+'</td><td class="padr strong red" width="30" align="center">'+sstar+'</td><td class="padr" width="45">('+toh[RWORDS[i]['type']]+')</td><td width="35" align="center">'+probar+'</td></tr></table></div><hr />';
				}
			}else{
				if(!$('wsearch') || !$('wsearch').value || $('wsearch').value.match(/^\s*$/) || (RWORDS[i]['word'].toLowerCase().match($('wsearch').value.toLowerCase()) || RWORDS[i]['mean'].toLowerCase().match($('wsearch').value.toLowerCase()))){
					wcheck += '<div><table width="350"><tr><td width="25"><input type="checkbox" '+selok+' id="ok-'+RWORDS[i]['id']+'" onchange="changeOk('+i+',0)" /></td><td width="25"><span id="so-'+RWORDS[i]['id']+'">'+valued+'</span></td><td class="padr minwid"><a href="http://smart.fm/items/'+RWORDS[i]['id']+'" target="_blank" class="strong">'+RWORDS[i]['word']+'</span> </td><td class="padr strong minwid" align="right">'+RWORDS[i]['mean']+'</td><td class="padr" width="45">('+toh[RWORDS[i]['type']]+')</td><td width="35" align="center">'+probar+'</td></tr></table></div><hr />';
				}
			}
		}
		if(totalprog == 0){
			var FIR2 = 0;
		}else{
			var FIR2 = Math.floor((totalprog / (RWORDS.length * 100))*100);
		}
		var TWID = Math.round(((FIR2) / 100) * 50);
		var TTWID = 50 - TWID;
		var progbar2 = '<table><tr><td><div class="padr">記憶定着度</div></td><td><table class="apercent2" width="50" height="8"><tr><td width="'+TWID+'" class="apercent"></td><td width="'+TTWID+'"></td></tr></table></td><td width="5"> </td><td><div class="size12">'+FIR2+'%</td></tr></table></div>';
		if(wselect == 1){
			$('itemarea').innerHTML = '<div class="size12 strong pad"><table width="350"><tr><td><div><img src="../img/knewstuff.png" height="14"> <span class="red size14">'+RWORDS.length+'</span> アイテム</div></td><td width="5"></td><td align="center"><div> '+progbar2+'</div></td><td align="right"><select id="meanlev" onchange="changeDisplay()"><option value="0">語義詳細</option><option value="1" selected>難易度詳細</option></select></td></tr></table></div><div class="size12 padboth"><hr /><div><table width="350"><tr><td width="50"><a class="ajax" onclick="wssort(11,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(12,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr minwid"><a class="ajax" onclick="wssort(1,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(2,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr strong minwid" align="right"><a class="ajax" onclick="wssort(9,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(10,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr" width="45"><a class="ajax" onclick="wssort(5,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(6,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td width="35" align="center"><a class="ajax" onclick="wssort(7,2)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(8,2)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td></tr></table></div><hr />'+wcheck+'</div>';
		}else{
			$('itemarea').innerHTML = '<div class="size12 strong pad"><table width="350"><tr><td><div><img src="../img/knewstuff.png" height="14"> <span class="red size14">'+RWORDS.length+'</span> アイテム</div></td><td width="5"></td><td align="center"><div> '+progbar2+'</div></td><td align="right"><select id="meanlev" onchange="changeDisplay()"><option value="0">語義詳細</option><option value="1">難易度詳細</option></select></td></tr></table></div><div class="size12 padboth"><hr /><div><table width="350"><tr><td width="50"><a class="ajax" onclick="wssort(11,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(12,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr minwid"><a class="ajax" onclick="wssort(1,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(2,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr strong minwid" align="right"><a class="ajax" onclick="wssort(3,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(4,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td class="padr" width="45"><a class="ajax" onclick="wssort(5,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(6,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td><td width="35" align="center"><a class="ajax" onclick="wssort(7,0)" title="並び替え（降順）"><img src="../img/1downarrow.png" /></a> <a class="ajax" onclick="wssort(8,0)" title="並び替え（昇順）"><img src="../img/2uparrow.png" /></a></td></tr></table></div><hr />'+wcheck+'</div>';
		}
	}
}

function changeDisplay(page){
	wselect = $('meanlev').value;
	if(mlist == 0){
		renderWordList();
	}else{
		myItemList(0,page);	
	}
}

function playSound(NUM){
	$('so-'+RWORDS[NUM]['id']).innerHTML = '<a class="ajax2"><object width="17" height="12"><param name="src" value="'+RWORDS[NUM]['sound']+'"><param name="autostart" value=true><param name="repeat" value=false><param name="loop" value=false><embed src="'+RWORDS[NUM]['sound']+'" width=17 height=12 autostart=true repeat=false loop=false></embed></object></a>';
}
function playMSound(NUM){
	$('so-'+MWORDS[NUM]['id']).innerHTML = '<a class="ajax2"><object width="17" height="12"><param name="src" value="'+MWORDS[NUM]['sound']+'"><param name="autostart" value=true><param name="repeat" value=false><param name="loop" value=false><embed src="'+MWORDS[NUM]['sound']+'" width=17 height=12 autostart=true repeat=false loop=false></embed></object></a>';
}
function loadMyPage2(Basic,Session,UID){
	if(Basic == 1 && UID == undefined){
		var parameter = $H({username : $('iusername').value,basic : 1,session : Session}).toQueryString();
	}else{
		var parameter = $H({ino : $('ilogno').value,basic : 0,uid :UID}).toQueryString();
	}
	new Ajax.Updater(
		'logarea',
		'php/loadMyPage.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				if($('updateitems').value == 1){
					if($('noitems').value){
						noitems = $('noitems').value * 1;
					}
					updateMyStudiedItems($('updatefrom').value*1,UID);
				}else if(UID != undefined){
					$('umsi').innerHTML = '';
				}else{
					$('umsi').innerHTML = '<div><img src="../img/up.png" /> <a class="ajax" onclick="updateMyStudiedItems(1)">学習状況をアップデートする</a></div>';
					getMyStudiedIds();
				}
			}
		}
	);
}

function loadMyPage(){
	if($('iusername').value != ""){
		loadMyPage2(1,1);
	}
}

function updateMyStudiedItems(NEWNO,UID){
	gettingl = 1;
	if(NEWNO == 1 && UID == undefined){
		$('umsi').innerHTML = '<div align="center"><span class="red strong">学習アイテム情報を取得中...</span><br /><img src="../img/loading.gif" /></div>';
	}
	if(UID != undefined){
		var iname = UID;
	}else{
		var iname = $('iusername').value;
	}
	var parameter = $H({iknowname : iname, newno : NEWNO}).toQueryString();
	new Ajax.Request(
		'php/updateMyStudiedItems.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				updateMyStudiedItems(NEWNO);
			},
			onComplete : function(roj){
				if(NEWNO == 1){
					noitems =roj.responseText*1;
					var succode = 0;
				}else{
					var succode = roj.responseText;	
				}
				if(isNaN(noitems) || (NEWNO != 1 && succode*1 == 500)){
					$('umsi').innerHTML = '<div><img src="img/up.png" /> <a class="ajax red" onclick="updateMyStudiedItems(1)">学習状況アップデートに失敗しました。もう一度お試し下さい。</a></div>';
				}else{
					if(NEWNO != 1 && succode*1 == 403){
						updateMyStudiedItems(NEWNO,UID);
					}else{
						var FIR = NEWNO * 100;
						if(FIR > noitems){
							FIR = noitems;
						}
						var TWID2 = Math.round(((FIR+1) / noitems) * 200);
						if(UID == undefined){
							$('umsi').innerHTML = '<div align="center"><span class="red strong">学習アイテム情報を取得中...</span> '+FIR+'/'+noitems+'<br /><table class="percent2" width="200" height="10"><tr><td width="'+TWID2+'" class="percent"></td><td></td></tr></table></div>';
						}
						if(NEWNO*100 < noitems){
							updateMyStudiedItems(NEWNO+1,UID);
						}else{
							updateMyStudiedLists(1,UID);
						}
					}
				}
			}
		}
	);
}

function updateMyStudiedLists(NEWNO,UID,ARRAY){
	if(NEWNO == 1 && UID == undefined){
		$('umsi').innerHTML = '<div align="center"><span class="red strong">学習リスト情報を取得中...</span><br /><img src="../img/loading.gif" /></div>';
	}
	if(UID != undefined){
		var iname = UID;
	}else{
		var iname = $('iusername').value;
	}
	var parameter = $H({iknowname : iname, newno : NEWNO}).toQueryString();
	new Ajax.Request(
		'php/updateMyStudiedLists.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				updateMyStudiedLists(NEWNO);
			},
			onComplete : function(roj){
				if(NEWNO == 1){
					noitems =roj.responseText*1;
					var succode = 0;
				}else{
					var succode = roj.responseText;	
				}
				if(isNaN(noitems) || (NEWNO != 1 && succode*1 == 500)){
					$('umsi').innerHTML = '<div><img src="../img/up.png" /> <a class="ajax red" onclick="updateMyStudiedItems(1)">学習状況アップデートに失敗しました。もう一度お試し下さい。</a></div>';
				}else{
					if(NEWNO != 1 && succode*1 == 403){
						updateMyStudiedLists(NEWNO,UID);
					}else{
						var FIR = NEWNO * 100;
						if(FIR > noitems){
							FIR = noitems;
						}
						var TWID2 = Math.round(((FIR+1) / noitems) * 200);
						if(UID == undefined){
							$('umsi').innerHTML = '<div align="center"><span class="red strong">学習リスト情報を取得中...</span> '+FIR+'/'+noitems+'<br /><table class="percent2" width="200" height="10"><tr><td width="'+TWID2+'" class="percent"></td><td></td></tr></table></div>';
						}
						if(NEWNO*100 < noitems){
							updateMyStudiedLists(NEWNO+1,UID);
						}else{
							if(UID == undefined){
								gettingl = 0;
								$('umsi').innerHTML = '<div align="center" class="red strong">学習状況アップデート完了！</div>';
								getMyStudiedIds();
								if(ARRAY && changed == 0){
									changed = 1;
									searchList(ARRAY[0],ARRAY[1],ARRAY[2],ARRAY[3],ARRAY[4],ARRAY[5],ARRAY[6],ARRAY[7]);
								}
							}
							loadMyPage2(1,1,UID);
						}
					}
				}
			}
		}
	);
}

function changePics(ID,NEW){
	$('la-'+ID).src = '../img/'+NEW+'.png';
}

function changeLogsave(){
	var tdate = new Date();
	var ttstamp = tdate.getTime() + 60*60*24*365*1000;
	var edate = new Date(ttstamp);
	if($('logsave').checked){
		YAHOO.util.Cookie.set("iknowtoken", $('itoken').value, { expires: edate });
		YAHOO.util.Cookie.set("savelog", 1, { expires: edate });
		logsave = 1;
	}else{
		$('itoken').value = YAHOO.util.Cookie.get("iknowtoken");
		YAHOO.util.Cookie.remove("iknowtoken");
		YAHOO.util.Cookie.set("savelog", 0, { expires: edate });
		logsave = 0;
	}
}

function checkCookie(){
	if(YAHOO.util.Cookie.get("savelog") == 0){
		YAHOO.util.Cookie.remove("iknowtoken");
		$('logsave').checked = false;
	}
	if(YAHOO.util.Cookie.get("flashkey")){
		assignC = YAHOO.util.Cookie.get("flashkey").split('&');
		for(var y=0;y<assignC.length;y++){
			assignC[y]*=1;
		}
		ksetter();
	}
}
function ksetter(GO){
	for(var y=1;y<keysetter.length;y++){
		keysetter[y]="";
		for(var z=0;z<assignC.length;z++){
			if(assignC[z] == y){
				keysetter[y]= "（"+keysets2[z]+"）";
				break;
			}
		}
	}
	if(GO == 1){
		showFword(mmr);
	}
}