/**
 * @author msalla
 */
var Pb = Pb ||
{};
Pb.Controls = Pb.Controls ||
{};
/**
 * @author msalla
 */
Pb.Controls.CmsResourceViewer = Pb.Controls.CmsResourceViewer || function()
{
    function CmsResourceViewer(aSettings)
    {
        var lSettings = jQuery.extend({
            ResourceViewerClientId: '',
            ClientClickLinkUrl: null,
            RollOverEnabled: false,
            RollOverResourceUrl: '',
            OnClientResourcePageLoad: null
        }, aSettings);
        this.Settings = lSettings;
        $(document).ready(Pb.Utils.createDelegate(this, this.OnPageLoad));
    }
    CmsResourceViewer.prototype = {
        OnPageLoad: function()
        {
            var self = this;
            var jResourceViewer = $('#' + this.Settings.ResourceViewerClientId);
            if ((this.Settings.OnClientResourcePageLoad) && (typeof this.Settings.OnClientResourcePageLoad == 'function'))
            {
                this.Settings.OnClientResourcePageLoad.apply(jResourceViewer[0], [this.Settings.ResourceViewerClientId]);
            }
            if (this.Settings.ClientClickLinkUrl)
            {
                // This will be used for flash and video only
                var lWrapper = jResourceViewer.wrap("<div class='CmsResourceViewerWrap' style='display:block;'></div>").parent('.CmsResourceViewerWrap');
                
                // If a class was defined we set it to the wrapper class too               
                var lFlashClass = jResourceViewer.attr('class');
                if (lFlashClass && lFlashClass !== '')
                {
                    lWrapper.addClass(lFlashClass);
                }
                lWrapper.click(function() { document.location.href = self.Settings.ClientClickLinkUrl; return false; });
            }

            if (this.Settings.RollOverEnabled)
            {
                var lImagePreload = new Image();
                lImagePreload.src = self.Settings.RollOverResourceUrl;

                this.Settings.OriginalResourceUrl = jResourceViewer.attr('src');
                jResourceViewer.mouseover(function()
                {
                    this.src = self.Settings.RollOverResourceUrl;
                });
                jResourceViewer.mouseout(function()
                {
                    this.src = self.Settings.OriginalResourceUrl;
                });
            }
        }
    };
    return CmsResourceViewer;
} ();

