/*==========================================================

 @sitename JPAP.JP
 @lastupdate 2009/4/23

==========================================================*/

/* News Feed
----------------------------------------------------------*/
(function(){
	
	var newsfeed;
	var ajax = new KEY.Data.XHRequest();
		
	KEY.Module.NewsFeed = function() {
		KEY.User.Size.call(this);
		KEY.HTML.GetElement.call(this);
	}
	
	KEY.Module.NewsFeed.prototype = {
	
		init : function(id) {
			newsfeed = this.$(id);
			newsfeed.innerHTML = "";
		},
		
		load : function(file, max) {
			//if (location.protocol == "http:") return;
			
			ajax.onLoadError = function(){newsfeed.innerHTML = '<p class="mt20 tc">XMLファイルの読み込みに失敗しました。</p>'};
			ajax.onLoading = function(){newsfeed.innerHTML = '<p class="mt20 tc">XMLファイルの読み込み中...</p>'};
			
			ajax.onComplete = function(xml) {
				
				var container = document.createElement("div");
				var item = xml.getElementsByTagName("更新情報");
				
				var index = item.length;
				var max_length = (max) ? max : item.length;
				var j = 0;
				
				for (var i=0; i<index; i++) {
				
					//Definition List
					var dl = document.createElement("dl");
					var category = item[i].getAttribute("掲載");
					if (!category) continue;
					if (!category.match("ポータル")) continue;
					
					if (j++ < max_length) {
						
						//Definition Term
						var dt = document.createElement("dt");
						var Dated = item[i].getElementsByTagName("日付")[0];
						if(Dated) {
							var date = Dated.firstChild.nodeValue;
							var dates = date.split(".");
							if(dates[1].length < 2){
								dates[1] = "0" + dates[1];
							}
							if(dates[2].length < 2){
								dates[2] = "0" + dates[2];
							}
							date = dates[0] + "." + dates[1] + "." + dates[2];
						} else {
							var date = "&nbsp;";
						}
						dt.innerHTML = date;
						
						var icon = item[i].getAttribute("掲載");
						if(icon) {
							icon = icon.toUpperCase();
							if (icon == "ポータル+医療") dt.innerHTML += '<img src="./cmn/generally/img/icn_news_medical.gif" alt="医療従事者向け" />';
							if (icon == "ポータル+一般") dt.innerHTML += '<img src="./cmn/generally/img/icn_news_general.gif" alt="患者さん・ご家族向け" />';
						}
						dl.appendChild(dt);
						
						//Definition Description
						var dd = document.createElement("dd");
						var Text = item[i].getElementsByTagName("内容")[0];
						if(Text) {
							var text = Text.firstChild.nodeValue;
						} else {
							var text = "&nbsp;";
						}
						
						var Link = item[i].getElementsByTagName("リンク")[0];
						if(Link) {
							var a = document.createElement("a");
							var href = Link.getAttribute("アドレス");
							var target = Link.getAttribute("オプション");
							if(href) a.setAttribute("href", href);
							if(target) a.setAttribute("target", "_blank");
						}
						
						//Definition Description > set content
						if (Link && text) {
							a.innerHTML = text;
							dd.appendChild(a);
						} else if(text) {
							dd.innerHTML = text;
						}
						
						//Definition Description > note
						var Note = item[i].getElementsByTagName("註釈")[0];
						if(Note && Note.firstChild) {
							var span = document.createElement("span");
							span.className = "note";
							span.innerHTML = Note.firstChild.nodeValue;
							dd.appendChild(span);
						}
						
						dl.appendChild(dd);
						container.appendChild(dl);
					}
					
				}//end loop;
				
				newsfeed.innerHTML = "";
				newsfeed.appendChild(container);
				
			};
			
			ajax.load(file);
		}
		
	}
	
	key.news = new KEY.Module.NewsFeed();
	
})();
