// 表示するニュースファイル
var file = "news/topnews/topnews.html";
var replace = "topnews";

// TOPニュース取得のメイン関数
function get_topnews() {
     requestFile("GET", file, true);
}

// エレメントへのアクセスメソッド
function $(targetId) {
     return document.getElementById(targetId);
}

//XMLHttpRequestオブジェクト生成
function createHttpRequest(){
     //Win ie用
     if(window.ActiveXObject){
          try {
               //MSXML2以降用
               return new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
               try {
                    //旧MSXML用
                    return new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e2) {
                    return null;
               }
          }
     } else if(window.XMLHttpRequest){
          //Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
          return new XMLHttpRequest();
     } else {
          return null;
     }
}

//ファイルにアクセスし受信内容を確認します
function requestFile(method , fileName , async )
{
     //XMLHttpRequestオブジェクト生成
     var httpoj = createHttpRequest();

     // ブラウザのキャッシュ対策
     url = file + "?" + (new Date()).getTime();
     //open メソッド
     httpoj.open( method , url , async );

     //受信時に起動するイベント
     httpoj.onreadystatechange = function()
     {
          //readyState値は4で受信完了
          if (httpoj.readyState == 4 && httpoj.status == 200)
          {
               //コールバック
               on_loaded(httpoj);
          }
     }
     //send メソッド
     httpoj.send(null);
}

//コールバック関数 ( 受信時に実行されます )
function on_loaded(req)
{
     //レスポンスを取得
     text  = req.responseText;

     // Mac Safariの文字化け対策
     if ( navigator.appVersion.indexOf( "KHTML" ) > -1 ) {
          var esc = escape( text );
          if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
               text = decodeURIComponent( esc );
          }
     }

     //入れ替え
     $(replace).innerHTML = text;
}
