//
// loads the neo digital video player multiple times
//
//
// reference player...
// always use 'sports' network
// prod and qa for parity with those - use prod
var index_video = {
type : {
loadmultipleinstances : 1
},
//url_neodigital : 'http://player.foxneodigital.com/:version/index.php?network=fox',
url_neodigital : 'http://player.foxneodigital.com/sports', // sports/qa for qa site
prepare : function () {
// Failed to execute 'write' on 'Document': It isn't possible to write into a \
// document from an asynchronously-loaded external script unless it is \
// explicitly opened.
document.write = function (d) {
// we remove document.write
};
},
getFDM_Player : function (url, fn) {
lazyload.js([url], function () {
if (typeof FDM_Player === 'function') {
fn(null, FDM_Player);
} else {
throw new Error('[!!!] getFDM_Player: failed');
}
});
},
// loads the neodigital only -does not load any video
loadingneodigital_once : function (loadnum, version, fn) {
var url_neodigital = index_video.url_neodigital.replace(/:version/, version) + '&num=' + loadnum,
start = Date.now(),
end;
index_video.getFDM_Player(url_neodigital, function (err, FDM_Player) {
end = Date.now();
console.log('');
fn(null, {
path : url_neodigital,
start : start,
end : end,
ms : end - start
});
});
},
loadingneodigital_all : function (loadnum, version, data, eachfn, completefn) {
data = data || {
num : loadnum,
version : version,
loadedarr : []
};
index_video.loadingneodigital_once(loadnum, version, function (err, d) {
data.loadedarr.push(d);
eachfn(null, data);
if (--loadnum) {
index_video.loadingneodigital_all(loadnum, version, data, eachfn, completefn);
} else {
completefn(null, data);
}
});
},
loadmultipleinstances : function (opts) {
index_video.prepare();
index_video.loadingneodigital_all(opts.loadNEONum, opts.version, null, function each (err, data) {
console.log('each', data);
}, function complete (err, data) {
console.log('done', data);
});
},
play : function (opts, FDM_Player) {
console.log('player herheherosjdbf ');
// =============================================
// Create a Player
// =============================================
var myNewPlayer = new FDM_Player("video-player");
// =============================================
// Set up player variables
// =============================================
myNewPlayer.autoplay = true;
//myNewPlayer.autoplay = true;
myNewPlayer.releaseURL = 'http://link.theplatform.com/s/idol/rM6LCV7vJS4j?mbr=true';
// from reference page
myNewPlayer.releaseURL = 'http://link.theplatform.com/s/BKQ29B/Sdv8DTyUPsp_?mbr=true&assetTypes=Video&feed=Fox%20Sports%20All&iu=/fscom/homepage/video';
//myNewPlayer.releaseURL = 'http://link.theplatform.com/s/BKQ29B/Sdv8DTyUPsp_?mbr=true&assetTypes=Video&feed=Fox%20Sports%20All&iu=/fscom/homepage/video&autoplay=true';
//myNewPlayer.releaseURL = 'http://link.theplatform.com/s/BKQ29B/Sdv8DTyUPsp_?mbr=true&assetTypes=Video&feed=Fox%20Sports%20All&iu=/fscom/nfl/video';
/*
///////////////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
// extra...
myNewPlayer.endcard = true;
myNewPlayer.endcard_feed = 'https://feed.theplatform.com/f/BKQ29B/foxsports-all?byCustomValue=%7Bprimary%7D%7Bnfl%7D&sort=pubDate%7Cdesc¶ms=iu=/fscom/nfl/video';
myNewPlayer.endcard_countdown = true;
myNewPlayer.share = true;
myNewPlayer.share_embed = true;
myNewPlayer.extraInfo = {
foxsports_extra: "foxsports_extra_onload",
pageLocation: "index",
pageName: "fscom::videos:video page"
};
myNewPlayer.share = {
showembedFunc : function () {
return true;
},
omitSeries: true
};
console.log('using newPlayer');
*/
// =============================================
// Example Event Listener - OnMediaStart
// =============================================
myNewPlayer.addEventListener("OnMediaStart", function(e) {
console.log('================= OnMediaStart =================');
if (e) {
var clipObj = e.data;
var title = typeof clipObj.title != "undefined" ? clipObj.title : 'Not Available';
document.getElementById('video-title').innerHTML = title;
}
});
// =============================================
// Example Event Listener - OnMediaPause
// =============================================
myNewPlayer.addEventListener("OnMediaPause", function(e) {
console.log('================= OnMediaPause =================');
});
myNewPlayer.bind();
},
loadandplay : function (opts) {
var url_neodigital = index_video.url_neodigital.replace(/:version/, opts.version);
index_video.getFDM_Player(url_neodigital, function (err, FDM_Player) {
index_video.play(opts, FDM_Player);
});
},
start : function (opts) {
if (opts.type === index_video.type.loadmultipleinstances) {
index_video.loadmultipleinstances(opts);
} if (opts.type === index_video.type.loadandplay) {
index_video.loadandplay(opts);
}
}
};