/*
 * datetab.js- Display On Parsing Multiple XML Files
 */

/*** Script Start  ***/
// OnLoad Function (Main)
/*
 * yyyymm：データが表示されている年月
 * type  ：対象ページの種類(news or farm or ticket)
 */
setDateTab = function (yyyymm, type) {
	var base_year  = yyyymm.substring(0,4);
	var base_month = yyyymm.substring(4,6);
	
	// ドメイン名
	var domain_name = 'http://' + location.hostname;

	// XMLファイル名
	var xml_name = new Array();
	xml_name['news']   = 'month_news.xml';
	xml_name['farm']   = 'month_farm.xml';
	xml_name['ticket'] = 'month_ticket.xml';
	xml_name['challenge']   = 'month_challenge.xml';
	xml_name['exhibition']   = 'month_exhibition.xml';

	// XML格納ディレクトリ
	var xml_dir = '/G/farm/xml/';

	// XMLPath
	var url = xml_dir + xml_name[type];
	
	// Parse Each XMLs
	var http = new JKL.ParseXML(url);
	var func = "";

	// ヘッダ設定用関数
	func = function(data){
		var i;
		var j;
		var data_year;
		var data_month;
		var str = '';
		var data_node  = data.itemlist.item;
		var list_node  = data.itemlist.list;

		// 年度データ存在確認用フラグ
		var exist_flag = false;

		// データが0件の場合
		if(isEmpty(data_node)){	// 処理は行わない

		// データが1件のみの場合
		}else if(isEmpty(data_node.length)){ // 処理は行わない

		// データが2件以上の場合
		}else{
			var prev_year;
			var this_year;
			var count_year = 0;
			var year_list = new Array();

			str += '<ul>';
			for(i=0;i<data_node.length;i++){
				data_year  = data_node[i].date.substring(0,4);
				data_month = data_node[i].date.substring(4,6);
			
				// タブ設定
				if(base_year == data_year){
					exist_flag = true;

					if(base_month == data_month){
						if(!isEmpty(data_node[i].url)){
							str += '<li class="m' + data_month + '">';
							str += '<a href="' + domain_name + data_node[i].url + '">';
							str += '<span class="active">';
							str += '<span class="alt">';
							str += parseInt(data_month, 10) + '月</span></span>';
							str += '</a>';
							str += '</li>';
						}else{
							str += '<li class="m' + data_month + '">';
							str += '<span class="active">';
							str += '<span class="alt">';
							str += parseInt(data_month, 10) + '月</span></span>';
							str += '</li>';
						}

					}else{
						if(!isEmpty(data_node[i].url)){
							str += '<li class="m' + data_month + '">';
							str += '<a href="' + domain_name + data_node[i].url + '">';
							str += '<span class="alt">';
							str += parseInt(data_month, 10) + '月</span>';
							str += '</a>';
							str += '</li>';
						}else{
							str += '<li class="m' + data_month + '">';
							str += '<span class="alt">';
							str += parseInt(data_month, 10) + '月</span>';
							str += '</li>';
						}
					}
				}
			}
			if(!exist_flag){ str += writeTabHTML() };
			str += '</ul>';
		}
		// HTML書き込み(div id='date_tab')
		var element = document.getElementById('date_tab');
		if(element){ document.getElementById('date_tab').innerHTML = str };
		
		// 年度リスト設定（ニュースのみ）
		if(type=='news'){
			str = '';
			var header_str = '';

			for(j=list_node.length-1;j>=0;j--){
				if(j==0){
					header_str += '<p class="btn">';
					header_str += '<a href="' + domain_name + list_node[j].url + '">';
					header_str += '<span class="alt">GIANSニュース</span></a></p>';
				}else{
					str += '<p class="text">';
					str += '<a href="' + domain_name + list_node[j].url + '">';
					str += list_node[j].year + '年';
					str += '</a></p>';
				}
			}
			// HTML書き込み(div id='date_list')
			var element = document.getElementById('date_list');
			if(element){ document.getElementById('date_list').innerHTML = header_str + str };
		}
	}
	http.async(func);
	http.parse();
}

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

/**
 * タブ用HTML設定用関数 writeTabHTML
 */
function writeTabHTML(){
	var str = '';
	str += '<li class="m01"><span class="alt">1月</span></li>';
	str += '<li class="m02"><span class="alt">2月</span></li>';
	str += '<li class="m03"><span class="alt">3月</span></li>';
	str += '<li class="m04"><span class="alt">4月</span></li>';
	str += '<li class="m05"><span class="alt">5月</span></li>';
	str += '<li class="m06"><span class="alt">6月</span></li>';
	str += '<li class="m07"><span class="alt">7月</span></li>';
	str += '<li class="m08"><span class="alt">8月</span></li>';
	str += '<li class="m09"><span class="alt">9月</span></li>';
	str += '<li class="m10"><span class="alt">10月</span></li>';
	str += '<li class="m11"><span class="alt">11月</span></li>';
	str += '<li class="m12"><span class="alt">12月</span></li>';
	return str;
}
