var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); // lcSyncBanner JavaScript // // Copyright Lightningcast, Inc. 2005 var lastBanner = null; var lastCurrentMedia = null; var lastCurrentMediaName = ""; var lastPreviousMedia = null; var lastPreviousMediaName = ""; var lastReplaceBanner = null; var playerClickState = 0; var debugWindow = null; window.percentAuditTimer = null; window.percentAuditPlayer = null; window.auditDiv = null; top.lcBasePath = 'https://web.archive.org/web/20090103105944/http://downloads.instream.com:80/'; top.lcGetPlaylistPath = 'https://web.archive.org/web/20090103105944/http://web.instream.com/servlets/getPlaylist'; top.lcNetworkId = 11375; top.lcPlayerId = 'videoplug'; top.lcLevel = 'Internet Broadcasting:IBSYS'; top.lcFormat = 'Video-Windows-300-320x240'; top.lcPlayerURL = null; window.lcMediaPlayer = null; // Array to contain all the Lightningcast Media Entries. top.lcMediaEntries = new Array(); top.lcPlaylists = new Array(); function _lcGetMediaEntry(media) { for (i = 0; top.lcMediaEntries.length > i; i++) { if (top.lcMediaEntries[i].equals(media)) { top.lcMediaEntries[i].media = media; top.lcMediaEntries[i].duration = media.duration; return top.lcMediaEntries[i]; } } mediaEntry = new LCMediaEntry(media); top.lcMediaEntries.push(mediaEntry); return mediaEntry; } function _lcAddMediaEntries(mediaPlayer) { var playlist = mediaPlayer.currentPlaylist; if ("undefined" == typeof(playlist) || null == playlist) { return; } var previousEntry = null; var currentEntry = null; var media = null; for (j = 0; j < playlist.count; j++ ) { media = playlist.item(j); currentEntry = _lcGetMediaEntry(media); currentEntry.previousEntry = previousEntry; if (null != previousEntry) { previousEntry.nextEntry = currentEntry; } previousEntry = currentEntry; } return null; } function LCMediaEntry(media) { // Current windows media player media entry. this.media = media; this.name = media.name; this.duration = media.duration; this.currentPosition = 0; this.percentPlayed = 0; this.previousEntry = null; this.nextEntry = null; this.preAuditSent = false; this.midAuditSent = false; this.postAuditSent = false; this.preAuditURLs = new Array(); this.midAuditURLs = new Array(); this.postAuditURLs = new Array(); this.percentAuditURL = null; this.percentAudited = 0; this.percentFinal = false; this.bannerUrl = media.getItemInfo('IAB_URL'); this.bannerClick = media.getItemInfo('IAB_CLICKTHRU'); var auditURL; for (i = 1; i < 10; i++) { auditURL = media.getItemInfo("PTAGPRE"+i); if ("undefined" != typeof(auditURL) && null != auditURL && "" != auditURL) { this.preAuditURLs.push(auditURL); } auditURL = media.getItemInfo("PTAGMID"+i); if ("undefined" != typeof(auditURL) && null != auditURL && "" != auditURL) { this.midAuditURLs.push(auditURL); } auditURL = media.getItemInfo("PTAGPOST"+i); if ("undefined" != typeof(auditURL) && null != auditURL && "" != auditURL) { this.postAuditURLs.push(auditURL); } } auditURL = media.getItemInfo('LCAUDIT'); if ("undefined" != typeof(auditURL) && null != auditURL && "" != auditURL) { this.preAuditURLs.push(auditURL); } auditURL = media.getItemInfo('LCPCTAUDIT'); if ("undefined" != typeof(auditURL) && null != auditURL && "" != auditURL) { this.percentAuditURL = auditURL; } } LCMediaEntry.prototype.equals = function(media) { //return (this.name == media.name); return this.media.isIdentical(media); } LCMediaEntry.prototype.getPreAuditHTML = function() { if (this.preAuditSent) { return ""; } else { auditHTML = ""; for (x = 0; this.preAuditURLs.length > x; x++) { auditHTML += "\n"; } this.preAuditSent = true; return auditHTML; } } LCMediaEntry.prototype.getMidAuditHTML = function() { if (this.midAuditSent) { return ""; } else { auditHTML = ""; for (x = 0; this.midAuditURLs.length > x; x++) { auditHTML += "\n"; } if (null != this.percentAuditURL) { auditHTML += "\n"; } this.midAuditSent = true; return auditHTML; } } LCMediaEntry.prototype.getPostAuditHTML = function() { if (this.postAuditSent) { return ""; } else { auditHTML = ""; for (x = 0; this.postAuditURLs.length > x; x++) { auditHTML += "\n"; } if (null != this.percentAuditURL) { auditHTML += "\n"; } this.postAuditSent = true; return auditHTML; } } function lcUpdatePlaylistState(mediaPlayer, auditDiv, bannerDiv, newState) { if ("undefined" == typeof(bannerDiv) || null == bannerDiv) { return; } if ("undefined" == typeof(mediaPlayer) || null == mediaPlayer) { return; } var currentMedia = mediaPlayer.currentMedia; if ("undefined" == typeof(currentMedia) || null == currentMedia) { return; } _lcAddMediaEntries(mediaPlayer); _lcCheckPercentAudits(mediaPlayer, auditDiv); if (8 == newState) { var nextMedia = lcGetNextMedia(mediaPlayer, currentMedia); lcReplaceBanner(nextMedia, bannerDiv); lcAudit(auditDiv, currentMedia, nextMedia); } else { lcReplaceBanner(currentMedia, bannerDiv); var previousMedia = lcGetPreviousMedia(mediaPlayer, currentMedia); if ("undefined" == typeof(previousMedia) || null == previousMedia) { lcAudit(auditDiv, previousMedia, currentMedia); } } } function lcGetNextMedia(mediaPlayer, currentMedia) { var playlist = mediaPlayer.currentPlaylist; if ("undefined" == typeof(playlist) || null == playlist) { return; } for (i = 0; i < playlist.count; i++ ) { var media = playlist.item(i); // Doing this by name is not optimal. if (media.name === currentMedia.name && (playlist.count > i+1)) { media = playlist.item(i+1); return media; } } return null; } function lcGetPreviousMedia(mediaPlayer, currentMedia) { var playlist = mediaPlayer.currentPlaylist; if ("undefined" == typeof(playlist) || null == playlist) { return; } for (i = 0; i < playlist.count; i++ ) { var media = playlist.item(i); if (media === currentMedia && (i-1 > 0)) { media = playlist.item(i-1); return media; } } return null; } function lcAudit(auditDiv, previousMedia, currentMedia) { if ("undefined" == typeof(auditDiv) || null == auditDiv) { return; } var auditHTML = ""; var currentMediaEntry = null; var previousMediaEntry = null; var hasPreviousMedia = ("undefined" != typeof(previousMedia) && null != previousMedia); var hasCurrentMedia = ("undefined" != typeof(currentMedia) && null != currentMedia); if (hasCurrentMedia) { currentMediaEntry = _lcGetMediaEntry(currentMedia); if (lastCurrentMedia === currentMedia || lastCurrentMediaName == currentMedia.name) { return; } lastCurrentMedia = currentMedia; lastCurrentMediaName = currentMedia.name; auditHTML += currentMediaEntry.getPreAuditHTML(); } if (hasPreviousMedia) { previousMediaEntry = _lcGetMediaEntry(previousMedia); auditHTML += previousMediaEntry.getPostAuditHTML(); } if ("" == auditHTML) { return; } auditDiv.innerHTML = auditHTML; } function lcPlayVideoNotIE(url, playerName) { var mediaPlayerDiv = document.getElementById("MediaPlayerDiv"); if (typeof(mediaPlayerDiv) == "undefined") { return; } mediaPlayerDiv.innerHTML = ''; } function lcPlayVideoClip(url) { return lcPlayVideo(top.lcPlayerId, top.lcLevel, url); } function lcPlayVideo(playerName, level, url) { var mediaPlayer = document.getElementById(playerName); if (typeof(mediaPlayer) == "undefined") { return; } var playerURL = top.lcGetPlaylistPath+'?ver=2.0&nwid='; playerURL += top.lcNetworkId; var hasPlayerAccess = (typeof(mediaPlayer.status) != "undefined"); if (hasPlayerAccess) { playerURL += '&audit=param'; } playerURL += '&format='+top.lcFormat+'&level='; playerURL += escape(level); playerURL += '&content='; playerURL += escape(url); playerURL += '&responseType=ASX&mswmext=.asx'; top.lcPlayerURL = playerURL; window.lcMediaPlayer = mediaPlayer; if (hasPlayerAccess) { mediaPlayer.URL = playerURL; } else { lcPlayVideoNotIE(playerURL, playerName); } var lcLogger = document.getElementById("lcLoggerArea"); if ("undefined" != typeof(lcLogger) && null != lcLogger) { lcLogger.value += playerURL + "\n"; } } top.lcPlayVideo = lcPlayVideo; top.lcPlayVideoClip = lcPlayVideoClip; /** * This is the really basic banner replacement routine. */ function lcReplaceBanner(currentMedia, bannerDiv) { var lcLogger = document.getElementById("lcLoggerArea"); if ("undefined" == typeof(lcLogger)) { lcLogger = null; } if (null != lcLogger) { lcLogger.value += "replacing banner.\n"; } if ("undefined" == typeof(currentMedia) || null == currentMedia) { return; } if ("undefined" == typeof(bannerDiv) || null == bannerDiv) { return; } if (null == lastReplaceBanner) { if (null != lcLogger) { lcLogger.value += "adding replace banner timeout.\n"; } window.currentMedia = currentMedia; window.bannerDiv = bannerDiv; lastReplaceBanner = window.setTimeout("lcReplaceBanner(window.currentMedia, window.bannerDiv)", 1000); } else { if (null != lcLogger) { lcLogger.value += "clearing replace banner timeout.\n"; } window.currentMedia = null; window.bannerDiv = null; lastReplaceBanner = null; } var newBannerUrl = currentMedia.getItemInfo('IAB_URL'); var newBannerClick = currentMedia.getItemInfo('IAB_CLICKTHRU'); if (typeof(newBannerUrl) == 'undefined' || newBannerUrl == null || newBannerUrl == "") { return; } var bannerHTML = newBannerUrl; if (lastBanner == newBannerUrl) { return; } if ("" == newBannerClick || "DHTML" == newBannerClick) { bannerHTML = '