﻿//========================================
// 人気商品ランキング
//========================================

function right_ranking_column(summaryGroupCode, summarySpanCode, category_id1, category_id2, rank){

// summaryGroupCode     "1":売上, "2":予約, "3":男女別(既定値), "4":世代別, "5":地域別
// summarySpanCode      "daily", "weekly", "monthly"
//                      (売上、予約の既定値:daily、以外の既定値:weekly)
// category_id1         省略時はランダム表示
// category_id2         省略時はランダム表示
// rank                 順位(売上、予約の規定値:10、以外の既定値:3)

    //パラメータチェック

    if(summaryGroupCode == null){summaryGroupCode = "3";}

    if(summarySpanCode == null){

        if(summaryGroupCode == "1" || summaryGroupCode == "2"){ // 売上、予約ランキング
            summarySpanCode = "daily";
        }
        else{   // 男女別、世代別、地域別ランキング
            summarySpanCode = "weekly";
        }

    }

    if(category_id1 == null || category_id2 == null){

        //カテゴリIDを選択

        var req = new XmlRequest("/common/xml/Ranking-Index-" + summarySpanCode + ".xml?ver=" + VERSION);

        if(req.ok){

    	    var aData = req.getDocumentElement();
    	    var groups = aData.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;
    	            }
    	        }


            }
            
        }

        req = null;
        
    }
    
    if(rank == null){

        if(summaryGroupCode == "1" || summaryGroupCode == "2"){ // 売上、予約ランキング
            rank = 10;
        }
        else{   // 男女別、世代別、地域別ランキング
            rank = 3;
        }

    }

    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";

    //検索リクエスト
    SearchIssueRequest(params, handleRightRankingColumn);

}

function handleRightRankingColumn(totalhits, data, status_ok, responseMessage){

    var ctrl = document.getElementById('right_ranking_column');

    if(ctrl == null){return false;}

    if(!status_ok){
        ctrl.innerHTML = "只今、検索が行えません";
	    return false;
    }

    var ranking_page = "";
    var ranking_href = "";
	var contents = "";
	var contents_header = "";
	var contents_footer = "";
    
	var sum = new ShopRanking.Summary();
	var groups = new ShopRanking.SummaryGroups();

	// データ行読み込み
	for (var i = 0; i < data.length; i++) {
	    
        var articleName = getXmlNodeValue(data[i], "title");
        var summaryDate = getXmlNodeDate(data[i], "date");
        var price = getXmlNodeInt(data[i], "price");
        var url = getXmlNodeValue(data[i], "text-1");
        var thumbnailURL = getXmlNodeValue(data[i], "text-2");
        var summaryGroupCode = getXmlNodeValue(data[i], "text-4");
        var summaryGroupName = getXmlNodeValue(data[i], "text-5");
        var summaryType = getXmlNodeValue(data[i], "text-6");
        var summaryTypeName = getXmlNodeValue(data[i], "text-7");
        var categoryID1 = getXmlNodeInt(data[i], "int-9");
        var categoryID2 = getXmlNodeInt(data[i], "int-10");
        var categoryName1 = getXmlNodeValue(data[i], "text-11");
        var categoryName2 = getXmlNodeValue(data[i], "text-12");
        var rank = getXmlNodeInt(data[i], "int-13");
        var remarks1 = getXmlNodeValue(data[i], "text-15");
        var remarks2 = getXmlNodeValue(data[i], "text-16");
        var remarks3 = getXmlNodeValue(data[i], "text-17");
        var summarySpanCode = getXmlNodeValue(data[i], "text-18");
        var siteID = getXmlNodeInt(data[i], "int-19");
        var programCount = getXmlNodeInt(data[i], "int-21");
        var talentCount = getXmlNodeInt(data[i], "int-25");
        var onclick = "";

        var title1 = "";
        var title2 = "";
        
        if(url.length > 0){
            onclick = "javascript:w=window.open('"+url+"', '_blank');w.focus();return false;";
        }

        if(i==0){

            if(thumbnailURL.length == 0){thumbnailURL = NO_IMAGE_PATH;}

            //一覧URLを設定
            ranking_href = 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){
                var sub = new ShopRanking.SubCategory(categoryID1, summaryGroupCode);
                ranking_href += "&filter_subcategory="+sub.indexOf(categoryID2);
            }

            //------------------------------
            // ヘッダー
            //------------------------------
            
            //タイトル編集

            title1 = groups.textOf(summaryGroupCode);
            title2 += categoryName1;
            if(categoryName2.length>0){title2 += " - " + categoryName2;}
            
            title2 += "｜" + sum.textOf(summarySpanCode);

            contents_header += "<h2><img src=\"/common/misc/img/right_ranking_hd.gif\" alt=\"人気商品ランキング\" width=\"180\" height=\"31\" /></h2>";
            contents_header += "<div class=\"rankingColumn\">";

            contents_header += "<p class=\"rankingTxt\"><a href=\""+ranking_href+"\" title=\""+title1+"　"+title2+"\">"+title1+"<br />";
            contents_header += 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 += "<p class=\"linkText01\"><a href=\""+ranking_href+"\" title=\"一覧へ\">一覧へ</a></p>";
            contents_footer += "<p class=\"linkText01\"><a href=\"/shop/ranking/\" title=\"ランキングトップへ\">ランキングトップへ</a></p>";
            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=\"womanRanking\">";
            }
            else if(summaryGroupCode == "3"){    // 男女別ランキング

                if(summaryType == "11"){        //男性
                    contents += "<h3 class=\"man\">"+summaryTypeName+"</h3>";
                    contents += "<dl class=\"manRanking\">";
                }
                else if(summaryType == "12"){   //女性
                    contents += "<h3 class=\"woman\">"+summaryTypeName+"</h3>";
                    contents += "<dl class=\"womanRanking\">";
                }
                else{
                    contents += "<h3 class=\"man\">"+summaryTypeName+"</h3>";
                    contents += "<dl class=\"manRanking\">";
                }
            
            }
            else{   // 世代別、地域別ランキング
                contents += "<h3 class=\"man\">"+summaryTypeName+"</h3>";
                contents += "<dl class=\"manRanking\">";
            }

            img = "<img src=\"/common/misc/img/right_ranking_no1.gif\" alt=\"1\" width=\"22\" height=\"19\" />";

        }
        else if(rank == 2){
            img = "<img src=\"/common/misc/img/right_ranking_no2.gif\" alt=\"2\" width=\"22\" height=\"19\" />";
        }
        else if(rank == 3){
            img = "<img src=\"/common/misc/img/right_ranking_no3.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>";

        //検索結果出力
        ctrl.innerHTML = contents_header + contents + contents_footer;
    }


}

