diff -r 56befcb22751 -r 94a1dc255022 thd/web/js/uc.player.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thd/web/js/uc.player.js Tue Sep 22 16:40:38 2009 +0200 @@ -0,0 +1,235 @@ +uc = uc || {}; +uc.player = uc.player || {}; +uc.player.classIdExpr = /media-(\S+)-(\S+)/; +uc.player.jsLoaded = false; +uc.player.skins = { + universcine: { + // display properties such as size, location and opacity + bottom: 0, + height: 24, + + // progress bar + progressColor: '#990000', + bufferColor: '#333333', + SliderColor: '#333333', + + // buttons + buttonColor: '#990000', + buttonColorOver: '#999999', + + // styling properties (will be applied to all plugins) + backgroundColor: '#000000', + backgroundGradient: 'none', + opacity: 0.8, + + // controlbar specific settings + autoHide: true, + all: false, + play: true, + scrubber: true, + mute: true, + volume: true, + fullscreen: true, + + // a little more styling + width: '99%', + bottom: 2, + left: '50%', + borderRadius: 5 + } +} + +uc.player.conf = { + video: { + clip: { + autoPlay: true, + autoBuffering: true, + scaling: 'fit' + }, + plugins: { + controls: uc.player.skins.universcine + } + }, + + slideshow: { + clip: { + autoPlay: true, + autoBuffering: false, + scaling: 'fit' + }, + plugins: { + controls: null + }, + play: { + opacity:0 + } + } +} + +uc.player.currentPlayer = null; + +uc.player.loadJS = function(callback) { + // Preload flowplayer + jQuery.getScript('/js/flowplayer/flowplayer-3.1.0.min.js', function () { + jQuery.getScript('/js/flowplayer/flowplayer.playlist-3.0.5.min.js', function () { + uc.player.jsLoaded = true; + callback(); + }); + }); +} + +uc.player.mediaPlayer = function(node) { + this.jq_playlist = jQuery(node); + + // Extract playlist id + var matches = this.jq_playlist.attr('id').match(uc.player.classIdExpr); + this.playlist_id = matches[2]; + + // Get default playlist + this.default_playlist = 'image'; + + if (jQuery('.video-playlist.default-playlist', this.jq_playlist).length == 1) this.default_playlist = 'video'; + + // Extract video playlist + this.video_playlist = []; + var self = this; + jQuery('.video-playlist .media-item', this.jq_playlist).each(function(index) { + var jq_this = jQuery(this); + + // Extract media info + var media_item = {uri: null, thumb_uri: null}; + var jq_uri = jQuery('.media-uri', jq_this); + media_item.uri = jq_uri.attr('href'); + var jq_thumb_uri = jQuery('.media-thumb-uri', jq_this); + if (jq_thumb_uri.length == 1) media_item.thumb_uri = jq_thumb_uri.attr('href'); + self.video_playlist[index] = media_item; + + // Wrap media click + jq_uri.attr('href', 'javascript:void(0)'); + jq_uri.click(function () { + self.playVideo(index); + }); + }); + + // Extract image playlist + this.image_playlist = []; + var self = this; + jQuery('.image-playlist .media-item', this.jq_playlist).each(function(index) { + var jq_this = jQuery(this); + + // Extract media info + var media_item = {uri: null}; + var jq_uri = jQuery('.media-uri', jq_this); + media_item.uri = jq_uri.attr('href'); + self.image_playlist[index] = media_item; + + // Wrap media click + jq_uri.attr('href', 'javascript:void(0)'); + jq_uri.click(function () { + self.playSlideShow(index); + }); + }); + + // Search the place to include the media player + this.jq_player_wrapper = jQuery('