--- a/thd/web/js/uc.player.js Wed Jun 01 14:07:43 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-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('<div class="media-player-wrapper" id="media-player-wrapper-' + this.playlist_id + '"> </div>');
- jq_place = jQuery('.media-player-after', this.jq_playlist);
-
- if (jq_place.length == 1) {
- jq_place.after(this.jq_player_wrapper);
- } else {
- jq_place = jQuery('.media-player-before', this.jq_playlist);
- jq_place.before(this.jq_player_wrapper);
- }
-
- this.showPlayer();
-}
-
-uc.player.mediaPlayer.prototype = {
- removePlayer: function() {
- jQuery('.media-player', this.jq_player_wrapper).unload();
- jQuery('*', this.jq_player_wrapper).remove();
- },
- stopPlayer: function() {
- this.removePlayer();
- this.showPlayer();
- },
- showPlayer: function() {
- var jq_play_button = jQuery('<a class="play-button">Play</a>');
- var self = this;
- this.jq_player_wrapper.append(jq_play_button);
-
- // Get default media
- var default_media = null;
-
- if (this.default_playlist == 'video') {
- default_media = this.video_playlist[0];
- jq_play_button.click(function() {self.playVideo(0)});
- } else {
- default_media = this.image_playlist[0];
- default_media.thumb_uri = default_media.uri;
- jq_play_button.click(function() {self.playSlideShow(0)});
- }
-
- if (default_media.thumb_uri) {
- // Add background to player
- this.jq_player_wrapper.css('background-image', 'url(' + default_media.thumb_uri + ')');
- this.jq_player_wrapper.css('background-repeat', 'no-repeat');
- this.jq_player_wrapper.css('background-position', '50% 0%');
- }
- },
- createPlayer: function(media, conf) {
- // Stop current player
- var current_player = uc.player.currentPlayer;
- if (current_player && current_player.playlist_id != this.playlist_id) current_player.stopPlayer();
-
-
- // Create new player
- this.removePlayer();
- uc.player.currentPlayer = this;
- this.jq_player_wrapper.append('<a id="media-player-' + this.playlist_id + '" class="media-player" href="' + media.uri + '"/>');
- return flowplayer('media-player-' + this.playlist_id, {src: '/swf/flowplayer-3.1.0.swf', wmode: 'opaque'}, conf);
- },
- playVideo: function(index) {
- var media = this.video_playlist[index];
- var conf = uc.player.conf.video;
- conf.playlist = [];
- conf.playlist.push({url: media.uri});
- this.createPlayer(media, conf);
- },
-
- playSlideShow: function(index) {
- var conf = uc.player.conf.slideshow;
- var duration = 5;
- conf.playlist = [];
-
- for (var i=index; i<this.image_playlist.length; i++) {
- conf.playlist.push({url: this.image_playlist[i].uri, duration: duration, scaling: true});
- }
-
- for (var i=0; i<index; i++) {
- conf.playlist.push({url: this.image_playlist[i].uri, duration: duration, scaling: true});
- }
-
- // Add loop features if there are more than one items
- if (conf.playlist.length > 1) {
- conf.playlist[conf.playlist.length - 1].onBeforeFinish = function () {return false;}
- }
-
- var media = this.image_playlist[index];
- this.createPlayer(media, conf);
- }
-}
-
-uc.player.initPlayer = function(selector) {
- jQuery(selector).each(function($index) {
- var player = new uc.player.mediaPlayer(this);
- });
-}
-
-uc.player.build = function (selector) {
- if (!uc.player.jsLoaded && jQuery(selector).length > 0) {
- uc.player.loadJS(function() {uc.player.initPlayer(selector);});
- } else {
- uc.player.initPlayer(selector);
- }
-}