(function(){
    var container = $("script:last").parents("div:first");
    $(function(){
        ajaxRequest(getHost() + "/page/categoryView/gettreedata",
                    null,
                    function(backdata){categoryView_disp_callback(backdata,container);});
    });
})();

function categoryView_disp_callback(data, container) {
    // データの無い処理
    if (data == null || data == "") {
        return false;
    }

    // ベース要素の取得・破棄
    var baseTag = $(container).children("div");
    var elm = $(baseTag).children().clone();
    $(baseTag).children().remove();

    // 取得データエラーの場合
    if (data.flag == 0) {
        var elmFirst = $(elm).clone();  // 元タグのコピー
        $("a",  elmFirst).remove();
        $("span",  elmFirst).text(data.msg);
        $(baseTag).append(elmFirst);  // タグを追加
        return false;
    }

    // ツリー要素の生成
    var intCount = data.intCount;
    var campaignGoodsUrl = getOriginalHost() + "/category/"; // URL元データ
    if(intCount >0){
        // 1階層目の生成
        for(var i = 0;i < intCount ;i++){
            var campaignGoodsUrlForLink = campaignGoodsUrl + data.arrCatInfo[i].GOODS_CATG_ID; // URL生成

            var elmFirst = $(elm).clone();  // 元タグのコピー
            $("a",  elmFirst).attr("href",campaignGoodsUrlForLink);  // AタグのURLを設定
            $("a",  elmFirst).text(htmlspecialchars_decode(data.arrCatInfo[i].CATG_NAME));    // Aタグの文言を設定
            $(baseTag).append(elmFirst);  // タグを追加

            // 2階層目の生成
            if (data.arrCatInfo[i].Second != null) {
                var intSecondCount = data.arrCatInfo[i].Second.length;
                if (intSecondCount > 0) {
                    for(var j = 0;j < intSecondCount ;j++){
                        var campaignGoodsUrlForSecondLink = campaignGoodsUrl + data.arrCatInfo[i].Second[j].GOODS_CATG_ID;

                        var elmSecond = $(elm).clone();      // 元タグのコピー
                        $("a",  elmSecond).attr("href",campaignGoodsUrlForSecondLink);      // AタグのURLを設定
                        $("a",  elmSecond).text(htmlspecialchars_decode(data.arrCatInfo[i].Second[j].CATG_NAME));    // Aタグの文言を設定
                        $(elmFirst).children("li:last").append(elmSecond);  // タグを追加

                        // 3階層目の生成
                        if (data.arrCatInfo[i].Second[j].Third != null) {
                            var intThirdCount = data.arrCatInfo[i].Second[j].Third.length;
                            if (intThirdCount > 0) {
                                for(var k = 0;k < intThirdCount ;k++){
                                    var campaignGoodsUrlForThirdLink = campaignGoodsUrl + data.arrCatInfo[i].Second[j].Third[k].GOODS_CATG_ID;

                                    var elmThird = $(elm).clone();       // 元タグのコピー
                                    $("a", elmThird).attr("href",campaignGoodsUrlForThirdLink);                // AタグのURLを設定
                                    $("a", elmThird).text(htmlspecialchars_decode(data.arrCatInfo[i].Second[j].Third[k].CATG_NAME));    // Aタグの文言を設定
                                    $(elmSecond).children("li:last").append(elmThird);  // タグを追加
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    // ツリー処理を実行
    if ($(baseTag)) {
        $(baseTag).treeview({
            animated: "fast",
            collapsed: true,
            unique: false,
            persist: "cookie",
            cookieId: "categoryView",
            cookieOptions:{path:"/"}
        });
    }
}

