﻿//========================================
// 人気商品ランキング
//========================================
document.write("<script type=\"text/javascript\" id=\"right_ranking_header_src\"></script>");
document.write("<script type=\"text/javascript\" id=\"right_ranking_body_src\"></script>");
ntv7.right_ranking_column_id=null;
ntv7.right_ranking_column_groupCode=null;
ntv7.right_ranking_column_spanCode=null;
ntv7.right_ranking_column_category_id1=null;
ntv7.right_ranking_column_category_id2=null;
ntv7.right_ranking_column_rank=null;
ntv7.right_ranking_column = function(elementId, summaryGroupCode, summarySpanCode, category_id1, category_id2, rank){

    //パラメータチェック

    if(summaryGroupCode == null){summaryGroupCode = "3";}

    if(summarySpanCode == null){

        if(summaryGroupCode == "1" || summaryGroupCode == "2"){ // 売上、予約ランキング
            summarySpanCode = "daily";
        }
        else{   // 男女別、世代別、地域別ランキング
            summarySpanCode = "weekly";
        }

    }
    
    if(rank == null){

        if(summaryGroupCode == "1" || summaryGroupCode == "2"){ // 売上、予約ランキング
            rank = 10;
        }
        else{   // 男女別、世代別、地域別ランキング
            rank = 3;
        }

    }

    ntv7.right_ranking_column_id=elementId;
    ntv7.right_ranking_column_groupCode=summaryGroupCode;
    ntv7.right_ranking_column_spanCode=summarySpanCode;
    ntv7.right_ranking_column_category_id1=category_id1;
    ntv7.right_ranking_column_category_id2=category_id2;
    ntv7.right_ranking_column_rank=rank;

    if(category_id1 == null || category_id2 == null){

        //カテゴリIDを選択
        
        var url = "/common/xml/Ranking-Index-" + summarySpanCode + ".xml";

        document.getElementById('right_ranking_header_src').src = ntv7.search_path + "path="+url+"&callback=ntv7.handleRightRankingHeader";
    }

}
ntv7.handleRightRankingHeader = function(xmlDoc, httpCode){

    if(httpCode!="200" || xmlDoc==null){return false;}

    var summaryGroupCode=ntv7.right_ranking_column_groupCode;
    var summarySpanCode=ntv7.right_ranking_column_spanCode;
    var category_id1=ntv7.right_ranking_column_category_id1;
    var category_id2=ntv7.right_ranking_column_category_id2;
    var rank=ntv7.right_ranking_column_rank;

    var groups = xmlDoc.getElementsByTagName("SummaryGroup");
    var data1 = null;
    var data2 = null;
    var index1 = 0;
    var index2 = 0;
	
    for(var i=0; i<groups.length; i++){
        if(groups[i].getAttribute("SummaryGroupCode")==summaryGroupCode){
            data1 = groups[i].getElementsByTagName("Category");
            break;
        }
    }

    if(category_id1 == null){

        //カテゴリ1を選択
        index1 = Math.floor(Math.random()*data1.length);
        category_id1 = data1[index1].getAttribute("id");

        //カテゴリ2を選択
        data2 = data1[index1].getElementsByTagName("SubCategory");
        index2 = Math.floor(Math.random()*data2.length);
        category_id2 = data2[index2].getAttribute("id");

    }
    else if(category_id2 == null){

        //カテゴリ2を選択
        for(var index1=0; index1<data1.length; index1++){
            if(data1[index1].getAttribute("id")==category_id1){

                data2 = data1[index1].getElementsByTagName("SubCategory");
                index2 = Math.floor(Math.random()*data2.length);
                category_id2 = data2[index2].getAttribute("id");

                break;
            }
        }


    }

    var query_token = "";

    //集計グループコード
    query_token += "_TEXT/EQ/25000/"+summaryGroupCode;

    //カテゴリ1
    query_token += " AND ";
    query_token += "_INT/EQ/21000/"+category_id1;

    //カテゴリ2
    query_token += " AND ";
    query_token += "_INT/EQ/21001/"+category_id2;

    //集計期間
    query_token += " AND ";
    query_token += "_TEXT/EQ/25002/"+summarySpanCode;

    //順位
    query_token += " AND ";
    query_token += "_INT/LE/21002/"+rank;   //3位まで

    var fields = "text-1,text-2,text-4,text-5,text-6,text-7,int-8,int-9,int-10,text-11,text-12,int-13,text-15,text-16,text-17,text-18,int-19,int-20";

    var sort_order = "int-8:a,int-20:a,int-13:a";    //購買者属性、カテゴリ№、順位

    var params = "service=ranking&search="+query_token+"&result-fields="+fields+"&sort-order="+sort_order+"&result-count=100&result-page=1&show-results&result-info=all&result-format=xml";

    document.getElementById('right_ranking_body_src').src = ntv7.search_path + params + "&callback=ntv7.handleRightRankingBody";
}
ntv7.handleRightRankingBody = function(xmlDoc, httpCode){

    if(httpCode!="200" || xmlDoc==null){return false;}

    var data = xmlDoc.getElementsByTagName("record");

    if(data.length==0){return false;}

    var ranking_page = "";
    var ranking_href = "";
	var contents = "";
	var contents_header = "";
	var contents_footer = "";
    
	var sum = new ntv7.Summary();
	var groups = new ntv7.SummaryGroups();

	for (var i = 0; i < data.length; i++) {
	    
        var articleName = ntv7.XmlNodeValue(data[i], "title");
        var summaryDate = ntv7.XmlNodeToDate(data[i], "date");
        var price = ntv7.XmlNodeToInt(data[i], "price");
        var url = ntv7.XmlNodeValue(data[i], "text-1");
        var thumbnailURL = ntv7.XmlNodeValue(data[i], "text-2");
        var summaryGroupCode = ntv7.XmlNodeValue(data[i], "text-4");
        var summaryGroupName = ntv7.XmlNodeValue(data[i], "text-5");
        var summaryType = ntv7.XmlNodeValue(data[i], "text-6");
        var summaryTypeName = ntv7.XmlNodeValue(data[i], "text-7");
        var categoryID1 = ntv7.XmlNodeToInt(data[i], "int-9");
        var categoryID2 = ntv7.XmlNodeToInt(data[i], "int-10");
        var categoryName1 = ntv7.XmlNodeValue(data[i], "text-11");
        var categoryName2 = ntv7.XmlNodeValue(data[i], "text-12");
        var rank = ntv7.XmlNodeToInt(data[i], "int-13");
        var remarks1 = ntv7.XmlNodeValue(data[i], "text-15");
        var remarks2 = ntv7.XmlNodeValue(data[i], "text-16");
        var remarks3 = ntv7.XmlNodeValue(data[i], "text-17");
        var summarySpanCode = ntv7.XmlNodeValue(data[i], "text-18");
        var siteID = ntv7.XmlNodeToInt(data[i], "int-19");
        var programCount = ntv7.XmlNodeToInt(data[i], "int-21");
        var talentCount = ntv7.XmlNodeToInt(data[i], "int-25");
        var onclick = "";

        var title1 = "";
        var title2 = "";
        
        if(url.length > 0){
            onclick = "javascript:window.open('"+url+"', '_ntv7ec').focus();";
        }

        if(i==0){

            if(thumbnailURL.length == 0){thumbnailURL = ntv7.no_image_path;}

            //一覧URLを設定
            ranking_href = "javascript:ntv7.win('"+groups.urlOf(summaryGroupCode)+"?c="+categoryID1;

            if(summarySpanCode=="daily"){
                ranking_href += "&filter_summary=0";    //デイリー
            }
            else if(summarySpanCode=="weekly"){
                ranking_href += "&filter_summary=1";    //ウィークリー
            }
            else if(summarySpanCode=="monthly"){
                ranking_href += "&filter_summary=2";    //マンスリー
            }

            if(categoryID2 > 0){
                ranking_href += "&c2="+categoryID2;
            }
            
            ranking_href += "');";

            //------------------------------
            // ヘッダー
            //------------------------------
            
            //タイトル編集

            title1 = groups.textOf(summaryGroupCode);

            title2 += categoryName1;
            if(categoryName2.length>0){title2 += " - " + categoryName2;}
            
            title2 += "｜" + sum.textOf(summarySpanCode);


            contents_header += "<div class=\"title-container\">";
            contents_header += "<h2 class=\"title icon-goods_r-02\"><span>人気商品ランキング</span></h2>";//icon-ranking-02
            contents_header += "</div>";

            contents_header += "<div class=\"content\">";
            contents_header += "<p class=\"rankingTxt\">";
            contents_header += "<a title=\""+title1+"　"+title2+"\" href=\""+ranking_href+"\">"+title1+"<br/>"+title2+"</a></p>";

            if(summaryGroupCode == "1" || summaryGroupCode == "2"){ //売上、予約ランキング

                contents_header += "<p class=\"rankingImage\">";

                if(url.length > 0){
                    contents_header += "<a href=\"\" title=\""+articleName+"\" onclick=\""+onclick+"\"><img src=\""+thumbnailURL+"\" alt=\"\" width=\"63\" /></a>";
                }
                else{
                    contents_header += "<img src=\""+thumbnailURL+"\" alt=\"\" width=\"63\" />";
                }

                contents_header += "</p>";

            }

            //------------------------------
            // フッター
            //------------------------------

            contents_footer += "<ul class=\"nav-page-01\">";
            contents_footer += "<li><a href=\"javascript:ntv7.win('/shop/ranking/');\">ランキングをもっと見る</a></li>";
            contents_footer += "</ul>";

            contents_footer += "</div>";
            contents_footer += "</div>";

        }

        //------------------------------
        // ボディー
        //------------------------------
        
        var img = "";

        if(rank == 1){

//            img = "<img src=\"/shop/ranking/img/icon_crown2.gif\" style=\"width:15px; height:14px;\" alt=\"1位\"/>";

            if(i > 0){contents += "</dl>";}

            if(summaryGroupCode == "1" || summaryGroupCode == "2"){    //売上、予約ランキング
                    contents += "<dl class=\"rankingList\">";
            }
            else if(summaryGroupCode == "3"){    // 男女別ランキング

                if(summaryType == "11"){        //男性
                    contents += "<h3 class=\"man\">"+summaryTypeName+"</h3>";
                    contents += "<dl class=\"rankingList\">";
                }
                else if(summaryType == "12"){   //女性
                    contents += "<h3 class=\"woman\">"+summaryTypeName+"</h3>";
                    contents += "<dl class=\"rankingList\">";
                }
                else{
                    contents += "<h3 class=\"man\">"+summaryTypeName+"</h3>";
                    contents += "<dl class=\"rankingList\">";
                }
            
            }
            else{   // 世代別、地域別ランキング
                contents += "<h3 class=\"man\">"+summaryTypeName+"</h3>";
                contents += "<dl class=\"rankingList\">";
            }

            img = "<img src=\"img/contents/icon_ranking_01.gif\" alt=\"1\" width=\"22\" height=\"19\" />";
        }
        else if(rank == 2){
            img = "<img src=\"img/contents/icon_ranking_02.gif\" alt=\"2\" width=\"22\" height=\"19\" />";
        }
        else if(rank == 3){
            img = "<img src=\"img/contents/icon_ranking_03.gif\" alt=\"3\" width=\"22\" height=\"19\" />";
        }

        if(img.length > 0){
            contents += "<dt>"+img+"</dt>";

            contents += "<dd>";
        }
        else{
            contents += "<dt>"+rank+".</dt>";

            contents += "<dd class=\"adjust\">";
        }

        if(url.length > 0){
            contents += "<a href=\"\" title=\""+articleName+"\" onclick=\""+onclick+"\">"+articleName+"</a>";
        }
        else{
            contents += "<strong>"+articleName+"</strong>";
        }

        contents += "</dd>";

	}

    if(i > 0){ contents += "</dl>"; }

    var ctrl = document.getElementById(ntv7.right_ranking_column_id);
    if(ctrl != null){ ctrl.innerHTML = contents_header + contents + contents_footer; }
}

