/*
 * program by -kem-
 */
// GlobalObject
information = new Information();
function Information(){
	// 0        1        2            3        4
	// 作成日付,カテゴリ,サブカテゴリ,タイトル,XMLファイルパス
	this.listData = new Array();
}

// XMLデータからコンテンツを作成
Information.prototype.showContents = function(httpObj){
	/* リスト要素の取得 */
	this.makeListData(httpObj);
	/* スライドダウンメニューの作成 */
	this.makeSlideDownMenu();
}

// XMLからリストデータを作成
Information.prototype.makeListData = function(httpObj){
	// XMLデータの取得
	var xmlData = httpObj.responseXML;
	// 一行づつに分割
	var rowData = xmlData.getElementsByTagName('Row');
	// 一行目はコメント行なので無視
	for(i=1;i<rowData.length;i++){
		var lineData = rowData[i].getElementsByTagName('Data');
		this.listData[i-1] = new Array();
		for(j=0;j<lineData.length;j++){
			this.listData[i-1][j] = lineData[j].childNodes[0].nodeValue;
		}
	}
}

/* カテゴリ別メニューの作成 */
Information.prototype.makeSlideDownMenu = function(){
	var main = document.createElement('UL');
	main.id = 'slideDowmMenuUlMain';
	$('dhtmlgoodies_slidedown_menu').appendChild(main);

	for(i=0;i<this.listData.length;i++){
		var mainMenu	= this.listData[i][1];	/* メインカテゴリ */
		var strTitle	= this.listData[i][2];	/* タイトル       */
		var strUrl		= this.listData[i][3];	/* URL            */
		var strSheet	= this.listData[i][4];	/* シート名       */
		/* メインカテゴリ */
		if($(mainMenu) == null){
			var li = document.createElement('LI');
			li.id = mainMenu;
			$(main.id).appendChild(li);
			var a = document.createElement('A');
			a.href = 'javascript:void(0);';
			/* メインカテゴリに含まれるelementの数を取得 */
			var	mainElementLength = 0;
			for(j=0;j<this.listData.length;j++){
				if(this.listData[j][1] == mainMenu){
					mainElementLength++;
				}
			}
			a.innerHTML = mainMenu + '( ' + mainElementLength + ' )';
			$(mainMenu).appendChild(a);
		}
		// タイトル
		// LISTが無い場合は作成
		if($(mainMenu + 'title') == null){
			var title = document.createElement('UL');
			title.id = mainMenu + 'title';
			$(mainMenu).appendChild(title);
		}
		// LISTItemの作成
		var li = document.createElement('LI');
		li.id = strTitle;
		li.url = strUrl;
		li.sheet = strSheet;
		li.onclick = function(){loadTable(this.url,this.sheet);};
		$(mainMenu + 'title').appendChild(li);
		var a = document.createElement('A');
		a.href = "#";
		a.innerHTML = strTitle;
		$(strTitle).appendChild(a);
	}
	initSlideDownMenu();
}

// Global funcions
// スライドダウンメニュー
function loadInformationContents(){
	slideDownMenuAjax = new Ajax.Request(
		"list.xml", 
		{
			method: 'get', 
			onComplete:function(httpObj){
				information.showContents(httpObj);
			}
		});
}
