

addLoadEvent(setFeedarea);

function setFeedarea(){
	
	var timestamp_date = new Date();
	var timestamp = timestamp_date.getTime();
	var setUrl ="/news/?feed=rss2&time=" + timestamp;

	GetFeed.Load(setUrl,"feedArea");
}


function GetFeed(){}
GetFeed.Load = function(FEEDXMLURL,AREAID){
	var httpObj;
	var timerId;
	var timeout_sec = 10; //タイムアウトの秒数
	var success_func = dispRssXmlElement;
	var setUrl = FEEDXMLURL;
	var areaId = AREAID;
	
	var error_func = httpError;
	var lordingImg = "/asset/img/parts/icon/loading.gif";
	
	
	setLordingImg(areaId,lordingImg);
	httpXmlRequest(setUrl, 'Get', '',success_func, error_func,areaId);



	function setLordingImg (ID,LORDIMG){
		
		if(ID){
			var displayAreaId = ID;
		}else{ 
			var displayAreaId = 'feedArea';
		}
		var displayArea   = document.getElementById(displayAreaId);
		displayArea.innerHTML = '<p class="a_center"><img src="' + LORDIMG + '" alt=""></p>';
			
		return false;
		
	}
	
	function httpXmlRequest(TARGET_URL,METHOD,DATA,SUCCESS_FUNC,ERROR_FUNC,AREAID){
	
		try {
	
			httpObj = CreateXMLHttp();
			
		} catch(e){
			httpObj = false;
		}
		if(!httpObj){
			httpObjGenerateFail();
		}
		
		//timerId = setInterval("timeoutCheck('" + timerId + "')",1000);
		
		httpObj.open(METHOD,TARGET_URL,true);
		
		httpObj.onreadystatechange = function(){
			if(httpObj.readyState == 4){
				clearInterval(timerId);		
				if(httpObj.status == 200){
					SUCCESS_FUNC(httpObj.responseXML,AREAID);
				} else if(httpObj.status == 404){
					ERROR_FUNC("xmlファイルが見つかりません。");
					return false;
				} else {
					ERROR_FUNC(httpObj.status + ':' + httpObj.statusText);
					return false;
				}
			}
		}

		httpObj.send(DATA);
	}
	

	function httpObjGenerateFail(){
		
		alert('ご利用のブラウザーでは、当サイトの新着情報は見られません。');
		return false;
	}
	
	
	function timeoutCheck(TIMERID){
		timeout_sec --;
		if(timeout_sec <= 0){
			//タイマーをストップする
			clearInterval(TIMERID);
			
			//HTTPリクエストを中断する
			httpObj.abort();
			
			//エラーダイアログを表示
			alert('タイムアウトです.');
			
			return false;
		}
	}
	
	
	
	function httpError(ERR){
		var displayArea   = document.getElementById(areaId);
		displayArea.innerHTML = ERR;
		//alert(ERR);
	}
	
	
	
	function CreateXMLHttp(){
		try{
			return new XMLHttpRequest();
			
		}catch(e){
			try{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				try{
					return new ActiveXObject("Msxml2.XMLHTTP");
				}catch(e){
					return null;
				}
			}
		}
		return null;
	}
	
	
	
	
	
	
	
	function dispRssXmlElement(XML,AREAID){
		if(AREAID){
			var displayAreaId = AREAID;
		}else{ 
			var displayAreaId = 'feedArea';
		}
		var displayArea   = document.getElementById(displayAreaId);
		var itemData = XML.getElementsByTagName('item');
	
		
		var feedConts = "<table>";
		
		var i;
		for(i=0; i<itemData.length; i++){
			var titleDate= '';
			var linkDate = '';
			var pubDate = '';
			var categoryData = '';
			var categoryColorData = '';
	
			var j;
			for(j=0; j<itemData[i].childNodes.length; j++){
				var child = itemData[i].childNodes[j];
				if(child.tagName == 'title'){
					if(child.firstChild){
						titleDate = child.firstChild.nodeValue;
					}
				} else if (child.tagName == 'link'){
					if(child.firstChild){
						linkDate= child.firstChild.nodeValue;	
					}
				} else if (child.tagName == 'pubDate'){
					if(child.firstChild){
						pre_pubDate = child.firstChild.nodeValue;
						pubDate = new Date(pre_pubDate);
						pubDateM = pubDate.getMonth()+1;
						pubDate = pubDate.getFullYear() + "/" + pubDateM + "/" + pubDate.getDate() ;
					}
				} else if (child.tagName == 'category'){
					if(child.firstChild){
						categoryDate= child.firstChild.nodeValue;	
					}
					
				}
			}
			
			feedConts += "<tr>";
			
			var new_dataframe_data_id = 'rss_index_data' + i;
			var tagTh = tag("th", {id : new_dataframe_data_id}, pubDate);
	
			feedConts += tagTh;
			
			
			var new_dataframe_cont_id = 'rss_index_cont' + i;
			var contData = '<p><span>' +  categoryDate + '</span></p><p class="sentence"><a href="' + linkDate + '"  target="_blank">' + titleDate + '</a></p>';
			var tagTd = tag("td", {id : new_dataframe_cont_id}, contData);
	
			feedConts += tagTd;
	
			feedConts += "</tr>";
		}
		
		feedConts += "</table><p class='a_right sp00'><a class='icon_arrow_top_r' href='http://www.rakurakudou.com/news/' target='_blank'>新着情報一覧</a></p>";
		
		displayArea.innerHTML = feedConts;
		
		return null;
	}

	function tag(NAME, OPTION) {
		var result = "<" + NAME;
		if (OPTION) {
			for (var p in OPTION) {
				if (p == "klass") {
					result += " class=\"" + OPTION[p] + "\"";
				} else {
					result += " " + p.replace(/_/g, "-") + "=\"" +OPTION[p] + "\"";
				}
			}
		}
		if (arguments.length <= 2) {
			result += " />";
		} else {
			result += ">";
			for (var i = 2; i < arguments.length; i++) {
				result += arguments[i];
			}
			result += "</" + NAME + ">";
		}
		return result;
	}

}
