/*
 * Program by -kem-
 */
function loadTableFromXML_taka_money(httpObj){
	/* 定数定義 */
	/* 読み込み開始行 */
	var ROW_START = 2;
	/* 読み込み開始列 */
	var COL_START = 3;
	/* 読み込み終了列 */
	var COL_END = 15;

	/* 列定義（大陸） */
	var COL_CONTINENT = 1;
	/* 列定義（国） */
	var COL_COUNTRY = 2;
	/* 列定義（日時） */
	var COL_DATE = 3;
	/* 列定義（場所） */
	var COL_PLACE = 4;
	/* 列定義（カテゴリー） */
	var COL_CATEGORY = 5;
	/* 列定義（名前） */
	var COL_NAME = 6;
	/* 列定義（割り勘料金） */
	var COL_TOGETHER = 7;
	/* 列定義（換金前単位） */
	var COL_EXC_BEFU = 8;
	/* 列定義（換金前） */
	var COL_EXC_BEF = 9;
	/* 列定義（換金後単位） */
	var COL_EXC_AFTU = 10;
	/* 列定義（換金後） */
	var COL_EXC_AFT = 11;
	/* 列定義（現地通貨単位） */
	var COL_MON_FORU = 12;
	/* 列定義（現地通貨） */
	var COL_MON_FOR = 13;
	/* 列定義（円） */
	var COL_MON_YEN = 14;
	/* 列定義（備考） */
	var COL_MON_OTH = 15;
	
	/* XMLデータ取得 */
	var xmlData = httpObj.responseXML;

	/* 各行のデータを取得 */
	var rowData = xmlData.getElementsByTagName('Row');

	/* ロード番号判断 */
	data = rowData[0].getElementsByTagName('Data');
	var indexLoadTables = data[0].childNodes[0].nodeValue

	/* テーブル作成 */
	var tbl = document.createElement('TABLE');
	tbl.id = 'tbl';
	tbl.className = 'mainTable';
	$('loadTables' + indexLoadTables).innerHTML = '';
	$('loadTables' + indexLoadTables).appendChild(tbl);
	var tBody = document.createElement('TBODY');
	tBody.id = 'tBody';
	$(tbl.id).appendChild(tBody);
	
	/* ブレイクキー変数 */
	var keyDate;
	var keyPlace;
	var dateChangeFlag;
	dateChangeFlag = 'false';

	/* データ書き出し */
	for(i=ROW_START - 1; i<rowData.length;i++){
		tr = document.createElement('TR');
		tr.id = 'tr' + indexLoadTables + i;
		$(tBody.id).appendChild(tr);
		data = rowData[i].getElementsByTagName('Data');
		for(j=COL_START-1; j < COL_END; j++){
			td = document.createElement('TD');
			td.className = 'moneyTd' + j;
			dataVal = data[j].childNodes[0].nodeValue;
			if (j + 1 == COL_DATE) {
				/* 日付編集 */
				dataVal = dateFormat(dataVal);
				/* ブレイク判断 */
				if (keyDate == dataVal) {
					dataVal = '－';
					dateChangeFlag = 'false';
				} else {
					keyDate = dataVal;
					dateChangeFlag = 'true';
				}
			} else if ((j + 1 == COL_EXC_BEF) || (j + 1 == COL_EXC_AFT) || (j + 1 == COL_MON_FOR) || (j + 1 == COL_MON_YEN)) {
				/* カンマ編集 */
				dataVal = moneyFormat(dataVal)
				if (dataVal != '' && dataVal != ' ' && dataVal != '　') {
					if ((j + 1 == COL_EXC_BEF) || (j + 1 == COL_EXC_AFT) || (j + 1 == COL_MON_FOR)) {
						if (data[j-1].childNodes[0].nodeValue == '\\') {
							dataVal = '￥' + dataVal;
						} else {
							dataVal = dataVal + data[j-1].childNodes[0].nodeValue;
						}
					} else if (j + 1 == COL_MON_YEN) {
						dataVal = '￥' + dataVal;
					}
				}
			} else if (j + 1 == COL_PLACE) {
				/* ブレイク判断 */
				if (keyPlace == dataVal && dateChangeFlag == 'false') {
					dataVal = '－';
				} else {
					keyPlace = dataVal;
				}
			}
			if ((j + 1 != COL_EXC_BEFU) && (j + 1 != COL_EXC_AFTU) && (j + 1 != COL_MON_FORU)) {
				td.innerHTML = dataVal
				$(tr.id).appendChild(td);
			}
		}
	}
}

function loadTable_taka_money(url, index){
	$("loadTables" + index).innerHTML = '<span class="loading">読み込み中...</span>';
	loadTableAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			onComplete:loadTableFromXML_taka_money
		});
}

function clearTable(index) {
	$("loadTables" + index).innerHTML = '';
}

function dateFormat(val) {
	return val.substring(0,10).replace(/[-]/g,'/');
}

function moneyFormat(val) {
	if (val == '' || val == ' ' || val == '　') {
		return val;
	}
	var len = val.length;
	var newVal = '';
	for (k=0; k < len; k++) {
		if (k != 0 && (k % 3) == 0) {
			newVal = ',' + newVal;
		}
		val2 = val.substr(len - 1 - k, 1);
		if (parseInt(val2) >= 0 && parseInt(val2) <= 9) {
			newVal = val2.concat(newVal)
		} else {
			return val;
		}
	}
	return newVal;
}

function loadTableFromXML_taka_sumInfo(httpObj){
	/* 定数定義 */
	/* 読み込み開始行 */
	var ROW_START = 1;
	/* 読み込み開始列 */
	var COL_START = 1;
	/* 読み込み終了列 */
	var COL_END = 2;

	/* XMLデータ取得 */
	var xmlData = httpObj.responseXML;

	/* 各行のデータを取得 */
	var rowData = xmlData.getElementsByTagName('Row');

	/* データ書き出し */
	for ( i = ROW_START - 1; i < rowData.length; i++){
		data = rowData[i].getElementsByTagName('Data');
		for ( j = COL_START - 1; j < COL_END; j++){
			dataVal = moneyFormat(data[j].childNodes[0].nodeValue);
			if ( j == 0 ) {
				/* 集計 */
				if ( i == 0 ) {
					$('sumMoney').innerHTML = dataVal;
				} else if ( i > 2 ) {
					$('sumCategory' + (i - 2)).innerHTML = dataVal;
				}
			} else if ( j == 1) {
				/* 平均 */
				if ( i == 0 ) {
					$('aveMoney').innerHTML = dataVal;
				} else if ( i > 2 ) {
					$('aveCategory' + (i - 2)).innerHTML = dataVal;
				}
			}
		}
	}
}

function loadTable_taka_sumInfo(url){
	loadTableAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			onComplete:loadTableFromXML_taka_sumInfo
		});
}
