/*** Pandora embed ***/ Ox.load('UI', function() { var pandora = new Ox.App({ apiURL: '/api/', }).launch(function(data) { var ui = {}; var app = { info: function(item) { var that = new Ox.Element() .append( ui.infoTimeline = new Ox.Element('img') .css({ position: 'absolute', left: 0, bottom: 0, height: '16px', }) .attr('src', '/' + item + '/timeline.16.png') ) .append( ui.infoStill = new app.flipbook(item) .css({ position: 'absolute', left: 0, width: '100%', height: $(document).height()-16 + 'px', }) ) return that; }, flipbook: function(item) { var that = new Ox.Flipbook({ }).bindEvent('click', function(event, data) { var item_url = document.location.origin + '/' + item; window.top.location.href = item_url + '/timeline#t=' + data.position; }); pandora.api.getItem(item, function(result) { var duration = result.data.item.duration, posterFrame = result.data.item.posterFrame || parseInt(duration/2), steps = 24, framePrefix = '/' + item + '/frame/' + that.width() + '/', frames = {}; Ox.range(0, duration, duration/steps).forEach(function(position) { position = parseInt(position); frames[position] = framePrefix + position + '.jpg'; }); that.options({ frames: frames, icon: framePrefix + posterFrame + '.jpg', duration: duration }); }); return that; } }; var item = document.location.pathname.split('/')[1]; ui.info = new app.info(item) .appendTo(document.body); }); });