var lists = new Array();
var RankLoaded = new Array();
var maxpages = new Array();
var currdrp = -1;
var now_id = 'total';
function mvpage(patch)
{
    var np = currdrp + patch;
    if( np >= lists[now_id][1] ) np = lists[now_id][1] - 1;
    if( np < 0 ) np = 0;
    showRank( np, now_id);
    return false;
}
function loadRank(file, elem_id, phrase, imageid, show, callback){
    window['jsonp' + elem_id] = function(ranklist){
        lists[elem_id] = new Array(ranklist, Math.floor(ranklist.length / _rank_entry_per_page) + ((ranklist.length % _rank_entry_per_page) ? 1 : 0), phrase, imageid, ranklist.length);
        if(show) showRank(0, elem_id);
    };
    $.getJSON(file + '?jsonp_callback=?', callback ? callback : function() {});
}
function swapRank(elem_id, file, phrase, imageid){
    if( RankLoaded[elem_id] ){
	_swapRank(elem_id, file, phrase, imageid);
    } else {
	RankLoaded[elem_id] = 1;
	loadRank('http://g.mwsrv.com/mj/' + file, elem_id, phrase, imageid,
		 function() { _swapRank(elem_id, file, phrase, imageid) });
    }
    return false;
}
function _swapRank(elem_id, file, phrase, imageid){
    $('#'+elem_id).attr('src','http://g.mwsrv.com/mj/images_pchome/tab/personal_tab_'+lists[elem_id][3]+'_on.gif');
    $('#'+now_id).attr('src','http://g.mwsrv.com/mj/images_pchome/tab/personal_tab_'+lists[now_id][3]+'_out.gif');
    now_id = elem_id;
    currdrp = -1;
    showRank(0, elem_id);
}
function showRank( np, elem_id){
        if(!lists[elem_id]) return;
        if( np == currdrp ) return;
	$('#mj_rank_page').html(parseInt(np)+1);
	$('#mj_rank_total_page').html(parseInt((lists[elem_id][4]+_rank_entry_per_page-1)/_rank_entry_per_page));
	currdrp = np;
        var ref = $('#rankTable').find('tr').eq(0);

        ref.children('td').eq(4).text(lists[elem_id][2]);

        for(var i = 0; i < _rank_entry_per_page; i++) {
            var pos = np * _rank_entry_per_page + i;
            var ref = $('#rankTable').find('tr').eq(i+1);
            if (pos < lists[elem_id][4]) {
                ref.children('td').eq(0).text( pos + 1);
		if( _rank_ispchome ){
		    ref.children('td').eq(1).html('<a href="/fake_pchome_thin_frame.php?url='+encodeURIComponent('/mj/personalpage.php?op=main&userid='+lists[elem_id][0][pos][1])+'">'+lists[elem_id][0][pos][2]+'</a>');
		} else {
		    ref.children('td').eq(1).html('<a href="personalpage.php?op=main&userid='+lists[elem_id][0][pos][1]+'">'+lists[elem_id][0][pos][2]+'</a>');
		}
                ref.children('td').eq(2).text(lists[elem_id][0][pos][3]);
                ref.children('td').eq(3).text("LV"+lists[elem_id][0][pos][4]);
                ref.children('td').eq(4).text(lists[elem_id][0][pos][5]);
            } else {
                ref.children('td').eq(0).html('&nbsp;');
                ref.children('td').eq(1).html('&nbsp;');
                ref.children('td').eq(2).html('&nbsp;');
                ref.children('td').eq(3).html('&nbsp;');
                ref.children('td').eq(4).html('&nbsp;');
            }
        }
}
$(document).ready(function(){
$('#total1').unbind('click').click(function(){ return swapRank('total', "dat/rank.3.jsonp.txt", "經驗值", 1);});
$('#daily1').unbind('click').click(function(){ return swapRank('daily', "dat/rank.1.jsonp", "獲得經驗值", 2);});
$('#next'). unbind('click').click(function(){ return mvpage(1);});
$('#prev'). unbind('click').click(function(){ return mvpage(-1);});
});
