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

// IEかどうかを判別
var isMSIE = /*@cc_on!@*/false; 
var domain = location.hostname;

/*** Script Start  ***/
// Called Function (Main)
// View Page ...
function getContents(genre, term, yearToday, year, monthMM) {

// XML URL Path
date = new Date();
var time = date.getHours().toString() + date.getMinutes().toString() + date.getSeconds().toString();
var url = new Array(
//	"./data.xml"
	"./data.xml?" + time
);

// Parse Each XMLs
for (i=0; i<url.length; i++){
var http = new JKL.ParseXML(url[i]);
var func = "";

// Function Setting
func = function(data){
  
	// Output Strings
	var str = '';
	// 表示件数 + 2 (除算のため+2)
	var nDisp = 3;
	
	// <Item> が、1件のとき
	if (data.itemList.item.length == null) {
	  	makeHTMLString(data.itemList.item);
	}else{
	// <Item> が、2件以上のとき
		for (j=0; j<data.itemList.item.length; j++){
			makeHTMLString(data.itemList.item[j]);
		}
	}
	
	// 出力タグ生成
	function makeHTMLString (item){
	
		// dispFlag for term
		var dispFlag1 = false;
		// dispFlag for genre
		var dispFlag2 = false;

		// 2007/07/06　Term Check改修（FROM-TO検索）
		//@基準日設定＋数値化
		s_yyyymm = String(yearToday) + String(monthMM);
		e_yyyymm = String(year) + String(monthMM);
		
		base_s_date = eval(s_yyyymm);
		base_e_date = eval(e_yyyymm);
		term = eval(term);

		//A変数設定
		s_date = eval(item.term.s_term);
		e_date = eval(item.term.e_term);
		var change_date = "";

		//Bterm1とterm2の大小比較
		if(s_date != undefined || e_date != undefined){
			if(s_date > e_date){
				s_date = change_date;
				s_date = e_date;
				e_date = change_date;
			}else if(s_date != undefined && e_date == undefined){
				e_date = s_date;
			}else if(s_date == undefined && e_date != undefined){
				s_date = e_date;
			}

			//C対象月の検索
			for (var k=s_date; k<=e_date; k++){
				if (k >= base_s_date && k <= base_e_date) {
					if(k == term){
						dispFlag1 = true;
					}
				}
			}
		}
		//Dジャンル検索の場合は月ごとの検索処理は無視する。
		if(term == 0){
			dispFlag1 = true;
		}

		// Genre Check
		if (genre == 'top' || item.genre == genre) {
			dispFlag2 = true;
		}
		
		if (dispFlag1 && dispFlag2) {
		
			// Left Side
			if(nDisp % 2 == 1) {
				str += '<table width="780" border="0" align="center" cellpadding="5" cellspacing="0" class="mgnB10"><tr>';
			}
		    
			str += '<!--	イベント1件分ここから	-->';
			str += '<td width="369" class="box';
			str += item.genreBL;
			str += '">';
			str += '<table width="365" border="0" cellspacing="2" cellpadding="1">';
			str += '<tr>';
			str += '<td width="98" rowspan="4" valign="top"><img src="./img/';
			str += item.img;
			str += '" alt="';
			str += item.title;
			str += '" width="90" height="90" align="left" /></td>';
			str += '<td width="17" valign="top"><img src="images/icon_';
			str += 'stage';
			str += '.gif" alt="';
			str += item.genreBL;
			str += '" width="17" height="17" /></td>';
			str += '<td width="227" valign="top"><strong>';
			str += changeLineCode(item.title);
			str += '</strong></td>';
			str += '</tr>';
			str += '<tr>';
			str += '<td valign="top"><img src="images/icon_time.gif" alt="日時" width="17" height="17" /></td>';
			str += '<td>';
			// 2008.11.14 NULLチェックをするように修正
			if(item.termStr != null && item.termStr != "") {
				str += changeLineCode(item.termStr);
			} else {
				str += "&nbsp;";
			}
			str += '</td>';
			str += '</tr>';
			str += '<tr>';
			str += '<td valign="top"><img src="images/icon_place.gif" alt="場所" width="17" height="17" /></td>';
			str += '<td>';
			// 2008.11.14 NULLチェックをするように修正
			if(item.place != null && item.place != "") {
				str += changeLineCode(item.place);
			} else {
				str += "&nbsp;";
			}
			str += '</td>';
			str += '</tr>';
			str += '<tr>';
			str += '<td>&nbsp;</td>';
			str += '<td><p>';
			// 2009.06.04 NULLチェックをするように修正
			if(item.body != null && item.body != "") {
				str += changeLineCode(item.body);
			}
			str += '</p></td>';
			str += '</tr>';
			str += '</table>';

			// 2007/07/06 詳細リンク非表示設定時はリンクを表示しない。
			if(item.details != 'not_disp' ){
				if (item.link != null) {
					str += '<span><a href=\" ';
					str += item.link;
					str += '?';
					str += time;
					str += '" target="_blank">詳細はこちら</a></span>';
					
				} else if(item.link == null && item.url != null) {
					str += '<span><a href=\"contents/';
					str += item.url;
					str += '?';
					str += time;
					str += '" target="_blank">詳細はこちら</a></span>';
				} else {
					str += '<span><a href="javascript:;" onclick="makeCalURL(\'';
					str += genre;
					str += '\', 0, \'detail\', \'';
					str += item.url;
					str += '?';
					str += time;
					str += '\');">詳細はこちら</a></span>';
				}
			}

			str += '</td>';
			str += '<!--	イベント1件分ここまで	-->';
			
			// Left Side (Middle Side)
			if(nDisp % 2 == 1) {
				str += '<td width="12"><img src="images/spacer.gif" alt="" width="1" height="1"></td>';
			}
			
			// Right Side
			if(nDisp % 2 == 0) {
				str += '</tr></table>';
			}
			
			// 表示数を1UP
			nDisp++ ;
		}
	}
	
	
	// IF: No Right Side Data
	if(nDisp % 2 == 0) {
		str += '<!--	イベント1件分ここから	-->';
		str += '<td width="369"><img width="369" height="1" alt="" src="images/spacer.gif" /></td>';
		str += '<!--	イベント1件分ここまで	-->';
		str += '</tr></table>';
	}
	
	// 表示件数が、
	if (nDisp == 3) {
    str += '<table width="780" border="0" align="center" cellpadding="5" cellspacing="0" class="mgnB10"><tr>';
    str += '<td style="text-align: center;">登録されている情報はありません。</td>';
    str += '</tr></table>';
	}
	
	document.getElementById("resultAjax").innerHTML = str;
	
}

http.async(func);
http.parse();
}

}



// Ditail Page ...
function getContentsDetail(genre, page) {

var target_url = page;
var httpObj;
var linkStr = "";

// Link 表示部分 (一覧へ戻る)
linkStr += '<a href="javascript:;" onclick="makeNavi(\'';
linkStr += genre;
linkStr += '\'); makeCalURL(\'';
linkStr += genre;
linkStr += '\', 0, \'view\', \'\');">';
linkStr += '<img src="images/bt_backlist.jpg" alt="一覧へ戻る" width="121" height="29" hspace="10" border="0" /></a>';


try {
    if(window.XMLHttpRequest) {
        httpObj = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        httpObj = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        httpObj = false;
    }
} catch(e) {
    httpObj = false;
}

if(! httpObj) {
    return false;
}

httpObj.open("GET", target_url, true);

httpObj.onreadystatechange = function() {

if (httpObj.readyState == 4) {
    if (httpObj.status == 200) {
		    var text = httpObj.responseText;
        if ( navigator.appVersion.indexOf( "KHTML" ) > -1 ) {
          var esc = escape( text );
          if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
            text = decodeURIComponent( esc );
          }
        }
        if (isMSIE) {
          document.getElementById("resultAjax").insertAdjacentHTML('AfterBegin', text);
        }else{
          document.getElementById("resultAjax").innerHTML = text;
		    }
		    
        // Link 表示部分 (詳細はこちら) - リンクがない場合は、表示しない
        var urlString = document.getElementById("returnViewContents").innerHTML;
        if (urlString.length > 1) {
          linkStr += '<a target="_blank" href="';
          linkStr += urlString;
          linkStr += '"><img src="images/bt_shosai.jpg" alt="詳細はこちら" width="121" height="29" border="0" /></a>';
        }
        
        document.getElementById("returnView").innerHTML = linkStr;
        
    } else {
        return false;
    }
}

}

httpObj.send('');

}

/**
 * 改行コード(LF)→<br>変換用関数
 */
function changeLineCode(str){
	var returnCode = '';
	REbr = new RegExp(String.fromCharCode(10),"g");
	returnCode = str.replace(REbr,"<br>");
	return returnCode;
}


