(function( window, document, undefined ) { function queryStringToJSON( pairs ) { pairs = ( pairs || location.search.slice(1) ).split('&'); var result = {}; pairs.forEach(function(pair) { pair = pair.split('='); result[pair[0]] = decodeURIComponent(pair[1] || ''); }); return JSON.parse(JSON.stringify(result)); } function loadScripts() { var videoJsScript = document.querySelector('script[src*="//player.bettervideo.com/player/video.js"]'); if ( !videoJsScript ) { var playerScript = document.createElement('script'); playerScript.src = "//player.bettervideo.com/player/video.js"; playerScript.onload = onVideoJSLoad; headEl.appendChild( playerScript); } checkScriptLoadProgress(); } function onVideoJSLoad() { var pluginScript = document.createElement('script'); // pluginScript.src = "//player.bettervideo.com/plugins/bvPlugins.js"; pluginScript.src = "//player.bettervideo.com/plugins/bvPlugins.js"; //pluginScript.onload = onPluginsLoad; headEl.appendChild( pluginScript); } function checkScriptLoadProgress() { // This will all be dynamic in the very near future! setTimeout( function() { if ( window.videojs && window.videojs.Player && window.videojs.Player.prototype.bvThemeLoader ) { videojs('mds_video_player_' + playerId, { techOrder: ["html5", "flash", "image", "virtualTour"], plugins: pluginsObj }, function() { // console.log( "Player Ready" ); // Load first/only source if ( source ) { var player = this; player.src(source); } } ); } else { checkScriptLoadProgress(); } }, 10 ); } var headEl = document.getElementsByTagName('head')[0]; var currentScript = document.currentScript || [].slice.call(document.querySelectorAll('script[src*="//player.bettervideo.com/p/"]')).pop(); //console.log( 'CURRENT SCRIPT', currentScript.src, document.querySelectorAll('script[src*="//player.bettervideo.com/"]') ); var parentEl = currentScript.parentNode; console.log(parentEl); var queryString = currentScript.src.replace(/^[^\?]+\??/,''); var options = queryStringToJSON( queryString ); var dummyEl = document.createElement( 'div' ); var playerId = Date.now(); var pluginsObj = { socialOverlay: {onScreen: true}, showPosterAtEnd:{} }; if ( options.social === false || ( options.social && options.social.toLowerCase() === 'false' ) ) { delete pluginsObj.socialOverlay; } if ( window.self === window.top ) { pluginsObj.dimTheLights = {}; } var source; //video2.bettervideo.com/video/FFX/MP4640x360/930 if ( options.video ) { options.video = options.video.replace(' ',''); dummyEl.innerHTML = ['