/*@cc_on _d=document;eval('var document=_d')@*/

/////////////////////////////////////////////////////////////////////
//*** 広報室より ***//
var cstPr_URL = "http://blogs.weathermap.co.jp/pr/archives/";
var cstPr01RowNum = 4;//shutsuen
var cstPr02RowNum = 2;//speechEvent
var cstPr03RowNum = 2;//dataService
var cstPr04RowNum = 2;//writing 
var cstPr05RowNum = 2;//pressrelease
var cstPr06RowNum = 4;//other

//*** クリアより ***//
var cstCl_URL = "http://blog.wm-clear.co.jp/clear_info.xml";
var cstCl01RowNum = 4;

//*** 表示文字数 ***//
var cstSubStrByteNum = 25;	//広報室用
var cstSubStrNum = 40;	//コンテンツ一覧用

//*** New!画像 ***//
var cstIMG_NEW = "<img class=\"icon-new\" src=\"common-images/icon-New.gif\""
			+ " alt=\"更新しました\" width=\"42\" height=\"14\" />";

//*** コンテンツ一覧出力用 ***//
var cstCTS_URL01 = "http://blogs.weathermap.co.jp/blog/index.xml";
var cstCTS_URL02 = "http://blogs.weathermap.co.jp/tokoro/index.xml";
var cstCTS_URL03 = "http://blogs.weathermap.co.jp/okinawa/index.xml";
//var cstCTS_URL04 = "http://hareruya.wm-clear.co.jp/rss.xml";
var cstCTS_URL04 = "http://blogs.weathermap.co.jp/hareruya/atom.xml";
var cstCTS_URL05 = "http://blogs.yahoo.co.jp/wth_map/rss.xml";
var cstCTS_URL06 = "http://www.c-player.com/ac64338/index.rdf";
var cstCTS_URL07 = "http://www.weathermap.co.jp/kishojin/diary/rss.xml";
var cstCTS_URL08 = "http://blog.wm-clear.co.jp/rss.xml";
var cstCTS_URL09 = "http://www.plus-blog.sportsnavi.com/ysaitoh/atom/feed.xml";
//var cstCTS_URL10 = "http://rssblog.ameba.jp/motoimiki/rss20.xml";
var cstCTS_URL10 = "http://feedblog.ameba.jp/rss/ameblo/motoimiki/rss20.xml";
//var cstCTS_URL11 = "http://rssblog.ameba.jp/minookayoko/rss20.xml";
var cstCTS_URL11 = "http://feedblog.ameba.jp/rss/ameblo/minookayoko/rss20.xml";
//var cstCTS_URL12 = "http://rssblog.ameba.jp/sakihamaayako/rss20.xml";
var cstCTS_URL12 = "http://feedblog.ameba.jp/rss/ameblo/sakihamaayako/rss20.xml";
var cstCTS_URL13 = "http://tbs-blog.com/u/sato-news/d/rss";//20090914

//New!の基準日
var p_stdDay;

var cstMaintenance = "メンテナンス中";
/////////////////////////////////////////////////////////////////////

//*** 外部サイトのXML解析(phpで取得) 非同期 ***//
function getXML_async(prmURL, prmFnc){
  var cstWorkURL = "./js/getxml.php?param=";

  try{
      var http = new JKL.ParseXML(cstWorkURL + prmURL);
      if ( !http ) return false;

      http.async( prmFnc );
      http.parse();

  } catch(e){
      return e.description;
  }
}

/* クリアな日々 */
function getXML_clearblog( data ){
  try{
    Output_Contennts("clearblog", data.rss.channel.item[0]);
  } catch(e){
  }
}

/* 気象人 */
function getXML_kishojin( data ){
  try{
    Output_Contennts("kishojin", data.rss.channel.item[0]);
  } catch(e){
  }
}

/* 晴家ブログ出力 */
function getXML_hareruyablog( data ){
  try{
    //20090109 Output_Contennts("hareruyablog", data.rss.channel.item[0]);
    var prmID = "hareruyablog";
    var prmData = data.feed.entry[0];

    var wkCDATA = prmData.summary;
    wkCDATA = wkCDATA.stripTags().substr(0, cstSubStrNum) + "...";
    wkCDATA = wkCDATA.replace(/[　 ][　 ]/g, "");
    var wkOpData = "<b>" + prmData.title + "</b><br />" + wkCDATA;
    document.getElementById(prmID).innerHTML = wkOpData;
    document.getElementById(prmID + "_pD").innerHTML = (prmData.published.substring(5, 7) - 0)
                                     + "/" + (prmData.published.substring(8, 10) - 0) + "更新!";
  } catch(e){
      //document.getElementById(prmID).innerHTML = e.description;
      document.getElementById(prmID).innerHTML = "";
  }
}

/* チーム森田ブログ出力 */
function getXML_teamMoritablog( data ){
  try{
    Output_Contennts("teamMoritablog", data.rss.channel.item[0]);
  } catch(e){
  }
}

/* Weather9ブログ出力 */
function getXML_Weather9blog( data ){
  try{
      var prmID = "Weather9blog";
      var prmData = data["rdf:RDF"]["item"][0];

      var wkCDATA = prmData.description;
      wkCDATA = wkCDATA.stripTags().substr(0, cstSubStrNum) + "...";
      var wkOpData = "<b>" + prmData.title + "</b><br />" + wkCDATA;
      document.getElementById(prmID).innerHTML = wkOpData;
      document.getElementById(prmID + "_pD").innerHTML = (prmData["dc:date"].substring(5, 7) - 0)
                                     + "/" + (prmData["dc:date"].substring(8, 10) - 0) + "更新!";
  } catch(e){
      //document.getElementById(prmID).innerHTML = e.description;
      document.getElementById(prmID).innerHTML = "";
  }
}

/* 斎藤義雄のお天気競馬  */
function getXML_tenkiKeiba( data ){
  try{
      var prmID = "tenkiKeiba";
      var prmData = data.feed.entry[0];

      var wkCDATA = prmData.content["#text"];
      wkCDATA = wkCDATA.substr(0, cstSubStrNum) + "...";
      var wkOpData = "<b>" + prmData.title + "</b><br />" + wkCDATA;
      document.getElementById(prmID).innerHTML = wkOpData;
      document.getElementById(prmID + "_pD").innerHTML = (prmData.modified.substring(5, 7) - 0)
                                     + "/" + (prmData.modified.substring(8, 10) - 0) + "更新!";
  } catch(e){
      //document.getElementById(prmID).innerHTML = e.description;
      document.getElementById(prmID).innerHTML = "";
  }
}

/* 佐藤大介の２、３分じゃおさまらない！ 20090914 */
function getXML_satoblog( data ){
  try{
      var prmID = "satoblog";
      Output_Contennts("satoblog", data.rss.channel.item[0]);
  } catch(e){
      document.getElementById(prmID).innerHTML = "";
  }
}

//*** コンテンツ一覧共通出力処理(Weather9以外) ***//
function Output_Contennts(prmID, prmData){
  try{
if (prmID == "hareruyablog" || prmID == "clearblog"){
  var wkDescription = prmData.description;
  if (typeof(wkDescription) != "object"){
    var wkCDATA = prmData.description;
    wkCDATA = wkCDATA.stripTags().substr(0, cstSubStrNum) + "...";
    wkCDATA = wkCDATA.replace(/[　 ][　 ]/g, "");
  } else {
    var wkCDATA = wkDescription["#text"];
  }
/*
alert(wkCDATA);
var res = "";
for (var val in wkCDATA){
  res += val + "\n";
}
alert(res);
*/
} else {
      var wkCDATA = prmData.description;
      //20100203add---START
      var wkIndexOf = wkCDATA.indexOf("続きをみる");
      if (wkIndexOf != -1){
        wkCDATA = wkCDATA.substr(0, wkIndexOf);
      }
      //20100203add---END
      wkCDATA = wkCDATA.replace(/&quot;/g, "\"");
      wkCDATA = wkCDATA.stripTags().substr(0, cstSubStrNum) + "...";
      wkCDATA = wkCDATA.replace(/[　 ][　 ]/g, "");
}
      //wkCDATA = wkCDATA.stripTags().replace(/[　 ][　 ]/g, "").substr(0, cstSubStrNum) + "...";
      var wkOpData = "<b>" + prmData.title + "</b><br />" + wkCDATA;
      document.getElementById(prmID).innerHTML = wkOpData;
      document.getElementById(prmID + "_pD").innerHTML = Format_pubDate2MD(prmData.pubDate)
                                                            + "更新!";
  } catch(e){
      //document.getElementById(prmID).innerHTML = e.description;
      document.getElementById(prmID).innerHTML = "";
  }
}

//*** クリアよりXML取得&出力 ***//
function getXML_clearInfo( data ){
  try{
    Output_Pr("clearoshirase", data.rss.channel.item, cstCl01RowNum);
  } catch(e){
  }
}

//*** 広報室共通出力処理 ***//
function Output_Pr(prmID, prmData, prmRowNum){
  try{
      var dataRecord = prmData.length;
      var rsltHTML = new Array();

      for(i = 0; i < dataRecord; i++){
          rsltHTML[i] = Make_PrHTML(prmData[i], p_stdDay);
      }

      OutputData(prmRowNum, prmID, rsltHTML);
  } catch(e){
      //document.getElementById(prmID + 0).innerHTML = e.description;
      document.getElementById(prmID + 0).innerHTML = "";
  }
}

//*** XMLのpubDate整形 M/D型 ***//
function Format_pubDate2MD(prmDate){
  try{
      var objDate = new Date(prmDate);
      var strDay = objDate.getDate();
      var strMonth = objDate.getMonth() + 1;

      return strMonth + "/" + strDay;
  } catch(e){
      return "1/1";
  }
}

//*** XMLのpubDate整形 YYYY/MM/DD型 ***//
function Format_pubDate(prmDate){
  try{
      var objDate = new Date(prmDate);
      var strDay = "0" + objDate.getDate();
      var strMonth = "0" + (objDate.getMonth() + 1);
      var strYear = objDate.getYear();
      if (strYear < 2000) strYear += 1900;

      return strYear + "/" + strMonth.substr(strMonth.length - 2) +
                       "/" + strDay.substr(strDay.length - 2);
  } catch(e){
      return "1970/01/01";
  }
}

//*** 未来過去日付作成 YYYY/MM/DD型 ***//
function Make_MyDate(prmY, prmM, prmD){
  try{
      //var objDate = new Date();	//今日を取得
      var wkToday = document.getElementById("today").innerHTML;
      var wkTodayY = wkToday.substr(0, 4);
      var wkTodayM = wkToday.substring(5, wkToday.indexOf("月"));
      var wkTodayD = wkToday.substring(wkToday.indexOf("月") + 1, wkToday.indexOf("日"));
      var objDate = new Date(wkTodayY, wkTodayM - 1, wkTodayD);

      objDate.setDate(objDate.getDate() + prmD);
      objDate.setMonth(objDate.getMonth() + prmM);

      objDate.setFullYear(objDate.getFullYear() + prmY);

      var strDay = "0" + objDate.getDate();
      var strMonth = "0" + (objDate.getMonth() + 1);
      var strYear = objDate.getFullYear();

      return strYear + "/" + strMonth.substr(strMonth.length - 2) +
                       "/" + strDay.substr(strDay.length - 2);
  } catch(e){
      return "1970/01/01";
  }
}

//*** html出力(広報室より用) ***//
function OutputData(prmRow, prmID, prmData){
  try{
      var wkData;

      for(i = 0; i < prmRow; i++){
          if ( !prmData[i] ){
              wkData = "&nbsp;";
          } else {
              wkData = prmData[i];
          }
          document.getElementById(prmID + i).innerHTML = wkData;
      }

  } catch(e){
      //return e.description;
      document.getElementById(prmID + 0).innerHTML = "";
  }
}

//*** 出力データ整形(広報室より用) ***//
function Make_PrHTML(prmDList, prmSDay){
  try{
      var rtnHTML;
      var wkpubDate = Format_pubDate(prmDList.pubDate);
      var wktitle = prmDList.title;
      wktitle = Cut_String(wktitle);

      rtnHTML = "<a href=\"" + prmDList.link + "\">";

      wkOpDate = (wkpubDate.substr(5, 2) - 0) + "/" + (wkpubDate.substr(8, 2) - 0) + "     ";
      wkOpDate = wkOpDate.substr(0, 5).replace(" ", "&nbsp;");
      rtnHTML = rtnHTML + "<span class=\"date\">" + wkOpDate + "</span>";
      rtnHTML = rtnHTML + wktitle;

      // New判定
      if (wkpubDate >= prmSDay ){
          rtnHTML = rtnHTML + cstIMG_NEW + "</a>";
      } else {
          rtnHTML = rtnHTML + "</a>";
      }
      return rtnHTML;

  } catch(e){
      return e.description;
  }
}

function Cut_String(prmStr){
  try{
    var i, cnt = 0, rtnStr = prmStr;
    for(i = 0; i < prmStr.length; i++) {
      if (prmStr.charAt(i).match(/[ｱ-ﾝ]/) || escape(prmStr.charAt(i)).length < 4 ) {
          cnt = cnt + 1;
      }else{
          cnt = cnt + 2;
      }
      if (cnt > cstSubStrByteNum){
        rtnStr = prmStr.substr(0, i) + "...";
        return rtnStr;
      }
    }
    return rtnStr;
  } catch(e){
    //return e.description;
    return rtnStr.substr(0, 10);
  }
}

function getXMLs_pr( data ){
  try{
    Output_Pr("oshirase", data.rss.channel[0].item, cstPr06RowNum);
    Output_Pr("pressRelease", data.rss.channel[1].item, cstPr05RowNum);
    Output_Pr("shutsuenInf", data.rss.channel[2].item, cstPr01RowNum);
    Output_Pr("shippitsu", data.rss.channel[3].item, cstPr04RowNum);
    Output_Pr("serviceInf", data.rss.channel[4].item, cstPr03RowNum);
    Output_Pr("koen", data.rss.channel[5].item, cstPr02RowNum);
  } catch(e){
  }
}

function getXMLs_wmblog( data ){
  try{
    //Output_Contennts("wmblog", data.rss.channel[0].item[0]);
    //Output_Contennts("blogtokoro", data.rss.channel[1].item[0]);
    //Output_Contennts("blogokinawa", data.rss.channel[2].item[0]);
    //Output_Contennts("blogtokoro", data.rss.channel[0].item[0]);
    Output_Contennts("blogtokoro", data.rss.channel.item[0]);
    //Output_Contennts("blogokinawa", data.rss.channel[1].item[0]);
  } catch(e){
  }
}

function getXMLs_ameblo( data ){
  try{
    Output_Contennts("amebloMotoi", data.rss.channel[0].item[0]);
    Output_Contennts("amebloMinooka", data.rss.channel[1].item[0]);
    Output_Contennts("amebloSakihama", data.rss.channel[2].item[0]);
  } catch(e){
  }
}

//*** 複数の外部サイトのXML解析(phpで取得) 非同期 ***//
function getXMLs_async(prmURL, prmFnc){
  var cstWorkURL = "./js/getXMLs.php?param[]=";

  try{
      var http = new JKL.ParseXML(cstWorkURL + prmURL);
      if ( !http ) return false;

      http.async( prmFnc );
      http.parse();

  } catch(e){
      return e.description;
  }
}


function parseXML4HPonload(){
  try{
    p_stdDay = Make_MyDate(0, 0, -5);       //New!の基準日作成

    getXMLs_async(cstPr_URL + "cat38/index.xml&param[]=" +
                cstPr_URL + "cat35/index.xml&param[]=" +
                cstPr_URL + "cat37/index.xml&param[]=" +
                cstPr_URL + "cat42/index.xml&param[]=" +
                cstPr_URL + "cat36/index.xml&param[]=" +
                cstPr_URL + "cat41/index.xml", getXMLs_pr);

    getXML_async(cstCl_URL, getXML_clearInfo);

    //getXMLs_async(cstCTS_URL01 + "&param[]=" + cstCTS_URL02 + "&param[]=" + cstCTS_URL03, getXMLs_wmblog);
    //20081027 getXMLs_async(cstCTS_URL02 + "&param[]=" + cstCTS_URL03, getXMLs_wmblog);
    getXML_async(cstCTS_URL02, getXMLs_wmblog);
    //getXMLs_async(cstCTS_URL02, getXMLs_wmblog);

    getXML_async(cstCTS_URL04, getXML_hareruyablog);
    getXML_async(cstCTS_URL05, getXML_teamMoritablog);
    getXML_async(cstCTS_URL06, getXML_Weather9blog);
    getXML_async(cstCTS_URL07, getXML_kishojin);
    getXML_async(cstCTS_URL08, getXML_clearblog);
    //20080110 getXML_async(cstCTS_URL09, getXML_tenkiKeiba);
    //20081027 getXMLs_async(cstCTS_URL10 + "&param[]=" + cstCTS_URL11, getXMLs_ameblo);
    getXMLs_async(cstCTS_URL10 + "&param[]=" + cstCTS_URL11 + "&param[]=" + cstCTS_URL12, getXMLs_ameblo);
    getXML_async(cstCTS_URL13, getXML_satoblog);//20090914
  } catch(e){
  }
}

if (window.addEventListener) { //for W3C DOM
  window.addEventListener("load", parseXML4HPonload, false);
} else if (window.attachEvent) { //for IE
  window.attachEvent("onload", parseXML4HPonload);
} else {
  window.onload = parseXML4HPonload;
}
