﻿/*
* Puretracks Fast-Brand Platform
* Custom per-instance asset-specific scripts
*
* Copyright © 2010, Puretracks, a division of Somerset Entertainment Ltd.
* All rights reserved.
* http://corporate.puretracks.com/
*
* Auhor: Roman Gubarenko
*/

(function($)
{
  $.InitPageFeature_HoverableTargets = function(options)
  {
    // bind hover effect to hoverable class targets
    $("._plugin-hoverable:not(.ui-state-disabled)").live("mouseenter", function() { $(this).addClass("ui-state-hover"); });
    $("._plugin-hoverable:not(.ui-state-disabled)").live("mouseleave", function() { $(this).removeClass("ui-state-hover"); });
  },

  $.InitPageFeature_SmartHoverPackshots = function(options)
  {
    var settings =
    {
      container: "._plugin-packshot"
    };
    if (options) $.extend(settings, options);

    // packshot highlight on mouse hover
    $(settings.container).find("._plugin-packshot-content").hover(
    function()
    {
      $(this).prev("._plugin-packshot-support").addClass("ui-state-hover");
      $(this).find("._plugin-popup-trigger").css("display", "block");
    },
    function()
    {
      $(this).prev("._plugin-packshot-support").removeClass("ui-state-hover");
      $(this).find("._plugin-popup-trigger").css("display", "none");
    });
  },

  $.InitPageFeature_AlbumDetailsDialog = function(options)
  {
    var settings =
    {
      dialog: "._plugin-album-details-popup",
      trigger: "._plugin-album-details-trigger",
      cssClass: "fbui-album-details-popup",
      title: "Product Details"
    };
    if (options) $.extend(settings, options);

    // setup new dialog object
    var $dialog = $.FBCreateDialogJQ("ProductDetailsDialog", {
      "width": 700,
      "height": 500,
      "draggable": false,
      "dialogClass": settings.cssClass,
      "title": settings.title,
      "close": function() { if ($.FBPreviewPlayer) $.FBPreviewPlayer("stop"); }
    });

    // save markup of sample dialog to use it as splash screen
    var initialHtml = $(settings.dialog).html();

    // invoke popup when details button is clicked
    $(settings.trigger).live("click", function()
    {
      var productID = $(this).attr("product");
      if (!productID) throw "Popup trigger missing product attribute";
      var srcURL = "RenderContent.axd?renderer=AlbumDetails&content=PTBS_PagesPartial_PopupAlbumDetails&productID=" + productID;

      // set initial dialog content (splash screen)
      if (initialHtml) $dialog.html(initialHtml);
      // open dialog
      $dialog.dialog("open");

      // request async load from URL
      $dialog.FBLoadAsyncContent(srcURL,
      {
        success: function(html) { },
        error: function() { $dialog.close(); }
      });
    });
  },

  $.InitPageFeature_PreviewPlayer = function()
  {
    // install preview player on the page
    $.FBPreviewPlayer({
      flashLocation: "../res/jwplayer/jwplayer.swf",
      previewButton: "._plugin-preview-button",
      playIconClass: "ui-icon-play",
      stopIconClass: "ui-icon-stop",
      playingState: "ui-state-highlight",
      duration: 30
    });
  },

  $.InitPageFeature_ItemRotators = function(options)
  {
    var settings =
    {
      container: "._plugin-rotator"
    };
    if (options) $.extend(settings, options);

    $(settings.container).each(function()
    {
      var pageSize = parseInt($(this).attr("_plugin-rotator-page-size"));
      if (isNaN(pageSize)) pageSize = 1;
      $(this).FBItemRotator({ "pageSize": pageSize });
    });
  }

})(jQuery);
