
//rssリストをつくるプﾛグラム
RSSurl=new Array();//配列宣言　グローバル変数


//*************************RSS先初期登録*****************************************
RSSurl[0]="http://www.iseippin.com/topics/?feed=rss2";         //最新情報
RSSurl[1]="http://blogs.yahoo.co.jp/isetakuan/rss.xml";         //林商店
RSSurl[2]="http://blog.tekonesushi.net/index.rdf";              //サンエイ
RSSurl[3]="http://anori-marusei.jp/blog/?feed=rss2";                   //丸勢水産(有)
RSSurl[4]="http://maruyasu.jugem.jp/?mode=rss";                //(有)丸保商店
RSSurl[5]="http://feedblog.ameba.jp/rss/ameblo/shimakaneka";   //(有)カネカ
RSSurl[6]="http://blog.coccoland.jp/?mode=rss";                //(株)ナンセイ養鶏
RSSurl[7]="http://yamakin-s.jugem.jp/?mode=rss";               //山金商店
RSSurl[8]="http://pearlbiho.jugem.jp/?mode=rss";               //パール工房美峰
RSSurl[9]="http://katusiro.jugem.jp/?mode=rss";                //勝代丸
RSSurl[10]="http://yamatoraya.jugem.jp/?mode=rss";               //やま虎屋
RSSurl[11]="http://oshita.jugem.jp/?mode=atom";                  //大下水産
RSSurl[12]="http://okasuisan.jugem.jp/?mode=rss";              //岡水産
RSSurl[13]="http://takanoen.jugem.jp/?mode=rss";               //貴の園製茶
RSSurl[14]="http://himonomaruhei.jugem.jp/?mode=rss";               //丸平商店
RSSurl[15]="http://appappaya.jugem.jp/?mode=rss";               //アッパッパ屋
//******************************************************************************
// (重要）*このプログラムの文字コードは　shift-jis
//        *rssreaderをフォルダーごと設置してください
//        *html側に貼付け用のタグ<div id="feedview">ブログ集</div>を設定して下さい
//        *<head>内に<script type="text/javascript" src="http://www.google.com/jsapi?key=キー></script>
//        を追記して下さい　キーはGoogle Map Apiと共用です
//        *<head>内に<script type="text/javascript" src="./rssreader/rss.js"></script>を追記してください
//        *このプログラムは一部jqueryを使用しています　必ずjquery,js , google , rss.jsの順番で読み込んでください
//        間に他の<script>が入るのは構わない
//        *<div>タグをスクロールバー付きにしたい場合はスタイルシートに
//        #feedview{
//        overflow: scroll;
//        }
//        を追記してください
//        *初期設定はすぐ下にあります　設置先の環境に合わせて設置後,書き換えるくださお
//        *<div>タグのスタイルシートにposition:sbsoluteかrelativeを設定してください
//*****************************初期設定******************************************
var topics_entry_su=5;          //トピックスのエントリー数
var entry_su=3;                 //会員1ブログ当たりのエントリー数
var haba="690px";               //出力される<a>タグの幅
var takasa="18px";              //行の高さ
var gazo_size="50px";           //画像の一辺
var gazoleft="10px";            //画像の左位置
var dayfontsize="10px";         //日付のフォントサイズ
var day_haba="150px";           //日付の幅
var dayprint="yes";             //日付の表示　yesかno
var daypadding="70px";          //日付の左パディング
var titlefontsize="16px";       //タイトルのフォントサイズ
var title_haba="300px";         //タイトルの幅
var titlelength=20;             //タイトルの表示文字数
var namefontsize="12px";        //著作者のフォントサイズ
var name_haba="200px";          //著作者の幅
var namelength=25;              //著作者の表示文字数
var content_fontsize="12px";    //本文のフォントサイズ
var content_hyoji=10;           //本文の表示文字数
var content_left_p="70px";      //本文の左パディング
var hyoji_su=15;                //最近記事から最大何件まで表示させるか
var back1="#ffffff";            //バックカラーの指定1
var back2="#e3eac9";            //バックカラーの指定2
var daycolor="#999999";         //日付のカラー
var titlecolor="#004000";       //タイトルのカラー
var namecolor="#00000";         //著作者のカラー
var contentcolor="#004000";     //本文のカラー
//******************************************************************************

var RSSurl_su=RSSurl.length;
entryblog=new Array();              //ゲットしたブログのＲＳＳ格納用　グローバル変数
blogcounter=0;                      //取得したブログ個数のカウント用　グローバル変数
google.load("feeds","1");//           //Google AJAX Feed APIのロード


//????
function initialize() {
    $("#feedview").text("");        //テキストを空にする
    totalcount=0;                   //ブログの総数
    for(var j=0;j<RSSurl_su;j++){
        feedget(RSSurl[j],j);
    }
    function feedget(url,num){                        // フィードを読み込む毎に行う処理
        //alert("abc");
        var feed = new google.feeds.Feed(url);          // 新しい google Feed インスタンスを作成
        if(num==0){
            blog_entry_su=topics_entry_su;                   //ＴＯＰＩＣＳのエントリー数
        }
        else{
            blog_entry_su=entry_su;
        }
        feed.setNumEntries(blog_entry_su);                   // 1ブログ当たりの読み込むエントリー数

        feed.load(function(result) {                    // ダウンロード完了時の処理
            if (!result.error) {
                for (var i = 0; i < result.feed.entries.length; i++) {
                    var name=result.feed.title;
                    var entry = result.feed.entries[i];
                    var pubTime=new Date(entry.publishedDate);  //　記事のタイムスタンプ
                    var sectime= pubTime.getTime();             //1970年1月1日0時0分0秒（UTC）からの秒数（ミリ秒単位）を取得（設定）します
                    var locDate = pubTime.toLocaleString();     // タイムスタンプからローカル（日本）時間を作成
                    var title=entry.title;                      //　タイトル
                    title=title.substring(0,titlelength-1);                // タイトルの0番から何番文字までとりだす
                    name=name.substring(0,namelength-1);                // 著作者の0番から何番文字までとりだす
                    if(dayprint!="yes"){                        // 日付を表示しない場合
                        locDate="";
                    }
                    var author=entry.author;                      // 著作者
                    var link=entry.link;                        //　リンク先
                    var content=entry.content;                     //コンテンツ

                    function content_img(content){
                        var src="src=\"./rssreader/image1.png";
                        var img_point=content.indexOf("<img");                  //　<img　の先頭位置
                        if (img_point!=-1){
                            var src_point=content.indexOf('src="',img_point);        // <src=" の先頭位置
                            var src_endpoint=content.indexOf('" ',src_point);           //srcタグの終わり位置
                            src=content.substring(src_point,src_endpoint);    //srcの値
                        }
                        return src;
                    }
                    var src_value=content_img(content);

                    function content_cut(content){
                        do{
                            var newcontent="";
                            var tag_point=content.indexOf("<");                  //　<　の位置
                            if(tag_point!=-1){
                                var tag_endpoint=content.indexOf('>',tag_point);    //  >の位置

                                var content_len=content.length;
                                for(var i=0; i<content_len;i++){
                                    if(i<tag_point || i>tag_endpoint){
                                        var srt_target=content.charAt(i);
                                        newcontent=newcontent+srt_target;
                                    }
                                }
                                content=newcontent;
                            }
                        }
                        while(tag_point!=-1);
                        content=content.substr(0,content_hyoji);

                        return content;
                    }
                    content=content_cut(content);
                    //alert(content)
                    totalcount=totalcount+1;


                    tagout(link,locDate,title,name,src_value,content,totalcount)             //タグ出力ルーチン呼び出し

                    //データを配列に格納する
                    var array=new Array(sectime,link,locDate,title,name,src_value,content,author);   //1ブログ分のデータを配列にする
                    entryblog.push(array);                                   //entryblog配列の先頭に追加する
                    blogcounter=blogcounter+1;


                }
            }
        })
    }
    //********************************************************************************************************
    function tagout(link,locDate,title,name,src_value,content,count){
        //alert(count);
        var amari=count % 2;
        var backimg="";
        if(amari==0){
            backimg=back1;
        }
        else{
            backimg=back2;
        }
        var gazotop=count*takasa
        //出力するタグの生成(日付　タイトル　著作者）
        var outTag ="<a class=\"rsscall\" href=\"" + link +"\""
        + " style=\"display:block;border-right-style: none;height:"+ takasa + ";width:"+ haba
        + ";cursor:pointer;text-decoration:none;"
        + "line-height:" + takasa
        + ";vertical-align:middle;"
        + "background-color:" + backimg
        + ";\">"
       
        + "<span style=\"color:" + daycolor + ";vertical-align:middle;font-size:" + dayfontsize
        + ";width:" + day_haba
        + ";padding-left:" +  daypadding + "\">"+ locDate + "</span>"
        + "<span style=\"color:" + titlecolor + ";vertical-align:middle;font-size:" + titlefontsize
        + ";width:" + title_haba
        + "\">"+ title + "</span>"
        + "<span style=\"color:" + namecolor +";text-align:right;vertical-align:middle;font-size:" + namefontsize
        + ";width:" + name_haba
        + "\">"+ name + "</span><br />"
        + "<span style=\"color:" + contentcolor +";vertical-align:middle;font-size:" + content_fontsize
        + ";padding-left:" + content_left_p + "\">"+ content + "</span>"
        +"</a><br />";
        //alert(outTag)
        //タグを出力します
        $("#feedview").append(outTag);                  //出力先のタグＩＤを指定します
    //
    }
    //********************************************************************************************************
    function tagout2(link,locDate,title,name,src_value,content,count){
        //alert(count);
        var amari=count % 2;
        var backimg="";
        if(amari==0){
            backimg=back1;
        }
        else{
            backimg=back2;
        }
        var gazotop=count*takasa
        //出力するタグの生成(日付　タイトル　著作者）
        var outTag ="<img style=\"position:absolute;top:"
        + gazotop + ";left:" + gazoleft
        + ";border-right-style: none;border-left-style: none;border-bottom-style: none;border-top-style: none;width:" + gazo_size
        + ";height:" + gazo_size + "\"" + src_value + "\"" + " />"
        + "a class=\"rsscall\" href=\"" + link +"\""
        + " style=\"display:block;border-right-style: none;height:"+ takasa + ";width:"+ haba
        + ";cursor:pointer;text-decoration:none;"
        + "line-height:" + takasa
        + ";vertical-align:middle;"
        + "background-color:" + backimg
        + ";\">"

        + "<span style=\"color:" + daycolor + ";vertical-align:middle;font-size:" + dayfontsize
        + ";width:" + day_haba
        + ";padding-left:" +  daypadding + "\">"+ locDate + "</span>"
        + "<span style=\"color:" + titlecolor + ";vertical-align:middle;font-size:" + titlefontsize
        + ";width:" + title_haba
        + "\">"+ title + "</span>"
        + "<span style=\"color:" + namecolor +";text-align:right;vertical-align:middle;font-size:" + namefontsize
        + ";width:" + name_haba
        + "\">"+ "" + "</span><br />"
        + "<span style=\"color:" + contentcolor +";vertical-align:middle;font-size:" + content_fontsize
        + ";padding-left:" + content_left_p + "\">"+ content + "</span>"
        +"</a><br />";
        //alert(outTag)
        //タグを出力します
        $("#feedview-isesimablog").append(outTag);                  //出力先のタグＩＤを指定します
    //
    }


    //受信完了をチェックし、日付順に並べ替えるルーチンに移動させる
    tmrID=setInterval(receiv_check,1000);  //配列の長さがゼロの時は非同期通信が終わっていないので、１秒後再実行

    function receiv_check(){
        flag=0;
        function check(){
            blog_su=entryblog.length;   //グローバル
            var renewblogcounter=blogcounter;
            if((blog_su!=0) && (renewblogcounter!=0) && (blog_su==renewblogcounter)){
                flag=1;//blog_suとblogcounterがイコールなら受信完了。
            }
        }
        check();
        if(flag==1){
            clearInterval(tmrID);
            daysort_print();
        }
    }


    //********************************************************************************************************

    function daysort_print(){


        //-------------------------ブログを日付順に並べ替える
        // ---比較関数hikakuの定義(隆順)
        function hikaku(a,b){
            return b[0] - a[0];     //配列の０番要素で並べ替え
        }
        entryblog.sort(hikaku);

        //一旦表示データを削除
        $("#feedview").empty();
        $("#feedview-isesimablog").empty();

        //日付順に再表示
        //function tagout(link, locDate, title, name, src_value, content, count,author)
        //alert(blog_su)
        var blog=entryblog[k];      // 1ブログ分の配列を取り出し
        var link="";           //　リンク 初期化
        var locDate="";        //　日本時間　初期化
        var title="";          //　記事のタイトル　初期化
        var name="";           //　ブログ名　初期化
        var src_value="";      //　写真　初期化
        var content="";        //　本文　初期化
        var count=0;           //  記事に交互に背景職の付けるためのカウント用　　初期化　                        //
        var author="";         //　著作者　初期化

        var k=0
        for(k=0;k<blog_su;k++){
            if (k>hyoji_su-1){
                break;
            }
            blog=entryblog[k];
            link=blog[1];
            locDate=blog[2];
            title=blog[3];
            name=blog[4];
            src_value=blog[5];
            content=blog[6];
            count=Number(k);
            author=blog[7];

            if(author!="admin"){
                tagout(link,locDate,title,name,src_value,content,count);          //会員のブログのタグ出力ルーチン呼び出し
            }
        }

        var topics_counter=0;
        for(k=0;k<blog_su;k++){
            blog=entryblog[k];      // 1ブログ分の配列を取り出し
            link=blog[1];           //　リンク
            locDate=blog[2];        //　日本時間
            title=blog[3];          //　記事のタイトル
            name=blog[4];           //　ブログ名
            src_value=blog[5];      //　写真
            content=blog[6];        //　本文
            count=topics_counter;
            author=blog[7];         //　著作者
            if(author=="admin"){
                tagout2(link,locDate,title,name,src_value,content,count);          //  ＴＯＰＩＣＳのブログのタグ出力ルーチン呼び出し
                topics_counter=topics_counter+1;
                if (topics_counter>=topics_entry_su){
                    break;
                }
            }
        }

        //-------------------------別ウィンドウで外部ｈｔｍｌを開くをセット------------------
        //説明
        // $("#abc").click(function(event){　　　引数にイベントオブジェクトが渡されます（これはjsのデフォルトの仕様です。）
        // event.preventDefault();　href="*****"が実行されるとページのトップに移動するため　event.preventDefault()で、イベントオブジェクトを無効化しておく。
        $("a.rsscall").click(function(event){
            link_saki=$(this).attr("href");     //hrefの値(リンク先のurlを読み取りま
            var newwin2=window.open(link_saki,"_blank");
            event.preventDefault();
        })
    }

}
google.setOnLoadCallback(initialize);











