/*
 * profile.js - プロフィール内今季成績 表示用スクリプト
 */
if ( typeof(SeasonResult) == 'undefined' ) SeasonResult = function() {};

// SeasonResultオブジェクト生成
var result = new SeasonResult();

// SeasonResultクラス変数
SeasonResult.prototype.Season = '<h4><span class="point">■</span>今シーズン成績</h4>\n';
SeasonResult.prototype.Last10 = '<h4><span class="point">■</span>最近10試合の成績</h4>\n';

/*** Script Start  ***/
// OnLoad Function (Main)
SeasonResult.display = function (position, no) {
	// XML URL Path
	var url;
	// XMLデータ格納ディレクトリ
	//var xml_dir      = './xml/';
	var xml_dir      = '/G/player/xml/';
	var batter_file  = 'battingsum_';
	var pitcher_file = 'pitchingsum_';
	
	// 取得ファイル名設定
	if(position == 'batter'){
		url = xml_dir + batter_file  + no + '.xml';
	}else if(position == 'pitcher'){
		url = xml_dir + pitcher_file + no + '.xml';
	}
	
	// Parse Each XMLs
	if(!result.isEmpty(url)){
		var http = new JKL.ParseXML(url);
		// 出力データの全配列化
		http.setOutputArrayAll();
		var func = "";
		func = function(data){ result.write(data, position) };
		http.async(func);
		http.parse();
	}
}

// functions（SeasonResultオブジェクト）
/**
 * 打撃成績HTML設定用関数 BatterHTML
 *
 * ○引数
 * data_node:打撃成績XMLデータ
 */
SeasonResult.prototype.write = function(data, position){
	var str = '';

	str += '<div class="result">\n';
	if(position == 'batter'){
		if(!result.isEmpty(data.battingsum)){
			// 今シーズン成績
			if(!result.isEmpty(data.battingsum[0].season)){
				str += result.Season;
				str += result.BatterHTML(data.battingsum[0].season[0]);
			}
			// 最近10試合の成績
			if(!result.isEmpty(data.battingsum[0].last10)){
				str += result.Last10;
				str += result.BatterHTML(data.battingsum[0].last10[0]);
			}
		}
	}else if(position == 'pitcher'){
		if(!result.isEmpty(data.pitchingsum)){
			// 今シーズン成績
			if(!result.isEmpty(data.pitchingsum[0].season)){
				str += result.Season;
				str += result.PitcherHTML(data.pitchingsum[0].season[0]);
			}
			// 最近10試合の成績
			if(!result.isEmpty(data.pitchingsum[0].last10)){
				str += result.Last10;
				str += result.PitcherHTML(data.pitchingsum[0].last10[0]);
			}
		}
	}
	str += '</div>';

	// HTML書き込み(div id=div_name)
	var element = document.getElementById('season_result');
//	if(element){ document.getElementById('season_result').innerHTML = str };
}

/**
 * 打撃成績HTML設定用関数 BatterHTML
 *
 * ○引数
 * data_node:打撃成績XMLデータ
 */
SeasonResult.prototype.BatterHTML = function(data_node){
	var str = '';
	str += '<p>';
	// 打率
	if(!result.isEmpty(data_node.average)){
		var avarage_len = data_node.average[0].length;
		if(data_node.average[0].substring(0,1) == '0'){
			str += '打率：' + data_node.average[0].substring(1,avarage_len) + '／';
		}else{
			str += '打率：' + data_node.average + '／';
		}
	}
	// 打点
	if(!result.isEmpty(data_node.runsBattedIn)){
		str += '打点：' + data_node.runsBattedIn + '／';
	}
	// 本塁打
	if(!result.isEmpty(data_node.homeRuns)){
		str += '本塁打：' + data_node.homeRuns;
	}
	str += '</p>\n';
	return str;
}

/**
 * 投手成績HTML設定用関数 PitcherHTML
 *
 * ○引数
 * data_node:投手成績XMLデータ
 */
SeasonResult.prototype.PitcherHTML = function(data_node){
	var str = '';
	str += '<p>';
	// 勝数
	if(!result.isEmpty(data_node.gamesWon)){
		str += data_node.gamesWon + '勝';
	}
	// 負数
	if(!result.isEmpty(data_node.gamesLost)){
		str += data_node.gamesLost + '敗';
	}
	// セーブ数
	if(!result.isEmpty(data_node.saves)){
		str += data_node.saves + 'S';
	}
	str += '</p>\n';
	return str;
}

/**
 * 空判定
 */
SeasonResult.prototype.isEmpty = function(obj){ return (obj == null || obj == undefined || obj == '')? true: false; }
