function closeJlog(){
	$("#jlogbox").hide("slow");
}
function getLid(){
	jip();
	var lid;
	if(whichdis == "smlist"){
		lid = itemdis;
	}else if(whichdis == "mylist"){
		lid = olistdis;
	}
	jip2();
	return	lid;
}
/*function renderMword(NoRefresh){
	dp();
	setTimeout('renderMword2('+NoRefresh+')',100);
}*/
function reRender(onSort,page){
	jip();
	drawPlus();
	if(onSort){
		sortItems(axitem,true,page);
	}else{
		renderMword(undefined,page);
	}
	jip2();
}
function renderMword(NoRefresh,page){
	jip('red');
	dp();
	if(page == undefined){
		page = 1;
	}
	var pagex = 1;
	selected = [];
	var i = 0;
	var h = 0;
	nong[OK()] = 0;
	if(plat=='jipanglish'){
		genre5 = [[],[],[],[],['0','20','40','60','80','100','+100']];
	}else{
		genre5 = [[],[],[],[]];
	}
	//img change
	var licon;
	var limglink = "http://jipanglish.com";
	var limgtitle = 'vTunes - Tune Your Vocabulary';
	if(whichdis == "smlist"){
		licon = MLISTS[llkv[itemdis].toString()].icon;
		limgtitle = MLISTS[llkv[itemdis].toString()].title;
		limglink = "http://smart.fm/goals/"+MLISTS[llkv[itemdis].toString()].id;
	}else if(whichdis != "item" && whichdis != "mylist"){
		var lobj = wordset[setmatch[whichdis]];
		licon = lobj.list[lobj.llkv[lobj.dis.toString()]].icon;
		limgtitle = lobj.list[lobj.llkv[lobj.dis.toString()]].title;
		limglink = "http://smart.fm/goals/"+lobj.list[lobj.llkv[lobj.dis.toString()]].id;
	}else{
		licon = '';
	}
	if(licon == ''){
		licon = $("#base").val()+"img/vtunes-logo.jpg";
	}
	$("#limg-img").attr("src",licon);
	$("#limg-img").attr("title",limgtitle);
	if(plat != "mixi"){
		$("#limg-link").attr("href",limglink);
	}else{
		/*$("#limg-link").unbind();
		$("#limg-link").click(function(){jump(limglink);});*/
	}
	$("#limg-img").height($("#limg-img").width());
	var TWORDS = whichWord();
	FWORDS = [];
	fkv = {};
	var clength = wlength;
	if(clength > TWORDS.length){
		clength = TWORDS.length;
	}
	var aphtmls = {};
	for(i=0;i<TWORDS.length;i++){
		if(searchon == 0 || $('#wfilter').val().match('/^[s]*$/') || v[TWORDS[i]]['word'].match(wREG)){
			genre5[0].push(v[TWORDS[i]]['type']);
			genre5[1].push(v[TWORDS[i]]['word'][0].toUpperCase());
			genre5[2].push(v[TWORDS[i]]['lang']);
			genre5[3].push(v[TWORDS[i]]['rlang']);
			var iletter = v[TWORDS[i]]['word'][0].toUpperCase();
			if(v[TWORDS[i]]['itemtype'] == 'text' 	
					&&  ((gpos[0].search('All')!==false || gpos[0].search(v[TWORDS[i]]['type'])!==false) 
					 &&  (gpos[2].search('All')!==false || gpos[2].search(v[TWORDS[i]]['lang'])!==false) 
					 &&  (gpos[3].search('All')!==false || gpos[3].search(v[TWORDS[i]]['rlang'])!==false) 
					 &&  (gpos[1].search('All')!==false || gpos[1].search(iletter)!==false)
					 &&  (gpos[4] == undefined || gpos[4].search('All')!==false || (
																(gpos[4].search('0')!==false && v[TWORDS[i]]['progress'] == 0)
																|| (gpos[4].search('+100')!==false && v[TWORDS[i]]['progress'] == 100)
																|| (gpos[4].search('100')!==false && v[TWORDS[i]]['progress'] < 100 && v[TWORDS[i]]['progress'] >= 80)
																|| (gpos[4].search('80')!==false && v[TWORDS[i]]['progress'] < 80 && v[TWORDS[i]]['progress'] >= 60)
																|| (gpos[4].search('60')!==false && v[TWORDS[i]]['progress'] < 60 && v[TWORDS[i]]['progress'] >= 40)
																|| (gpos[4].search('40')!==false && v[TWORDS[i]]['progress'] < 40 && v[TWORDS[i]]['progress'] >= 20)
																|| (gpos[4].search('20')!==false && v[TWORDS[i]]['progress'] < 20 && v[TWORDS[i]]['progress'] > 0)
															)
																		   
						 )
						)
				){

				if(((page - 1) * clength) <= (pagex-1) && page * clength >= pagex){
					FWORDS.push(TWORDS[i]);
					for(j=0;j<views.length;j++){
						if(viewobj[views[j]]['on'] == true){
							if(h==0){
								aphtmls[views[j]] = "";
							}
							if(views[j] == 'exist'){
								if(v[TWORDS[i]]['exist'] == false){
									var addimg = '<span class="ajax" onclick="addToMy('+v[TWORDS[i]]['id']+',\''+listdis+'\',undefined,'+h+')"><img src="'+$('#base').val()+'img/add2.png" width="16" class="stop" /></span>';
								}else{
									var addimg = '<span class="ajax" onclick="removeFromMy('+v[TWORDS[i]]['id']+',\''+listdis+'\',undefined,'+h+')"><img src="'+$('#base').val()+'img/delete_a.png" width="16" class="stop" /></span>';
								}
								aphtmls[views[j]]+='<div class="vitems'+(h%2)+'" id="vitems-'+i+'-exist">'+addimg+'</div>';
							}else if(views[j] == 'sound'){
								var simg = '<span class="ajax" onclick="playMsound(\''+v[TWORDS[i]]['sound']+'\','+i+','+v[TWORDS[i]]['id']+')"><img src="'+$('#base').val()+'img/konqsidebar_mediaplayer.png" width="16" class="stop" /></span>';
								if(v[TWORDS[i]]['sound'] == ''){
									simg = '';
								}else{
									//jpappend +='<div id="jplayer-'+v[TWORDS[i]]['id']+'"></div>';
								}
								aphtmls[views[j]]+='<div class="vitems'+(h%2)+'" id="vitems-'+i+'-sound">'+simg+'</div>';
							}else if(views[j] == 'type'){
								aphtmls[views[j]]+='<div class="vitems'+(h%2)+' onevent" id="vitems-'+i+'-type"><span onclick="playMsound(\''+v[TWORDS[i]]['type']+'\','+i+')">'+typejp[v[TWORDS[i]]['type']]+'</span></div>';
							}else if(views[j] == 'lang' || views[j] == 'rlang'){
								aphtmls[views[j]]+='<div class="vitems'+(h%2)+' onevent" id="vitems-'+i+'-'+views[j]+'"><span onclick="playMsound(\''+v[TWORDS[i]][views[j]]+'\','+i+')">'+langs[v[TWORDS[i]][views[j]]]+'</span></div>';
								/*if(views[j] == 'lang' && langs[v[TWORDS[i]][views[j]]] == undefined){
									alert(v[TWORDS[i]][views[j]]);
								}*/
							}else if(views[j] == 'ok' || views[j] == 'oks' || views[j] == 'okr' || views[j] == 'okd'){
								var okchecked="";
								if(v[TWORDS[i]][views[j]] == 1){
									okchecked = "checked";
									nong[views[j]]++;
								}
								aphtmls[views[j]]+='<div class="vitems'+(h%2)+'" id="vitems-'+i+'-'+views[j]+'"><input type="checkbox" id="'+views[j]+'-'+v[TWORDS[i]]['id']+'" onclick="changeOk('+h+','+mmr+',\''+views[j]+'\')" '+okchecked+' /></div>';
							}else if(views[j] == 'id'){
								if(plat=="mixi"){
									aphtmls[views[j]]+='<div class="vitems'+(h%2)+' onevent" id="vitems-'+i+'-'+views[j]+'">'+v[TWORDS[i]][views[j]]+'</div>';
								}else{
									aphtmls[views[j]]+='<div class="vitems'+(h%2)+' onevent" id="vitems-'+i+'-'+views[j]+'"><a href="http://smart.fm/items/'+v[TWORDS[i]][views[j]]+'" target="_blank">'+v[TWORDS[i]][views[j]]+'</a></div>';
								}
							}else{
								aphtmls[views[j]]+='<div class="vitems'+(h%2)+' onevent" id="vitems-'+i+'-'+views[j]+'">'+v[TWORDS[i]][views[j]]+'</div>';
							}
						}
					}
					h++;
				}//pagenation
				pagex++;
			}//genre
		}//filter
	}//all
	//pagenation
	var tp = Math.floor((pagex - 1) / clength);
	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="reRender(undefined,'+t+')" class="ajax pagen">'+t+'</a> ';
		}else if(t == page - 3 || t == page + 3){
			pagenater += '<a onclick="reRender(undefined,'+t+')" class="ajax pagen">...</a> ';
		}else if(t == 1 || t == tp){
			pagenater += '<a onclick="reRender(undefined,'+t+')" class="ajax pagen">'+t+'</a> ';
		}
	}
	$("#pagenate").html(pagenater);
	//$("#jplayer").html(jpappend);
	for(var i=0;i<genre5.length;i++){
		genre5[i].unique();
	}
	drawGenre();
	for(j=0;j<views.length;j++){
		$("#nocolumn-"+views[j]).append(aphtmls[views[j]]);
		if(viewobj[views[j]]['on'] == true){
			$("#nocolumn-"+views[j]).height(FWORDS.length*$(".vitems0").outerHeight());
		}
	}
	$(".onevent").bind('contextmenu',function(e){
		var cid = e.target.id.split('-');
		for(i=0;i<selected.length;i++){
			if(selected[i] == cid[1]){
				popRight(e);
				return false;
				break;
			}
		}
	});
	$(".onevent").click(function(event){
		event.stopPropagation();
		highlight(event);
	});
	for(i=0;i<FWORDS.length;i++){
		fkv[FWORDS[i]] = i;
	}
	$("#ad").html("");
	if(plat == 'jipanglish'){
		includeAd();
	}
	l.f["drawNumbers"](FWORDS.length,TWORDS.length);
	resizeWindow();
	if(FWORDS.length == 0){
		playon = false;
		fcardon = false;
		disablePlay();
		hideFcard();
	}else{
		if(playon == false){
			enablePlay();
		}
		if(fcardon == true){
			loadFcard();
		}
	}
	dp2();
	jip2();
}
function emptyColumns(){
	jip();
	$("#v-center-titles").html("");
	$("#v-center-cont").html("");
	jip2();
}
function highlight(event){
	jip();
	var eids = event.target.id.split('-');
							if(!event.ctrlKey && !event.shiftKey){
								for(h=0;h<selected.length;h++){
									for(k=0;k<sids.length;k++){
										$("#vitems-"+selected[h]+"-"+sids[k]).removeClass('vitems2').addClass('vitems'+(h%2));
									}
								}
								selected = [];
							}
							if(event.shiftKey && selected.length >= 1){
								var shimax,shimin;
								if(eids[1]*1 >= selected[selected.length-1]*1){
									shimax = eids[1];
									shimin = selected[selected.length-1];
								}else{
									shimin = eids[1];
									shimax = selected[selected.length-1];
								}
								for(k=shimin;k<=shimax;k++){
									for(h=0;h<sids.length;h++){
										$("#vitems-"+k+"-"+sids[h]).removeClass('vitems0').removeClass('vitems1').addClass('vitems2');
									}
									selected.push(k);
								}
							}else{
								var ss = selected.search(eids[1]);
								if(event.ctrlKey && ss !== false){
									for(h=0;h<sids.length;h++){
										$("#vitems-"+selected[ss]+"-"+sids[h]).removeClass('vitems2').addClass('vitems'+(selected[ss]%2));
									}
									selected.pop2(ss);
								}else{
									for(h=0;h<sids.length;h++){
										$("#vitems-"+eids[1]+"-"+sids[h]).removeClass('vitems0').removeClass('vitems1').addClass('vitems2');
									}
									selected[selected.length] = eids[1];
								}
								
							}
							selected.unique();
	jip2();
}
function popRight(e){
	jip();
	$("#rightmenu").css({'visibility':'visible','top' : e.pageY+'px','left' : (e.pageX+20) + 'px'});
	$("#rightmenu").show('fast');
	$(document).bind("click",function(event,ui){
		$("#rightmenu").hide('slow');
	})
	jip2();
}
function popRight2(e){
	jip();
	$("#rightmenu2").css({'visibility':'visible','top' : e.pageY+'px','left' : (e.pageX+20) + 'px'});
	$("#rightmenu2").show('fast');
	$(document).bind("click",function(event,ui){
		$("#rightmenu2").hide('slow');
	})
	jip2();
}
function renderMLists(whichL){
	jip();
	var TLISTS;
	var ap;
	var ico;
	if(whichL == 'smart'){
		TLISTS = MLISTS;
		 ap = 'smlist';
		 ico="img/media_smart.png";
	}else if(whichL == 'my'){
		TLISTS = OLISTS;
		 ap = 'mylist';
		 ico="img/book_edit.png";
	}else if(whichL == 'basic'){
		TLISTS = wordset[wsp].list;
		 ap = wordset[wsp].lang+'-'+wordset[wsp].rlang;
		 ico="img/media_smart.png";
	}
	var fimg = "img/folder_closed.png";
	$("#"+ap+"-sq").html('');
	if(whichL == 'my'){
		$("#addlists").html('');
		$("#addlists2").html('');
	}
	//if(whichL == 'basic'){
		var app= '';
		var cno = 0;
		var fno = 0;
		var cno2 = 0;
		var story = 0;
		bleftopen = [];
		for(i=0;i<TLISTS.length;i++){
			if(TLISTS[i]['id']==0){
				fno++;
				bleftopen[fno] = 0;
				cno2 =0;
				story++;
				cno = TLISTS[i]['children'];
				if(fno != 1){
					var ultag = "</ul>";
				}else{
					var ultag = "";	
				}
				app+=ultag+'<li class="leftitem folder" id="'+ap+'-folder-'+fno+'"><img id="'+ap+'-img-'+fno+'" src="'+$('#base').val()+''+fimg+'" width="14" /> '+es(TLISTS[i]['title'])+'</li><ul id="'+ap+'-sq-'+fno+'" class="ulpad">';
			}else{
				cno2++;
				app+='<li class="leftitem" id="'+ap+'-'+TLISTS[i]['id']+'"><img src="'+$('#base').val()+''+ico+'" width="14" /> '+es(TLISTS[i]['title'])+'</li>';
				if(cno2 == cno){
					//app+='</ul>';
					story--;
				}
			}
			if(whichL == 'my'){
				$("#addlists").append('<div class="rmitem"><img src="'+$('#base').val()+'img/book_edit.png" width="12" /> <span class="rmlist" onclick="addToMyList(\''+TLISTS[i]['id']+'\')">'+es(TLISTS[i]['title'])+'</span></div>');
				$("#addlists2").append('<div id="r-list-'+TLISTS[i]['id']+'" class="rmitem2"><img src="'+$('#base').val()+'img/book_edit.png" width="12" /> <span class="rmlist" onclick="addToMyList2(\''+TLISTS[i]['id']+'\')">'+es(TLISTS[i]['title'])+'</span></div>');
			}
		}
		$("#"+ap+"-sq").append(app);
	/*}else{
		for(i=0;i<TLISTS.length;i++){
			$("#"+ap+"-sq").append('<li class="leftitem" id="'+ap+'-'+TLISTS[i]['id']+'"><img src="'+$('#base').val()+''+ico+'" width="14" /> '+TLISTS[i]['title']+'</li>');
			
		}
	}*/
	if(whichL == 'basic'){
		if(wsp == wordset.length-1){
			wsp = 0;
			attachLeftEvent();
			$('#rightmenu').click(function(event, ui) {
				event.stopPropagation();
			});
		}else{
			wsp++;
			renderMLists('basic');
		}
		
	}else if(whichL == 'my'){
		renderMLists('basic');
	}
	jip2();
}
function es(st){
	if(st){
	return st.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
	}
}
function saveRequire(){
	jip();
	savereq = true;
	$('#savemenu').css({color:'red'});
	jip2();
}

function attachLeftEvent(){
	jip();
	$('.folder,.leftitem,.leftitem2,.leftitem>*,.leftitem2>*').unbind();
	$('.folder ~ ul').hide('fast');
	$('.folder').click(function(event, ui) {
		event.stopPropagation();
		var tempid = event.target.id.split("-");
		var tlen = tempid.length;
		var tid = '';//sectionid
		var tflag = tempid[tempid.length-1];//listid
		for(var h=0;h<tlen-2;h++){
			if(h!=0){
				tid += "-";
			}
			tid+=tempid[h];
		}
		if(wordset[setmatch[tid]].open[tflag] == 1){
			$("#"+tid+'-img-'+tflag).attr('src',$('#base').val()+'img/folder_closed.png');
			$("#"+tid+'-sq-'+tflag).hide('slow');
			wordset[setmatch[tid]].open[tflag] = 0;
		}else{
			$("#"+tid+'-img-'+tflag).attr('src',$('#base').val()+'img/folder_open.png');
			$("#"+tid+'-sq-'+tflag).show('slow');
			wordset[setmatch[tid]].open[tflag] = 1;
		}
	});
	$('.leftitem:not(.folder),.leftitem2:not(.folder),.leftitem:not(.folder)>*,.leftitem2:not(.folder)>*').click(function(event, ui) {
		event.stopPropagation();
		var tempid = event.target.id.split("-");
		var tid = '';//sectionid
		var tflag = tempid[tempid.length-1];//listid
		switch(tflag){
			case 'myitems2':tflag = 'myitems';break;
			case 'smartitems2':tflag = 'smartitems';break;
		}
		for(var i=0;i<tempid.length-1;i++){
			if(i!=0){
				tid += "-";
			}
			tid+=tempid[i];
		}
		if($(event.target).hasClass('leftitem')||$(event.target.parentNode).hasClass('leftitem')){
			$('.leftitem2,.leftitem2>*').unbind('contextmenu');
			var reg = new RegExp("%","g");
			dp();
			switch(whichdis){
				case 'item':
					$('#item-'+listdis).removeClass('leftitem2').addClass('leftitem');
					break;
				case 'smlist':
					$('#smlist-'+itemdis).removeClass('leftitem2').addClass('leftitem');
					break;
				case 'mylist':
					$('#mylist-'+$.escape(olistdis).replace(reg,'\\%')).removeClass('leftitem2').addClass('leftitem');
					break;
				default:$('#'+whichdis+'-'+$.escape(wordset[setmatch[whichdis]].dis).replace(reg,'\\%')).removeClass('leftitem2').addClass('leftitem');
				break;
			}
			$('#'+tid+'-'+$.escape(tflag).replace(reg,'\\%')).removeClass('leftitem').addClass('leftitem2');
			whichdis = tid;
			if(tid == 'item'){
				listdis = tflag;
				reRender(true);
			}else if(tid == 'smlist'){	
				itemdis = tflag;
				if(listexist[tflag] != undefined){
					sortItems(axitem,true)
				}else{
					getListItems(tflag);
					listexist[tid] = true;
				}
			}else if(tid == 'mylist'){
				olistdis = tflag;
				if(olistexist[tflag] != undefined){
					sortItems(axitem,true)
				}else{
					getOListItems(tflag);
					olistexist[tflag] = true;
				}
			}else{
				wordset[setmatch[tid]].dis = tflag;
				if(wordset[setmatch[tid]].exist[tflag] != undefined){
					sortItems(axitem,true)
				}else{
					getListItems(tflag,'basic',tid);
					wordset[setmatch[tid]].exist[tflag] = true;
				}
			}
			$('.leftitem2,.leftitem2>*').bind('contextmenu',function(e){
					popRight2(e);
					return false;
			});
			//menuアイテム調整
			mAdjust(tempid[0],tempid[1]);
		}
	});
	mAdjust();
	$('.leftitem2,.leftitem2>*').bind('contextmenu',function(e){
			popRight2(e);
			return false;
	});
	$('.lefttitle,.leftitem>*').unbind();
	$('.lefttitle,.leftitem>*').click(function(event){
		event.stopPropagation();
		var tempid = event.target.id.split("-");
		var tid = '';//sectionid
		var tflag = tempid[0];//listid
		for(var i=0;i<tempid.length;i++){
			if(i>1){
				tid += "-";
			}
			if(i!=0){
				tid+=tempid[i];
			}
		}
		if(leftopen[tid] == 1){
			$('#'+tid+'-arrow').attr('src',$('#base').val()+'img/folder_closed.png');
			$('#'+tid+'-sq').hide('slow');
			leftopen[tid] = 0;
		}else{
			$('#'+tid+'-arrow').attr('src',$('#base').val()+'img/folder_open.png');
			$('#'+tid+'-sq').show('slow');
			leftopen[tid] = 1;
		}
	});
	closePresets();
	dp2();
	jip2();
}
function closePresets(){
	for(var i=0;i<wordset.length;i++){
		var wsid = wordset[i].lang+'-'+wordset[i].rlang;
		$("#"+wsid+'-sq').hide();
		$("#"+wsid+'-sq > ul').hide();
		leftopen[wsid] = 0;
		for(var j=0;j<wordset[i].open.length;j++){
			wordset[i].open[j] = 0;
		}
	}
}
function mAdjust(kind,lid){
	jip();
	$(".rmitem2").show();
	if(kind == undefined || kind == "mylist" || (kind == "item" && listdis == 'myitems')){
		$("#r-my").hide();
	}else{
		if(kind == "mylist"){
			$("#r-list-"+$.escape(lid)).hide();
		}
	}
	if(kind != "mylist"){
		$("#r-delete").hide();
	}
	jip2();
}
function sortWordDescend(a,b){ return v[a].word.toLowerCase() > v[b].word.toLowerCase() ? 1 : -1;}
function sortWordAscend(a,b){ return v[a].word.toLowerCase() < v[b].word.toLowerCase() ? 1 : -1;}
function sortMeanDescend(a,b){ return v[a].mean.toLowerCase() > v[b].mean.toLowerCase() ? 1 : -1;}
function sortMeanAscend(a,b){ return v[a].mean.toLowerCase() < v[b].mean.toLowerCase() ? 1 : -1;}
function sortTypeDescend(a,b){ return v[a].type.toLowerCase() > v[b].type.toLowerCase() ? 1 : -1;}
function sortTypeAscend(a,b){ return v[a].type.toLowerCase() < v[b].type.toLowerCase() ? 1 : -1;}
function sortLangDescend(a,b){ return v[a].lang.toLowerCase() > v[b].lang.toLowerCase() ? 1 : -1;}
function sortLangAscend(a,b){ return v[a].lang.toLowerCase() < v[b].lang.toLowerCase() ? 1 : -1;}
function sortRLangDescend(a,b){ return v[a].rlang.toLowerCase() > v[b].rlang.toLowerCase() ? 1 : -1;}
function sortRLangAscend(a,b){ return v[a].rlang.toLowerCase() < v[b].rlang.toLowerCase() ? 1 : -1;}
function sortProgDescend(a,b){ return v[a].progress*1 > v[b].progress*1 ? 1 : -1;}
function sortProgAscend(a,b){ return v[a].progress*1 < v[b].progress*1 ? 1 : -1;}
function sortLevelDescend(a,b){ return v[a].wlevel > v[b].wlevel ? 1 : -1;}
function sortLevelAscend(a,b){ return v[a].wlevel < v[b].wlevel ? 1 : -1;}
function sortOkDescend(a,b){ return v[a].ok > v[b].ok ? 1 : -1;}
function sortOkAscend(a,b){ return v[a].ok < v[b].ok ? 1 : -1;}
function sortOkSDescend(a,b){ return v[a].oks > v[b].oks ? 1 : -1;}
function sortOkSAscend(a,b){ return v[a].oks < v[b].oks ? 1 : -1;}
function sortOkRDescend(a,b){ return v[a].okr > v[b].okr ? 1 : -1;}
function sortOkRAscend(a,b){ return v[a].okr < v[b].okr ? 1 : -1;}
function sortOkDDescend(a,b){ return v[a].okd > v[b].okd ? 1 : -1;}
function sortOkDAscend(a,b){ return v[a].okd < v[b].okd ? 1 : -1;}
function sortIdDescend(a,b){ return v[a].id*1 > v[b].id*1 ? 1 : -1;}
function sortIdAscend(a,b){ return v[a].id*1 < v[b].id*1 ? 1 : -1;}
function sortExistDescend(a,b){ return v[a].exist > v[b].exist ? 1 : -1;}
function sortExistAscend(a,b){ return v[a].exist < v[b].exist ? 1 : -1;}
function sortItems(HOW,stay){
	jip("blue",["whichdis","blistdis"]);
	dp();
	var TWORDS = whichWord();
	if(axitem == HOW){
		if(stay != true){
			if(updown == 1){
				updown = 0;
			}else{
				updown = 1;
			}
		}
	}else{
		updown = 1;
		axitem = HOW;
	}
	if(updown == 1){
		switch(HOW){
			case 'word':TWORDS.sort(sortWordDescend);wordOrder=1;break;
			case 'mean':TWORDS.sort(sortMeanDescend);wordOrder=3;break;
			case 'type':TWORDS.sort(sortTypeDescend);wordOrder=5;break;
			case 'progress':TWORDS.sort(sortProgDescend);wordOrder=7;break;
			case 'level':TWORDS.sort(sortLevelDescend);wordOrder=9;break;
			case 'ok':TWORDS.sort(sortOkDescend);wordOrder=11;break;
			case 'id':TWORDS.sort(sortIdDescend);wordOrder=13;break;
			case 'lang':TWORDS.sort(sortLangDescend);wordOrder=15;break;
			case 'rlang':TWORDS.sort(sortRLangDescend);wordOrder=17;break;
			case 'exist':TWORDS.sort(sortExistDescend);wordOrder=19;break;
			case 'oks':TWORDS.sort(sortOkSDescend);wordOrder=21;break;
			case 'okr':TWORDS.sort(sortOkRDescend);wordOrder=23;break;
			case 'okd':TWORDS.sort(sortOkDDescend);wordOrder=25;break;
		}
	}else{
		switch(HOW){
			case 'word':TWORDS.sort(sortWordAscend);wordOrder=2;break;
			case 'mean':TWORDS.sort(sortMeanAscend);wordOrder=4;break;
			case 'type':TWORDS.sort(sortTypeAscend);wordOrder=6;break;
			case 'progress':TWORDS.sort(sortProgAscend);wordOrder=8;break;
			case 'level':TWORDS.sort(sortLevelAscend);wordOrder=10;break;
			case 'ok':TWORDS.sort(sortOkAscend);wordOrder=12;break;
			case 'id':TWORDS.sort(sortIdAscend);wordOrder=14;break;
			case 'lang':TWORDS.sort(sortLangAscend);wordOrder=16;break;
			case 'rlang':TWORDS.sort(sortRLangAscend);wordOrder=18;break;
			case 'exist':TWORDS.sort(sortExistAscend);wordOrder=20;break;
			case 'oks':TWORDS.sort(sortOkSAscend);wordOrder=22;break;
			case 'okr':TWORDS.sort(sortOkRAscend);wordOrder=24;break;
			case 'okd':TWORDS.sort(sortOkDAscend);wordOrder=26;break;
		}
		
	}
	makeKV();
	reRender();
	if(mmr != 2){
		if(FWORDS.length != 0){
			pointer = 0;
			showFword(0);
		}
	}
	dp2();
	jip2();
}

function whichWord(testdis,lid){
	jip();
	var TWORDS;
	if(testdis == undefined){
		if(whichdis == "item"){
			testdis = listdis;
		}else if(whichdis == "smlist"){
			testdis = "smlist";
		}else if(whichdis == "mylist"){
			testdis = "mylist";
		}else{
			testdis = whichdis;
		}
	}
	if(lid == undefined){
		if(whichdis == "smlist"){
			lid = itemdis;
		}else if(whichdis == "mylist"){
			lid = olistdis;
		}else if(whichdis != "item"){
			lid = wordset[setmatch[testdis]].dis;
		}
	}
	switch(testdis){
		case 'myitems':TWORDS=OWORDS;break;
		case 'smartitems':TWORDS=MWORDS;break;
		case 'smlist':TWORDS=LWORDS[lid];break;
		case 'mylist':TWORDS=OLWORDS[lid];break;
		default: TWORDS=wordset[setmatch[testdis]].word[lid];break;
	}
	jip2();
	return TWORDS;
}
function makeLKV(which,bid){
	jip();
	var TWORDS2;
	if(which == 'smlist'){
		llkv = {};
		TWORDS2 = MLISTS;
	}else if(which == 'basic'){
		wordset[setmatch[bid]].llkv = {};
		TWORDS2 = wordset[setmatch[bid]].list;
	}
	for(i=0;i<TWORDS2.length;i++){
		if(which == 'smlist'){
			llkv[TWORDS2[i].id] = i;
		}else if(which == 'basic'){
			wordset[setmatch[bid]].llkv[TWORDS2[i].id] = i;
		}
	}
	jip2();
}

function makeKV(which,lid){
	jip();
	if(which == undefined){
		if(whichdis == 'item'){
			which = listdis;
		}else{
			which = whichdis;	
		}
	}
	if(lid == undefined){
		if(whichdis == 'smlist'){
			lid = itemdis;
		}else if(whichdis == 'mylist'){
			lid = olistdis;
		}else if(whichdis != 'item'){
			lid = wordset[setmatch[whichdis]].dis;
		}
	}
	if(which == "smartitems"){
		mkv = {};
	}else if(which == "myitems"){
		okv = {};
	}else if(which == "smlist"){
		lkv[lid] = {};
	}else if(which == "mylist"){
		olkv[lid] = {};
	}else{
		wordset[setmatch[which]].kv[lid] = {};
	}
	var TWORDS = whichWord(which,lid);
	for(i=0;i<TWORDS.length;i++){
		if(which == 'smartitems'){
			mkv[TWORDS[i]] = i;
		}else if(which == 'myitems'){
			okv[TWORDS[i]] = i;
		}else if(which == "smlist"){
			lkv[lid][TWORDS[i]] = i;
		}else if(which == "mylist"){
			olkv[lid][TWORDS[i]] = i;
		}else{
			wordset[setmatch[which]].kv[lid][TWORDS[i]] = i;
		}
	}
	jip2();
}

function whichKV(){
	jip();
	var xkv,which,lid;
	if(whichdis == 'item'){
		which = listdis;
	}else{
		which = whichdis;
	}
	if(whichdis == 'smlist'){
		lid = itemdis;
	}else if(whichdis == 'mylist'){
		lid = olistdis;
	}else if(whichdis != 'item'){
		lid = wordset[setmatch[which]].dis;
	}
	if(which == "smartitems"){
		xkv = mkv;
	}else if(which == "myitems"){
		xkv = okv;
	}else if(which == "smlist"){
		xkv = lkv[lid];
	}else if(which == "mylist"){
		xkv = olkv[lid];
	}else{
		xkv = wordset[setmatch[which]].kv[lid];
	}
	jip2();
	return xkv;
}

soundReady = {};
function playMsound(URL,NUM,ID){
	jip();
	$('#vitems-'+NUM+'-sound').html('<a class="ajax"><object width="17" height="12"><param name="src" value="'+URL+'"><param name="autostart" value=true><param name="repeat" value=false><param name="loop" value=false><embed src="'+URL+'" width=17 height=12 autostart=true repeat=false loop=false></embed></object></a>');
	/*
	if(soundReady[ID]){
		$('#jplayer-'+ID).jPlayer("play");
	}else{
		$('#jplayer-'+ID).jPlayer( {
		    ready: function () {
		      this.element.jPlayer("setFile", URL);
		      this.play();// Defines the mp3
		      soundReady[ID.toString()] = true;
		    }
		  });
	}*/
	jip2();
}

function drawGenre(){
	jip();
	$('#gboxtitles').html('');
	genreUnited();
	var gtext = '';
	for(j=0;j<genre3.length;j++){
		gtext = '';
		for(i=0;i<genre3[j].length;i++){
			var barcolor = "gitem";
			var gscript = genre3[j][i];
			if(j!=1){
				gscript = genre4[j][genre3[j][i]];
			}
			gtext += '<div class="'+barcolor+' g-'+genreId[j]+'" id="gitem-'+genreId[j]+'-'+i+'">'+gscript+'</div>';
		}
		$('#gb'+genreId[j]).html(gtext);
		$('#gboxtitles').append('<div class="gbtitle">'+genreId2[j]+'</div>');
	}
	gReHighlight();
	$('.gitem,.gitem2').click(function(event){								   
		gHighlight(event);
	});
	jip2();
}
function genreUnited(){
	genre3 = genre5;
	for(var i=0;i<genre3.length;i++){
			genre3[i].unshift('All');
	}
	for(var i=0;i<gpos.length;i++){
		var pops = [];
		for(var j=0;j<gpos[i].length;j++){
			var exist = false;
			for(var z=0;z<genre3[i].length;z++){
				if(gpos[i][j] == genre3[i][z]){
					exist = true;
				}
			}
			if(exist == false){
				pops.push(j);
			}
		}
		//gpos[i].intersect(genre3[i]);
		gpos[i].pop2(pops);
		gselected[i].pop2(pops);
	}
}
function gReHighlight(){
	for(var i=0;i<gselected.length;i++){
		var gexist = false;
		for(var j=0;j<gselected[i].length;j++){
			if(genre3[i].search(gpos[i][j]) !== false){
				gexist = true;
			}
			$('#gitem-'+genreId[i]+'-'+gselected[i][j]).removeClass('gitem').addClass('gitem2');
		}
		if(gexist == false){
			gselected[i].push(0);
			gpos[i].push('All');
			$('#gitem-'+genreId[i]+'-0').removeClass('gitem').addClass('gitem2');
		}
	}
}
function gHighlight(event){
	jip();
	var eids = event.target.id.split('-');
	var j = gmatch[eids[1]];
							if(!event.ctrlKey && !event.shiftKey){
								for(h=0;h<gpos[j].length;h++){
									$(".g-"+eids[1]).removeClass('gitem2').addClass('gitem');
								}
								gpos[j] = [];
								gselected[j] = [];
							}
							if(event.shiftKey && gpos[j].length >= 1){
								var shimax,shimin;
								if(eids[2]*1 >= gselected[j][gselected[j].length-1]*1){
									shimax = eids[2];
									shimin = gselected[j][gselected[j].length-1];
								}else{
									shimin = eids[2];
									shimax = gselected[j][gselected[j].length-1];
								}
								for(k=shimin;k<=shimax;k++){
									$("#gitem-"+eids[1]+'-'+k).removeClass('gitem').addClass('gitem2');
									gpos[j].push(genre3[j][k]);
									gselected[j].push(k);
								}
							}else{
								var ss = gselected[j].search(eids[2]);
								if(gselected[j].length > 1 && event.ctrlKey && ss !== false){
									$("#gitem-"+eids[1]+'-'+gselected[j][ss]).removeClass('gitem2').addClass('gitem');
									gselected[j].pop2(ss);
								}else{
									$("#gitem-"+eids[1]+'-'+eids[2]).removeClass('gitem').addClass('gitem2');
									gpos[j].push(genre3[j][eids[2]]);
									gselected[j].push(eids[2]);
								}
							}
							gpos[j].unique();
							reRender();
							jip2();
}
/*
function gItem(gi,gnum){
	jip();
	gpos[gnum] = [];
	gpos[gnum].push(gi);
	$("#gitem-"+genreId[gnum]+'-'+gi.replace(/ /g,"-")).removeClass("gitem").addClass("gitem2");
	for(i=0;i<genres[gnum].length;i++){
		if(gi != genres[gnum][i]){
			$("#gitem-"+genreId[gnum]+'-'+genres[gnum][i].replace(/ /g,"-")).removeClass("gitem2").addClass("gitem");
		}
	}
	reRender();
	jip2();
}*/
function drawPlus(){
	jip("pink");
	emptyColumns();
	for(i=0;i<views.length;i++){
		if(viewobj[views[i]].on == true){
			plus(views[i]);
		}
	}
	jip2();
}

function plus(Cont){
	jip();
	nocolumn++;
	$("#v-center-cont").append('<li class="vcolumn" id="nocolumn-'+Cont+'"></li>');
	$("#v-center-titles").append('<li class="columntop" id="columntop-'+Cont+'" onclick="sortItems(\''+Cont+'\')">'+viewobj[Cont]['title']+'</li>');
	$("#nocolumn-"+Cont).width(viewobj[Cont]['width']);
	$("#columntop-"+Cont).width(viewobj[Cont]['width'] - 4);
	
	$('#nocolumn-'+Cont).resizable({handles: 'e', animate : true});
	$('#nocolumn-'+Cont).height(FWORDS.length*20);
	$('#nocolumn-'+Cont).bind('resize', function(event, ui) {
		var target = event.target.id.split("-");
		if(ui){
			viewobj[Cont]['width'] = ui.size.width;
			$("#columntop-"+Cont).width(viewobj[Cont]['width'] - colieadjust2);
			adjustArrow();
		}
	})
	$("#v-center-titles").sortable('refresh');
	if(Cont == axitem){
		adjustArrow(Cont);
	}
	jip2();
}
function drawPresetTitles(){
	for(var i=0;i<wordset.length;i++){
		var wsid = wordset[i].lang+'-'+wordset[i].rlang;
		$("ltitle-"+wsid).html('<img src="'+$('#base').val()+'img/lang-flags/'+wordset[i].lang+'.png" /> '+langs[wordset[i].lang]+' ⇒ <img src="'+$('#base').val()+'img/lang-flags/'+wordset[i].rlang+'.png" /> '+langs[wordset[i].rlang]);
	}
}