SIGUENOS EN FACEBOOK Y ENTERATE DE TODA LA ACTIVIDAD, FOTOS Y RECORRIDOS DE FIESTA EN MI BARRIO
<!DOCTYPE html><html manifest="/desktop/chrome/manifest?lang=es" class="minBody"><head><style type="text/css">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}</style>
<title>Slingplayer 3.0 for Desktop</title>
<style>
body {
background-color: #1b1d24;
}
[ng\:cloak], [ng-cloak], .ng-cloak {
display: none !important;
}
</style>
<link rel="stylesheet" type="text/css" href="/desktop/css/styles.es__vd3dbfd6120c3b6e2e4b817fce58d3b32.gz.css">
<script type="application/javascript">
var appGlobals = {};
var appCacheAnalyticsData = {};
appGlobals.version = "5.3.27.297";
appGlobals.environment = "production";
appGlobals.hostUrl = "apollo.slingbox.com";
appGlobals.locale = "es_CO";
appGlobals.streamingSession = {};
var appCache = window.applicationCache;
var isAppCacheReady = false;
appGlobals.appCacheState = "";
appGlobals.startTime = new Date();
appGlobals.progress = 0;
appGlobals.isOnJSAppReadyFired = false;
var __baseWindowObj = window;
if(window && window.spd){
__baseWindowObj = window.spd;
}
if(appCache){
appCache.addEventListener('updateready',function(){
console.log(new Date() + "AppCache event fired : updateready");
if (appCache.status == appCache.UPDATEREADY) {
isAppCacheReady = true;
appGlobals.appCacheState = 'updateAvailable';
appCacheAnalyticsData.status = "AppCache Update Complete";
appCacheAnalyticsData.code = "Success";
RubicusFrontendIns.location.reload();
}
},false);
appCache.addEventListener('downloading', function(event){
console.log(new Date() + "AppCache event fired : downloading");
appGlobals.appCacheState = 'downloading';
if(!window.fastConnectMode){
//fireJSAppReady();
}
},false);
appCache.addEventListener('error', function(event){
console.log(new Date() + "AppCache event fired : error");
appGlobals.appCacheState = 'error';
isAppCacheReady = true;
fireJSAppReady();
},false);
appCache.addEventListener('noupdate', function(event){
console.log(new Date() + "AppCache event fired : noupdate");
isAppCacheReady = true;
appGlobals.appCacheState = 'noUpdateAvailable';
fireJSAppReady();
},false);
appCache.addEventListener('cached', function(event){
console.log(new Date() + "AppCache event fired : first time cache");
appGlobals.appCacheState = 'firstTimeCache';
if(window.fastConnectMode) {
RubicusFrontendIns.location.reload();
}else{
fireJSAppReady();
isAppCacheReady = true;
}
}, false);
appCache.addEventListener('progress', function(event){
console.log(new Date() + 'Appcache progress event');
appGlobals.appCacheState = 'progress';
var message = 'Downloading offline resources...';
console.log(new Date() + message+"\n"+event.loaded + " of " + event.total);
var percentage = Math.round(event.loaded / event.total * 100) + '%';
appGlobals.progress = "Updating resources... "+percentage;
document.getElementById("appcacheProgressWrapperID").innerHTML = appGlobals.progress;
sendMessageEvent('SPD_UPDATE_PROGRESS', {
percent:percentage
});
// Stop the plugin in case it has started streaming.
if(window.fastConnectMode) {
try {
var player = document.getElementById('nativePlayer');
player.style.width = "1px";
player.style.height = "1px";
player.stop();
} catch(ex) {
console.error(new Date() + 'Inside Appcache progress, plugin.stop failed');
}
//window.fastConnectMode=false;
console.log(new Date() + 'Resetting progress event');
}else{
//fireJSAppReady();
}
}, false);
}
// if internet is up, this event will fire.
window.addEventListener('online', function(){
console.debug(new Date() + "window online event fired! Internet is back!");
},false);
// if internet goes down, this event will fire.
window.addEventListener('offline', function(event){
console.error(new Date() + "Window offline event fired! No internet connection!!");
isAppCacheReady = true;
},false);
function fireJSAppReady(){
if("function" === typeof __baseWindowObj.hideSplashScreen){
if(false === appGlobals.isOnJSAppReadyFired) {
appGlobals.isOnJSAppReadyFired = true;
console.log(new Date() + "onJsAppReady event is about to fire!");
__baseWindowObj.hideSplashScreen();
} else {
console.log(new Date() + "onJsAppReady event already fired!");
}
}else if("function" === typeof __baseWindowObj.onJSAppReady) {
if(false === appGlobals.isOnJSAppReadyFired) {
appGlobals.isOnJSAppReadyFired = true;
console.log(new Date() + "onJsAppReady event is about to fire!");
__baseWindowObj.onJSAppReady();
} else {
console.log(new Date() + "onJsAppReady event already fired!");
}
}else{
console.error(new Date() + "onJSAppReady event is not defined");
}
}
// onJsAppReady if its dev environment
function triggerWiFiPluginInitialiseHandler(){
console.log(new Date() + "############## WIFI Plugin onControlInitialize fired!! ##############");
}
function generateUmid(){
return (new Date().getTime()+'');
}
function buildMessage(sourceValue, targetValue, typeValue, subTypeValue, event, payload){
console.debug("index.gsp :: buildMessage");
var messageObject = {
source: sourceValue,
target: targetValue,
event: event,
message: {
type: typeValue,
sub_type: subTypeValue,
payload: payload
},
umid: generateUmid()
};
return messageObject;
}
function sendExtensionNativeMessage(jsonMessage){
console.debug("index.gsp >> sendExtensionNativeMessage");
if(jsonMessage instanceof Object){
var messageString = JSON.stringify(jsonMessage);
console.debug("index.gsp >> sendExtensionNativeMessage -" + messageString);
if('function' === typeof __baseWindowObj.SendInterAppMessage){
return __baseWindowObj.SendInterAppMessage(messageString);
}else if('function' === typeof __baseWindowObj.SendChromeExtensionNativeMessage){
return __baseWindowObj.SendChromeExtensionNativeMessage(messageString);
}else{
console.error("index.gsp: Unable to find SendInterAppMessage API");
}
}else{
console.error("index.gsp >> SendInterAppMessage :: message param must be instance of object");
return false;
}
}
function sendMessageEvent(eventName, payload){
console.debug("index.gsp >> sendMessageEvent");
var message = buildMessage("spd.js","browser.webapp.js", "event", '', eventName, payload);
sendExtensionNativeMessage(message);
}
</script>
<script>
function replayCachedEvents(){
console.log('Global handlers set. Running through cached events..');
handleTriggerPluginWrapperEventHandlerEvents();
handleTriggerPluginBufferStatusEventEvents();
handleTriggerPluginDiscoveryCompleteEventEvents();
handleTriggerPlayerErrorEventEvents();
handleTriggerPluginLoadInputConfigEvents();
handleTriggerPluginRemoteControlDownloadStatusEvents();
handleTriggerPluginRemoteDownloadCompleteEvents();
handleTriggerPluginLoadDeviceConfigEvents();
handleTriggerPluginSparcsResponseEvents();
// Remove event listener once we go through all the events.
window.removeEventListener('globalHandlersSet', replayCachedEvents);
}
function replayControlInitEvent(){
console.log('Control init handler set. Firing control init if present in cache..');
if(triggerPluginWrapperEventHandler_events.length > 0) {
while(triggerPluginWrapperEventHandler_events.length > 0) {
console.log('replayControlInitEvent: Firing cached events, type='+triggerPluginWrapperEventHandler_events[0].type+' eventData='+triggerPluginWrapperEventHandler_events[0].eventData);
if(triggerPluginWrapperEventHandler_events[0].type === 'OnControlInitialize') {
// Fire only if onControlInitialize has been fired by plugin.
console.log('replayControlInitEvent: Firing cached events, type='+triggerPluginWrapperEventHandler_events[0].type+' eventData='+triggerPluginWrapperEventHandler_events[0].eventData);
triggerPluginWrapperEventHandler(triggerPluginWrapperEventHandler_events[0].type, triggerPluginWrapperEventHandler_events[0].eventData);
triggerPluginWrapperEventHandler_events.splice(0,1);
break;
}
}
}
// Remove event listener once we go through all the events.
window.removeEventListener('onControlInitHandlerSet', replayControlInitEvent);
}
window.addEventListener('globalHandlersSet', replayCachedEvents);
window.addEventListener('onControlInitHandlerSet', replayControlInitEvent);
function handleTriggerPluginWrapperEventHandlerEvents() {
console.log('handleTriggerPluginWrapperEventHandlerEvents: Firing cached events, length='+triggerPluginWrapperEventHandler_events.length);
if(triggerPluginWrapperEventHandler_events.length > 0) { while(triggerPluginWrapperEventHandler_events.length > 0) {
console.log('handleTriggerPluginWrapperEventHandlerEvents: Firing cached events, type='+triggerPluginWrapperEventHandler_events[0].type+' eventData='+triggerPluginWrapperEventHandler_events[0].eventData);
triggerPluginWrapperEventHandler(triggerPluginWrapperEventHandler_events[0].type, triggerPluginWrapperEventHandler_events[0].eventData);
triggerPluginWrapperEventHandler_events.splice(0,1);
}
}
}
function handleTriggerPluginBufferStatusEventEvents() {
console.log('handleTriggerPluginBufferStatusEventEvents: Firing cached events, length='+triggerPluginBufferStatusEvent_events.length);
if(triggerPluginBufferStatusEvent_events.length > 0) {
while(triggerPluginBufferStatusEvent_events.length > 0) {
console.log('handleTriggerPluginWrapperEventHandlerEvents: Firing cached events, pos='+triggerPluginBufferStatusEvent_events[0].pos+' min='+triggerPluginBufferStatusEvent_events[0].min+' max='+triggerPluginBufferStatusEvent_events[0].max);
triggerPluginBufferStatusEvent(triggerPluginBufferStatusEvent_events[0].pos, triggerPluginBufferStatusEvent_events[0].min, triggerPluginBufferStatusEvent_events[0].max);
triggerPluginBufferStatusEvent_events.splice(0,1);
}
}
}
function handleTriggerPluginDiscoveryCompleteEventEvents() {
console.log('handleTriggerPluginDiscoveryCompleteEventEvents: Firing cached events, length='+triggerPluginDiscoveryCompleteEvent_events.length);
if(triggerPluginDiscoveryCompleteEvent_events.length > 0) {
while(triggerPluginDiscoveryCompleteEvent_events.length > 0) {
console.log('handleTriggerPluginWrapperEventHandlerEvents: Firing cached events, devs='+triggerPluginDiscoveryCompleteEvent_events[0].devs);
triggerPluginDiscoveryCompleteEvent(triggerPluginDiscoveryCompleteEvent_events[0].devs);
triggerPluginDiscoveryCompleteEvent_events.splice(0,1);
}
}
}
function handleTriggerPlayerErrorEventEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPlayerErrorEvent_events.length);
if(triggerPlayerErrorEvent_events.length > 0) {
while(triggerPlayerErrorEvent_events.length > 0) {
console.log('handleTriggerPluginWrapperEventHandlerEvents: Firing cached events, code='+triggerPlayerErrorEvent_events[0].code);
triggerPlayerErrorEvent(triggerPlayerErrorEvent_events[0].code);
triggerPlayerErrorEvent_events.splice(0,1);
}
}
}
function handleTriggerPluginLoadInputConfigEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPluginLoadInputConfig_events.length);
if(triggerPluginLoadInputConfig_events.length > 0) {
while(triggerPluginLoadInputConfig_events.length > 0) {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, status='+triggerPluginLoadInputConfig_events.status);
triggerPluginLoadInputConfig(triggerPluginLoadInputConfig_events[0].status);
triggerPluginLoadInputConfig_events.splice(0,1);
}
}
}
function handleTriggerPluginRemoteControlDownloadStatusEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPluginRemoteControlDownloadStatus_events.length);
if(triggerPluginRemoteControlDownloadStatus_events.length > 0) {
while(triggerPluginRemoteControlDownloadStatus_events.length > 0) {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, downloadPercent='+triggerPluginRemoteControlDownloadStatus_events.downloadPercent);
triggerPluginRemoteControlDownloadStatus(triggerPluginRemoteControlDownloadStatus_events[0].downloadPercent);
triggerPluginRemoteControlDownloadStatus_events.splice(0,1);
}
}
}
function handleTriggerPluginRemoteControlStatusChangeEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPluginRemoteControlStatusChange_events.length);
if(triggerPluginRemoteControlStatusChange_events.length > 0) {
while(triggerPluginRemoteControlStatusChange_events.length > 0) {
triggerPluginRemoteControlStatusChange();
triggerPluginRemoteControlStatusChange_events.splice(0,1);
}
}
}
function handleTriggerPluginRemoteDownloadCompleteEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPluginRemoteDownloadComplete_events.length);
if(triggerPluginRemoteDownloadComplete_events.length > 0) {
while(triggerPluginRemoteDownloadComplete_events.length > 0) {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, status='+triggerPluginRemoteDownloadComplete_events.status);
triggerPluginRemoteDownloadComplete(triggerPluginRemoteDownloadComplete_events[0].status);
triggerPluginRemoteDownloadComplete_events.splice(0,1);
}
}
}
function handleTriggerPluginLoadDeviceConfigEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPluginLoadDeviceConfig_events.length);
if(triggerPluginLoadDeviceConfig_events.length > 0) {
while(triggerPluginLoadDeviceConfig_events.length > 0) {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, status='+triggerPluginLoadDeviceConfig_events.status);
triggerPluginLoadDeviceConfig(triggerPluginLoadDeviceConfig_events[0].status);
triggerPluginLoadDeviceConfig_events.splice(0,1);
}
}
}
function handleTriggerPluginSparcsResponseEvents() {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, length='+triggerPluginSparcsResponse_events.length);
if(triggerPluginSparcsResponse_events.length > 0) {
while(triggerPluginSparcsResponse_events.length > 0) {
console.log('handleTriggerPlayerErrorEventEvents: Firing cached events, status='+triggerPluginSparcsResponse_events.status+', data='+triggerPluginSparcsResponse_events[0].data);
triggerPluginSparcsResponse(triggerPluginSparcsResponse_events[0].status, triggerPluginSparcsResponse_events[0].data);
triggerPluginSparcsResponse_events.splice(0,1);
}
}
}
var triggerPluginWrapperEventHandler_events = [];
var triggerPluginBufferStatusEvent_events = [];
var triggerPluginDiscoveryCompleteEvent_events = [];
var triggerPlayerErrorEvent_events = [];
var triggerPluginLoadInputConfig_events = [];
var triggerPluginRemoteControlDownloadStatus_events = [];
var triggerPluginRemoteControlStatusChange_events = [];
var triggerPluginRemoteDownloadComplete_events = [];
var triggerPluginLoadDeviceConfig_events = [];
var triggerPluginSparcsResponse_events = [];
function triggerPluginWrapperEventHandler(type,eventData) {
var globalHandlers = {};
if('undefined' !== typeof DeLorean && DeLorean.PluginEvents && DeLorean.PluginEvents.GlobalHandlers) {
globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
}
console.log("status -- " + type + ", eventData - " + eventData);
switch(type) {
case 'OnStartComplete':
if(globalHandlers.startPromise) {
appGlobals.streamingSession.start = new Date().getTime();
globalHandlers.startPromise.resolve();
globalHandlers.startPromise = null;
} else if(window.fastConnectMode) {
triggerPluginWrapperEventHandler_events.push({type:type, eventData: eventData});
} else {
console.error("PluginService :: No globalHandlers.startPromise is present");
}
break;
case 'OnControlInitialize':
if(globalHandlers.controlInit) {
globalHandlers.controlInit.resolve();
globalHandlers.controlInit = null;
} else if(window.fastConnectMode) {
triggerPluginWrapperEventHandler_events.push({type:type, eventData: eventData});
} else {
console.error("PluginService :: No globalHandlers.controlInit is present");
}
break;
case 'onstatuschange':
if(globalHandlers.statusChange) {
globalHandlers.statusChange.notify();
} else if(window.fastConnectMode) {
triggerPluginWrapperEventHandler_events.push({type:type, eventData: eventData});
} else {
console.error("PluginService :: No globalHandlers.statusChange is present");
}
break;
case 'onInputChange':
if(globalHandlers.inputChangePromise) {
globalHandlers.inputChangePromise.notify();
} else if(window.fastConnectMode) {
triggerPluginWrapperEventHandler_events.push({type:type, eventData: eventData});
} else {
console.error("PluginService :: No globalHandlers.inputChangePromise is present");
}
break;
case 'onLoadInputConfig':
console.log('loadinput');
if(globalHandlers.loadInputConfig) {
globalHandlers.loadInputConfig.notify();
} else if(window.fastConnectMode) {
triggerPluginWrapperEventHandler_events.push({type:type, eventData: eventData});
} else {
console.error("PluginService :: No globalHandlers.loadInputConfig is present");
}
break;
}
}
function triggerPluginBufferStatusEvent(pos, min, max){
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.onbufferstatus) {
globalHandlers.onbufferstatus.notify({pos: pos, min: min, max: max});
} else if(window.fastConnectMode) {
triggerPluginBufferStatusEvent_events.push({pos:pos, min: min, max:max});
} else {
console.error("PluginService :: No globalHandlers.onbufferstatus is present");
}
}
function triggerPluginDiscoveryCompleteEvent(devs){
var discoveryHandler = DeLorean.PluginEvents.GlobalHandlers;
if(discoveryHandler.discoveryCompletePromise) {
discoveryHandler.discoveryCompletePromise.resolve(devs);
discoveryHandler.discoveryCompletePromise = null;
} else if(window.fastConnectMode) {
triggerPluginDiscoveryCompleteEvent_events.push({devs:devs});
} else {
console.error("PluginService :: No globalHandlers.discoveryCompletePromise is present");
}
}
function triggerPlayerErrorEvent(code){
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.onplayerErrorPromise) {
globalHandlers.onplayerErrorPromise.notify(code);
} else if(window.fastConnectMode) {
triggerPlayerErrorEvent_events.push({code:code});
} else {
console.error("PluginService :: No globalHandlers.onplayerErrorPromise is present");
}
}
function triggerPluginLoadInputConfig(status){
console.log("LoadInputConfig");
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.loadInputConfig) {
if (!status) {
globalHandlers.loadInputConfig.resolve();
} else if(window.fastConnectMode) {
triggerPluginLoadInputConfig_events.push({status:status});
} else {
globalHandlers.loadInputConfig.reject();
}
} else {
console.error("PluginService :: No globalHandlers.loadInputConfig is present");
}
}
function triggerPluginRemoteControlDownloadStatus(downloadPercent){
console.log("triggerPluginRemoteControlDownloadStatusChange" + downloadPercent+"status :"+ status);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.remoteDownload) {
globalHandlers.remoteDownload.notify(downloadPercent);
} else if(window.fastConnectMode) {
triggerPluginRemoteControlDownloadStatus_events.push({downloadPercent:downloadPercent});
} else {
console.error("PluginService :: No globalHandlers.remoteDownload is present");
}
}
function triggerPluginRemoteControlStatusChange(){
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.remoteStatusChnge) {
globalHandlers.remoteStatusChnge.resolve();
} else if(window.fastConnectMode) {
triggerPluginRemoteControlStatusChange_events.push({});
} else {
console.error("PluginService :: No globalHandlers.remoteStatusChnge is present");
}
}
function triggerPluginRemoteDownloadComplete(status){
console.log("DownloadComplete >>> Status:"+status);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.remoteDowmloadComplelePromise) {
if (!status) {
globalHandlers.remoteDowmloadComplelePromise.resolve();
} else {
globalHandlers.remoteDowmloadComplelePromise.reject();
}
} else if(window.fastConnectMode) {
triggerPluginRemoteDownloadComplete_events.push({status:status});
} else {
console.error("PluginService :: No globalHandlers.remoteDowmloadComplelePromise is present");
}
}
function triggerPluginLoadDeviceConfig(status){
console.log("LoadDeviceConfig" + status);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.loadDeviceConfig) {
if (!status) {
globalHandlers.loadDeviceConfig.notify();
} else {
globalHandlers.loadDeviceConfig.reject();
}
} else if(window.fastConnectMode) {
triggerPluginLoadDeviceConfig_events.push({status:status});
} else {
console.error("PluginService :: No globalHandlers.loadDeviceConfig is present");
}
}
function triggerPluginSparcsResponse(status,data){
console.log("Sparcs status:"+status);
console.log("Sparcs data:"+data);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.sparcsResponse) {
if (1 === status) {
// Failure
globalHandlers.sparcsResponse.reject();
} else if (0 === status) {
globalHandlers.sparcsResponse.resolve(JSON.parse(data));
} else {
globalHandlers.sparcsResponse.reject();
}
} else if(window.fastConnectMode) {
triggerPluginSparcsResponse_events.push({status:status, data: data});
} else {
console.error("PluginService :: No globalHandlers.sparcsResponse is present");
}
}
function triggerRemoteKeyPressed(event, key){
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.remoteKeyPressed) {
console.log("triggerRemoteKeyPressed event - " + event + " key - " + key);
globalHandlers.remoteKeyPressed.notify(event, key);
}
}
/**
* Handler for OnUserInputEvent callback
* @param event a number which represents Double click, esc hit etc.
* @param info1 X coordinate
* @param info2 Y coordinate
*/
function triggerPluginUserInputEvent(event, info1, info2) {
console.debug("triggerPluginUserInputEvent++");
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.onUserInput) {
console.log("triggerPluginUserInputEvent event - " + event + " info1 - " + info1 + " info2 - " + info2);
globalHandlers.onUserInput.notify({event: event, info1: info1, info2: info2});
}
}
/**
* Handler for OnAcrInit callback
* @param status indicates success or failure.
* 0 indicates success
*/
function triggerOnAcrInit(status) {
console.log("triggerOnAcrInit status: " + status);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.onAcrInit) {
globalHandlers.onAcrInit.resolve(status);
}
}
/**
* Handler for OnAcrResponse callback
* @param brand
* @param network
* @param channel_no
* @param title
* @param tms_info
* @param type Program Type. Either live_tv or commercial
* @param timestamp
*/
function triggerOnAcrResponse(brand,network,channel_no,title,tms_info,type,timestamp) {
console.log("triggerOnAcrResponse type: " + type);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
var paramObj = {
brand: brand,
network: network,
channel_no: channel_no,
title: title,
tms_info: tms_info,
type: type,
timestamp: timestamp
};
if(globalHandlers.onACRResponse) {
globalHandlers.onACRResponse.notify(paramObj);
}
}
/**
* Handler for OnACRBindUser callback
* @param userId Alphonso User Id received from plugin
*/
function triggerOnACRBindUser(userId) {
console.log("triggerOnACRBindUser userId: " + userId);
var globalHandlers = DeLorean.PluginEvents.GlobalHandlers;
if(globalHandlers.onACRBindUser) {
globalHandlers.onACRBindUser.resolve(userId);
}
}
</script>
</head>
<body class="minBody" style="">
<div class="container ng-scope" ng-app="DeLoreanApp" ng-click="globalClickHandler();" id="DeLoreanAppContainerID">
<div ng-class="{"main-container":mainContainer, "live-tv-container": liveTvContainer}" ng-controller="AnalyticsController" id="AnalyticsControllerContainerID" class="ng-scope live-tv-container"></div>
<div ng-class="{"main-container":mainContainer, "live-tv-container": liveTvContainer}" ng-controller="ChromePageRouteController" ng-show="showPageRouteContainer" id="PageRouteContainerID" class="ng-scope main-container live-tv-container">
<!-- Page header -->
<div class="page-header-container ng-hide" id="PageRouteHeaderID" ng-hide="hideHeader">
<div class="page-header-back ng-binding ng-hide" id="PageRouteHeaderBackID" ng-click="pageHeaderBackButtonClicked()" ng-show="showHeaderBack">Cerrar</div>
<div class="page-header-help ng-binding ng-hide" id="PageRouteHeaderHelpID" ng-click="launchHelpUrl()" ng-show="showHelp">
Ayuda<span id="m2IdentificationEmoji" class="m2-emoji ng-hide" ng-show="currentBoxM2">⋆</span>
</div>
<div class="page-header-text ng-binding" id="PageRouteHeaderTextID">TV EN VIVO</div>
</div>
<!-- Page title panel -->
<!-- ngIf: (pageTitle) -->
<div ng-class="{"page-content-wo-title-wo-navigation-bar":noTitleAndNavigation,
"page-content-wo-title-navigation-bar":onlyNavigation,
"page-content-title-wo-navigation-bar":onlyTitle,
"page-content-title-navigation-bar":bothTitleAndNavigation}" ng-show="!pageParams.show" id="PageRouteSpinnerContainerID" class="ng-hide page-content-wo-title-wo-navigation-bar">
<div ng-class="{"common-loading-spinner-container-wo-title-navigation":noTitleAndNavigation,
"common-loading-spinner-container-only-navigation":onlyNavigation,
"common-loading-spinner-container-only-title":onlyTitle,
"common-loading-spinner-container-with-title-navigation":bothTitleAndNavigation}" id="PageRouteSpinnerInnerContainerID" class="common-loading-spinner-container-wo-title-navigation">
<div class="common-loading-spinner-img" id="PageRouteSpinnerImageID"></div>
<div class="common-loading-spinner-text ng-binding" id="PageRouteSpinnerTextID">Reconectando...</div>
</div>
</div>
<!-- start of page content -->
<div class="page-content page-content-wo-title-wo-navigation-bar" ng-show="pageParams.show" ng-class="{"page-content-wo-title-wo-navigation-bar":noTitleAndNavigation,
"page-content-wo-title-navigation-bar":onlyNavigation,
"page-content-title-wo-navigation-bar":onlyTitle,
"page-content-title-navigation-bar":bothTitleAndNavigation}" id="PageRouteMainContainerID" style="height: auto;">
<!-- ngInclude: undefined --><ng-include src="pageRouteIncludeUrl" class="ng-scope">
<div ng-controller="VideoPlayerController" class="ng-scope">
<!-- ngInclude: undefined -->
<!-- ngInclude: undefined --><ng-include src="CefFSPrepareTemplateURL" class="ng-scope">
<div class="cef-fs-prepare-container ng-scope ng-hide" id="preparingCefFSContainerId" ng-show="showCeFSfPrepareContainer">
<div class="connecting-ui-wrapper">
<div class="connecting-spinner"></div>
</div>
</div>
</ng-include>
<!-- ngInclude: undefined --><ng-include src="VideoPlayerTemplateURL" class="ng-scope">
<div class="videoPlayerContainer ng-scope">
<!-- ngInclude: undefined --><ng-include src="PlayerTitleBarTemplateURL" class="ng-scope">
<div class="player-container-title ng-scope">
<div class="player-container-title-logo"></div>
</div>
</ng-include>
<!-- ngInclude: undefined --><ng-include src="PlayerControlsTemplateURL" ng-show="showPlayerControls" class="ng-scope">
<div ng-controller="PlayerControlsController" class="ng-scope">
<div class="playerControls" style="width: 61.1764705882353%;">
<div class="playerContainerHeader" ng-hide="showLiveTVCefFullScreenPlugin">
<!-- <div id="disconnect" class="disconnect" ng-show="showDisconnectIcon"><div class="disconnect-container ellipsis" ng-click="displayLandingPage(true);">{{disconnectText}}</div></div>
<div id="deloreanConnectButton" class="deloreanConnectButton" ng-show="showConnectIcon"><div class="videoPlayerConnectButton ellipsis" ng-click="connectToCurrentBox($event);">{{connectText}}</div></div>-->
<div class="box-name-in-video-page ellipsis ng-binding">My Slingbox</div>
<!--div id="sqaContainer" ng-class="{sqaInit: showSQAInit, sqaOne: showSQAOne, sqaTwo: showSQATwo,sqaThree: showSQAThree,sqaFour: showSQAFour,sqaFive: showSQAFive}" ng-mouseenter="handleSQAMouseOver();" ng-mouseleave="handleSQAMouseOut();"></div>
<div class="sqaContainerWrapper">
<div class="statusTitleBar" ng-show= "showStatusBar">
<span id="SQA_messaging" class="sqa_text">{{SQA_Message}}</span>
<span id="first_sqa_separator" class="div_spacer" style="">|</span>
<span class="message_bitrate" id="sqa_message_bitrate">{{streamBitrateMessage}}</span>
<span class="div_spacer">|</span>
<span class="connectionStatus">{{statusChangeMessage}}</span>
<div class="bullet-left-arrow"></div>
</div>
</div-->
<div id="deloreanVideoPlayerFullScreenStateIcon" ng-class="{deloreanVideoPlayerFullScreenStateIcon: showVideoPlayerFullScreenStateIcon}" ng-click="setPlayerFullScreen();" title="Full Video" class="deloreanVideoPlayerFullScreenStateIcon"></div>
<div id="deloreanVideoPlayerFullWindowStateIcon" ng-class="{deloreanVideoPlayerFullWindowStateIcon: showVideoPlayerFullWindowStateIcon, deloreanVideoPlayerFullWindowStateIconSelected: showDeloreanVideoPlayerFullWindowStateIconSelected}" ng-click="setPlayerFullWindow();" title="Pantalla completa" class="deloreanVideoPlayerFullWindowStateIcon"></div>
<div id="deloreanVideoPlayerStandardStateIcon" ng-class="{deloreanVideoPlayerStandardStateIcon: showVideoPlayerStandardStateIcon, deloreanVideoPlayerStandardStateIconSelected: showDeloreanVideoPlayerStandardStateIconSelected}" ng-click="setPlayerStandardView();" title="Vista Estándar" class="deloreanVideoPlayerStandardStateIcon deloreanVideoPlayerStandardStateIconSelected"></div>
<div id="deloreanVideoPlayerTopRightIconSeparator" ng-class="{deloreanVideoPlayerTopRightIconSeparator: showTopRightIconSeparator}" class=""></div>
<!--div id="deloreanSettingsIcon" ng-class="{settingsIcon: showSettingsIcon}" ng-click="displaySettings();" title="Show Settings"></div-->
<div id="deloreanRemote" ng-class="{remoteDisplay: showRemote}" ng-click="displayRemote();" title="Mostrar / Ocultar el control remoto" class=""></div>
<div id="deloreanGuideIcon" ng-class="{guideIcon: showGuideIcon}" ng-click="displayGuide();" title="Mostrar la Guía" class=""></div>
</div>
<div ng-show="showLandingPageFiller" class="ng-hide">
<div id="landingPageFiller" class="landingPageFiller" ng-style="landingPageFillerStyle" style="display: flex; justify-content: center; flex-direction: column;">
<div class="connectToSlingboxText ng-binding">Para transmitir vídeo, por favor seleccionar y conectarse a su Slingbox en el Directorio.</div>
</div>
</div>
<div id="inactivityUIContainer" class="inactivity_ui_wrapper ng-hide" ng-show="relayInactivityAlertWindow">
<div class="relay-inactivity-alert-text ng-binding" ng-bind-html="relayInactivityWarningMsg"></div>
<div class="relay-inactivity-dialog-container" id="videoInputSdContainerID">
<div class="warn-container-button ng-binding" id="relayInactivityOKBtn" ng-click="relayInactivityAck()"></div>
</div>
</div>
<!-- UI to show no video signal -->
<div ng-show="showNoVideoSignal" id="noVideoSignalBGID" class="no-video-signal-ui-bg ng-binding ng-hide"></div>
<div ng-show="connectingToBoxBG" id="connectingToBoxUIBGID" class="connecting-to-box-ui-bg ng-hide" style="height: 408px; line-height: 408px;"></div>
<div id="playerFooter" class="playerFooter" ng-hide="hidePlayerFooter" style="top: 452px;">
<div class="footerControlsContainer">
<div id="playerSettings" class="playerSettings" ng-click="displaySettingsTab();" title="Video Options"></div>
<!--div class="player-settings-spacer"></div-->
<div id="sqaContainer" ng-class="{sqaInit: showSQAInit, sqaOne: showSQAOne, sqaTwo: showSQATwo,sqaThree: showSQAThree,sqaFour: showSQAFour,sqaFive: showSQAFive}" ng-click="handleSQAMouseClick();" title="Conexión de Red" class="sqaInit sqaFive"></div>
<div id="player-set-nav-wrap" class="dpadIcon" ng-click="displayDPADKeysContainer();" title=""></div>
<!--div class="player-set-nav-wrap" id="player-set-nav-wrap">
<a class="player-navigation player-control-icons" ng-click="displayDPADKeysContainer();"></a>
<!--div class="tooltip-balloon" id="falconDpadBalloon" ng-show=false >ExtraKeys<span class="bullet-down-arrow"></span></div>
</div-->
<div id="volumeIcon" class="volumeIcon" ng-click="displayVolumeControls();"></div>
<!--div class="sound-control">
<a class="sound-on-link" ng-click="changeVolumeState($event)"></a>
<div class="volumn-bar" id="volume-bar-control" ng-click="handleVolumeBarClick($event)">
<div class="volume-bar-fill-content"></div>
<a class="volume-ctrl-handle" ng-click="handleVolumeClick()"></a> <!--class="ui-draggable" style="left: 6.5px;" ->
</div>
</div-->
<div class="videoIconLine"></div>
<div class="video-nav-wrapper">
<div class="video-control-wrap ng-hide" id="video-navigation-controls" ng-show="showNavigation" ng-click="handleRemoteControls($event)">
<!--div class="controls-inline-spacer"></div-->
<ul class="controls-inline-wrap">
<li>
<a class="controlKeys btn-skip-back" id="rcs_F_SKIPBACK" tooltip="Saltar hacia atrás" title="Saltar hacia atrás"></a>
</li>
<li>
<a class="controlKeys btn-fast-backward" id="rcs_F_REWIND" tooltip="Retroceder" title="Retroceder"></a>
</li>
<li>
<a class="controlKeys btn-pause" id="rcs_F_PAUSE" tooltip="Pausa" title="Pausa"></a>
</li>
<li>
<a class="controlKeys btn-play" id="rcs_F_PLAY" tooltip="Reproducir" title="Reproducir"></a>
</li>
<li>
<a class="controlKeys btn-stop-sp" id="rcs_F_STOP" tooltip="Parar" title="Parar"></a>
</li>
<li>
<a class="controlKeys btn-fast-forward" id="rcs_F_FFWD" tooltip="Adelantar Rápido" title="Adelantar Rápido"></a>
</li>
<li>
<a class="controlKeys btn-skip-fwd" id="rcs_F_SKIPFWD" tooltip="Saltar hacia adelante" title="Saltar hacia adelante"></a>
</li>
<li>
<a class="controlKeys btn-rec" id="rcs_F_RECORD" tooltip="Grabar" title="Grabar"></a>
</li>
<li>
<a class="controlKeys btn-livetv" id="rcs_F_LIVETV" tooltip="TV en Vivo"></a>
</li>
</ul>
</div>
</div>
<div class="videoIconSpacer" id="transportControlsChannelEntrySeparator" style="visibility: hidden;"></div>
<div id="channelControlIcons" ng-show="showChannelEntryBox" class="ng-hide">
<div id="favoritesIcon" class="favoritesIcon" ng-click="displayFavorites();" style="display: none;"></div>
<input type="text" id="channelEntryBox" class="channelEntryBox" ng-click="selectChannelEntryBox()" ng-enter="handleChannelEntryBox();" ng-blur="leaveChannelEntryBox();" title="Ingresar Canal">
<div id="channelUpDownButton" class="channelUpDownButton">
<div id="channelUpButton" class="channelUpButton" ng-click="handleChannelUp()" title="Cambiar Canal"></div>
<div id="channelText" class="channelText">CH</div>
<div id="channelDownButton" class="channelDownButton" ng-click="handleChannelDown()" title="Cambiar Canal"></div>
</div>
</div>
<div id="player-left-menu-arrow" ng-show="displayPlayerSettingBottom" ng-style="playerControlsBottomBarLeftArrowStyle" class="player-left-menu-arrow ng-hide"></div>
<div id="player-bottom-bar" ng-show="displayPlayerSettingBottom" ng-style="playerControlsBottomBarStyle" class="ng-hide">
<div class="sqaContainerWrapper">
<div class="statusTitleBar ng-hide" ng-show="showStatusBar">
<span id="SQA_messaging" class="sqa_text ng-binding">Bandwidth capacity: Excellent</span>
<span id="first_sqa_separator" class="div_spacer" style="">|</span>
<span class="message_bitrate ng-binding" id="sqa_message_bitrate">Bitrate 2992 Kbps</span>
<span class="div_spacer">|</span>
<span class="connectionStatus ng-binding">Streaming</span>
<div class="bullet-left-arrow"></div>
</div>
</div>
<div id="playerSettingsTab" class="playerSettingsTab ng-hide" ng-show="showSettingsTab">
<div id="settings-bar" ng-show="showSettingsBar" class="settingsBar ng-hide">
<div class="settingZoom" ng-mouseenter="displayOptions();" ng-mouseleave="hideOptions();">
<div class="settingIcon"></div>
<div class="settingText">
<div class="ng-binding">Acercar</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleZoomList" ng-show="options" class="ng-hide">
<div class="ctrl-balloon">
<!-- ngRepeat: Zoom in zoomList --><div ng-repeat="Zoom in zoomList" class="ng-scope">
<span class="video_control_text ng-binding" id="zoom0" ng-click="changeZoom(Zoom.Id);">Por defecto</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: Zoom in zoomList --><div ng-repeat="Zoom in zoomList" class="ng-scope">
<span class="video_control_text ng-binding" id="zoom1" ng-click="changeZoom(Zoom.Id);">Pantalla Ancha</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: Zoom in zoomList --><div ng-repeat="Zoom in zoomList" class="ng-scope">
<span class="video_control_text ng-binding" id="zoom2" ng-click="changeZoom(Zoom.Id);">Alargado</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: Zoom in zoomList --><div ng-repeat="Zoom in zoomList" class="ng-scope">
<span class="video_control_text ng-binding" id="zoom3" ng-click="changeZoom(Zoom.Id);">Ventana Windows</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: Zoom in zoomList --><div ng-repeat="Zoom in zoomList" class="ng-scope">
<span class="video_control_text ng-binding" id="zoom4" ng-click="changeZoom(Zoom.Id);">Anamórfico</span>
<!-- ngIf: !$last -->
</div><!-- end ngRepeat: Zoom in zoomList -->
</div>
</div>
</div>
<div class="settingAspect" ng-mouseenter="displayAspect();" ng-mouseleave="hideAspect();">
<div class="settingIcon"></div>
<div class="settingText">
<div class="ng-binding">Aspecto</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleAspectList" ng-show="Aspectoptions" class="ng-hide">
<div class="ctrl-balloon">
<!-- ngRepeat: aspect in aspectList --><div ng-repeat="aspect in aspectList" class="ng-scope">
<span class="video_control_text ng-binding" id="aspect80" ng-click="changeAspect(aspect.Id);">Auto</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: aspect in aspectList --><div ng-repeat="aspect in aspectList" class="ng-scope">
<span class="video_control_text ng-binding" id="aspect1" ng-click="changeAspect(aspect.Id);">Normal</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: aspect in aspectList --><div ng-repeat="aspect in aspectList" class="ng-scope">
<span class="video_control_text ng-binding" id="aspect2" ng-click="changeAspect(aspect.Id);">Amplia</span>
<!-- ngIf: !$last -->
</div><!-- end ngRepeat: aspect in aspectList -->
</div>
</div>
</div>
<div class="settingQuality" ng-mouseenter="displayQuality();" ng-mouseleave="hideQuality();">
<div class="settingIcon"></div>
<div class="settingText">
<div class="ng-binding">Calidad</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleQualityList" ng-show="Qualityoptions" class="ng-hide">
<div class="ctrl-balloon">
<!-- ngRepeat: qualityOption in qualityList --><div ng-repeat="qualityOption in qualityList" class="ng-scope">
<span class="video_control_text ng-binding" id="Quality512" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> Auto</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: qualityOption in qualityList --><div ng-repeat="qualityOption in qualityList" class="ng-scope">
<span class="video_control_text ng-binding" id="Quality11" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> MÃnimo</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: qualityOption in qualityList --><div ng-repeat="qualityOption in qualityList" class="ng-scope">
<span class="video_control_text ng-binding" id="Quality1" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> Buena</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: qualityOption in qualityList --><div ng-repeat="qualityOption in qualityList" class="ng-scope">
<span class="video_control_text ng-binding" id="Quality5" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> Mejor</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: qualityOption in qualityList --><div ng-repeat="qualityOption in qualityList" class="ng-scope">
<span class="video_control_text ng-binding" id="Quality15" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> Mucho Mejor</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: qualityOption in qualityList --><div ng-repeat="qualityOption in qualityList" class="ng-scope">
<span class="video_control_text ng-binding" id="Quality16" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> HD</span>
<!-- ngIf: !$last -->
</div><!-- end ngRepeat: qualityOption in qualityList -->
</div>
</div>
</div>
<div class="settingSources" ng-mouseenter="displaySources();" ng-mouseleave="hideSources();">
<div class="settingIcon"></div>
<div class="settingText">
<div class="ng-binding">Fuentes</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleInputList" ng-show="Inputoptions" class="input-sources-balloon ng-hide">
<div class="ctrl-balloon">
<!-- ngRepeat: input in inputList --><div ng-repeat="input in inputList" class="ng-scope">
<span class="video_control_text video_control_text_highlighted" ng-mouseenter="displayDevice(input.source,input.Id,$index);" ng-mouseleave="hideDevice();" ng-click="changeInput(input.Id,$index,input.source);" id="Input0">Compuesto</span>
<!-- ngIf: !$last --><span class="controls_div_spacer ng-scope" ng-if="!$last" id="inputListSpacer">|</span><!-- end ngIf: !$last -->
</div><!-- end ngRepeat: input in inputList --><div ng-repeat="input in inputList" class="ng-scope">
<span class="video_control_text " ng-mouseenter="displayDevice(input.source,input.Id,$index);" ng-mouseleave="hideDevice();" ng-click="changeInput(input.Id,$index,input.source);" id="Input1">Componente</span>
<!-- ngIf: !$last -->
</div><!-- end ngRepeat: input in inputList -->
</div>
</div>
<div class="tooltip-balloon ng-hide" ng-show="toolTipDispay" id="apolloVideoBalloon"><div class="tooltip-text ng-binding"></div><span class="bullet-down-arrow"></span></div>
</div>
</div>
</div>
<div id="navigationPad-bar" ng-show="showDpadNavigationTab" ng-click="handleRemoteControls($event)" class="ng-hide">
<ul>
<li>
<a class="cursorKeys btn-left-arrow" id="rcs_F_CURSOR_LEFT"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="cursorKeys btn-right-arrow" id="rcs_F_CURSOR_RIGHT"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="cursorKeys btn-up-arrow" id="rcs_F_CURSOR_UP"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="cursorKeys btn-down-arrow" id="rcs_F_CURSOR_DOWN"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-ok-remote" id="rcs_F_SELECT"></a>
</li>
<li class="navPadSpacer"></li>
<li style="display: none;">
<a class="customKeys btn-recall-remote ng-binding" id="rcs_F_LASTCH">Intentar de Nuevo</a>
</li>
<li class="navPadSpacer" style="display: none;"></li>
<li>
<a class="customKeys btn-red-remote" id="rcs_F_RED"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-green-remote" id="rcs_F_GREEN"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-yellow-remote" id="rcs_F_YELLOW"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-blue-remote" id="rcs_F_BLUE"></a>
</li>
</ul>
</div>
<div id="volumeSliderWrapper" class="volumeSliderWrapper ng-hide" ng-show="showVolumeSlider">
<div id="volumeZero" class="volumeZeroIcon" ng-show="!showMuteIcon" ng-click="mutePlayerVolume(true)"></div>
<div id="volumeMute" class="volumeMuteIcon ng-hide" ng-show="showMuteIcon" ng-click="unMutePlayerVolume(true)"></div>
<div id="volumeSliderContainer">
<div id="volumeSliderBackgroundUnfilled" class="volumeSliderBackgroundUnfilled" ng-click="handleVolumeBarClick($event)">
<div id="volumeSliderHandle" class="volumeSliderHandle" style="left: 244px;"></div>
<div id="volumeSliderBackgroundFilled" class="volumeSliderBackgroundFilled" style="width: 190px;"></div>
</div>
</div>
<div id="volumeFull" class="volumeFullIcon" ng-click="fullVolume()"></div>
</div>
<div id="slideMenuCloseButton" ng-show="showCloseButtonOnMenu" class="slideMenuCloseButton ng-hide" ng-click="hideAllMenus()"></div>
</div>
</div></div>
</div>
<!-- UI to show TSB bar -->
<div class="time_shift_buffer_wrapper" id="time_shift_buffer_wrapper" ng-hide="hidePlayerTSB" style="top: 448px; width: 61.1764705882353%;">
<div class="time_shift_buffer_container" id="time_shift_buffer_container">
<div class="tsb_control" id="tsb_control" style="width: 79px; padding-left: 16px;">
<div class="tsb_play_btn ng-hide" id="tsb_play_btn" ng-show="showTSBPlayButton" ng-click="videoPlay();"></div>
<div class="tsb_pause_btn" id="tsb_pause_btn" ng-hide="showTSBPlayButton" ng-click="videoPause();"></div>
</div>
<div class="buffer_time" id="buffer_time" style="width: 79px; padding-right: 16px;"><span class="buffer_length ng-binding" id="buffer_length">30:00</span></div>
<div class="TSB_wrap" id="TSB_wrap" style="padding-left: 79px; padding-right: 79px;">
<div class="player_timeshift_bg" id="player_timeshift_bg" style="width: 673px;"></div>
<div class="player_timeshift" id="player_timeshift" style="width: 673px;">
<div class="interior" id="interior">
<div class="buffer_content" id="buffer_content">
<div class="fill_wrapper" id="fill_wrapper" style="width: 673px;">
<div class="handle ui-draggable" id="handle" style="left: 16px;"></div>
<div class="fill_content" id="fill_content" ng-click="seekVideo($event)" style="width: 26px;">
<div class="clickable_fill" id="clickable_fill" style="width: 673px;"></div>
</div>
</div>
</div>
</div>
</div> <!-- player_timeshift -->
<!-- -->
</div>
</div>
</div>
</div>
</ng-include>
<!-- <ng-include src="TSBTemplateURL"></ng-include> -->
<!-- ngInclude: undefined --><ng-include src="NCMTemplateURL" ng-show="NonCriticalErrors" class="ng-scope">
<div ng-controller="NCMController" class="NCMController ng-scope" style="width: 831px;">
<div id="non_critical_errors" ng-show="MessageStandard" class="">
<div id="message_standard" class="non_critical_message">
<span id="non_critical_message" ng-bind-html="ncm_message" class="ng-binding">Your current input is unconfigured to use remote control. Please use Internet Explorer or Firefox to setup or reconfigure your slingbox.</span>
<div class="non-critical-actions">
<a id="nonCritical_ok" class="exit_dialog_ok bt-round bt-nonCritical ng-hide" ng-show="ShowButtonOne" ng-click="doNCMAction()"><span class="ng-binding"></span></a>
<a id="nonCritical_cancel" class="exit_dialog_cancel bt-round bt-nonCritical" ng-show="ShowButtonTwo" ng-click="hideNCM();"><span class="ng-binding">OK</span></a>
</div>
</div>
<div id="message_simple" class="non_critical_message ng-hide" ng-show="MessageSimple">
<p></p>
</div>
</div>
</div>
</ng-include>
<!-- ngInclude: undefined --><ng-include src="SidePaneTemplateId" ng-show="showSidePane" class="ng-scope">
<div class="side-pane-content side-pane-content-spc ng-scope" ng-controller="SidePaneController" style="top: 324px; width: 33.3333333333333%; height: 366px;">
<div class="settings-list" ng-hide="mainMenuOptions.hide">
<ul>
<!-- ngRepeat: pane in paneList --><li ng-repeat="pane in paneList" class="sidePaneTabs ng-scope defaultSidePaneTab" ng-style="sidePaneTabStyle" ng-class="{defaultSidePaneTab: (pane.id==defaultTab.id), nonFocussedSidePaneTab: !(pane.id==defaultTab.id)}" ng-click="handleOnSidePaneTabClick($event, pane)" style="width: 100%;">
<a href="#" class="ng-binding">Ajustes</a>
</li><!-- end ngRepeat: pane in paneList -->
</ul>
</div>
<div class="side-pane-content-container">
<!-- ngInclude: undefined -->
<!-- ngInclude: undefined --><ng-include src="EmbeddedSettingsTemplateId" ng-show="showEmbededSettings" class="ng-scope">
<div class="embedded-settings-pane-content ng-scope" ng-controller="EmbeddedSettingsController" style="height: 328px;">
<div id="settingsOptionsContainer" class="settingsOptionsContainer" ng-show="showSettingsOptions">
<div class="settingsOptions" ng-click="displayNetworkSettings()">
<div class="settings-option programDetails" ng-style="programDetailsStyle" style="width: 335px;">
<div class="settingsMainMenuText ellipsis settingsMainMenuTextSingleLine">
<div class="ng-binding">Configuración de la red</div>
</div>
<!--<div class="settingsMainMenuSecondLineSummary ellipsis" ng-if="networkSettings.connectedNetworkName">
<div class="settingsName ellipsis">{{networkSettings.connectedNetworkName}}</div>
</div>-->
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
<div class="settingsOptions" ng-click="displaySlinboxSettings()" ng-show="showSlingboxInfoOption">
<div class="settings-option programDetails" ng-style="programDetailsStyle" style="width: 335px;">
<div class="settingsMainMenuText ellipsis">
<div class="settingsName ellipsis ng-binding">Slingbox Info</div>
</div>
<div class="settingsMainMenuSecondLineSummary ellipsis">
<div class="settingsName ellipsis ng-binding">My Slingbox</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
<!--<div class="settingsOptions" ng-click="displayVideoInputs(true)" ng-show="showReconfigureVideoOption && showReConfigButton">
<div class="settings-option video-input-change">
<div class="settingsMainMenuText ellipsis">
<div class="settingsName ellipsis">{{videoInput.title}}</div>
</div>
<div class="settingsMainMenuSecondLineSummary ellipsis">
<div class="settingsName ellipsis">{{videoInput.name}}</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>-->
<div class="settingsOptions" ng-click="displayLoginPreferences()" ng-show="showPreferencesOption">
<div class="settings-option programDetails" ng-style="programDetailsStyle" style="width: 335px;">
<div class="settingsMainMenuText settingsMainMenuTextSingleLine ellipsis">
<div class="ellipsis ng-binding">Preferencias</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
<div class="settingsOptions" ng-click="displayAboutSlingPlayer()">
<div class="settings-option about-sling-player" ng-style="programDetailsStyle" style="width: 335px;">
<div class="settingsMainMenuText settingsMainMenuTextSingleLine ellipsis">
<div class="ellipsis ng-binding">Acerca del Slingplayer</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
</div>
<div ng-show="!showSettingsOptions" class="settingsInnerMenu ng-hide">
<div class="settingsInnerMenuContainer">
<div class="settingsInnerMenuHeader">
<div class="panelNavigationArrow settingsInnerMenuHeaderBackButton" ng-click="handleBackOnSettingsInnerMenu(true)"></div>
<div class="settingsInnerMenuHeaderText ng-binding"></div>
<!-- ngInclude: undefined -->
</div>
</div>
</div>
</div>
</ng-include>
</div>
</div>
</ng-include>
<!-- ngInclude: undefined -->
</div>
</ng-include>
</div>
</ng-include>
</div>
<!-- start of page navigation -->
<!-- ngIf: (buttons.length > 0) || backBtnShow -->
</div>
<!-- wifi plugin -->
<div id="wifiPluginContainer" ng-controller="WiFiPluginController" class="wifiContainer ng-scope">
<embed style="width:1px;height:1px;" id="wifiPlugin" class="wifiPluginStyle" type="wifi/x-slingstream" autostart="0" aspectratio="1" onwifiasyncoperationcomplete="triggerWiFiPluginWrapperEventHandler(type, errorCode, systemErrorCode)" onwifigetpasswordcomplete="triggerWiFiPluginGetPasswordWrapperEventHandler(type, errorCode, password, systemErrorCode)" oncontrolinitialise="triggerWiFiPluginInitialiseHandler()">
</div>
<!-- wbsp plugin -->
<div class="main-plugin-container ng-scope live-tv-plugin-container" ng-controller="ChromePluginController" ng-class="{onePxPluginContainer: showOnePxPlugin,'main-plugin-container-on-video-found': videoPreView, 'live-tv-plugin-container':liveTvMainPluginContainer, 'cef-full-screen-plugin-container':showLiveTVCefFullScreenPlugin}">
<div id="pluginContainer" class="liveTVStandardViewPluginContainer" ng-class="{liveTVStandardViewPluginContainer: showliveTVStandardViewPlugin, liveTVPluginContainer: showLiveTvPlugin, settingsPluginContainer: showSettingsPlugin, onePxPluginContainer: showOnePxPlugin,'video-found-page': videoPreView, cefFullScreenPluginContainer:showLiveTVCefFullScreenPlugin}" style="height: 366px; width: 61.1764705882353%;"><embed id="nativePlayer" class="nativePluginStyle" type="video/x-slingstream" autostart="0" aspectratio="1" onplayererror="triggerPlayerErrorEvent('OnPlayerError');" onstatuschange="triggerPluginWrapperEventHandler('onstatuschange');" onstartcomplete="triggerPluginWrapperEventHandler('OnStartComplete');" oncontrolinitialise="triggerPluginWrapperEventHandler('OnControlInitialize');" onbufferstatus="triggerPluginBufferStatusEvent('onBufferStatusChange');" oninputchange="triggerPluginWrapperEventHandler('onInputChange');" ondiscoverycomplete="triggerPluginDiscoveryCompleteEvent('onDiscoveryComplete');" onloadinputconfigcomplete="triggerPluginLoadInputConfig('onLoadInputConfig');" onremotecontroldownloadstatus="triggerPluginRemoteControlDownloadStatus('onRemoteControlDownloadStatus');" onremotecontrolstatuschange="triggerPluginRemoteControlStatusChange('onRemoteControlStatusChange');" onremotecontroldownloadcomplete="triggerPluginRemoteDownloadComplete('OnRemoteControlDownloadComplete');" onloaddeviceconfigcomplete="triggerPluginLoadDeviceConfig('OnLoadDeviceConfig');" onsparcsresponse="triggerPluginSparcsResponse('OnSparcsResponse');" onremotecontrolkeypress="triggerRemoteKeyPressed('OnRemoteControlKeyPress');" onuserinputevent="triggerPluginUserInputEvent('OnUserInputEvent');" onacrinit="triggerOnAcrInit('OnAcrInit');" onacrresponse="triggerOnAcrResponse('OnACRResponse');" onacrbinduser="triggerOnACRBindUser('OnACRBindUser');"> </div>
</div>
<!-- showing country selection page -->
<div ng-controller="LocalizationController" class="location-selection-container ng-scope ng-hide" ng-class="{"full-opaque":fullOpaque}" id="showLocationPageID" ng-show="showLocationPage">
<div class="location-selection-wrapper">
<div class="location-selection-content">
<div class="location-selection-close" ng-click="hideLocationChangePrompt();"></div>
<div class="location-change-header ng-binding">
Elija su ubicación e idioma
</div>
<div class="location-change-content">
<div class="location-change-left-list">
<div class="location-change-column-header ng-binding">
Americas
</div>
<!-- ngRepeat: americanCountry in americaList --><div ng-repeat="americanCountry in americaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":americanCountry.LOCALE === locale}" ng-click="(americanCountry.LOCALE !== locale)?changeLocation(americanCountry):hideLocationChangePrompt()">United States - English</span></div>
</div><!-- end ngRepeat: americanCountry in americaList --><div ng-repeat="americanCountry in americaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":americanCountry.LOCALE === locale}" ng-click="(americanCountry.LOCALE !== locale)?changeLocation(americanCountry):hideLocationChangePrompt()">Canada - English</span></div>
</div><!-- end ngRepeat: americanCountry in americaList --><div ng-repeat="americanCountry in americaList" class="ng-scope">
<div><span class="location-change-country ng-binding location-change-selected-country" ng-class="{"location-change-selected-country":americanCountry.LOCALE === locale}" ng-click="(americanCountry.LOCALE !== locale)?changeLocation(americanCountry):hideLocationChangePrompt()">Colombia - Español</span></div>
</div><!-- end ngRepeat: americanCountry in americaList --><div ng-repeat="americanCountry in americaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":americanCountry.LOCALE === locale}" ng-click="(americanCountry.LOCALE !== locale)?changeLocation(americanCountry):hideLocationChangePrompt()">Brazil - English</span></div>
</div><!-- end ngRepeat: americanCountry in americaList --><div ng-repeat="americanCountry in americaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":americanCountry.LOCALE === locale}" ng-click="(americanCountry.LOCALE !== locale)?changeLocation(americanCountry):hideLocationChangePrompt()">El Salvador - Español</span></div>
</div><!-- end ngRepeat: americanCountry in americaList --><div ng-repeat="americanCountry in americaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":americanCountry.LOCALE === locale}" ng-click="(americanCountry.LOCALE !== locale)?changeLocation(americanCountry):hideLocationChangePrompt()">Mexico - Español</span></div>
</div><!-- end ngRepeat: americanCountry in americaList -->
</div>
<div class="location-change-middle-list">
<div class="location-change-column-header ng-binding">
Asia and Oceania
</div>
<!-- ngRepeat: asianCountry in asiaList --><div ng-repeat="asianCountry in asiaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":asianCountry.LOCALE === locale}" ng-click="(asianCountry.LOCALE !== locale)?changeLocation(asianCountry):hideLocationChangePrompt()">India - English</span></div>
</div><!-- end ngRepeat: asianCountry in asiaList --><div ng-repeat="asianCountry in asiaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":asianCountry.LOCALE === locale}" ng-click="(asianCountry.LOCALE !== locale)?changeLocation(asianCountry):hideLocationChangePrompt()">Indonesia - English</span></div>
</div><!-- end ngRepeat: asianCountry in asiaList --><div ng-repeat="asianCountry in asiaList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":asianCountry.LOCALE === locale}" ng-click="(asianCountry.LOCALE !== locale)?changeLocation(asianCountry):hideLocationChangePrompt()">Japan - Japanese</span></div>
</div><!-- end ngRepeat: asianCountry in asiaList -->
</div>
<div class="location-change-right-list">
<div class="location-change-column-header ng-binding">
Europe
</div>
<!-- ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Deutschland - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">España - Español</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">France - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Italia - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Nederland - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">United Kingdom - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Ireland - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Denmark - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Norway - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Sweden - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList --><div ng-repeat="europeCountry in europeList" class="ng-scope">
<div><span class="location-change-country ng-binding" ng-class="{"location-change-selected-country":europeCountry.LOCALE === locale}" ng-click="(europeCountry.LOCALE !== locale)?changeLocation(europeCountry):hideLocationChangePrompt()">Finland - English</span></div>
</div><!-- end ngRepeat: europeCountry in europeList -->
</div>
</div>
</div>
</div>
</div>
<div ng-controller="LeaderboardAdController" ng-hide="!showLeaderBoardAd && !showStaticLeaderBoardAd && !liveTvContainer || showCefFSAdContainer" class="ng-scope">
<div class="leaderboard-banner-ad-wrapper" ng-show="showLeaderBoardAd && liveTvContainer" id="LeaderBoardAdWrapper" ng-style="leaderboardAdStyle" style="top: 572px; width: 61.1764705882353%;">
<div class="leaderboard-banner-ad-container">
<iframe name="printjob" scrolling="no" width="728" id="lbAdIframe" frameborder="0" height="90" src="https://apollo.slingbox.com/desktop/index/bannerAdLoader?reason=ar&async=true&rand=0.7804612044710666&name=leaderBoardAd&script=//www.googletagservices.com/tag/js/gpt.js&pageUrl=http%3A%2F%2Fnewwatch2.slingbox.com&w=728&h=90&slot=/120722696/SPD_Banner"></iframe></div>
</div>
<div class="leaderboard-banner-ad-wrapper ng-hide" id="staticLeaderBoardWrapper" ng-show="showStaticLeaderBoardAd && liveTvContainer" ng-style="staticLeaderboardAdStyle" style="top: 572px; width: 61.1764705882353%;">
<div class="static-leaderboard-banner-container">
<a href="https://www.slingbox.com/slingplayer" target="="_blank"" id="staticLBImg"><img src="https://autoupdate.sling.com/staticbanners/1_1/images/BR_SP_TVA1_lb.jpg"></a>
</div>
</div>
</div>
<div ng-controller="RectangleAdController" id="mediumRectangleAdWrapper" ng-hide="!showRectangleAd && !showStaticMRAd && !liveTvContainer" class="ng-scope">
<div class="rect-banner-ad-wrapper spc-rect-banner-ad-wrapper" ng-show="showRectangleAd && liveTvContainer" ng-style="rectangleAdStyle" style="width: 33.3333333333333%;">
<div class="rect-banner-ad-container">
<iframe name="printjob" scrolling="no" width="300" id="rtAdIframe" frameborder="0" height="250" src="https://apollo.slingbox.com/desktop/index/bannerAdLoader?reason=ar&async=true&rand=0.46076518134213984&name=mediumRectangleAd&script=//www.googletagservices.com/tag/js/gpt.js&pageUrl=http%3A%2F%2Fnewwatch2.slingbox.com&w=300&h=250&slot=/120722696/SPD_Box"></iframe></div>
</div>
<div class="rect-banner-ad-wrapper spc-rect-banner-ad-wrapper ng-hide" id="staticMRWrapper" ng-show="showStaticMRAd && liveTvContainer" ng-style="rectangleAdStyle" style="width: 33.3333333333333%;">
<div class="rect-static-banner-ad-container">
<a href="https://www.slingbox.com/slingplayer" id="staticMRImg" target="_blank"><img src="https://autoupdate.sling.com/staticbanners/1_1/images/BR_SP_TVA1_mr.jpg"></a>
</div>
</div>
</div>
<script>
function initializePlugin() {
var embedTag = '<embed id="nativePlayer"\
class="nativePluginStyle"\
type="video/x-slingstream"\
autostart="0"\
aspectratio="1"\
onplayererror="triggerPlayerErrorEvent(\'OnPlayerError\');"\
onstatuschange="triggerPluginWrapperEventHandler(\'onstatuschange\');"\
onstartcomplete="triggerPluginWrapperEventHandler(\'OnStartComplete\');"\
oncontrolinitialise="triggerPluginWrapperEventHandler(\'OnControlInitialize\');"\
onbufferstatus="triggerPluginBufferStatusEvent(\'onBufferStatusChange\');"\
onInputChange="triggerPluginWrapperEventHandler(\'onInputChange\');"\
ondiscoverycomplete="triggerPluginDiscoveryCompleteEvent(\'onDiscoveryComplete\');"\
OnLoadInputConfigComplete = "triggerPluginLoadInputConfig(\'onLoadInputConfig\');"\
onRemoteControlDownloadStatus = "triggerPluginRemoteControlDownloadStatus(\'onRemoteControlDownloadStatus\');"\
onRemoteControlStatusChange = "triggerPluginRemoteControlStatusChange(\'onRemoteControlStatusChange\');"\
OnRemoteControlDownloadComplete = "triggerPluginRemoteDownloadComplete(\'OnRemoteControlDownloadComplete\');"\
OnLoadDeviceConfigComplete = "triggerPluginLoadDeviceConfig(\'OnLoadDeviceConfig\');"\
OnSparcsResponse = "triggerPluginSparcsResponse(\'OnSparcsResponse\');"\
OnRemoteControlKeyPress = "triggerRemoteKeyPressed(\'OnRemoteControlKeyPress\');"\
OnUserInputEvent = "triggerPluginUserInputEvent(\'OnUserInputEvent\');"\
OnAcrInit = "triggerOnAcrInit(\'OnAcrInit\');"\
OnACRResponse = "triggerOnAcrResponse(\'OnACRResponse\');"\
OnACRBindUser = "triggerOnACRBindUser(\'OnACRBindUser\');">\
</embed>';
document.getElementById('pluginContainer').innerHTML = embedTag;
}
initializePlugin();
</script>
<!-- Error template layout -->
<script type="text/ng-template" id="ErrorTemplate">
<div ng-controller="ErrorHandlerController" id="ErrorContainerID">
<ng-include src="errorMessageTmplURL"></ng-include>
</div>
</script>
<script type="text/ng-template" id="errorMessageTmpl">
<div class="error-text-container" id="ErrorTextContainerID">
<div>
<span ng-bind-html="error_message"></span>
<div id="errorLinkID">
<span class="error-message-link" ng-bind-html="message_link"></span>
</div>
</div>
<span class="error-code-txt">{{code}}</span>
</div>
</script> <!-- Error page layout -->
<script type="text/ng-template" id="VideoPlayerTemplate">
<div ng-controller="VideoPlayerController">
<ng-include src="ConnectingUITemplateURL"></ng-include>
<ng-include src="CefFSPrepareTemplateURL"></ng-include>
<ng-include src="VideoPlayerTemplateURL"></ng-include>
</div>
</script>
<script type="text/ng-template" id="PlayerTemplate">
<div class="videoPlayerContainer">
<ng-include src="PlayerTitleBarTemplateURL"></ng-include>
<ng-include src="PlayerControlsTemplateURL" ng-show="showPlayerControls"></ng-include>
<!-- <ng-include src="TSBTemplateURL"></ng-include> -->
<ng-include src="NCMTemplateURL" ng-show="NonCriticalErrors"></ng-include>
<ng-include src="SidePaneTemplateId" ng-show="showSidePane"></ng-include>
<ng-include src="CefFullScreenTemplateId" ng-show="showCefFSAdContainer"></ng-include>
</div>
</script>
<!-- showing CEF leaderboardAd UI template-->
<script type="text/ng-template" id="CefFullScreenTemplate">
<!--CEF FullScreen leaderboard ad and static leaderboard banner-->
<div ng-controller="CefFullScreenLeaderboardAdController">
<div class="disconnect-option-style" ng-show="showCloseOption"><div><span id="cefFsCloseButton" ng-click="onClosePressed">{{closeAdBtnMessage}}</span></div></div>
<div class="leaderboard-banner-ad-wrapper-cef-full-screen" ng-show="showCefFSLeaderBoardAd && !showCefFSStaticLeaderBoardAd" id="CefFSLeaderBoardAdWrapper"
ng-style="leaderboardAdStyle" ng-cloak>
<div class="cef-fs-leaderboard-banner-ad-container">
</div>
</div>
<div class="leaderboard-banner-ad-wrapper" id="CefFSstaticLeaderBoardWrapper" ng-show="showCefFSStaticLeaderBoardAd && !showCefFSLeaderBoardAd"
ng-style="staticLeaderboardAdStyle" ng-cloak>
<div class="static-leaderboard-banner-container">
<a href="https://www.slingbox.com/slingplayer" target=="_blank" id="cefStaticLBImg"><img src="https://autoupdate.sling.com/staticbanners/1_1/images/BR_SP_TVA1_lb.jpg"></a>
</div>
</div>
</div>
</script>
<!-- showing back temporary background before showing CEF fullscreen view-->
<script type="text/ng-template" id="cefFSPrepareTemplate">
<div class="cef-fs-prepare-container" id="preparingCefFSContainerId" ng-show="showCeFSfPrepareContainer">
<div class="connecting-ui-wrapper">
<div class="connecting-spinner"></div>
</div>
</div>
</script>
<!-- showing connecting to box ui template-->
<script type="text/ng-template" id="connectingUITemplate">
<div class="connecting-ui-container" id="connectingSpinnerID" ng-show="connectingSpinner">
<div class="connecting-ui-wrapper">
<div class="connecting-text">{{genericLoadingText}}</div>
<div class="connecting-spinner"></div>
</div>
</div>
</script>
<script type="text/ng-template" id="PlayerTitleBar">
<div class="player-container-title">
<div class="player-container-title-logo"></div>
</div>
</script>
<script type="text/ng-template" id="PlayerControlsTemplate">
<div ng-controller="PlayerControlsController">
<div class="playerControls">
<div class="playerContainerHeader" ng-hide="showLiveTVCefFullScreenPlugin">
<!-- <div id="disconnect" class="disconnect" ng-show="showDisconnectIcon"><div class="disconnect-container ellipsis" ng-click="displayLandingPage(true);">{{disconnectText}}</div></div>
<div id="deloreanConnectButton" class="deloreanConnectButton" ng-show="showConnectIcon"><div class="videoPlayerConnectButton ellipsis" ng-click="connectToCurrentBox($event);">{{connectText}}</div></div>-->
<div class="box-name-in-video-page ellipsis">{{slingboxName}}</div>
<!--div id="sqaContainer" ng-class="{sqaInit: showSQAInit, sqaOne: showSQAOne, sqaTwo: showSQATwo,sqaThree: showSQAThree,sqaFour: showSQAFour,sqaFive: showSQAFive}" ng-mouseenter="handleSQAMouseOver();" ng-mouseleave="handleSQAMouseOut();"></div>
<div class="sqaContainerWrapper">
<div class="statusTitleBar" ng-show= "showStatusBar">
<span id="SQA_messaging" class="sqa_text">{{SQA_Message}}</span>
<span id="first_sqa_separator" class="div_spacer" style="">|</span>
<span class="message_bitrate" id="sqa_message_bitrate">{{streamBitrateMessage}}</span>
<span class="div_spacer">|</span>
<span class="connectionStatus">{{statusChangeMessage}}</span>
<div class="bullet-left-arrow"></div>
</div>
</div-->
<div id="deloreanVideoPlayerFullScreenStateIcon" ng-class="{deloreanVideoPlayerFullScreenStateIcon: showVideoPlayerFullScreenStateIcon}" ng-click="setPlayerFullScreen();" title="{{fullVideoText}}"></div>
<div id="deloreanVideoPlayerFullWindowStateIcon" ng-class="{deloreanVideoPlayerFullWindowStateIcon: showVideoPlayerFullWindowStateIcon, deloreanVideoPlayerFullWindowStateIconSelected: showDeloreanVideoPlayerFullWindowStateIconSelected}" ng-click="setPlayerFullWindow();" title="{{fullWindowText}}"></div>
<div id="deloreanVideoPlayerStandardStateIcon" ng-class="{deloreanVideoPlayerStandardStateIcon: showVideoPlayerStandardStateIcon, deloreanVideoPlayerStandardStateIconSelected: showDeloreanVideoPlayerStandardStateIconSelected}" ng-click="setPlayerStandardView();" title="{{standardViewText}}"></div>
<div id="deloreanVideoPlayerTopRightIconSeparator" ng-class="{deloreanVideoPlayerTopRightIconSeparator: showTopRightIconSeparator}"></div>
<!--div id="deloreanSettingsIcon" ng-class="{settingsIcon: showSettingsIcon}" ng-click="displaySettings();" title="Show Settings"></div-->
<div id="deloreanRemote" ng-class="{remoteDisplay: showRemote}" ng-click="displayRemote();" title="{{remoteToolTip}}"></div>
<div id="deloreanGuideIcon" ng-class="{guideIcon: showGuideIcon}" ng-click="displayGuide();" title="{{showGuideText}}"></div>
</div>
<div ng-show="showLandingPageFiller">
<div id="landingPageFiller" class="landingPageFiller" ng-style="landingPageFillerStyle">
<div class="connectToSlingboxText">{{streamingInstructionText}}</div>
</div>
</div>
<div id="inactivityUIContainer" class="inactivity_ui_wrapper" ng-show="relayInactivityAlertWindow">
<div class="relay-inactivity-alert-text" ng-bind-html="relayInactivityWarningMsg"></div>
<div class="relay-inactivity-dialog-container" id="videoInputSdContainerID">
<div class="warn-container-button" id="relayInactivityOKBtn" ng-click="relayInactivityAck()">{{relayInactivityOkBtn}}</div>
</div>
</div>
<!-- UI to show no video signal -->
<div ng-show="showNoVideoSignal" id="noVideoSignalBGID" class="no-video-signal-ui-bg">{{showBlankPluginMessage}}</div>
<div ng-show="connectingToBoxBG" id="connectingToBoxUIBGID" class="connecting-to-box-ui-bg"></div>
<div id="playerFooter" class="playerFooter" ng-hide="hidePlayerFooter">
<div class="footerControlsContainer">
<div id="playerSettings" class="playerSettings" ng-click="displaySettingsTab();" title="{{settingsText}}"></div>
<!--div class="player-settings-spacer"></div-->
<div id="sqaContainer" ng-class="{sqaInit: showSQAInit, sqaOne: showSQAOne, sqaTwo: showSQATwo,sqaThree: showSQAThree,sqaFour: showSQAFour,sqaFive: showSQAFive}" ng-click="handleSQAMouseClick();" title="{{networkConnectionText}}"></div>
<div id="player-set-nav-wrap" class="dpadIcon" ng-click="displayDPADKeysContainer();" title="{{dPadText}}"></div>
<!--div class="player-set-nav-wrap" id="player-set-nav-wrap">
<a class="player-navigation player-control-icons" ng-click="displayDPADKeysContainer();"></a>
<!--div class="tooltip-balloon" id="falconDpadBalloon" ng-show=false >ExtraKeys<span class="bullet-down-arrow"></span></div>
</div-->
<div id="volumeIcon" class="volumeIcon" ng-click="displayVolumeControls();"></div>
<!--div class="sound-control">
<a class="sound-on-link" ng-click="changeVolumeState($event)"></a>
<div class="volumn-bar" id="volume-bar-control" ng-click="handleVolumeBarClick($event)">
<div class="volume-bar-fill-content"></div>
<a class="volume-ctrl-handle" ng-click="handleVolumeClick()"></a> <!--class="ui-draggable" style="left: 6.5px;" ->
</div>
</div-->
<div class="videoIconLine"></div>
<div class="video-nav-wrapper">
<div class="video-control-wrap" id="video-navigation-controls" ng-show="showNavigation" ng-click="handleRemoteControls($event)">
<!--div class="controls-inline-spacer"></div-->
<ul class="controls-inline-wrap">
<li>
<a class="controlKeys btn-skip-back" id="rcs_F_SKIPBACK" tooltip="{{skipBackwardText}}" title="{{skipBackwardText}}"></a>
</li>
<li>
<a class="controlKeys btn-fast-backward" id="rcs_F_REWIND" tooltip="{{rewindText}}" title="{{rewindText}}"></a>
</li>
<li>
<a class="controlKeys btn-pause" id="rcs_F_PAUSE" tooltip="{{pauseText}}" title="{{pauseText}}"></a>
</li>
<li>
<a class="controlKeys btn-play" id="rcs_F_PLAY" tooltip="{{playText}}" title="{{playText}}"></a>
</li>
<li>
<a class="controlKeys btn-stop-sp" id="rcs_F_STOP" tooltip="{{stopText}}" title="{{stopText}}"></a>
</li>
<li>
<a class="controlKeys btn-fast-forward" id="rcs_F_FFWD" tooltip="{{fastForwardText}}" title="{{fastForwardText}}"></a>
</li>
<li>
<a class="controlKeys btn-skip-fwd" id="rcs_F_SKIPFWD" tooltip="{{skipForwardText}}" title="{{skipForwardText}}"></a>
</li>
<li>
<a class="controlKeys btn-rec" id="rcs_F_RECORD" tooltip="{{recordText}}" title="{{recordText}}"></a>
</li>
<li>
<a class="controlKeys btn-livetv" id="rcs_F_LIVETV" tooltip="{{liveTVText}}"></a>
</li>
</ul>
</div>
</div>
<div class="videoIconSpacer" id="transportControlsChannelEntrySeparator"></div>
<div id="channelControlIcons" ng-show="showChannelEntryBox">
<div id="favoritesIcon" class="favoritesIcon" ng-click="displayFavorites();" style="display: none;"></div>
<input type="text" id="channelEntryBox" class="channelEntryBox" ng-click="selectChannelEntryBox()" ng-enter="handleChannelEntryBox();" ng-blur="leaveChannelEntryBox();" title="{{enterChannelText}}"/>
<div id="channelUpDownButton" class="channelUpDownButton">
<div id="channelUpButton" class="channelUpButton" ng-click="handleChannelUp()" title="{{changeChannelText}}"></div>
<div id="channelText" class="channelText">CH</div>
<div id="channelDownButton" class="channelDownButton" ng-click="handleChannelDown()" title="{{changeChannelText}}"></div>
</div>
</div>
<div id="player-left-menu-arrow" ng-show="displayPlayerSettingBottom" ng-style="playerControlsBottomBarLeftArrowStyle" class="player-left-menu-arrow"></div>
<div id="player-bottom-bar" ng-show="displayPlayerSettingBottom" ng-style="playerControlsBottomBarStyle">
<div class="sqaContainerWrapper">
<div class="statusTitleBar" ng-show= "showStatusBar">
<span id="SQA_messaging" class="sqa_text">{{SQA_Message}}</span>
<span id="first_sqa_separator" class="div_spacer" style="">|</span>
<span class="message_bitrate" id="sqa_message_bitrate">{{streamBitrateMessage}}</span>
<span class="div_spacer">|</span>
<span class="connectionStatus">{{statusChangeMessage}}</span>
<div class="bullet-left-arrow"></div>
</div>
</div>
<div id="playerSettingsTab" class="playerSettingsTab" ng-show="showSettingsTab">
<div id="settings-bar" ng-show="showSettingsBar" class="settingsBar">
<div class="settingZoom" ng-mouseenter="displayOptions();" ng-mouseleave="hideOptions();">
<div class="settingIcon"></div>
<div class="settingText">
<div >{{zoomText}}</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleZoomList" ng-show="options">
<div class="ctrl-balloon">
<div ng-repeat="Zoom in zoomList">
<span class="video_control_text" id="zoom{{Zoom.Id}}" ng-click="changeZoom(Zoom.Id);">{{Zoom.Type}}</span>
<span class="controls_div_spacer" ng-if="!$last">|</span>
</div>
</div>
</div>
</div>
<div class="settingAspect" ng-mouseenter="displayAspect();" ng-mouseleave="hideAspect();">
<div class="settingIcon"></div>
<div class="settingText">
<div>{{aspectRatioText}}</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleAspectList" ng-show="Aspectoptions">
<div class="ctrl-balloon">
<div ng-repeat="aspect in aspectList">
<span class="video_control_text" id="aspect{{aspect.Id}}" ng-click="changeAspect(aspect.Id);">{{aspect.Type}}</span>
<span class="controls_div_spacer" ng-if="!$last">|</span>
</div>
</div>
</div>
</div>
<div class="settingQuality" ng-mouseenter="displayQuality();" ng-mouseleave="hideQuality();">
<div class="settingIcon"></div>
<div class="settingText">
<div>{{qualityText}}</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleQualityList" ng-show="Qualityoptions">
<div class="ctrl-balloon">
<div ng-repeat="qualityOption in qualityList">
<span class="video_control_text" id="Quality{{qualityOption.Id}}" ng-click="changeQuality(qualityOption.Id,qualityOption.fpsValue);"> {{qualityOption.Type}}</span>
<span class="controls_div_spacer" ng-if="!$last">|</span>
</div>
</div>
</div>
</div>
<div class="settingSources" ng-mouseenter="displaySources();" ng-mouseleave="hideSources();">
<div class="settingIcon"></div>
<div class="settingText">
<div>{{sourcesText}}</div>
<div class="settingExpandIcon"></div>
</div>
<div id="toggleInputList" ng-show="Inputoptions" class="input-sources-balloon">
<div class="ctrl-balloon">
<div ng-repeat="input in inputList">
<span class="video_control_text {{input.currentInput}}" ng-mouseenter="displayDevice(input.source,input.Id,$index);" ng-mouseleave="hideDevice();" ng-click="changeInput(input.Id,$index,input.source);" id="Input{{input.Id}}">{{input.sourceName}}</span>
<span class="controls_div_spacer" ng-if="!$last" id="inputListSpacer">|</span>
</div>
</div>
</div>
<div class="tooltip-balloon" ng-show="toolTipDispay" id="apolloVideoBalloon"><div class="tooltip-text">{{source}}</div><span class="bullet-down-arrow"></span></div>
</div>
</div>
</div>
<div id="navigationPad-bar" ng-show="showDpadNavigationTab" ng-click="handleRemoteControls($event)">
<ul >
<li>
<a class="cursorKeys btn-left-arrow" id="rcs_F_CURSOR_LEFT"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="cursorKeys btn-right-arrow" id="rcs_F_CURSOR_RIGHT"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="cursorKeys btn-up-arrow" id="rcs_F_CURSOR_UP"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="cursorKeys btn-down-arrow" id="rcs_F_CURSOR_DOWN"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-ok-remote" id="rcs_F_SELECT"></a>
</li>
<li class="navPadSpacer"></li>
<li style="display: none;">
<a class="customKeys btn-recall-remote" id="rcs_F_LASTCH">{{recallText}}</a>
</li>
<li class="navPadSpacer" style="display: none;"></li>
<li>
<a class="customKeys btn-red-remote" id="rcs_F_RED"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-green-remote" id="rcs_F_GREEN"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-yellow-remote" id="rcs_F_YELLOW"></a>
</li>
<li class="navPadSpacer"></li>
<li>
<a class="customKeys btn-blue-remote" id="rcs_F_BLUE"></a>
</li>
</ul>
</div>
<div id="volumeSliderWrapper" class="volumeSliderWrapper" ng-show="showVolumeSlider">
<div id="volumeZero" class="volumeZeroIcon" ng-show="!showMuteIcon" ng-click="mutePlayerVolume(true)"></div>
<div id="volumeMute" class="volumeMuteIcon" ng-show="showMuteIcon" ng-click="unMutePlayerVolume(true)"></div>
<div id="volumeSliderContainer">
<div id="volumeSliderBackgroundUnfilled" class="volumeSliderBackgroundUnfilled" ng-click="handleVolumeBarClick($event)">
<div id="volumeSliderHandle" class="volumeSliderHandle"></div>
<div id="volumeSliderBackgroundFilled" class="volumeSliderBackgroundFilled"></div>
</div>
</div>
<div id="volumeFull" class="volumeFullIcon" ng-click="fullVolume()"></div>
</div>
<div id="slideMenuCloseButton" ng-show="showCloseButtonOnMenu" class="slideMenuCloseButton" ng-click="hideAllMenus()"></div>
</div>
</div></div>
</div>
<!-- UI to show TSB bar -->
<div class="time_shift_buffer_wrapper" id="time_shift_buffer_wrapper" ng-hide="hidePlayerTSB">
<div class="time_shift_buffer_container" id="time_shift_buffer_container">
<div class="tsb_control" id="tsb_control">
<div class="tsb_play_btn" id="tsb_play_btn" ng-show='showTSBPlayButton' ng-click='videoPlay();'></div>
<div class="tsb_pause_btn" id="tsb_pause_btn" ng-hide='showTSBPlayButton' ng-click='videoPause();'></div>
</div>
<div class="buffer_time" id="buffer_time"><span class="buffer_length" id="buffer_length">{{bufferLength}}</span></div>
<div class="TSB_wrap" id="TSB_wrap">
<div class='player_timeshift_bg' id='player_timeshift_bg'></div>
<div class='player_timeshift' id='player_timeshift'>
<div class='interior' id='interior'>
<div class='buffer_content' id='buffer_content'>
<div class='fill_wrapper' id='fill_wrapper'>
<div class='handle' id='handle'></div>
<div class='fill_content' id='fill_content' ng-click='seekVideo($event)'>
<div class='clickable_fill' id='clickable_fill'></div>
</div>
</div>
</div>
</div>
</div> <!-- player_timeshift -->
<!-- -->
</div>
</div>
</div>
</div>
</script>
<script type="text/ng-template" id="NCMTemplate">
<div ng-controller="NCMController" class="NCMController">
<div id="non_critical_errors" ng-show="MessageStandard">
<div id="message_standard" class="non_critical_message">
<span id="non_critical_message" ng-bind-html="ncm_message"></span>
<div class="non-critical-actions">
<a id="nonCritical_ok" class="exit_dialog_ok bt-round bt-nonCritical" ng-show="ShowButtonOne" ng-click="doNCMAction()"><span>{{Button1}}</span></a>
<a id="nonCritical_cancel" class="exit_dialog_cancel bt-round bt-nonCritical" ng-show="ShowButtonTwo" ng-click="hideNCM();"><span>{{Button2}}</span></a>
</div>
</div>
<div id="message_simple" class="non_critical_message" ng-show="MessageSimple">
<p></p>
</div>
</div>
</div>
</script>
<script type="text/ng-template" id="SettingsPageTemplate">
<div class="settings-content" ng-controller="SettingsController">
<div class="settings-list">
<ul>
<li ng-repeat="setting in settings">
<a href="{{setting.link}}">{{setting.name}}</a>
</li>
</ul>
</div>
<div class="settings-player">
<div class="playerHeader">Player Controls</div>
<div class="playerFooter">Player Controls</div>
</div>
</div>
</script>
<script type="text/ng-template" id="SidePaneTemplate">
<div class="side-pane-content side-pane-content-spc" ng-controller="SidePaneController">
<div class="settings-list" ng-hide="mainMenuOptions.hide">
<ul>
<li ng-repeat="pane in paneList" class="sidePaneTabs" ng-style="sidePaneTabStyle" ng-class="{defaultSidePaneTab: (pane.id==defaultTab.id), nonFocussedSidePaneTab: !(pane.id==defaultTab.id)}" ng-click="handleOnSidePaneTabClick($event, pane)">
<a href="#">{{pane.name}}</a>
</li>
</ul>
</div>
<div class="side-pane-content-container">
<ng-include src="EmbeddedGuideTemplateId" ng-show="showEmbededGuide"></ng-include>
<ng-include src="EmbeddedSettingsTemplateId" ng-show="showEmbededSettings"></ng-include>
</div>
</div>
</script>
<script type="text/ng-template" id="EmbeddedSettingsTemplate">
<div class="embedded-settings-pane-content" ng-controller="EmbeddedSettingsController">
<div id="settingsOptionsContainer" class="settingsOptionsContainer" ng-show="showSettingsOptions">
<div class="settingsOptions" ng-click="displayNetworkSettings()">
<div class="settings-option programDetails" ng-style="programDetailsStyle">
<div class="settingsMainMenuText ellipsis settingsMainMenuTextSingleLine">
<div>{{networkSettings.title}}</div>
</div>
<!--<div class="settingsMainMenuSecondLineSummary ellipsis" ng-if="networkSettings.connectedNetworkName">
<div class="settingsName ellipsis">{{networkSettings.connectedNetworkName}}</div>
</div>-->
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
<div class="settingsOptions" ng-click="displaySlinboxSettings()" ng-show="showSlingboxInfoOption">
<div class="settings-option programDetails" ng-style="programDetailsStyle">
<div class="settingsMainMenuText ellipsis">
<div class="settingsName ellipsis">{{slingboxSettings.title}}</div>
</div>
<div class="settingsMainMenuSecondLineSummary ellipsis">
<div class="settingsName ellipsis">{{slingboxSettings.name}}</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
<!--<div class="settingsOptions" ng-click="displayVideoInputs(true)" ng-show="showReconfigureVideoOption && showReConfigButton">
<div class="settings-option video-input-change">
<div class="settingsMainMenuText ellipsis">
<div class="settingsName ellipsis">{{videoInput.title}}</div>
</div>
<div class="settingsMainMenuSecondLineSummary ellipsis">
<div class="settingsName ellipsis">{{videoInput.name}}</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>-->
<div class="settingsOptions" ng-click="displayLoginPreferences()" ng-show="showPreferencesOption">
<div class="settings-option programDetails" ng-style="programDetailsStyle">
<div class="settingsMainMenuText settingsMainMenuTextSingleLine ellipsis">
<div class="ellipsis">{{loginPreferences.title}}</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
<div class="settingsOptions" ng-click="displayAboutSlingPlayer()">
<div class="settings-option about-sling-player" ng-style="programDetailsStyle">
<div class="settingsMainMenuText settingsMainMenuTextSingleLine ellipsis">
<div class="ellipsis">{{aboutSlingPlayer.title}}</div>
</div>
</div>
<div class="panelNavigationArrow panelRightArrow"></div>
</div>
</div>
<div ng-show="!showSettingsOptions" class="settingsInnerMenu">
<div class="settingsInnerMenuContainer">
<div class="settingsInnerMenuHeader">
<div class="panelNavigationArrow settingsInnerMenuHeaderBackButton" ng-click="handleBackOnSettingsInnerMenu(true)"></div>
<div class="settingsInnerMenuHeaderText">{{settingsInnerMenu.title}}</div>
<ng-include src="settingsInnerContentTemplate"></ng-include>
</div>
</div>
</div>
</div>
</script>
<script type="text/ng-template" id="EmbeddedGuideTemplate">
<div class="embedded-guide-pane-content" ng-controller="EmbeddedGuideController">
<div id="guideFilterContainer" class="guideFilterContainer">
<ul class="guide-sub-tabs-list">
<li class="guideFilter" style="margin-left:20%" ng-style="guideFilterStyle" ng-class="{defaultGuideFilter: guideFilterAll}" ng-click="handleOnGuideFilterClick($event, 'all')">{{guideAllText}}</li>
<li class="guideFilter" ng-style="guideFilterStyle" ng-class="{defaultGuideFilter: guideFilterHD}" ng-click="handleOnGuideFilterClick($event, 'hd')">{{guideHDText}}</li>
<!--li class="guideFilter" ng-style="guideFilterStyle">Favorites</li-->
<!--li class="guideFilter" ng-style="guideFilterStyle" ng-click="handleOnFullGuideTabClick($event)">Full Guide</li-->
</ul>
</div>
<div id="guideProgramListContainer" class="guideProgramListContainer" ng-style="guideProgramListContainerStyle" ng-show="!showSpinner">
<div ng-repeat="listing in guideListings.channelNumberList" class="listing" ng-click="handleEmbeddedGuideChangeChannel(guideListings[listing].stationNumber)">
<div class="stationLogoNumber">
<div class="stationLogo">
<img src='/desktop/images/videoplayer/guide_icon_placeholder_channel__vd3dbfd6120c3b6e2e4b817fce58d3b32.png' border='0' ng-if="guideListings[listing].isDefaultStationLogo"/>
<img ng-if="!guideListings[listing].isDefaultStationLogo" ng-src="{{guideListings[listing].stationLogo}}"/>
</div>
<div>
<div class="stationName">{{guideListings[listing].stationName}}</div>
<div class="stationNumber">{{guideListings[listing].stationNumber}}</div>
</div>
</div>
<div class="epgDetailsText" ng-style="programDetailsStyle">
<div class="currentProgram">
<div class="currentProgramName ellipsis">{{guideListings[listing].currentProgramName}}</div>
<div class="currentProgramTime">{{guideListings[listing].currentProgramTime}}</div>
</div>
<div class="nextProgram">
<div class="nextProgramName ellipsis">{{guideListings[listing].nextProgramName}}</div>
<div class="nextProgramTime">{{guideListings[listing].nextProgramTime}}</div>
</div>
</div>
</div>
<div class="listing" ng-show="showLoadingMoreSpinner">
<div class="loadingMoreSpinner"></div>
</div>
</div>
<div class="embeddedGuideLoading positionAbsoluteCenter" ng-show="showSpinner"></div>
</div>
</script>
<script type="text/ng-template" id="slingboxSettingsContentTemplate">
<div class="settings-slingbox-content">
<div ng-style="slingboxSettingsContent" ng-show="!showSpinner" class="slingbox-settings-content">
<div class="settingsContentBodyContainer">
<div class="slingboxInfoContainer" ng-repeat="info in infoList">
<div class="infoTitle">{{info.title}}</div>
<div class="infoValue">{{info.value}}</div>
</div>
</div>
</div>
<div class="bottom-button changeSlingboxConfigButton" ng-click="handleClickOnSettingsSidePaneBottomButton($event, 'slingboxConfiguration')" ng-show="!showSpinner && showReConfigButton && showSlingboxConfigButton">{{changeSlingboxConfig}}</div>
<div class="embeddedGuideLoading positionAbsoluteCenter" ng-show="showSpinner"></div>
</div>
</script>
<script type="text/ng-template" id="networkSettingsContentTemplate">
<div class="settings-network-content">
<div ng-style="slingboxNetworkContent" class="network-content" ng-show="!showSpinner">
<!-- <div class="settingsContentHeader" ng-if="network_name">{{network_name}}</div>-->
<div class="settingsContentBodyContainer">
<div class="slingboxInfoContainer" ng-repeat="info in infoList">
<div class="infoTitle">{{info.title}}</div>
<div class="infoValue">{{info.value}}</div>
</div>
</div>
</div>
<div class="bottom-button changeSlingboxConfigButton" ng-click="handleClickOnSettingsSidePaneBottomButton($event, 'networkConfiguration')" ng-show="!showSpinner && showReConfigButton && isLAN">{{changeNetworkConfig}}</div>
<div class="embeddedGuideLoading positionAbsoluteCenter" ng-show="showSpinner"></div>
</div>
</script>
<script type="text/ng-template" id="loginPreferencesContentTemplate">
<div class="settings-preferences-content">
<div ng-style="loginPreferencesContent" id="loginPreferencesContainerID" class="preference-content">
<div class="preferences-content" id="loginPreferencesContentID">
<div class="preferences-header-bottom" id="loginPreferencesHeader3ID">
<div id="loginPreferenceDesktopTextID" class="preferences-header-text">
{{loginPreferences.desktop}}
</div>
<div id="loginPreferenceTsbCheckboxID" ng-class="{checkbox:true,checkboxclick:loginPreferences.tsbClicked}" class="preference-checkbox" ng-click="desktopSettingsPreferences.handleEnableTSBClick();" ng-show="loginPreferences.showTsbOption" ></div>
<div id="loginPreferenceTsbTextID" class="preferences-text" ng-show="loginPreferences.showTsbOption">
{{loginPreferences.tsb}}
</div>
<div id="loginPreferenceFrontWindowCheckboxID" ng-class="{checkbox:true,checkboxclick:loginPreferences.frontWindowClicked}" class="preference-checkbox" ng-click="desktopSettingsPreferences.handleAlwaysOnTopClick();" ></div>
<div id="loginPreferenceFrontWindowTextID" class="preferences-text preferences-always-on-top">
{{loginPreferences.frontWindow}}
</div>
</div>
<!--ng-click="handleClickOnSettingsSidePaneBottomButton($event, 'loginPreferences')"-->
</div>
</div>
<!-- <button class="bottom-button changeSlingboxConfigButton" ng-disabled="loginPreferences.buttonDisabled">Save Changes</button>-->
<div class="bottom-button changeSlingboxConfigButton" ng-disabled="loginPreferences.buttonDisabled" ng-click="preferences.handlePreferencesSaveClick();">{{saveChangesText}}</div>
</div>
</script>
<script type="text/ng-template" id="videoInputChangeTemplate">
<div class="settings-network-content">
<div ng-style="videoInputChangeContent" ng-show="!showVideoInputSpinner">
<div id="videoInputChangeContainerID" class="video-input-content">
<div class="video-input-hd-container">
<div id="videoInputChangeComponentCheckboxID"
ng-class="{'radio-button-off':true,'radio-button-on':!videoInput.inputChanged}"
class="preference-radio-button"
ng-click="changeInput('component')">
</div>
<div>{{videoInput.component}}</div>
<div class="video-input-component-img"></div>
<div class="video-input-device-type" ng-class="{'video-input-show-border':videoInput.inputChanged}">{{videoInput.componentDeviceType}}</div>
<div class="video-input-action-hd" ng-model="videoInput.componentId" ng-show="!videoInput.inputChanged" ng-click="handleClickOnSettingsSidePaneBottomButton($event,'slingboxConfiguration',componentInput,videoInput.hdUserAction)">{{videoInput.hdUserAction}}</div>
</div>
<div class="video-input-sd-container">
<div id="videoInputChangeCompositeCheckboxID"
ng-class="{'radio-button-off':true,'radio-button-on':videoInput.inputChanged}"
class="preference-radio-button"
ng-click="changeInput('composite')">
</div>
<div>{{videoInput.composite}}</div>
<div class="video-input-composite-img"></div>
<div class="video-input-device-type">{{videoInput.compositeDeviceType}}</div>
<div class="video-input-action-sd" ng-model="videoInput.compositeId" ng-show="videoInput.inputChanged" ng-click="handleClickOnSettingsSidePaneBottomButton($event,'slingboxConfiguration',compositeInput,videoInput.sdUserAction)">{{videoInput.sdUserAction}}</div>
</div>
</div>
</div>
<div class="embeddedGuideLoading positionAbsoluteCenter" ng-show="showVideoInputSpinner"></div>
</div>
</script>
<script type="text/ng-template" id="confirmWindowOnInputChangeTemplate">
<div class="settings-network-content" id="confirmWindowOnInputChangeID">
<div ng-style="videoInputChangeContent" ng-show="confirmWindowOnInputChange">
<div id="videoInputChangeContainerID" class="warn-dialog-wrapper">
<div class="input-reset-warning-text">{{warningMessage}}</div>
<div class="video-input-sd-container" id="videoInputSdContainerID">
<div class="warn-container-button" id="confirmWindowYesID" ng-click="handleInputResetWarnResponse(1)">{{continue1}}</div>
<div class="warn-container-button" id="confirmWindowNoID" ng-click="handleInputResetWarnResponse(0)">{{cancel}}</div>
</div>
</div>
</div>
<div class="embeddedGuideLoading positionAbsoluteCenter" ng-show="showVideoInputSpinner"></div>
</div>
</script>
<script type="text/ng-template" id="aboutSlingPlayerContentTemplate">
<div class="settings-slingbox-content">
<div ng-style="aboutSlingPlayerContent" class="slingbox-settings-content">
<div class="settingsContentBodyContainer">
<div class="slingboxInfoContainer" ng-repeat="slingPlayer in slingPlayerList" ng-show="$index < (slingPlayerList.length-1)">
<div class="infoTitle">{{slingPlayer.title}}</div>
<div class="infoValue">{{slingPlayer.value}}</div>
</div>
</div>
</div>
</div>
</script>
<!-- inline connecting spinner -->
<script type="text/ng-template" id="smallerConnectingTextTemplate">
<div class="smaller-connecting-spinner-wrapper">
<div class="connecting-spinner-smaller-img"></div>
<div class="connecting-spinner-smaller-text">{{connectingSpinnerText}}</div>
</div>
</script>
<!-- Player page layout -->
<script type="text/ng-template" id="legacyBoxPasswordTemplate">
<div ng-controller="LegacyBoxController">
<ng-include src="legacyBoxPasswordTemplateURL"></ng-include>
</div>
</script>
<script type="text/ng-template" id="passwordPromptTemplate">
<div class="password-prompt" id="passwordPromptContainerID">
{{passwordPromptTitle}}
<div id="passwordPromptInputContainerId" class="legacy-password">
<input type="password" ng-model="Box.legacyboxPassword" id="passwordPromptPasswordId"/>
<!--<button class="bottom-button" id="passwordPromptButtonId" ng-click="legacyPasswordSubmitClicked()">{{buttonText}}</button>-->
</div>
<div class="password-prompt-checkbox-container" id="passwordPromptCheckBoxContainerID">
<div ng-class="{'password-prompt-checkbox':true,checkboxclick:Box.checkboxClicked}" id="passwordPromptCheckBoxID" ng-click="Box.checkboxClicked=!Box.checkboxClicked"></div>
<div class="password-prompt-checkbox-text" id="passwordPromptConditionTextID">{{checkboxText}}</div>
</div>
<div class="password-prompt-desc">
{{content}}
</div>
</div>
</script>
<script type="text/ng-template" id="passwordPromptReconnectTemplate">
<div class="password-prompt" id=passwordPromptReconnectContainerID">
<div class="password-prompt-reconnect-desc">
{{reconnectContent}}
</div>
<div class="password-prompt-reconnect-title">
{{passwordPromptTitle}}
</div>
<div id="passwordPromptReconnectInputContainerId" class="legacy-password">
<input type="password" ng-model="Box.legacyboxPassword" id="passwordPromptReconnectPasswordId"/>
<!--<button class="bottom-button" id="passwordPromptButtonId" ng-click="legacyPasswordSubmitClicked()">{{reconnectButtonText}}</button>-->
</div>
</div>
</script> <!-- Directory page layout -->
<!-- preload all the images -->
<footer>
<div class="pre-load-offline-help-close"></div>
<div class="pre-load-offline-help-close-over"></div>
</footer>
<!-- App cache progress bar -->
<div class="appcache-progress-container ng-hide" id="appCacheProgressID" ng-show="showAppCacheProgressTxt">
<div class="appcache-info-wrapper">
<div class="appcache-progress-spinner" id="loadingSpinnerID"></div>
<div class="appcache-progress-wrapper" id="appcacheProgressWrapperID"></div>
</div>
</div>
<!-- showing box and web app information -->
<div class="web-app-box-info-container" id="WebAppInformationContainerID">
<div class="web-app-info-wrapper">
<div class="web-app-info-scrollable">
<div class="web-app-section">
<div class="web-app-info-header-container">Web App Information</div>
<table>
<tbody><tr>
<td>SPD Version</td>
<td id="SPDNativeVersion"></td>
</tr>
<tr>
<td>WebApp Version</td>
<td>5.3.27.297</td>
</tr>
<tr>
<td>Environment</td>
<td>production</td>
</tr>
<tr>
<td>Host Url</td>
<td>apollo.slingbox.com</td>
</tr>
<tr id="uniqueMachineId">
<td>Machine ID</td>
<td id="uniqueMachineIdValue"></td>
</tr>
</tbody></table>
</div>
<div class="web-app-section box-info-container" id="BoxInformationContainerID">
<div class="web-app-info-header-container">Box Information</div>
<table>
<tbody><tr>
<td>FinderID</td>
<td id="WebAppInfoBoxFinderID" class="ng-binding"></td>
</tr>
<tr>
<td>Name</td>
<td id="WebAppInfoBoxName" class="ng-binding"></td>
</tr>
<tr>
<td>IP Address</td>
<td id="WebAppInfoBoxIPAddress" class="ng-binding"></td>
</tr>
<tr>
<td>Firmware</td>
<td id="WebAppInfoBoxFirmwareVersion" class="ng-binding"></td>
</tr>
<tr>
<td>Firmware Date</td>
<td id="WebAppInfoBoxFirmwareDate" class="ng-binding"></td>
</tr>
<tr>
<td>Product</td>
<td id="WebAppInfoBoxProductId" class="ng-binding"></td>
</tr>
<tr>
<td>Blaster Type</td>
<td id="WebAppInfoBoxBlasterVersion" class="ng-binding"></td>
</tr>
<tr>
<td>MAC Address</td>
<td id="WebAppInfoBoxMACAddress" class="ng-binding"></td>
</tr>
</tbody></table>
</div>
</div>
<div class="web-app-button-wrapper">
<button class="bottom-button" onclick="appGlobals.closeWebAppInfo();">Close</button>
</div>
</div>
</div>
<!-- showing MD Config information -->
<div class="web-app-box-info-container" id="MdConfigInformationContainerID">
<div class="md-info-wrapper">
<div class="web-app-section md-info-section">
<div class="web-app-info-header-container">MD Config Information</div>
<div class="md-info-scrollable">
<table id="mdDetailsTableID"><tbody></tbody></table>
</div>
</div>
<div class="web-app-button-wrapper">
<button class="bottom-button" onclick="appGlobals.closeMDInfo();">Close</button>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/desktop/js/spc-app-messaging.es__vd3dbfd6120c3b6e2e4b817fce58d3b32.gz.js"></script>
<script type="text/javascript" src="/desktop/js/chrome-app-scripts.all__vd3dbfd6120c3b6e2e4b817fce58d3b32.gz.js"></script>
<script>
appGlobals.showWebAppInfo = function() {
var libConfig = DeLorean.LibConfig;
if(true == libConfig.isBoxStatusInfoRequested){
var getBoxInfoJsonObj = Austin.Box.getFullInfo();
$("#WebAppInfoBoxFinderID").html(getBoxInfoJsonObj.finderId);
$("#WebAppInfoBoxFirmwareVersion").html(getBoxInfoJsonObj.firmwareVersion);
$("#WebAppInfoBoxProductId").html(getBoxInfoJsonObj.product);
$("#WebAppInfoBoxBlasterVersion").html(getBoxInfoJsonObj.IRBlaster);
$("#WebAppInfoBoxMACAddress").html(getBoxInfoJsonObj.macAddress);
$("#WebAppInfoBoxName").html(getBoxInfoJsonObj.name);
$("#WebAppInfoBoxIPAddress").html(getBoxInfoJsonObj.IP.address);
$("#WebAppInfoBoxFirmwareDate").html(getBoxInfoJsonObj.firmwareDate);
$("#BoxInformationContainerID").show();
} else if(libConfig.BOX && libConfig.BOX.FINDER_ID) {
$("#WebAppInfoBoxFinderID").html(libConfig.BOX.FINDER_ID);
$("#WebAppInfoBoxName").html(libConfig.BOX.NAME);
$("#WebAppInfoBoxProductId").html(libConfig.BOX.PRODUCT_ID);
$("#WebAppInfoBoxFirmwareVersion").html(libConfig.ANALYTICS.box_fw_version);
var ip, port;
var nativePlayerBoxProps = $("#nativePlayer")[0].boxprops;
if(nativePlayerBoxProps) {
ip = nativePlayerBoxProps.destinationIP;
port = nativePlayerBoxProps.destinationPort;
if(ip && port) {
$("#WebAppInfoBoxIPAddress").html(ip+":"+port);
}
}
$("#BoxInformationContainerID").show();
} else {
$("#BoxInformationContainerID").hide();
}var version = __baseWindowObj.SPDVersion? __baseWindowObj.SPDVersion: __baseWindowObj.version;
$("#SPDNativeVersion").html(version);
if('function' === typeof __baseWindowObj.GetMechineID){
$("#uniqueMachineIdValue").html(__baseWindowObj.GetMechineID());
$("uniqueMachineId").show();
}
$("#WebAppInformationContainerID").show();
};
appGlobals.closeWebAppInfo = function(){
$("#WebAppInformationContainerID, #BoxInformationContainerID").hide();
};
appGlobals.showMDInfo = function(mdConfig){
angular.forEach(mdConfig, function(value, key){
if(typeof value == 'object'){
$('#mdDetailsTableID tbody').append('<tr><td colspan="2" class="md-info-text-header">'+ key + '</td></tr>');
appGlobals.showMDInfo(value);
}else{
$('#mdDetailsTableID tbody').append('<tr><td>'+ key + '</td><td>' + value + '</td></tr>');
}
$("#MdConfigInformationContainerID").show();
});
};
appGlobals.closeMDInfo = function(){
$("#MdConfigInformationContainerID").hide();
};
var isCtrlPressed = false, isShiftPressed = false;
$(document).keyup(function(e) {
if(e.which == 17){
isCtrlPressed=false;
}
if(e.which == 16){
isShiftPressed=false;
}
}).keydown(function(e) {
if(e.which == 17){
isCtrlPressed=true;
}
if(e.which == 16){
isShiftPressed=true;
}
if(e.which == 75 && isCtrlPressed == true && isShiftPressed == true) {
appGlobals.showWebAppInfo();
return false;
}
if(e.which == 74 && isCtrlPressed == true && isShiftPressed == true) {
appGlobals.showMDInfo(DeLorean.MDConfig);
return false;
}
});
</script>
</body></html>
ARTISTAS INTERESADOS EN DARSE A CONOCER EN EL SUR DE COLOMBIA PUEDEN COMUNICARSE CON NUESTROS NUMEROS: 3146201861 - 3146339034
TODAS LAS IMAGENES DE NUESTROS ULTIMOS EVENTOS, DISFRUTELAS EN: WWW.FACEBOOK.COM, REGISTRARSE Y BUSCAR "SULMA ORDOÑEZ" O "JARDIEL RIVERA"
SIGUENOS EN: