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

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

var XML_DIR = '/common/xml/';
//var XML_DIR = './xml/';

// Thread 生成処理 部分 - "OnLoadイベント" にフック
top.FEP = Class.create(
{
    initialize: function() {
//        document.observe("contentloaded", function() {
        document.observe("dom:loaded", function() {
            /*
             * OnLoad で表示
             * top.FEP.controlObj.doControl('HTMLのid', 'データXML', 描写用の関数, インターバル(秒));
             * インターバル：
             *       0 以下のときは、onLoad 時に一度だけ XML を読み込む
             *       1 以上のときは、onLoad 時 + インターバル(+ジッタ)秒毎に XML を読み込む。
             */
            // ホット！
            top.FEP.controlObj.doControl('hotArea_01'     , XML_DIR + 'index_hot08.xml'             , top.View.dispHot, 120);
            // 新着ニュース
            top.FEP.controlObj.doControl('newsContent'       , XML_DIR + 'index_whatsnew08.xml'        , top.View.dispWhatsNew, 120);
            // オススメ動画(上段)
            top.FEP.controlObj.doControl('movieArea_01'   , XML_DIR + 'index_recommend08.xml'       , top.View.dispMovie01, 120);
            // オススメ動画(下段)
            top.FEP.controlObj.doControl('movieArea_02'   , XML_DIR + 'index_recommend_genre08.xml' , top.View.dispMovie02, 120);
			// 特集(上段)
            top.FEP.controlObj.doControl('featureArea_01' , XML_DIR + 'index_specialbanner08.xml'   , top.View.dispSpecial01, 120);
            // 特集(下段)
            top.FEP.controlObj.doControl('featureArea_02' , XML_DIR + 'index_special08.xml'         , top.View.dispSpecial02, 120);
            // 第２(上段)
            top.FEP.controlObj.doControl('reportArea_01'  , XML_DIR + 'index_dai208.xml'            , top.View.dispReport01, 120);
            // 第２(下段)
            top.FEP.controlObj.doControl('reportArea_02'  , XML_DIR + 'index_dai208.xml'            , top.View.dispReport02, 120);
            // ランキング
            top.FEP.controlObj.doControl('rankingArea'    , XML_DIR + 'index_ranking08.xml'         , top.View.dispRanking, 120);
            // タイミングでstatusバーが消えないのを…
            top.FEP.controlObj.doControl('rankingArea'    , XML_DIR + 'index_hot08.xml'             , top.View.statusClear, 0);

        });
    },


    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();

