﻿
/*初期設定*/
var loopNum = 0;
var root = "";	
var output = "";
var displayTextNum = 30;

/*タグ*/
var continueMark = '･･･';
var contents = ''
var Back1 = '<li> <a href="'
var Back2 = '">';
var Back3 = '</a></li>'



var req = createXMLHttpRequest();
req.onreadystatechange = readyStateChangeHandler;
req.open("GET", targetReadXML, true);

/* UserAgentの設定 */
req.setRequestHeader('User-Agent', 'XMLHttpRequest');
req.send(null);
	

/* 読み込み状態が変化したときに呼ばれる関数 */
function readyStateChangeHandler() {

   if (req.readyState == 4) {
      if (req.status == 200) {
       	//alert("正常にリソースが取得できました\n"+"メディアタイプ : "+ req.getResponseHeader('Content-Type'));
        //alert("XMLのルート要素のタグ名 : "+ req.responseXML.documentElement.tagName);

				var xmlDoc = req.responseXML;
		 		var root = xmlDoc.documentElement;/*documentElementを使わないとIEで取得できない*/

				var loopNum = root.getElementsByTagName("item").length;
				var output = getTargetXML(root,loopNum);
      } else {
         //alert("リソースの取得に失敗しました\n"+ 
			 //req.status +" "+ req.statusText);
		 var output = "最新のニュースはありません。";

      }
   }
		
		//alert("処理が終了し、outputされました。::"+output);
		//FireFoxの場合のみonunLoadをしておく
		var w = document.getElementById("dispayNews");
		w.innerHTML = output;
		var BrowserName = checkBrowser();
		if(BrowserName =="firefox"){
			window.onunload= function(){}//FireFoxのみ
			//alert("FireFoxです");
		} else {
			//alert("別のブラウザです");
		}
}



/* 新規XMLHttpRequestを生成する関数 */
function createXMLHttpRequest() {
   return this.XMLHttpRequest ? 
      new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
}




/* 要素を取り出す */
function getTargetXML(targetXML,loopNum){

	for(var i=1;i<=loopNum;i++){
		
		var title = targetXML.getElementsByTagName("title")[i].firstChild.data;
		var link = targetXML.getElementsByTagName("link")[i].firstChild.data;
		//var day = targetXML.getElementsByTagName("published")[i].firstChild.data;なぜかうまくいきません。
		
		var description = targetXML.getElementsByTagName("description")[i].firstChild.data;
		description =(description.length >= displayTextNum)?description.substr(0,displayTextNum) + continueMark:description;
		description =remove_newline(description);　/*改行を削除*/
		contents += Back1 +link + Back2 + " * <b>〔"+title+"〕</b>　" + description + Back3;
		
	}
	return contents;
}



/*改行を削除*/
function remove_newline(text){
   text = text.replace(/\r\n/g, "");//IE
   text = text.replace(/\n/g, "");//Firefox
   text = text.replace('<br />',"");
   return text;
}



/*ブラウザ判定*/
function checkBrowser(){

  var strUA = "";
  var BrowserName = "";
  strUA = navigator.userAgent.toLowerCase();

  if(strUA.indexOf("safari") != -1){
   BrowserName = "safari";

  }else if(strUA.indexOf("firefox") != -1){
    BrowserName = "firefox";

  }else if(strUA.indexOf("opera") != -1){
    BrowserName = "opera";

  }else if(strUA.indexOf("netscape") != -1){
    BrowserName = "netscape";

  }else if(strUA.indexOf("msie") != -1){
    BrowserName = "msie";

  }else if(strUA.indexOf("mozilla/4") != -1){
    BrowserName = "mozilla/4";
  }
  
  return BrowserName;
}

