var xml_url = {
	"top5": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "total"}}, 
	"total": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "total", top: "100"}}, 
	"e1": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "e1"}}, 
	"e2": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "e2"}}, 
	"e3": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "e3"}}, 
	"e4": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "e4"}}, 
	"e5": {url: "http://blog.floq.jp/game/score/index.cgi", data : {mode: "show", game: "nousoku1", type: "e5"}}
};
/*
var xml_url = {
	"top5": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "total"}}, 
	"total": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "total"}}, 
	"e1": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "e1"}}, 
	"e2": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "e2"}}, 
	"e3": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "e3"}}, 
	"e4": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "e4"}}, 
	"e5": {url: "test.php", data : {mode: "show", game: "nousoku1", type: "e5"}}
};
*/

function format_number( num ){
	if( ( num + "" ).match( /^[0-9]{4,}/ ) ){
		return format_number( num.replace( /^([0-9]+)([0-9]{3}.*)$/, "$1,$2" ) );
	}else{
		return num;
	}
}

function load_xml( type, func ){
	var params = xml_url[type];
	jQuery.post(
		params.url,
		params.data,
		func,
		"xml"	);
}
function total_top5(){
	load_xml( "top5", function( data, status ){
		var xml = data;

		jQuery("#ranking_tabs a").removeClass("selected");
		jQuery("#ranking_tab_total").addClass("selected");

		jQuery("#ranking_contents02").empty();
//		jQuery("#ranking_contents02").append( table );

		var table = jQuery('<table id="ranking_contents02_table" width="100%" border="0"></table>').appendTo('#ranking_contents02');
		jQuery('<thead></thead>').html(
'	<tr>' +
'	    <td><div class=img_style><img src="img/img_ranking.gif" alt="順位" width="60" height="30" align="middle" /></div></td>' +
'	    <td><div class=img_style><img src="img/img_name.gif" alt="名前" width="66" height="30" /></div></td>' +
'	    <td><div class=img_style><img src="img/img_point.gif" alt="回転数" width="66" height="30" /></div></td>' +
'	    <td>&nbsp;</td>' +
'	  </tr>' +
'	  <tr>' +
'	    <td colspan="4" class="text_bold"><div class="line"></div></td>' + 
'	</tr>'
		).appendTo("#ranking_contents02_table");


		jQuery("item", xml).each(function(i, it) {
			var item = jQuery(this);
			var playerRank = item.find("rank").text();
			if ( playerRank <= 5 ) {
				var e1 = item.find("e1").text();
				var e2 = item.find("e2").text();
				var e3 = item.find("e3").text();
				var e4 = item.find("e4").text();
				var e5 = item.find("e5").text();
				var img_url = 'http://blog.floq.jp/game/chart/index.cgi?' +
					'e1=' + e1 +
					'&e2=' + e2 +
					'&e3=' + e3 +
					'&e4=' + e4 +
					'&e5=' + e5 +
					'&s1=' + encodeURI('記憶力') + e1 +
					'&s2=' + encodeURI('眼力') + e2 +
					'&s3=' + encodeURI('正確性') + e3 +
					'&s4=' + encodeURI('トレンド') + e4 +
					'&s5=' + encodeURI('判断力') + e5;

				var playerName = item.find("player").text();
				var playerScore = item.find("score").text();
				var playerNameType = item.find("player").attr("type");
				var playerNameHTML;
				if ( playerNameType == "id" )
				{
					playerNameHTML = '<a href="http://floq.jp/members/profile/detail?id_user=' + playerName + '">' + playerName + '</a>';
				}
				else
				{
					playerNameHTML = playerName;
				}
				var data = jQuery( '<tr></tr>' ).append(
'				    <td><div class=img_style><img src="img/img_0' + playerRank +'.jpg" alt="' + playerRank + '位" width="60" height="39" /></div></td>' +
'				    <td><div class="text_large">' + playerNameHTML + '</div></td>' +
'				    <td><div class="text_shin">'+ playerScore +'</div></td>' +
'				    <td></td>'
				);
				data.find( "td:last" ).append( '<div class="imageBox img_style"><img id="chart' + (i+1) + '" src="' + img_url + '" width="50" height="48" border="0" align="middle" /></div>' );
				data.find(".imageBox").hover( function(){
					jQuery(this).append('<div class="floatImage"></div>').find(".floatImage").append( jQuery('<img src="' + jQuery("img:first",this).attr("src") + '" />') );
				},function(){
					jQuery(".floatImage",this).remove();
				});
				table.append( data );
				jQuery('<tr></tr>')
				.html(
					'<td colspan="4" class="text_bold"><div class="line"></div></td>'
				).appendTo(table);
			}
		});
		table.append( '<tr><td colspan="5" align="center" class="text_bold"><div class="btn_area"><a href="javascript:ranking(\'total\');"><img src="img/btn_next.gif" alt="NEXT" width="41" height="16" border="0" align="right" /></a></div></td></tr>' );

	});
}


function ranking( type ){
	load_xml( type, function( data, status ){
		jQuery("#ranking_contents02").empty();
		var score;

		if( type == "total" ){
			score = "score";
		}else if( /^e[1-5]$/.test( type ) ){
			score = type;
		}else{
			return;
		}

		jQuery("#ranking_tabs a").removeClass("selected");
		jQuery("#ranking_tab_"+type).addClass("selected");

		var table = jQuery('<table id="ranking_contents02_table" width="100%" border="0"></table>').appendTo('#ranking_contents02');
		jQuery('<thead></thead>').html(
'		<tr>' +
'			<td><div class=img_style><img src="img/img_ranking.gif" alt="順位" width="60" height="30" align="middle" /></div></td>' +
'			<td><div class=img_style><img src="img/img_name.gif" alt="名前" width="66" height="30" /></div></td>' +
'			<td><div class=img_style><img src="img/img_point.gif" alt="回転数" width="66" height="30" /></div></td>' +
'		</tr>'
		).appendTo('#ranking_contents02_table');
		jQuery('<tr></tr>')
			.html(
				'<td colspan="4" class="text_bold"><div class="line"></div></td>'
			).appendTo(table);

		var xml = data;
		if( type == "total" ){
			var bgTag = '';
			jQuery(xml).find("item").filter(function(){
				var rank = parseInt( jQuery("rank",this).text() );
				return rank > 5 && rank <= 100;
			}).each(function(i, item){
				var playerName = jQuery("player", this).text();
				var playerNameType = jQuery("player", this).attr("type");
				var playerNameHTML;
				if ( playerNameType == "id" )
				{
					playerNameHTML = '<a href="http://floq.jp/members/profile/detail?id_user=' + playerName + '">' + playerName + '</a>';
				}
				else
				{
					playerNameHTML = playerName;
				}
				if ( i % 5 == 0 )
				{
					if ( bgTag != '' )
					{
						bgTag = '';
					}
					else
					{
						bgTag = 'bgcolor="#FFF4F6"';
					}
				}
 
				var tr = jQuery('<tr></tr>')
					.append('<td ' + bgTag + '><div class="text_bold">' + jQuery("rank",this).text() + '</div></td>')
					.append('<td ' + bgTag + '><div class="text_shin">' + playerNameHTML + '</div></td>')
					.append('<td ' + bgTag + '><div class="text_shin">' + jQuery(score,this).text() + '</div></td>');
				table.append( tr );
				jQuery('<tr></tr>')
				.html(
					'<td colspan="4" class="text_bold"><div class="line"></div></td>'
				).appendTo(table);

				});
			}else{
				jQuery(xml).find("item").filter(function(){
					var rank = parseInt( jQuery("rank",this).text() );
					return rank <= 10;
					}).each(function(i, item){
						var playerName = jQuery("player", this).text();
						var playerNameType = jQuery("player", this).attr("type");
						var playerNameHTML;
						if ( playerNameType == "id" )
						{
							playerNameHTML = '<a href="http://floq.jp/members/profile/detail?id_user=' + playerName + '">' + playerName + '</a>';
						}
						else
						{
							playerNameHTML = playerName;
						}
						var tr = jQuery('<tr></tr>')
							.append('<td><div class="text_bold">' + jQuery("rank",this).text() + '</div></td>')
							.append('<td><div class="text_shin">' + playerNameHTML + '</div></td>')
							.append('<td><div class="text_shin">' + jQuery(score,this).text() + '</div></td>');
						table.append( tr );
						jQuery('<tr></tr>')
							.html(
								'<td colspan="4" class="text_bold"><div class="line"></div></td>'
							).appendTo(table);
					});
			}
			if( type == "total" ){
				table.append('<tr><td colspan="4" valign="top" class="text_bold"><div class="btn_area"><a href="javascript:total_top5();"><img src="img/btn_back.gif" alt="BACK" width="41" height="16" border="0" align="left" /></a></div></td></tr>');
			}

		});
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
																if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

jQuery( function(){
		MM_preloadImages(
			'img/sougo_off.jpg',
			'img/sougo_on.jpg',
			'img/kioku_off.jpg',
			'img/kioku_on.jpg',
			'img/ganriki_off.jpg',
			'img/ganriki_on.jpg',
			'img/seikaku_off.jpg',
			'img/seikaku_on.jpg',
			'img/trend_off.jpg',
			'img/trend_on.jpg',
			'img/handan_off.jpg',
			'img/handan_on.jpg' );
		load_xml("top5", function( data, textStatus ){
				var xml = data;
				var date = new Date();
				jQuery("#title_ranking").html( '<div id="text_ranking_l">' +
										  format_number( jQuery(xml).find("total_user").text() ) +
										  '人</div>' +
										  ( date.getMonth()+1 ) + "/" + date.getDate() + "時点の挑戦者数" );
				total_top5();
			});
	} );

