/*
 * Thread 生成部分です。最初に実行されます。
 * XML ファイル / インターバルはここで設定します。
 */

// namespace object
var top = new Object();


// Thread 生成処理 部分 - "OnLoadイベント" にフック
top.FEP = Class.create(
{
    initialize: function() {
        document.observe("contentloaded", function() {
            /*
             * OnLoad で表示
             * top.FEP.controlObj.doControl('HTMLのid', 'データXML', 描写用の関数, インターバル(秒));
             * インターバル：
             *       0 以下のときは、onLoad 時に一度だけ XML を読み込む
             *       1 以上のときは、onLoad 時 + インターバル(+ジッタ)秒毎に XML を読み込む。
             */
//            top.FEP.controlObj.doControl('information',		'xml/information.xml',	top.View.dispInformation,	0);
            top.FEP.controlObj.doControl('news',			'xml/news.xml',			top.View.dispNews,	0);
            top.FEP.controlObj.doControl('event',			'xml/event.xml',		top.View.dispEvent,	0);
            top.FEP.controlObj.doControl('nib_banner',		'xml/nib_banner.xml',	top.View.dispNibBanner,	0);
            top.FEP.controlObj.doControl('ichioshi',		'xml/ichioshi.xml',		top.View.dispIchioshi,	0);
            top.FEP.controlObj.doControl('prerelease',		'xml/prerelease.xml',	top.View.dispPrerelease,	0);
            top.FEP.controlObj.doControl('present',			'xml/present.xml',		top.View.dispPresent,	0);
            top.FEP.controlObj.doControl('sponsor_banner',	'xml/sponsor.xml',		top.View.dispSponsor,	0);

            // アナ番WEB は、別処理をかませて、OnMemory で、XMLデータ と同様のものを作成してから 通常描写処理を行う。
            //top.FEP.controlObj.doControl('ana', 'xml/ana.xml', top.View.dispAna, 0);
            //var xmlpathTemplate = 'xml/rss/#{anamember}.xml';    // デバッグ用
            var xmlpathTemplate =  "http://www.nib.jp/anaban/blog/#{anamember}/?mode=rss";
            ana.RSS.exec('ana', xmlpathTemplate, top.View.dispAna);
        });
    },


    doControl: function(id, xmlpath, dispFunc, interval) {
        // わざと発生させるジッタの最大値 (秒)
        var jitter = 10;
        // OnLoad 実行
        Concurrent.Thread.create(top.Controller.exec, id, xmlpath, dispFunc);
        // タイマ処理
        if (interval > 0)
            Concurrent.Thread.create(top.Controller.updateChecker, id, xmlpath, dispFunc, interval + Math.floor(Math.random() * jitter));

    }
}
);

// オブジェクト生成 -> 処理開始
top.FEP.controlObj = new top.FEP();

