﻿
//*************************************************
//エントランスのセンタリング
//*************************************************
function Centering()
{
  var myDiv = $("div.Entrance");
  if($(window).width() > myDiv.outerWidth())
  { myDiv.css("left",Math.floor(($(window).width() - myDiv.outerWidth()) / 2)); }
  if($(window).height() > myDiv.outerHeight())
  { myDiv.css("top",Math.floor(($(window).height() - myDiv.outerHeight()) / 2.25)); }
}

//*************************************************
//iframeの高さ調整
//*************************************************
function FrameHeight(myFrame)
{
  var myHeight = myFrame.contentWindow.document.documentElement.scrollHeight;
  myFrame.height= myHeight + 25;
}

//*************************************************
//画像のリンク切れ
//*************************************************
function NoImage(myThisEle)
{
  myThisEle.parentNode.removeChild(myThisEle);
}

//*************************************************
//発売日処理
//*************************************************
function SaleDayCheck(myNodes)
{
  var myToday = new Date()
  var myItems = new Array();
  for (i = 0; i < myNodes.length; i++)
  {
    if(myNodes[i].getAttribute("Type") == "Delivery") { myItems.push(myNodes[i]); }
    else
    {
      var myYear = myNodes[i].getAttribute("SaleDay").substr(0, 4);
      var myMonth = myNodes[i].getAttribute("SaleDay").substr(5, 2) - 1;
      var myDay = myNodes[i].getAttribute("SaleDay").substr(8, 2);
      var mySaleDay = new Date(myYear, myMonth, myDay);
      if (mySaleDay < myToday) { myItems.push(myNodes[i]); }
    }
  }
  return myItems;
}

//*************************************************
//販売確認
//*************************************************
function EnabledCheck(myNodes)
{
  var myItems = new Array();
  for (i = 0; i < myNodes.length; i++)
  { 
    var myEnabled = myNodes[i].getAttribute("Enabled").toLowerCase(); 
    if(myEnabled=="true")
    {
      myItems.push(myNodes[i]);
    }
  }
  return myItems;
}

//*************************************************
//エキストラランキングレンダー
//*************************************************
function ExtraRankingRender()
{
  $.get("/UserData/LinkRanking.xml", function(myXmlDoc)
  {    
    var myFilter = "Link";
    var mySelects = $(myXmlDoc).find(myFilter);
    var myNodes = $(mySelects).get();

    var myOutput = "";
    myOutput += "<table cellspacing=\"1\" class=\"Ranking\">";
    for (i = 0; i < 10; i++)
    {
      if(i < myNodes.length)
      {
        myOutput += "<tr><th>" + (i + 1) + "位</th>"
                  + "<td><a href=\"" + myNodes[i].getAttribute("Url") + "\">"
                  + myNodes[i].getAttribute("Name") + "</a><br />" + myNodes[i].getAttribute("Memo")
                  + " " + myNodes[i].getAttribute("InCount") + "pt</td></tr>";
      }
    }
    for (i = 10; i < 20; i++)
    {
      if(i < myNodes.length)
      {
        myOutput += "<tr><th>" + (i + 1) + "</th>"
                  + "<td><a href=\"" + myNodes[i].getAttribute("Url") + "\">"
                  + myNodes[i].getAttribute("Name") + "</a> " + myNodes[i].getAttribute("InCount") + "pt</td></tr>";
      }
    }    
     myOutput += "<tr><td colspan=\"2\" style=\"text-align:right; padding:4px; 0\"><a href=\"/Common/LinkIndex.aspx\">&rarr;　全ランキング一覧</a></td></tr>";
               + "</table>";
   $('p.ExtraRanking').after(myOutput);
  });
}

//*************************************************
//リンクランキング
//*************************************************
function RankingRender()
{
  $.get("/UserData/LinkRanking.xml", function(myXmlDoc)
  {    
    var myFilter = "Link";
    var mySelects = $(myXmlDoc).find(myFilter);
    var myNodes = $(mySelects).get();
    var i = 0;
    var myOutput = "<table cellspacing=\"1\" class=\"Ranking\">";
    while(i < myNodes.length)
    {
      myOutput += "<tr>";
      if(i < myNodes.length)
      {
        myOutput += "<th>" + (i + 1) + "位</th>"
                  + "<td><a href=\"" + myNodes[i].getAttribute("Url") + "\">" + myNodes[i].getAttribute("Name") + "</a><br />"
                  + "LinkID:" + myNodes[i].getAttribute("Id") + "&nbsp;&nbsp;Point:" + myNodes[i].getAttribute("InCount") + "<br />"
                  + myNodes[i].getAttribute("Memo") + "</td>";
      }
      else
      {
        myOutput += "<th>" + (i + 1) + "位</th><td>None...</td>";
      }
      i++;
      if(i < myNodes.length)
      {
        myOutput += "<th>" + (i + 1) + "位</th>"
                  + "<td><a href=\"" + myNodes[i].getAttribute("Url") + "\">" + myNodes[i].getAttribute("Name") + "</a><br />"
                  + "LinkID:" + myNodes[i].getAttribute("Id") + "&nbsp;&nbsp;Point:" + myNodes[i].getAttribute("InCount") + "<br />"
                  + myNodes[i].getAttribute("Memo") + "</td>";
      }
      else
      {
        myOutput += "<th>" + (i + 1) + "位</th><td>None...</td>";
      }
      i++;
      myOutput += "</tr>";
    }
    myOutput += "</table>";
    
    if (myNodes.length == 0) { myOutput = "<p>No data found.</p>"; }
  
    $('div.Ranking').html(myOutput);
  });
}

//*************************************************
//商品詳細レンダー
//*************************************************
function ItemDetailRender(myId)
{
  $.get("/UserData/Items.xml", function(myXmlDoc)
  {
    var myFilter = "Item[Id='" + myId + "']";
    var mySelects = $(myXmlDoc).find(myFilter);
    if(mySelects.length == 0) { location.href = "/Error/NotFound.aspx"; }
    var myNodes = $(mySelects).get();
    var myItem = myNodes[0];
    
    var myValue = "";
    var myArray = new Array();
    
    //出演者
    var myOutput = "";
    if (myItem.getAttribute("Cast") != "N/A")
    {
      myArray = myItem.getAttribute("Cast").split(' ');
      if(document.URL.indexOf("smqr.com") >= 0)
      {
        for (i = 0; i < myArray.length; i++)
        {
          myValue = myArray[i].replace(myArray[i].substr(0, 14), "");
          myOutput += "<a href=\"/Custom/QueenDetail.aspx?QueenId=" + myArray[i].substr(0, 14) + "\" style=\"margin-right:1em;\">" + myValue + "</a>";
        }
      }
      else
      {
        for (i = 0; i < myArray.length; i++)
        {
          myValue = myItem.getAttribute("Type") + ";Cast;" + myArray[i];
          myOutput += "<a href=\"/Common/ItemList.aspx?Value=" + encodeURI(myValue) + "\" style=\"margin-right:1em;\">" + myArray[i] + "</a>";
        }
      }
    }
    else
    {
      myOutput = "N/A";
    }
    $('ul.ItemDetail > li.Cast').html("出演者： " + myOutput);
    
    //カテゴリー
    myOutput = "";
    if (myItem.getAttribute("Category") != "N/A")
    {
      myArray = myItem.getAttribute("Category").split(' ');
      for (i = 0; i < myArray.length; i++)
      {
        myValue = myItem.getAttribute("Type") + ";Category;" + myArray[i];
        myOutput += "<a href=\"/Common/ItemList.aspx?Value=" + encodeURI(myValue) + "\" style=\"margin-right:1em;\">" + myArray[i] + "</a>";
      }
    }
    else
    {
      myOutput = "N/A";
    }
    $('ul.ItemDetail > li.Category').html("カテゴリー ： " + myOutput);
            
    
    myOutput = "";
    
    //関連商品
    var myMatch = myItem.getAttribute("Code").toUpperCase();
    myMatch = myMatch.match(/^[A-Z0-9]*-[A-Z0-9]*/);
    if(myMatch != null)
    {
      if (myItem.getAttribute("Type") == "Download") { myFilter = "Item[Code^='" + myMatch + "'][Type='Delivery']"; }
      else { myFilter = "Item[Code^='" + myMatch + "-" + "'][Type='Download']"; }
      mySelects = $(myXmlDoc).find(myFilter);
      myNodes = $(mySelects).get();
      myNodes = SaleDayCheck(myNodes);
      
      if(myNodes.length > 0)
      {
        if (myItem.getAttribute("Type") == "Download") { myOutput += "<h2>この作品は下の通信販売商品に収録されています</h2>"; }
        else { myOutput += "<h2>この商品には下のダウンロード販売動画が収録されています</h2>"; }
        myOutput += ListRender(myNodes);
      }
      
      //シリーズ
      if (myItem.getAttribute("Type") == "Download")
      { 
        myFilter = "Item[Code^='" + myMatch + "-" + "'][Type='Download']";
        mySelects = $(myXmlDoc).find(myFilter);
        myNodes = $(mySelects).get();
        myNodes = SaleDayCheck(myNodes);
        myArray = new Array();
        for(i = 0; i < myNodes.length; i++)
        {
          if(myNodes[i].getAttribute("Code") != myItem.getAttribute("Code"))
          { myArray.push(myNodes[i]); }
        }
        if(myArray.length > 0)
        {
          myOutput += "<h2>同じシリーズの作品</h2>";
          myOutput += ListRender(myArray);
        }
      }
    }
    
    //仲間
    myOutput += "<h2>この商品を買った人はこんな商品も買っています</h2>";
    if(myItem.getAttribute("Band"))
    {
      var myBandNodes = new Array();
      var myBandArray = myItem.getAttribute("Band").split(' ');
      for (i = 0; i < myBandArray.length; i++)
      {
        mySelects = $(myXmlDoc).find("Item[Id='" + myBandArray[i] + "']");
        if(mySelects.length > 0) { myBandNodes.push(mySelects[0]); }
      }
      myBandNodes = SaleDayCheck(myBandNodes);
      myOutput += ListRender(myBandNodes);
    }
    else { myOutput +="<p>No data found.</p>"; }
    
    //新作
    myOutput += "<h2>新着オススメ</h2>";
    myFilter = "Item";
    mySelects = $(myXmlDoc).find(myFilter);
    myNodes = $(mySelects).get();
    
    var myToday = new Date();
    var myKeyday = "";
    for (i = 0; i < myNodes.length; i++)
    {
      var myYear = myNodes[i].getAttribute("SaleDay").substr(0, 4);
      var myMonth = myNodes[i].getAttribute("SaleDay").substr(5, 2) - 1;
      var myDay = myNodes[i].getAttribute("SaleDay").substr(8, 2);
      var mySaleDay = new Date(myYear, myMonth, myDay);
      if (mySaleDay < myToday)
      {
        myKeyday = myNodes[i].getAttribute("SaleDay");
        break;
      }
    }
    myFilter = "Item[SaleDay='" + myKeyday + "']";
    mySelects = $(myXmlDoc).find(myFilter);
    myNodes = $(mySelects).get();
    myOutput += ListRender(myNodes);
    
    $('p.ItemDetail').after(myOutput);
    
    if(document.URL.indexOf(".mo-paradise.com") >= 0) {
      MoParaItemDetail(myItem);
      return;
    }
        
  });
}

//*************************************************
//商品一覧表示レンダー
//*************************************************
function ItemListFirst(myValue)
{
  if($.cookie('ItemList'))
  {
    var myCookieArray = decodeURI($.cookie('ItemList')).split(';');
    var myCookieText = myCookieArray[0] + myCookieArray[1] + myCookieArray[2];
    var myQueryArray = myValue.split(';');
    var myQueryText = myQueryArray[0] + myQueryArray[1] + myQueryArray[2];
    if(myCookieText != myQueryText) { $.cookie('ItemList', myValue + ";1"); }
  }
  else { $.cookie('ItemList', myValue + ";1"); } 

  ItemListBuild();
}
/* --------------------------------------------- */
function ItemListBuild()
{
  $.get("/UserData/Items.xml", function(myXmlDoc)
  {
    if(!$.cookie('ItemList')) { return; }
    
    var myCookieStatus = decodeURI($.cookie('ItemList'));
    var myCookieArray = myCookieStatus.split(';');
    var myType = myCookieArray[0];
    var myGenre = myCookieArray[1];
    var myKey = myCookieArray[2];
    var myCurrentIndex = myCookieArray[3];
    
    //ページャーの色付け
    $("div.PagerBox > span").removeClass("Current");
    $("div.PagerBox > span.Page" + myCurrentIndex).addClass("Current");
        
    var myPageSize = 30;
    
    var myFilter = "";
    if (myGenre == "Lineup") { myFilter = "Item[Type='" + myType + "']"; }
    else { myFilter = "Item[Type='" + myType + "'][" + myGenre + "*='" + myKey + "']"; }
    var mySelect = $(myXmlDoc).find(myFilter);
    var myNodes = $(mySelect).get();
    var myItems = SaleDayCheck(myNodes);
    
    var myStartIndex = myPageSize * (myCurrentIndex - 1);
    var myEndIndex = myStartIndex + myPageSize;
    myItems = $(myItems).slice(myStartIndex, myEndIndex);

    if(document.URL.indexOf(".mo-paradise.com") >= 0) { myOutput = MoParaListRender(myItems); }
    else { myOutput = ListRender(myItems);  }
    
    $('#ListBox').html(myOutput);
  });
}
/* --------------------------------------------- */
function ListRender(myNodes)
{
  var myItems = $(myNodes).get();
  
  var myOutput = "<table cellspacing=\"5\" class=\"ItemList\">";
  var i = 0;
  while (i < myItems.length)
  {
    myOutput += "<tr>";
    for(j = 0; j < 3; j++)
    {
      if (i < myItems.length)
      {
        myOutput += "<td><a class=\"Icon\" href=\"/Common/ItemDetail.aspx?ItemId=" + myItems[i].getAttribute("Id") + "\">"
                  + "<img src=\"http://image.mediard.jp/" + myItems[i].getAttribute("Id") + "-Icon.jpg\" "
                  + "alt=\"" + myItems[i].getAttribute("Title") + "\" />" + myItems[i].getAttribute("Title") + "</a></td>";
      }
      else { myOutput += "<td class=\"Blank\">&nbsp;</td>"; }
      i++;
    }
    myOutput += "</tr>";
  }
  myOutput += "</table>";

  if (myItems.length == 0) { myOutput = "<p>No data found.</p>"; }

  return myOutput;
}
/* --------------------------------------------- */
function ItemListPaging(myCurrentIndex)
{
  if(!$.cookie('ItemList')) { return; }
  var myValue = decodeURI($.cookie('ItemList'));
  var myCookieArray = myValue.split(';');
  myValue = myCookieArray[0] + ";" + myCookieArray[1] + ";" + myCookieArray[2] + ";" + myCurrentIndex;    
  $.cookie('ItemList', myValue);

  ItemListBuild();
}

