function editScript3(){
	$('wwwarea').innerHTML = precom;
	downb(2);
}

function editScript2(){
	new Ajax.Updater(
		'wwwarea',
		'php/editScript2.php',
		{
			method : 'post',
			parameters : Form.serialize('comedit'),
			onFailure : function(roj){
			alert(roj.responseText);
			},
			onComplete : function(roj){
				precom = $('wwwarea').innerHTML;
				if(subon == 1){
					overrapSubs();
				}
				downb(2);
			}
		}
	);
}

function backtoEnglishScript(){
	$('wwwarea').innerHTML = eScript;
	$('tschange').innerHTML = '<a class="ajax white" onclick="translateScript()"><img src="img/jp.png"> 翻訳</a>';
}

function translateScript(){
	var gno = 0;
	var tsno = 0;
	var lang = 0;
	var scripts2 = [];
	eScript = $('wwwarea').innerHTML;
	$('wwwarea').innerHTML = '<div align="center" id="topwarning"><span class="red strong">スクリプトを翻訳中です...</span><br /><img src="img/loading.gif" /></div><div id="scriptline" class="pad line"></div>';
	var parameter = $H({precom : precom}).toQueryString();
	new Ajax.Request(
		'php/translateScript.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				var scripts = roj.responseText.split(" ");
				var tlen = 0;
				var tscripts = "";
				for(var i=0;i<scripts.length;i++){
					tlen += scripts[i].length;
					if(tlen > 300 || i == scripts.length - 1){
						tlen = scripts[i].length;
						scripts2[tsno] = tscripts;
						tscripts = scripts[i] + " ";
						tsno++;
					}else{
						tscripts += scripts[i] + " ";
					}
				}
				google.language.detect(scripts2[0], function(result) {
					if (!result.error) {
						lang = result.language;
						for (l in google.language.Languages) {
					  		if (google.language.Languages[l] == result.language) {
								var lang2 = l;
								break;
					  		}
						}
						googleTranslate();
					}else{
						alert('翻訳に失敗しました。'); 
					}
				});
			}
		}
	);
	function googleTranslate(){
		google.language.translate(scripts2[gno], lang, "ja", function(result) {
			if (!result.error) {
				$('scriptline').innerHTML += result.translation;
				gno++;
				if(gno < tsno){
					googleTranslate(scripts2[gno]);
				}else{
					$('topwarning').innerHTML = '<span class="red strong">このスクリプトはGoogleの技術を利用して自動翻訳したものです。<br />学習用の日本語訳として信頼性の高いものではないことをご了承下さい。</span>';
					$('tschange').innerHTML = '<a class="ajax white" onclick="backtoEnglishScript()"><img src="img/spellcheck.png"> 英文に戻る</a>';
					downb(2);
				}
			}else{
				alert('翻訳に失敗しました。');  
			}
		});
	}
}


function editScript(){
	var parameter = $H({precom : precom}).toQueryString();
	new Ajax.Updater(
		'wwwarea',
		'php/editScript.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				downb(2);	
			}
		}
	);
}

function displayLyric(ID,VART,VTIT){
	if(!VART || !VTIT){
		showDialog('このビデオの歌詞は現在検索できません');
	}else{
		$('vscriptarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">歌詞を検索中です...</span><br /><img src="img/loading.gif" /></div></div></div></div><br /></div>';
		var parameter = $H({title : VTIT,artist : VART,id : ID}).toQueryString();
		new Ajax.Updater(
			'vscriptarea2',
			'php/getLyric.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					showDialog('このビデオの歌詞は現在検索できません');
					$('vscriptarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">このビデオの歌詞は現在検索できません</div></div></div></div><br /></div>';
				},
				onComplete : function(roj){
					$('linfoimg').src = "img/bpin"+lyricpin+".png";
					$('winfo').innerHTML = '';
					$('learnable').innerHTML = '';
				}
			}
		);
	}
}

function getLyric(ID,VART,VTIT,from){
	if(!VART || !VTIT){
		if(from != 1){
			showDialog('このビデオの歌詞は現在検索できません');
		}
	}else{
		if(ocflag['vscript'] == 1 && lyricpin == 0 && from != 1){
			$('vscriptarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">歌詞を検索中です...</span><br /><img src="img/loading.gif" /></div></div></div></div><br /></div>';
		}
		var parameter = $H({title : VTIT,artist : VART,id : ID}).toQueryString();
		var handleSuccess = function(o){
			if(lyricpin == 0 && from != 1){
				$('vscriptarea2').innerHTML = o.responseText;
				precom = $('wwwarea').innerHTML;
				var found = $('winfo').innerHTML.split('&amp;');
				$('winfo').innerHTML = '';
				if(subon == 1){
					overrapSubs();
				}
			}else{
				$('lyricstore').innerHTML = o.responseText;
				precom = $('wwwarea').innerHTML;
				var found = $('winfo').innerHTML.split('&amp;');
				$('lyricstore').innerHTML ='';
			}
			
			if(ocflag['vscript'] == 0 && from != 1){
				closeBox('vscript');
			}
			if((listpin == 0 && (playlistid[nplaying] == undefined || playlistid[nplaying] == '')) || from == 1){
				if(found[1] != 1 && found[2] != 1){
					noerror = errors.length;
					errors[noerror] = 0;
					callExtraction(ID,VART,VTIT,found[0],found[1],found[2]);
				}else{
					showDialog('現在このビデオの学習可能アイテムは抽出できません');
					$('ltarea').innerHTML = '';
					RWORDS = Array();
					NRW = 0;
					renderWordList(1);
				}
			}
		}
		var handleFailure2 = function(){
			if(lyricpin == 0 && from != 1){
				showDialog('このビデオの歌詞は現在検索できません');
				$('vscriptarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">このビデオの歌詞は現在検索できません</div></div></div></div><br /></div>';
			}
		}
		var callback =
		{
		  success: handleSuccess,
		  failure: handleFailure2,
		  timeout: 1000*60*3
		};
		var request = YAHOO.util.Connect.asyncRequest('POST', 'php/getLyric.php', callback, parameter);
	}
}
function getLyric2(ID,VART,VTIT){
	if(!VART || !VTIT){
		showDialog('このビデオの歌詞は現在検索できません');
	}else{
		$('kashititle').innerHTML = splashSlashes(VTIT)+'　<span class="size10">by '+splashSlashes(VART)+'</span>';
		$('vscriptarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">歌詞を検索中です...</span><br /><img src="img/loading.gif" /></div></div></div></div><br /></div>';
		var parameter = $H({title : VTIT,artist : VART,id : ID}).toQueryString();
		var handleSuccess = function(o){
				$('vscriptarea2').innerHTML = o.responseText;
				precom = $('wwwarea').innerHTML;
				var found = $('winfo').innerHTML.split('&amp;');
				$('winfo').innerHTML = '';
				if(subon == 1){
					overrapSubs();
				}
		}
		var handleFailure2 = function(){
			if(lyricpin == 0){
				showDialog('このビデオの歌詞は現在検索できません');
				$('vscriptarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">このビデオの歌詞は現在検索できません</div></div></div></div><br /></div>';
			}
		}
		var callback =
		{
		  success: handleSuccess,
		  failure: handleFailure2,
		  timeout: 1000*60*3
		};
		var request = YAHOO.util.Connect.asyncRequest('POST', 'php/getLyric.php', callback, parameter);
	}
}
var errors = new Array();
var noerror = 0;
function callExtraction(ID,VART,VTIT,fnotvalid,fnotvalid2,notfound,NEWNO){
	if(NEWNO == undefined){
		NEWNO = 1;
	}
	if(!VART || !VTIT){
		showDialog('現在このビデオの学習可能アイテムは抽出できません');
		$('ltarea').innerHTML = '';
		RWORDS = Array();
		NRW = 0;
		renderWordList(1);
	}else{
		$('ltarea').innerHTML = '<div class="sbox2_top"><div class="sbox2_bottom"><div class="sbox2"><div align="center"><span class="red strong">語句リストを更新中...</span><br /><img src="img/loading.gif" width="150" /></div></div></div></div>';
		var parameter = $H({title : VTIT,artist : VART,id : ID,fnotvalid : fnotvalid, fnotvalid2 : fnotvalid2, notfound : notfound,precom : precom,newno :NEWNO}).toQueryString();
		var handleSuccess = function(o){
			if(o.responseText == "" || o.responseText == "error"){
				errors[noerror]++;
				if(errors[noerror] < 3){
					callExtraction(ID,VART,VTIT,fnotvalid,fnotvalid2,notfound,NEWNO);
				}else{
					showDialog('現在このビデオの学習可能アイテムは抽出できません');
					$('ltarea').innerHTML = '';
				}
			}else if(errors.length == noerror+1){
				$('ltarea').innerHTML = '<div class="sbox2_top"><div class="sbox2_bottom"><div class="sbox2"><div class="strong size12"><img src="img/application_view_list.png" /> <span class="blue">'+my.decAll(VTIT)+'</span> <span class="size10 black">by</span> <span class="blue">'+my.decAll(VART)+'</span></div><div class="red size10"><a href="http://smart.fm" target="_blank"><img src="img/iknowinfo.png" height="14" /></a> の技術によって自動抽出されたリストです。</div></div></div></div>';
			}
			ROJ = o.responseText.split('&');
			var IDS = Array();
			if(NEWNO == 1){
				RWORDS = Array();
				var alr = 0;
			}else{
				var alr = RWORDS.length;	
			}
			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+alr] = Array();
					}
					switch(i){
						case 0:RWORDS[j+alr]['id'] = IDS[i][j];break;
						case 1:RWORDS[j+alr]['word'] = IDS[i][j];break;
						case 2:RWORDS[j+alr]['mean'] = IDS[i][j];break;
						case 3:RWORDS[j+alr]['type'] = IDS[i][j];break;
						case 4:RWORDS[j+alr]['sound'] = IDS[i][j];break;
						case 5:RWORDS[j+alr]['lang'] = IDS[i][j];break;
						case 6:RWORDS[j+alr]['rlang'] = IDS[i][j];break;
					}
				}
			}
				
			if(ROJ[0].match(/^more/)){
				NEWNO++;
				callExtraction(ID,VART,VTIT,fnotvalid,fnotvalid2,notfound,NEWNO);
			}
				NRW = RWORDS.length;
				listtitle = VTIT+" by "+VART;
				listauthor = "";
				renderWordList(1);	
			
		}
		var handleFailure2 = function(){
			showDialog('このビデオの学習可能アイテムは抽出できません');
			$('ltarea').innerHTML = '';
			RWORDS = Array();
			renderWordList(1);
		}
		var callback =
		{
		  success: handleSuccess,
		  failure: handleFailure2,
		  timeout: 1000*60*3
		};
		var request = YAHOO.util.Connect.asyncRequest('POST', 'php/callExtraction.php', callback, parameter);
	}
}
function loadList2(LID){
	if(LID == undefined){
		LID = playlistid[nplaying];
	}
	var parameter = $H({lid : LID}).toQueryString();
	new Ajax.Request(
		'php/loadList.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				ROJ = roj.responseText.split('&amp;');
				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];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;
						}
					}
					if(i == 7){
						var listtitle = IDS[7][0];
						var listauthor = IDS[7][1];
					}
				}
				forcelist = 0;
				NRW = RWORDS.length;
				renderWordList(1);
				$('ltarea').innerHTML = '<div class="sbox2_top"><div class="sbox2_bottom"><div class="sbox2"><div class="strong size12"><img src="img/application_view_list.png" /> <a class="ajax" href="http://www.smart.fm/list/'+LID+'" target="_blank"/>'+listtitle+'</a></div><div align="right" class="size10">リスト作成者：<a href="http://www.smart.fm/users/'+listauthor+'" target="_blank">'+listauthor+'</a></div></div></div></div>';
			}
		}
	);
}

function playVideo(ID,ART,TIT,LID){
	LART = ART;
	LTIT = TIT;
	var parameter = $H({id : ID,artist : ART,song :TIT}).toQueryString();
	new Ajax.Updater(
		'vinfoarea2',
		'php/playVideo.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				NPLAY = ID;
				$('tubetitle').innerHTML = '';
				$('rvid').value = ID;
				if(ART == "" || TIT == ""){
					ART = $('vidart').value;
					TIT = $('vidsong').value;
				}
				gotonext = 0;
				miniplay(ID,$('vidtit').value,ART,TIT,LID);
				if(ocflag['vinfo'] == 0){
					occont['vinfo'] = $('vinfoarea2').innerHTML;
					$('vinfoarea2').innerHTML = "";
				}
			}
		}
	);
}

function getVideoInfo(ID){
	var parameter = $H({id : ID}).toQueryString();
	new Ajax.Updater(
		'vinfoarea2',
		'php/playVideo.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				$('tubetitle').innerHTML = '';
				$('rvid').value = ID;
				ocflag['vinfo'] = 1;
				$('vinfodoor').innerHTML = '<a class="ajax" onclick="closeBox(\'vinfo\')"><img src="img/delete_a.png" /></a>';
			}
		}
	);
}

function getVideoInfo2(){
	if(ocflag['vinfo'] == 1){
		getVideoInfo(playing[nplaying]);
	}else{
		$('vinfodoor').innerHTML = '<a class="ajax" onclick="getVideoInfo(\''+playing[nplaying]+'\')"><img src="img/door_in.png" /></a>';
	}
}
function displayVideoInfo(){
	$('vinfo').innerHTML = VINFO;
}

function displayVideoInfo2(){
	 $('vinfo').innerHTML = '<div class="ltitle2 size14 white strong"><table width="480"><tr><td>　<img src="img/messagebox_info.png"> <a class="ajax white size12" onclick="displayVideoInfo()">ビデオ情報</a></td><td align="right"><a class="ajax" onclick="pinup(\'v\')"><img id="vinfoimg" src="img/bpin'+infopin+'.png" /></a></td></tr></table></div>';
}

function getComment(ID,NEWNO,VTIT){
	$('ucommentarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">コメントを読み込み中です...</span><br /><img src="img/loading.gif" /></div></div></div></div><br /></div>';
	var parameter = $H({id : ID,newno : NEWNO,title : VTIT}).toQueryString();
	new Ajax.Updater(
		'ucommentarea2',
		'php/getComment.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				showDialog('このビデオのコメントは現在取得できません');
				$('ucommentarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">このビデオのコメントは現在取得できません</div></div></div></div><br /></div>';
			},
			onComplete : function(roj){
				$('commentimg').src = "img/bpin"+commentpin+".png";
				closeBox('ucomment');
				openBox('ucomment');
			}
		}
	);
}
function getNowComment(ID){
	if(ID == playing[nplaying]){
		showDialog('既に再生中動画のコメントを表示中です');
	}else{
		getComment(playing[nplaying],1,ptitles[nplaying]);
	}
}
function getNowLyric(ID){
	if(ID == playing[nplaying]){
		showDialog('既に再生中動画の歌詞を表示中です');
	}else{
		getLyric2(playing[nplaying],playart[nplaying],playsong[nplaying]);
	}
}
function openBox(AREA){
	ocflag[AREA] = 1;
	$(AREA+'door').innerHTML = '<a class="ajax" onclick="closeBox(\''+AREA+'\')"><img src="img/delete_a.png" /></a>';
	if(AREA == 'setting'){
		showSettings();
	}else if(AREA == 'cplaylist'){
		if(occont[AREA] != ''){
			updatePlaylist();
		}else{
			$(AREA+'area2').innerHTML = '<div class="vocgrey"><div class="size12 padboth strong padt" align="right"><a class="ajax white" onclick="editScript()"><img src="img/page_white_edit.png"> スクリプト編集</a></span>　<a class="ajax white" onclick="getNowLyric()"><img src="img/cdaudio_unmount.png"> 現在再生中の歌詞</a></div><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center">動画を再生するとここにプレイリストが表示されます。</div></div></div></div><br /></div>';	
		}
	}else{
		if(occont[AREA] != ''){
			$(AREA+'area2').innerHTML = occont[AREA];
		}else{
			if(AREA == 'vscript'){
				$(AREA+'area2').innerHTML = '<div class="vocgrey"><div class="size12 padboth strong padt" align="right"><a class="ajax white" onclick="editScript()"><img src="img/page_white_edit.png"> スクリプト編集</a></span>　<a class="ajax white" onclick="getNowLyric(0)"><img src="img/cdaudio_unmount.png"> 現在再生中の歌詞</a></div><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center">現在表示できる情報はありません。</div></div></div></div><br /></div>';	
			}else{
				$(AREA+'area2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center">現在表示できる情報はありません。</div></div></div></div><br /></div>';	
			}
		}
	}
	setTimeout("downb(2)",500);
}
function closeBox(AREA){
	ocflag[AREA] = 0;
	$(AREA+'door').innerHTML = '<a class="ajax" onclick="openBox(\''+AREA+'\')"><img src="img/door_in.png" /></a>';
	occont[AREA] = $(AREA+'area2').innerHTML;
	$(AREA+'area2').innerHTML = "";
	setTimeout("downb(2)",500);
}
function getNewlists(NEWNO,LTYPE){
	if(LTYPE == 1 && playing.length == 0){
		showDialog('現在再生中の動画はありません。');
	}else{
		if(LTYPE == 1){
			var VID = playing[nplaying];
		}else{
			var VID = "";	
		}
		$('iknowarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="pad red strong" align="center"><span class="red strong">リスト情報を取得中です...</span><br /><img src="img/loading.gif" /></div></div></div></div><br /></div>';
		var parameter = $H({newno : NEWNO,vid : VID,ltype : LTYPE}).toQueryString();
		new Ajax.Updater(
			'iknowarea2',
			'php/getNewlists.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					whatlist = LTYPE;
					ocflag['iknow'] = 1;
					$('iknowdoor').innerHTML = '<a class="ajax" onclick="closeBox(\'iknow\')"><img src="img/delete_a.png" /></a>';
					setTimeout("downb(2)",500);
				}
			}
		);
	}
}
function loadList(LID,VID){
	forcelist = 1;
	playVideo(VID,'','',LID);
}
function loadList3(LID,LTYPE){
	forcelist = 1;
	if(LTYPE != undefined){
		whatlist = LTYPE;
	}
	loadList2(LID);
}
function getIknowUsers(NEWNO){
	if(NEWNO == undefined){
		NEWNO = 1;
	}
	var parameter = $H({newno : NEWNO}).toQueryString();
	new Ajax.Updater(
		'userarea2',
		'php/getIknowUsers.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				ocflag['user'] = 1;
				$('userdoor').innerHTML = '<a class="ajax" onclick="closeBox(\'user\')"><img src="img/delete_a.png" /></a>';
				setTimeout("downb(2)",500);
			}
		}
	);
}
function checkThroughBasic(FUNC,PARAM0,PARAM1,PARAM2,PARAM3){
	if($('fusercon').value == ""){
		alert('ユーザー名を入力してください。');
	}else if($('passcon').value == ""){
		alert('パスワードを入力してください。');
	}else{
		var parameter = $H({username : $('fusercon').value,password : $('passcon').value}).toQueryString();
		new Ajax.Request(
			'php/checkThroughBasic.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					if(roj.responseText != ""){
						var nameno = roj.responseText.split('&amp;');
						$('iusername').value = nameno[0];
						$('ilogno').value = nameno[1];
						$('logarea').innerHTML = '';
						$('toparea').innerHTML = '<div class="white strong size12">ようこそ <span class="size20 red">'+nameno[0]+'</span> さん！　※あなたが '+nameno[0]+' さんでない場合は、こちらから <a class="ajax strong" onclick="logoutWrongUser()">ログアウト</a> するか smart.fm に <a class="ajax strong" onclick="logoutWrongUser(1)">再ログイン</a> してください。</div>';
						var PARAM = [PARAM0,PARAM1,PARAM2,PARAM3];
						var Para2 = "";
						for(var i=0;i<PARAM.length;i++){
							if(PARAM[i] != undefined){
								if(isNaN(PARAM[i]) || PARAM[i] == ""){
									Para2+= ',\''+my.javEnc(PARAM[i])+'\'';
								}else{
									Para2+= ','+PARAM[i];
								}
							}
						}
						Para2 = Para2.replace(/^,/,'');
						eval(FUNC+'('+Para2+')');
						closePopuparea3();
					}else{
						alert('認証に失敗しました。ユーザー名またはパスワードが違います。');	
					}
				}
			}
		);
	}
}
function checkIdentity(FUNC,PARAM0,PARAM1,PARAM2,PARAM3){
	var PARAM = [PARAM0,PARAM1,PARAM2,PARAM3];
	var Para2 = "";
	for(var i=0;i<PARAM.length;i++){
		if(PARAM[i] != undefined){
			if(isNaN(PARAM[i]) || PARAM[i] == ""){
				Para2+= ',\''+my.javEnc(PARAM[i])+'\'';
			}else{
				Para2+= ','+PARAM[i];
			}
		}
	}
	YAHOO.popup.container.panel3.setFooter("");
	YAHOO.popup.container.panel3.setHeader('smart.fm ログイン情報確認');
	YAHOO.popup.container.panel3.setBody('<form name="passconfirm" id="passconfirm"><table width="300"><tr><td colspan="2"><div class="red strong size10">※現在、サーバーの問題によりOAuth認証システムが利用できないため、Basic認証で本人確認を行うためにsmart.fmのユーザー名とパスワードを確認する必要があります。当サイトでこれらの情報を保存して別の用途で使用することは一切ありませんが、Basic認証の利用を避けたい方は、OAuthサーバーが復旧するのをお待ち下さい。</div><hr /></td></tr><tr><td width="75"><span class="red strong">ユーザー名</span></td><td><input type="text" size="30" id="fusercon" name="fusercon" /></td></tr><tr><td width="75"><span class="red strong">パスワード</span></td><td><input type="password" size="30" id="passcon" name="passcon" /></td></tr><tr><td></td><td><input type="button" value="認証" onclick="checkThroughBasic(\''+FUNC+'\''+Para2+')" />　<input type="button" value="キャンセル" onclick="closePopuparea3()" /></td></tr></table></form>');
	YAHOO.popup.container.panel3.setFooter('<table width="300"><tr><td><div align="right">Powered by <a href="http://www.smart.fm/" target="_blank">smart.fm</a></div></td></tr></table>');
	YAHOO.popup.container.panel3.show();
}
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(
		'userarea2',
		'php/loadMyPage.php',
		{
			method : 'post',
			parameters : parameter,
			onFailure : function(roj){
				alert(roj.responseText);
			},
			onComplete : function(roj){
				setTimeout("downb(2)",500);
				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(UID){
	if(UID != undefined){
		loadMyPage2(1,1,UID);
	}else if($('iusername').value != "" && $('oauthbug').value == 1){
		loadMyPage2(1,1);
	}else if($('ilogno').value == "" && $('oauthbug').value == ""){
		showDialog('マイページ機能を利用するには、smart.fmにログインする必要があります。');
	}else if($('oauthbug').value == 1){
		checkIdentity('loadMyPage2',1);
	}else{
		loadMyPage2();	
	}
}
function updateMyStudiedItems(NEWNO,UID){
	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,\''+UID+'\')">学習状況アップデートに失敗しました。もう一度お試し下さい。</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) * 250);
						if(UID == undefined){
							$('umsi').innerHTML = '<div align="center"><span class="red strong">学習結果情報を取得中...</span> '+FIR+'/'+noitems+'<br /><table class="percent2" width="250" height="10"><tr><td width="'+TWID2+'" class="percent"></td><td></td></tr></table></div>';
						}
						if(NEWNO*100 < noitems){
							updateMyStudiedItems(NEWNO+1,UID);
						}else{
							if(UID == undefined){
								$('umsi').innerHTML = '<div align="center" class="red strong">学習状況アップデート完了！</div>';
								showDialog('学習状況アップデート完了！');
								getMyStudiedIds();
							}
							loadMyPage2(1,1,UID);
						}
					}
				}
			}
		}
	);
}
function getMyStudiedIds(){
	if($('ilogno').value != "" || ($('iusername').value != "" && $('oauthbug').value == 1)){
		var parameter = $H({iknowname : $('iusername').value}).toQueryString();
		new Ajax.Request(
			'php/getMyStudiedIds.php',
			{
				method : 'post',
				parameters : parameter,
				onFailure : function(roj){
					alert(roj.responseText);
				},
				onComplete : function(roj){
					var res = roj.responseText.split('&');
					studiedids = res[0].split('=');
					sprogress = res[1].split('=');
				}
			}
		);
	}
}

function showSettings(){
	ocflag['setting'] = 1;
	$('settingdoor').innerHTML = '<a class="ajax" onclick="closeBox(\'setting\')"><img src="img/delete_a.png" /></a>';
	var cgenre = [0,44649250,7318736,39469164,44649265,44649266,7318639,7318731,7318725,7318636,7318641,7318732,40123865,7318863,7318643,7318644,39468776,7318733,7318646,7318647,39468771,7318723,7318648,7318637,7318650,39468787,39468968,39468566,39469132,7318652,7318640];
	var cgenre2 = ['All','1980s Hip-Hop','Adult Alternative','Alternative Rock','Big Hits Of The \'80s','Big Hits Of The \'90s','Blues','Classic Rock','Contemporary Christian','Electronic/Dance','Folk','Hard Rock','Hip-Hop','Indie Rock','Jazz','Latin','Love Songs','Metal','New Age','Pop','Pop Latino','Quiet Storm','R&B','Reggae','Rock','The Big Jams','The Coffeehouse','Today\'s Big Hits','Today\'s country','World','Country'];
	var op = "";
	for(var i= 0;i<cgenre.length;i++){
		if(agenre == cgenre[i]){
			op += '<option value"'+cgenre[i]+'" selected>'+cgenre2[i]+'</option>';
		}else{
			op += '<option value="'+cgenre[i]+'">'+cgenre2[i]+'</option>';
		}
	}
	if(atarget == 'video'){
		var vsel = "selected";
		var ssel = "";
	}else{
		var vsel= '';
		var ssel = 'selected';
	}
	op = '<select id="autogenre" name="autogenre" onchange="changeGenre()">'+op+'</select>';
	$('settingarea2').innerHTML = '<div class="vocgrey"><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="padboth"><div class="size14 red strong"><img src="img/film.png" /> 自動再生ビデオジャンル設定</div><div class="size11 padboth">　再生中のビデオが終了しプレイリストに再生待ちのキュービデオがない場合に、ビデオプレイヤーが自動的に検索再生するビデオのジャンルを設定します。この設定を行うことで、お好きなジャンルの最新ヒットチャート・トップ１００関連ビデオをテレビやラジオステーションのようにランダムに再生し続けることができます。なお、各ジャンルの最新ヒットチャートの内容は画面左列のチャートエリアを参照してください。<br />※チャート対象はビデオかソングを設定してください。アーティストとアルバムは選べません。</div><div class="size11 padboth" align="center"><span class="red strong">チャート対象</span> <select id="autotarget" name="autotarget" onchange="changeGenre2()"><option value="video" '+vsel+'>ビデオ</option><option value="track" '+ssel+'>ソング</option></select>　　　<span class="red strong">ジャンル</span> '+op+'</div></div></div></div><br /><div class="sbox4_top"><div class="sbox4_bottom"><div class="sbox4"><div class="padboth"><div class="size14 red strong"><img src="img/key_go.png" /> ログイン情報クッキー保存設定</div><div class="size11 padboth">　お使いのコンピュータにログイン情報をクッキーとして保存することで、次回当サイトを訪れたときに再びログインする手間を省くことができます。現在お使いのコンピュータがご自身のものでない場合は、チェックボックスのチェックをはずしログイン状態を保存しない設定にしてください。</div><div class="size11 padboth red strong" align="center"><input type="checkbox" id="logsave2" checked value="1" onchange="changeLogsave2()" /> ログイン状態を保存する</div></div></div></div></div><br /></div>';
	if(logsave == 1){
		$('logsave2').checked = true;
	}else{
		$('logsave2').checked = false;
	}
	downb(2);
}

function changeGenre(){
	agenre = $('autogenre').value;
	if($('vautogenre')){
		$('vautogenre').value = agenre;
	}
}
function changeGenre2(){
	atarget = $('autotarget').value;
	if($('vautotarget')){
		$('vautotarget').value = atarget;
	}
}
function vchangeGenre(){
	agenre = $('vautogenre').value;
	if($('autogenre')){
		$('autogenre').value = agenre;
	}
}
function vchangeGenre2(){
	atarget = $('vautotarget').value;
	if($('autotarget')){
		$('autotarget').value = atarget;
	}
}