
(function ($) {

  // functions

  function OnReady() {

    // картинки большого размера
    $("A.gallerypic").fancybox({
      type: 'image',
      titlePosition: 'over',
      titleFormat: function (title, currentArray, currentIndex, currentOpts) {

        var _title = '';
        if (currentArray.length > 1)
          _title = (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '')
        else if (title.length > 0)
          _title = title;

        return (_title == '') ? '' : '<span id="fancybox-title-over"> ' + _title + '</span>';
      },
      onStart: function () {
        $("#fancybox-wrap").unbind('mouseover');
      },
      onComplete: function () {
        $("#fancybox-wrap").mouseover(function () {
          $("#fancybox-title").show();
        }).mouseout(function () {
          $("#fancybox-title").hide();
        });
      }
    });

    // кнопка "Купить"
    loadMagazins();
  };

  function loadMagazins() {

    window.DDShopsCallback = callback;

    $('.DDBuy').click(function () {
      var html = [],
          productid = $(this).attr('DDProductId'),
          ajax_shops_url = 'http://dd.troll.ru/partners/shops.js';

      html.push('<table cellspacing="5" cellpadding="0" border="0" style="width:419px;height:100px;background-color:#bfcee2;">');
      html.push('<tr>');
      html.push('<td style="color:#253247;font-size:12px;font-weight:bold;width:75%;text-align:right;">Подождите, идёт загрузка магазинов</td>');
      html.push('<td><img src="/img/ajax-loader.gif" width="16" height="16" alt=""/></td>');
      html.push('</tr>');
      html.push('</table>');

      $.fancybox({
        content: html.join(''),
        onComplete: function () {
          $.ajax({
            url: ajax_shops_url,
            data: { id: productid },
            dataType: 'jsonp',
            crossDomain: true,
            cache: true,
            jsonpCallback: 'DDShopsCallback'
          });
        }
      });
    });

    function callback(shops) {
      var html = [],
          digital = [],
          jewel = [],
          digital_html = '',
          jewel_html = '';

      html.push('<div id="buy-shop-list" style="width:419px;background-color:#bfcee2;padding:0 10px;">');

      if (shops.length == 0)
        html.push('<div style="color:#7d1e01;font-weight:bold;font-size:12px;padding:10px 0;">Магазинов нет.</div>');
      else {
        $(shops).each(function (i) {
          var shop = shops[i];
          shop.digital === 1 ? digital.push(shop) : jewel.push(shop);
        });

        digital_html = getShopsTableByArray(digital);
        jewel_html = getShopsTableByArray(jewel);

        if (digital_html != '') {
          html.push('<div style="color:#7d1e01;font-weight:bold;font-size:12px;padding:10px 0;">Купить цифровую версию</div>');
          html.push(digital_html);
        }

        if (jewel_html != '') {
          html.push('<div style="color:#7d1e01;font-weight:bold;font-size:12px;padding:10px 0;">Купить джевел-версию</div>');
          html.push(jewel_html);
        }
      }
      html.push('<div style="padding:10px 0;"><a href="http://games.1c.ru/?type=sales">Список всех партнёров</a></div>')
      html.push('</div>');

      $.fancybox({ content: html.join('') });

      $('#buy-shop-list A.fancybox_iframe')
            .fancybox({
              'padding': 2,
              'width': 700,
              'height': '100%',
              'autoScale': false,
              'type': 'iframe'
            });
    }

    function getShopsTableByArray(shops) {
      var html = [];
      if (shops.length > 0) {
        html.push('<table cellspacing="0" cellpadding="3" border="0" style="">');
        $(shops).each(function (i) {
          var shop = shops[i],
              block = '';
          if (i == 0)
            block = '<tr>';
          else if (i % 4 == 0)
            block = '</tr><tr>';
          block += '<td><a ' + (shop.iframe === 1 ? 'class="fancybox_iframe"' : 'target="_blank"') + ' href="' + shop.url + '" title="' + shop.title + '"><img width="93" height="37" border="0" alt="' + shop.title + '" src="' + shop.icon + '" /></a></td>';
          html.push(block);
        });
        html.push('</tr>');
        html.push('</table>');
      }
      return html.join('');
    }
  }

  // runtime code

  $(document).ready(OnReady);


})(jQuery);

