/*
 *
 *  外部XMLからデータを読みこみ
 *  要素を追加します
 *
 */

(function(){
	var list = {
		_timer:50,     // インターバル
		_delay:250,    // ブロックの表示ディレイ
    _parentNode:"newest",
		_titleLen:25,  // 表示可能文字数 ※全角
		
		
	  init:function(){
	    var url = "/radiobar/xml/blog_news.xml";
	    var http = new JKL.ParseXML( url );               // JKL.ParseXMLオブジェクトを生成
	    http.async( list.setNewestInfo );                 // 呼び出し先関数を指定する
	    http.parse();                                     // 通信開始
	  },
	    
	  setNewestInfo:function(){
	    var args = arguments[0];
	    var d = new Array();
			
	    for(var i=0; i< args["blog_news"]["item"].length; i++){
	      d[i] = {};
	      d[i]["link"]   = args["blog_news"]["item"][i]["link"];
	      d[i]["target"] = args["blog_news"]["item"][i]["target"];
	      d[i]["title"]  = args["blog_news"]["item"][i]["title"];
	      d[i]["name"]   = args["blog_news"]["item"][i]["name"];
	      d[i]["images"] = args["blog_news"]["item"][i]["images"];
	    }
	    
	    list.addElem(d);
	  },

	  addElem:function(e){
	    var ele = e;
	    var d = document;
	    var blk_ex = document.createElement("div");
	    
	    // idをセット
	    blk_ex.id = "blk_ex";
	    // DIV要素を配置
	    document.getElementById(list._parentNode).appendChild(blk_ex);

	    for(var i=0; i<ele.length; i++){
	      var add = document.createElement("div");
	      add.className = "blk_new";

			  var s = "<img src='"+ele[i]["images"]+"'><p><a href="+ele[i]["link"]+"><strong>"+ele[i]["name"]+"</strong><br />"+list.checkTitleLen(ele[i]["title"])+"</a></p>\n";
<!--    	  var s = "<p><a href="+ele[i]["link"]+"><strong>"+ele[i]["name"]+"</strong></a> / <a href="+ele[i]["link"]+">"+list.checkTitleLen(ele[i]["title"])+"</a></p>\n"; -->
	      
	      show(add,s,list._delay*i);
	    }
	    
	    function show(ele, s, time){
	        var ele = ele;
	        var s   = s;
	        var time=time;

	        setTimeout(function(){
	          ele.innerHTML = s;
	          ele.style.cssText = "Filter: Alpha(Opacity=0);opacity:.0;";
	          document.getElementById("blk_ex").appendChild(ele);
	          
	          easeAlpha();
	        }, time);
	        
	        function easeAlpha(){
	          var timer = 0;
	          var alpha = 0;
	          
	          timer = setInterval(function(){
	            alpha += 5;
	            ele.style.cssText = "Filter: Alpha(Opacity="+alpha+");opacity:"+alpha/100+";";
	            if(100 <= alpha) clearInterval(timer);
	          },list._timer);
	        }
	        
	    }
		},
		
		checkTitleLen:function(tt){
			var t = str = tt;
			
			// 10文字を超えたら間引く
			if( t != null && list._titleLen <= t.length){
				str = t.slice(0,list._titleLen)+"...";
			}
			
			return str || "";
		},
		
		addEvent:function(event, ele, func){
			try{
				ele.addEventListener(event,func,false);
			}catch(e){
				ele.attachEvent("on"+event,func)
			}
		},

		removeEvent:function(event, ele, func){
			try{
				ele.removeEventListener(event,func,false);
			}catch(e){
				ele.detachEvent("on"+event,func)
			}
		}

  }
	
	// onloadイベント登録
	list.addEvent("load",window,list.init);
})();


