/*  HandleInformation */
/* 2008.09.23 M.ichijo */
/* This is base on Jquery.js */

/* Get blog RSS and Put Information in the news block */
function GetBlogRss($){
 
 //target
 var target = "#currentNews";

 // get param
 var maxLength_summary = 30;
 var maxLength_title = 20;
 

 $(target + " script[src*='/info.js']").get(0).src.match(/.+\?(.+)/);
 var param_str = RegExp.$1;

 if(param_str.length > 0){
	var param_array = param_str.split('&');
	var param = {};
	var key_value;

	for(i=0;i < param_array.length;i++){
		key_value = param_array[i].split('=');
		param[key_value[0]] = key_value[1];
	}

	if(param.summary){
		maxLength_summary = param.summary;
	}
	if(param.title){
		maxLength_title = param.title;
	}
  }

 // private func
 var normalLinkSet = function(){
     $(target).append("<p class='supportMsg'>最近のお知らせは<a href='http://tokyoud.blog7.fc2.com/' title='blog'>ブログ</a>でご覧いただけます。</p>");
  }
 var loadingMsgRemove = function(){
     var exper = target + ' > p';
     $(exper).remove();
 }

 // Get
 $(function(){

    // prepare Loading 
    $(target).append("<p class='loadingMsg'>Now Loading</p>");
    var panel = null;

   // request
   $.ajax({
      url: "/data/rss.xml",
      dataType: "xml",
      cache: true,
      success: function(data, status) {
	  var entries = data.getElementsByTagName("item");

         if(entries.length >  0){

	   // prepare to append
           panel = $("<dl class='news'>");
           var ns = "http://purl.org/dc/elements/1.1/";
           var item = null;
           var i;

	    for(i = 0;  i < 2;i++){
		var item = entries[i];

               // get title,link,description,date

		  var tl = item.getElementsByTagName("title")[0].firstChild.nodeValue;
	           var ln  = item.getElementsByTagName("link")[0].firstChild.nodeValue;
	           var ds  = item.getElementsByTagName("description")[0].firstChild.nodeValue;
                  if(document.getElementsByTagNameNS){
		      var dt  = item.getElementsByTagNameNS(ns,"date")[0].firstChild.nodeValue;
	          }else{
		      var dt  = item.getElementsByTagName("dc:date")[0].firstChild.nodeValue;
	          }

               // create Element
		// IEが以下のチェーンで生成できない。IE6,IE7  aをelementで完全生成すればOKだった。
               //panel.append($("<dt class='entryDate'>").append($("<a>").attr("href",ln).text(dt.split("T")[0])));

		// で、スマートではありませんが。。
		var dt_obj = "<dt class='entryDate'><a href='" + ln + "' target='_blank' >" + dt.split("T")[0] + "</a></dt>";
		panel.append($(dt_obj));

               var summary = ds.length > maxLength_summary ? ds.substr(0,maxLength_summary) + '…': ds ;
               panel.append($("<dd class='summary'>").text(summary));

               var tl_link = tl.length > maxLength_title ? '[' + tl.substr(0,maxLength_title)  + '…' + ']' : '[' + tl + ']' ;
		// 上と同じく。
               //panel.append($("<dd class='title'>").append($("<a>").attr("href",ln).text(tl_link)));
		var dd_obj = "<dd class='title'><a href='" + ln + "' target='_blank' >" + tl_link + "</a></dd>";
		panel.append($(dd_obj));


            }
		  // Set Data
   	            loadingMsgRemove();
                    if(panel){
                            $(target).append(panel);
                     }
        
           }else{
        	loadingMsgRemove();
              // Set Link
		normalLinkSet();
	   }
       },
       error: function (XMLHttpRequest, status, errorThrown) {
	        loadingMsgRemove();
		normalLinkSet();
	}
      });
 });

}

GetBlogRss(jQuery);