//
//  Ajax通信により当該月以前のブログデータ月別リストを取得・表示する
//  要prototype.js
//  要basic.js
//  書式：requestPastDiary (element, url)
//  引数：element = 受信データの表示先id属性
//  　　　url = ターゲットスクリプトのurl
//
//  2007/12/03 (c) Ohsako, Junichi
//

function requestPastDiary (element, url) {
  // prototype.js でAjax通信
  new Ajax.Request (url, {
    asynchronous: true,
    method: "post",
    onComplete: function (request) {
                  var xml = request.responseXML;
                  // <record>のノードリストを得る
                  var record = xml.getElementsByTagName ("record");
                  // <hizuke>のノードリストを得る
                  var year = xml.getElementsByTagName ("year");
                  // <titles>のノードリストを得る
                  var month = xml.getElementsByTagName ("month");

                  // 年管理用変数を初期化
                  var thisyear = '';
                  // ここから変数htmlにHTML化した文字列を蓄積
                  var html = '';
                  // 有効なデータが存在するかを判定
                  if (xml.getElementsByTagName ("record").length) { 
                    html += '<div class="diarybox">';
                    // ノードリストから順次値を取り出してHTML化
                    for (var i = 0; i < record.length; i++) {
                      var resY = year[i].firstChild.nodeValue;
                      var resM = month[i].firstChild.nodeValue;
                      if (!thisyear) {
                      thisyear = resY;
                      html += '<h2 class="diaryItem">' + resY + '年</h2>';
                      html += '<ul>';
                      } else if (thisyear != resY) { 
                      thisyear = resY;
                      html += '</ul>';
                      html += '<h2 class="diaryItem">' + resY + '年</h2>';
                      html += '<ul>';
                      }
                      html += '<li><a href="diary.html?' + resY.toString() + resM.toString() +'">' + resM + '月</a></li>';
                    }
                    html += '</div>';
                  }
                  // DOM書き出し
                  $(element).innerHTML = html;
                }
  });
}
