/*
 * Program by -kem-
 */
function loadTableFromXML(httpObj,sheet){
	// XMLデータ取得
	var xmlData = httpObj.responseXML;
	// シートを取得
	var xmlSheet = xmlData.getElementsByTagName('Worksheet');
	// シートの検索
	for(i=0;i<xmlSheet.length;i++){
		if(xmlSheet[i].getAttributeNode('ss:Name').nodeValue == sheet){
			break;
		}
	}
	if(i==xmlSheet.length){
		alert('データの読み込みに失敗しました。');
		exit;
	}
	// 各行のデータを取得
	var rowData = xmlSheet[i].getElementsByTagName('Row');
	// テーブル作成
	var tbl = document.createElement('TABLE');
	tbl.id = 'moneyTable';
	$('loadTables').innerHTML = '';
	$('loadTables').appendChild(tbl);
	var tBody = document.createElement('TBODY');
	tBody.id = 'moneyTBody';
	$(tbl.id).appendChild(tBody);

	var round = 0;
	var split = 0;
	var tmp;
	for(i=0;i<rowData.length;i++){
		// 一行にあるデータを取得
		data = rowData[i].getElementsByTagName('Data');
		// 空白行の場合は終了
		var value = data[0].childNodes[0].nodeValue;
		if(value == ''){
			break;
		}
		// TRの追加
		tr = document.createElement('TR');
		tr.id = 'tr' + i;
		// ClassNameを交互に変更することによって、色を変える
		tr.className = 'tableColor' + ((i % 2) + 1);
		$(tBody.id).appendChild(tr);
		for(j=0;j<data.length;j++){
			// 一番初めの行はTH
			if(i==0){
				td = document.createElement('TH');
			}else{
				td = document.createElement('TD');
			}
			// 数値フォーマットのデータは右寄せにする
			if(data[j].getAttributeNode('ss:Type').nodeValue == 'Number'){
				td.style.textAlign='right';
				// マイナスの場合は青字にする
				if(data[j].childNodes[0].nodeValue < 0){
					td.style.color='blue';
				}
				// 現地通貨は小数点２桁まで表示
				if(j == 3){
					split = 1;
				}
				// 日本円は四捨五入して表示
				if(j == 4){
					round = 1;
				}
			}
			if(round){
				td.innerHTML = Math.round(data[j].childNodes[0].nodeValue) + "円";
				round = 0;
			}else if(split){
				tmp = data[j].childNodes[0].nodeValue.split(".");
				td.innerHTML = tmp[0];
				if(tmp[1]){
					td.innerHTML += "." + tmp[1].substr(0,2);
				}
				split = 0;
			}else{
				td.innerHTML = data[j].childNodes[0].nodeValue;
			}
			$(tr.id).appendChild(td);
		}
	}
}

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