﻿var xmlfilename = 'dengekimc2008.xml';
var timezone = "Asia/Tokyo";
//var timezone = "America/Los_Angeles";
var line = 4;
var rows = 0;

function getNum( num ){
	if( num < 10 ) return '0' + num;
	return num;
}
function setFormatNumber( x ) {
	var s = "" + x;
	var p = s.indexOf(".");
	if( p < 0 ) {
		p = s.length; // 仮想的な小数点の位置とする
	}
	var r = s.substring( p, s.length );
	
	for( var i = 0; i < p; i++ ) {
		var c = s.substring(p - 1 - i, p - 1 - i + 1);

		if( c < "0" || c > "9") {
			r = s.substring( 0, p - i ) + r;
			break;
		}
		if( i > 0 && i % 3 == 0 ){
			r = "," + r; // カンマを付加する
		}
		r = c + r; // 数字を一桁追加する。
	}
	return r;
}

$(document).ready( function (){
	$.ajax({
		url: xmlfilename,
		type: 'GET',
		dataType: 'xml',
		timeout: 10000,
		//ロード失敗
		error: function(){
			$('div#panelreward').after( '<div id="errorBox">XMLファイルの読み込みに失敗しました。</div>' );
			$('div#loadBox').hide();
		},
		//ロード完了
		success: function(xml){
			var count = 0;
			var tree = '<ul id="rewardArea">\n';
			
			//列チェック
			rows = parseInt( $(xml).find('secret-panels').attr('rows') );
			totalpanel = rows * line;
			
			//パネル
			$(xml).find('panel').each( function(){
				if( count >= totalpanel ) return;
				
				if( $(this).attr('revealed') == "false" ){
					tree += '<li id="panel'+ getNum( parseInt($(this).attr('index'))+1 ) + '"><img src="' + $(this).attr('src') + '" width="102" height="104" alt="' + $(this).attr('points') + 'ポイント報酬" /></li>\n';
				}
				else {
					tree += '<li id="panel'+ getNum( parseInt($(this).attr('index'))+1 ) + '"><a href="javascript:tb_show(\'' + $(this).attr('points') + 'ポイント報酬\',\'' + $(this).attr('src-large') + '\');" title="' + $(this).attr('points') + 'ポイント報酬"><img src="' + $(this).attr('src') + '" width="102" height="104" alt="' + $(this).attr('points') + 'ポイント報酬" /></a></li>\n'
				}
				count++;
			} );
			tree += '</ul>';
			
			
			//タイムゾーン
			$(xml).find('last-updated').each( function(){
				if( $(this).attr('tz') == timezone ){
					$('dd#date').html( $(this).attr('year') + '年' + $(this).attr('month') + '月' + $(this).attr('mday') + '日 '
							+ $(this).attr('hour') + '時' + $(this).attr('min') + '分更新' );
				}
			} );
			//ポイント
			$('dd#point').html( setFormatNumber( $(xml).find('summary').attr('total-points') ) );
			
			//パネル
			$('div#panelreward').after( tree );
			$('div#loadBox').hide();
		}
	});
} );
