// JavaScript Document

// mp_common.jsから流用
function dispRanking(contents){
	var url;
	if(contents =="kiji"){
		url="kijirank.txt";
	}else if(contents =="mp"){
		url="mprank.txt";
	}
	var req=getTransport();
	req.onreadystatechange=function(){
		if(req.readyState==4){
			var resultEntry = req.responseText;
			// XXX Safari は文字コードを誤判定するらしいので、escape/decodeURIComponent して、誤判定を防ぐ
			if(navigator.appName == "Netscape" && navigator.userAgent.indexOf("Safari") != -1){
				var esc = escape( resultEntry );
				if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
					resultEntry = decodeURIComponent( esc );
				}
			}
			var info=eval('('+ resultEntry+')');
			if(info){
				try{
					if(contents =="kiji"){
						result = getKijiRank(info.rankData,info.lastupdate);
						document.getElementById("kijiUL").innerHTML=result['result'];
						document.getElementById("kijiDate").innerHTML=result['lastupdate'];
					}else if(contents =="mp"){
						result = getMpRank(info.rankData,info.lastupdate);
						document.getElementById("mpDiv").innerHTML=result['result'];
						document.getElementById("mpDate").innerHTML=result['lastupdate'];
					}
				}catch(e){}
			}
		}
	}
	try{
		req.open('GET',url,true);
		req.send("");
	}catch(e){}
}

//記事ランキング
// XXX: JavaScript テンプレートの使用を検討しましょう。
function getKijiRank(jsRankData,lastupdate){
	var resultLastUpdate = "<span>人気記事ランキング</span>"+lastupdate + "";	//更新日
	var resutValue="";				//ランキング
	for(var i=0,sz=jsRankData.length; i<sz; i++){
		var name	=jsRankData[i].name+"さん";
		var url		=jsRankData[i].url;
		var title	=jsRankData[i].title;
		var n	=eval(i+1);		//forが0～初めてるので。
		var nImg	=String(n).length > 2 ? n : ('00'+n).substr(String(n).length);	//数字を2桁にする ex.) 1 ⇒ 01
		var rankIconUrl='http://mp.i-revo.jp/mpService/img/icon_rank'+nImg+'.gif';
		
		//タグを組み立てる
		resutValue+='<li class="rank'+n+'">'
		+'<img src="'+rankIconUrl+'" border="0" align="absmiddle" alt="'+n+'位" />'
		+ name +'の<a href="'+ url +'">'+ title +'</a></li>';
	}
	
	return {"result" : resutValue ,"lastupdate" : resultLastUpdate};
}

//MPランキング
// XXX: JavaScript テンプレートの使用を検討しましょう。
function getMpRank(jsRankData,lastupdate){
	var resultLastUpdate = "<span>人気マイポータルランキング</span>"+ lastupdate + "&nbsp;更新";	//更新日
	var resutValue="";
	for(var i=0,sz=jsRankData.length; i<sz; i++){
		var name    =jsRankData[i].name + "さん";
		var uid     =jsRankData[i].uid;
		var url     ="http://mp.i-revo.jp/user.php/"+ uid +"/";
		var title   ="「"+jsRankData[i].title+"」";
		var uIconUrl="http://mp.i-revo.jp/user.php/"+ uid +"/api/icon";
		var n       =eval(i+1);		//forが0～初めてるので。	
		var nImg    =String(n).length > 2 ? n : ('00'+n).substr(String(n).length);	//数字を2桁にする ex.) 1 ⇒ 01
		var rankIconUrl='http://mp.i-revo.jp/mpService/img/icon_rank'+nImg+'.gif';
		
		//1～5位、6～10位でまとめる
		if(i==0||i==5){
			resutValue+='<div class="inner">';//開始タグ
		}
		resutValue+='<div class="rank'+n+'">'
		+'<a href="'+ url +'"><img src="'+ uIconUrl +'" alt="'+name+'" height="33" width="33" /></a>'
		+'<img src='+ rankIconUrl +' border="0" align="middle" alt="'+ n +'位" />'
		+name+'の<br /><a href="'+ url +'">'+title+'</a></div>';
		if(i==4||i==9){
			resutValue+='</div>';	//終了タグ
		}
	}
	return {"result" : resutValue ,"lastupdate" : resultLastUpdate}
}

