// This js file contains utility functions for third party resources
// or flash related javascript

// v1.0 -- 08/01/2010 -- initial version. (lbell)
// v1.1 -- 08/26/2010 -- Added imageViewer_api (lbell)
// v1.2 -- 08/26/2010 -- Added a flashPromosOK check for unload event (lbell)
// v1.3 -- 08/08/2011 -- HBX Replacement Project: convert js files to xrx_hbx_proxy.js calls (tottewel)

/*
    Name:       imageViewer_api
    Purpose:    This object has a few utility methods to control the flash player
    Output:     None

*/
var imageViewer_api = (function() {
    var self = this; 
    self.image_viewer_id = 'ImageViewer_obj_media';

    // This will send _hbLink calls back on page unload.
    if (flashPromosOK()) {
        jQuery(window).unload(function(){
            var _links_ar = getHBXSlideLinks().split(",");
            for ( var x = 0; x < _links_ar.length; x++) {
                var cleaned_lid = _links_ar[x].replace(/['"&,!#$\%^*:|\\\/~;]/g, "_")
                xrx_hbx_proxy.xrxLink(cleaned_lid);
            }
        });
    }

    self.getHBXSlideLinks = function(){
        var flashRef = getFlashMovie(self.image_viewer_id);
        if ( flashRef) {
            var _links = flashRef.GetVariable("/:HBXLinkTable");
            return _links;
        }
        return;
    };

    self.getFlashMovie = function(movieName){
            if (window.document[movieName]) {
                return window.document[movieName];
            }
            if (navigator.appName.indexOf("Microsoft Internet")==-1) {
                if (document.embeds && document.embeds[movieName]){
                    return document.embeds[movieName]; 
                }
                else{
                    return document.getElementById(movieName);
                }
            }
            else { // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
                return document.getElementById(movieName);
            }
    };

    self.imageViewerPlaying = function(value)
    {
        var flashRef = self.getFlashMovie(self.image_viewer_id);
		
        if ( flashRef )
	        flashRef.SetVariable("/:jsObj.isPlaying", value);
    }

    return {
        // Returns the image viewer DOM id.
        image_viewer_id: function(){
            return self.image_viewer_id;
        },
        // Gets the ImageViewer DOM object
        getFlashMovie:function(movieName){
            return self.getFlashMovie(movieName);
        },
        // Plays/Stops ImageViewer. TRUE value plays, FALSE pauses.
        imageViewerPlaying: function(value)
        {
            return self.imageViewerPlaying(value);
        }
    };
})();
    
/*
    Name:       homepage_slide_modal
    Purpose:    A utility function to open a modal window display
    Input:      Id - Hidden div id that will be opened as a modal
    Output:     None

*/
function homepage_modal(id){
    jQuery('#' + id + '_link').click();
}

