Advertisement
Guest User

Sky EPG object

a guest
Oct 29th, 2016
655
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var epg = {};
  2. if (getURLParam("anytime") !== null && getURLParam("anytime") == 1) {
  3.     location.href = "/saotv/saotv.html"
  4. }
  5.  
  6. function getProxyRoot() {
  7.     return "/tvlistings-proxy/TVListingsProxy"
  8. }
  9. epg.config = {
  10.     siteId: 1,
  11.     cookieSuffix: "",
  12.     hitbox_root: "/epg/mysky",
  13.     hitbox_root2: "_epg_mysky",
  14.     strings: {
  15.         unexpectedError: "Unexpected error. If this issue continues please contact customer services.",
  16.         selectReminderOption: "Please choose how you would like a reminder to be sent to you",
  17.         sessionTimeout: "You have been signed out due to inactivity. To take full advantage of the TV Listings' features, please sign in again."
  18.     },
  19.     search: {
  20.         vodHtml: "",
  21.         airings_vodHtml: ""
  22.     },
  23.     general: {
  24.         default_view: 0,
  25.         enable_grid: true,
  26.         enable_grid_detailed: true,
  27.         enable_list: true,
  28.         enable_saotv: true,
  29.         enable_login: true,
  30.         enable_favourites: true,
  31.         enable_search: true,
  32.         enable_search_upsell: true,
  33.         enable_filter_bar: true,
  34.         enable_filters: true,
  35.         enable_survey: true,
  36.         enableChannelPrefs: true,
  37.         timeOfDay_format: [{
  38.             hour: 0,
  39.             text: "12am+",
  40.             duration: 480
  41.         }, {
  42.             hour: 8,
  43.             text: "8am+",
  44.             duration: 240
  45.         }, {
  46.             hour: 12,
  47.             text: "12pm+",
  48.             duration: 180
  49.         }, {
  50.             hour: 15,
  51.             text: "3pm+",
  52.             duration: 180
  53.         }, {
  54.             hour: 18,
  55.             text: "6pm+",
  56.             duration: 240
  57.         }, {
  58.             hour: 22,
  59.             text: "10pm+",
  60.             duration: 120
  61.         }],
  62.         enable_remote_record: true,
  63.         enable_watch_now: false,
  64.         enable_remind_me: false,
  65.         enable_send_to_friend: false,
  66.         enable_promos: true,
  67.         enable_colour_icons_by_default: false,
  68.         infoPane_position: 0,
  69.         infoPane_trigger: 0,
  70.         infoPane_textarea: '<div id="epg_info_text"><strong><span class="title"></span>, <span class="start"></span>, <span class="duration"></span></strong><span class="desc"></span></div>',
  71.         infoPane_branding_enabled: true,
  72.         animation_frameRate: 25,
  73.         modalOffset: {
  74.             top: 0,
  75.             left: 0
  76.         }
  77.     },
  78.     auth: {
  79.         loginHeader: "Welcome to Sky TV listings",
  80.         loginCopy: "Sign in with your Sky iD to see your Sky channel lineup and to use Remote Record.",
  81.         enableChannelSetup: false
  82.     },
  83.     toolbar: {
  84.         enable_dates: true,
  85.         enable_now: true,
  86.         enable_time_of_day: true,
  87.         enable_provider: false,
  88.         nowPos: "right"
  89.     },
  90.     grid: {
  91.         enable_channel_categories: true,
  92.         enable_detailed_grid_channel_titles: true,
  93.         gridWithBubbleOffsetX: -240,
  94.         gridWithBubbleOffsetY: -10,
  95.         enable_genre_labels: true,
  96.         showFullTimeBarTime: false,
  97.         paddingBottom: 237,
  98.         timelineInsideGrid: true,
  99.         enableNextDayOverlay: true,
  100.         enableChannelClick: false
  101.     },
  102.     bubble: {
  103.         enable_bubble: true,
  104.         enable_other_airings: true,
  105.         enable_editors_choice: true,
  106.         enable_tags: true,
  107.         closeButton: true,
  108.         bubbleTitle: true,
  109.         enableDeepLink: true,
  110.         html: '<div id="epg_bubble"><div id="epg_bubble_BG"></div><div id="epg_bubble_inner"></div></div>',
  111.         iBubbleXOffset: -230,
  112.         iBubbleYOffset: -35,
  113.         iInverseBubbleYOffset: 30,
  114.         iMinBubbleY: 0,
  115.         requiresRequest: true,
  116.         programInfoTarget: "bubble",
  117.         programDescriptionTarget: "bubble",
  118.         remoteRecordTarget: "bubble",
  119.         watchNowTarget: "bubble",
  120.         remindMeTarget: "bubble",
  121.         sendToFriendTarget: "bubble",
  122.         techDetailsTarget: "bubble",
  123.         editorsChoiceTarget: "bubble",
  124.         otherAiringsTarget: "bubble",
  125.         relatedTagsTarget: "bubble",
  126.         clearingDiv: true,
  127.         vodHtml: "",
  128.         large: true
  129.     },
  130.     urlRegister: "/portal/site/skycom/mysky/register",
  131.     urlForgottenPassword: "/portal/site/skycom/mysky/register",
  132.     urlForgottenUsername: "/portal/site/skycom/mysky/register",
  133.     urlRemoteRecordCheckBoxSetup: "/portal/site/skycom/mysky/remoterecord",
  134.     urlFindOutAboutGettingSky: "/portal/site/skycom/skyproducts/getsky",
  135.     urlFindOutAboutRemoteRecord: "http://www.sky.com/portal/site/skycom/mysky/remoterecord",
  136.     urlFindOutAboutGettingSkyPlus: "/portal/site/skycom/skyproducts/getsky",
  137.     urlActivateRemoteRecord: "http://www.sky.com/portal/site/skycom/mysky/remoterecord",
  138.     urlRemoteRecordUpgradeAccount: "/portal/site/skycom/mysky/profile?formaction=mpViewProfileAccount",
  139.     urlTermAndConditions: "/portal/site/skycom/terms",
  140.     urlMySkyProfile: "https://mysky.sky.com/portal/site/skycom/mysky/manageprofile/edit?formaction=mpViewUserProfile",
  141.     urlWatchNow: "#",
  142.     urlSkyIDForgotUsername: "/forgotusername?successUrl=#SUCCESS_CALLBACK#&cancelUrl=#CANCEL_CALLBACK#",
  143.     urlSkyIDForgotPassword: "/resetpassword?successUrl=#SUCCESS_CALLBACK#&cancelUrl=#CANCEL_CALLBACK#",
  144.     urlSkyIDSignup: "/signup",
  145.     trace: {
  146.         traceAll: false,
  147.         traceCurrentTime: false,
  148.         traceGrid: false,
  149.         traceBubble: false,
  150.         traceInitVars: false,
  151.         traceList: false,
  152.         traceAuth: false,
  153.         traceSearch: false,
  154.         traceUi: false,
  155.         traceData: false,
  156.         traceFiltering: false,
  157.         traceViews: false
  158.     },
  159.     ajaxTimeout: 20000,
  160.     ajaxTimeoutRetryLimit: 2,
  161.     folderPrefix: getProxyRoot() + "/",
  162.     fileInit: getProxyRoot() + "/init.json",
  163.     fileInitUser: getProxyRoot() + "/initUser.json",
  164.     fileGrid: getProxyRoot() + "/tvlistings.json",
  165.     fileProgram: getProxyRoot() + "/programmeDetails.json",
  166.     fileSearch: getProxyRoot() + "/freeTextSearch.json",
  167.     fileSuggestion: getProxyRoot() + "/suggestions.json",
  168.     fileFilterGenres: getProxyRoot() + "/categories.json",
  169.     fileFilterChannels: getProxyRoot() + "/filter.json",
  170.     fileUserLogin: getProxyRoot() + "/login.do",
  171.     fileUserLogOut: getProxyRoot() + "/logout.do",
  172.     fileRemoteRecord: getProxyRoot() + "/remoteRecord.json",
  173.     fileChannelPrefs: getProxyRoot() + "/packageAndRegionList.json",
  174.     fileUserPackage: getProxyRoot() + "/userProductAndRegion.json",
  175.     filePublicKey: getProxyRoot() + "/getPublicKey.json",
  176.     ajaxReminderDetails: getProxyRoot() + "/reminderDetails.json",
  177.     ajaxReminderSave: getProxyRoot() + "/reminderSave.json",
  178.     ajaxReminderDelete: getProxyRoot() + "/reminderDelete.json",
  179.     ajaxEmailToFriend: getProxyRoot() + "/emailToFriend.json",
  180.     ajaxEmailToFriendDetails: getProxyRoot() + "/emailToFriendDetails.json",
  181.     ajaxGetTime: getProxyRoot() + "/getTime.json",
  182.     sRPCMethod: "post",
  183.     eEPG: "skyEPG",
  184.     eToolbar: "epg_header",
  185.     eGrid: "epg_grid",
  186.     eSchedule: "gridSchedule",
  187.     eWrapper: "gridWrapper",
  188.     eChannels: "epg_key",
  189.     eFavourite: "gridFavourite",
  190.     eProgramme: "gridProgramme",
  191.     ePromo: "gridPromo",
  192.     eTimeline: "epg_timeline",
  193.     eList: "epg_list",
  194.     eListBar: "listViewBar",
  195.     eListBarSortOptions: "epg_ListViewChoice",
  196.     eListBarSortChannel: "epg_listChannel",
  197.     eListBarSortTime: "epg_listTime",
  198.     eListBarFilterWrapper: "epg_list_filters",
  199.     eListMain: "epg_listViewArea",
  200.     eListScroller: "epg_listViewScroller",
  201.     eSearch: "epg_search",
  202.     eSearchPane: "epg_searchPane",
  203.     eFilterCloud: "epg_filterCloud",
  204.     eInfoPane: "epg_info",
  205.     eLoader: "epg_loading",
  206.     eShowInfo: "epg_info_text",
  207.     eBrand: "epg_branding",
  208.     eAlert: "epg_alert_pane",
  209.     eModalDialogue: "epg_modalDialogue",
  210.     eModalOverlay: "epg_modalOverlay",
  211.     eModalPane: "epg_modalPane",
  212.     eInfoDrag: "epg_info_drag",
  213.     eInfoCloseDrag: "epg_close_info_drag",
  214.     sExtendedGridCSS: "epg_extendedGrid",
  215.     sGridCSS: "epg_grid",
  216.     sExtendedGridChannelsCSS: "epg_keyExtended",
  217.     sGridChannelsCSS: "epg_key",
  218.     iMaxChannels: 9,
  219.     iFirstRequestChannels: 13,
  220.     iMaxChannelsLists: 5,
  221.     iChannelWidth: 6000,
  222.     iGridHeight: 30,
  223.     iExtendedHeight: 100,
  224.     iBannerHeight: 90,
  225.     iExtendedBannerHeight: 180,
  226.     sFaveHTML: "Click ( &#160; &#160; ) to add favourite",
  227.     iTabHeight: 30,
  228.     iMaxTimeShows: 25,
  229.     extendedGrid: "epg_extendedGrid",
  230.     p_dontmiss: "epg_dontmiss",
  231.     p_offair: "epg_offair",
  232.     listHiddenBubble: "epg_hidden_bubble",
  233.     listBubbleRow: "epg_bubbleRow",
  234.     listCollapse: "epg_expand_hide",
  235.     listExpand: "epg_expand_show",
  236.     api: {
  237.         view: {
  238.             enabled: {
  239.                 grid: true,
  240.                 detailed: true,
  241.                 list: true
  242.             }
  243.         },
  244.         toolbar: {
  245.             dates: {
  246.                 initial: 0,
  247.                 days: 7,
  248.                 enabled: true
  249.             },
  250.             time_of_day: {
  251.                 initial: 0,
  252.                 enabled: true
  253.             },
  254.             provider: {
  255.                 initial: 0,
  256.                 enabled: false
  257.             }
  258.         },
  259.         authentication: {
  260.             enabled: false
  261.         },
  262.         channels: {
  263.             categories: {
  264.                 enabled: true
  265.             }
  266.         },
  267.         favourites: {
  268.             enabled: true
  269.         },
  270.         providers: {
  271.             enabled: true,
  272.             initial: 0,
  273.             default_packages: null
  274.         },
  275.         promos: {
  276.             enabled: true
  277.         },
  278.         search: {
  279.             enabled: true,
  280.             upsell_message: {
  281.                 enabled: true,
  282.                 link: false
  283.             }
  284.         },
  285.         filters: {
  286.             enabled: true,
  287.             initial: null,
  288.             editable: false,
  289.             quickbrowse: {
  290.                 enabled: true
  291.             },
  292.             special: true,
  293.             allhd: true,
  294.             all3d: false
  295.         },
  296.         list: {
  297.             sort_type: {
  298.                 initial: 0,
  299.                 enabled: {
  300.                     channel: true,
  301.                     time: true
  302.                 }
  303.             },
  304.             dropdowns: {
  305.                 enabled: {
  306.                     genre: true,
  307.                     channel: true
  308.                 }
  309.             }
  310.         },
  311.         bubble: {
  312.             enabled: true,
  313.             editors_choice: {
  314.                 enabled: true
  315.             },
  316.             other_airings: {
  317.                 enabled: true
  318.             },
  319.             tags: {
  320.                 enabled: true
  321.             }
  322.         },
  323.         remote_record: {
  324.             enabled: true
  325.         },
  326.         other: {
  327.             branding: {
  328.                 enabled: true
  329.             }
  330.         }
  331.     },
  332.     init: function() {},
  333.     constants: {
  334.         editableIMGurl: "images",
  335.         skyIMGurl: "images/sky",
  336.         colourLogoPath: "http://epgstatic.sky.com/epglogos/colour",
  337.         monoLogoPath: "http://epgstatic.sky.com/epglogos/mono",
  338.         favouritesHeader: "Favourites",
  339.         channelHeaderLength: 16,
  340.         uid: null,
  341.         gridTimeOffset: 0,
  342.         duration: 24,
  343.         maxChannels: 5,
  344.         em_minute: 0.2,
  345.         em_minuteextendedGrid: null,
  346.         firstTime: -1,
  347.         lastTime: +8,
  348.         maxDays: 8,
  349.         channelHeight: 3,
  350.         channelKeyId: "epg_channels",
  351.         charsPer15mins: 6.75,
  352.         charsPer15minsextendedGrid: 12,
  353.         charsPerMin: 10,
  354.         isClickDelay: 750,
  355.         infobarDescLength: 45,
  356.         ultraMiniProg: 3 * 60,
  357.         miniProg: 5 * 60,
  358.         smallProg: 10 * 60,
  359.         listViewBarId: "listViewBar",
  360.         listwrapperId: "epg_listViewArea",
  361.         loadingImageId: "epg_loading_img",
  362.         loadingImage: null
  363.     }
  364. };
  365. epg.config.deepLinking = {
  366.     bDeepLinkCheckedOnPageLoad: false,
  367.     bReminderActionComplete: false,
  368.     bShareActionComplete: false,
  369.     checkDeepLink: function(C) {
  370.         if (C && epg.config.deepLinking.bDeepLinkCheckedOnPageLoad) {
  371.             return false
  372.         }
  373.         epg.config.deepLinking.bDeepLinkCheckedOnPageLoad = true;
  374.         var D = getURLParam("channelId");
  375.         var E = getURLParam("eventId");
  376.         var F = getURLParam("epgSearchQuery");
  377.         var A = getURLParam("epgMethod");
  378.         var B = getURLParam("watchnowurl");
  379.         if (B !== null && B != "") {
  380.             urlWatchNow = B
  381.         }
  382.         if (E && D && (A == "event" || A === null)) {
  383.             return [E, D]
  384.         } else {
  385.             if (F && A == "search") {
  386.                 epg.search.ajaxSearch(F, false)
  387.             } else {
  388.                 if (F && A == "searchExact") {
  389.                     epg.search.ajaxSearch(F, true)
  390.                 } else {
  391.                     if (D && A == "findChannel") {
  392.                         epg.grid.gotoChannel(D)
  393.                     }
  394.                 }
  395.             }
  396.         }
  397.         return false
  398.     },
  399.     getProgramStartTime: function(E) {
  400.         var B = E.program.eventid;
  401.         var A = E.program.channelid;
  402.         var D = E.program.start;
  403.         var C = getURLParam("epgSearchQuery");
  404.         if (epg.date.nixToMidnight(parseInt(E.program.start, 10)) < epg.date.nixToMidnight(epg.date.currentTime.getTime())) {
  405.             if (C) {
  406.                 epg.search.ajaxSearch(C, false)
  407.             } else {
  408.                 epg.ui.Alerts.modalDialogue.open.error("Sorry, we could not find this programme. It is possible it has already been broadcast.")
  409.             }
  410.         } else {
  411.             epg.views.gotoEvent(B, A, D, true)
  412.         }
  413.     }
  414. };
  415.  
  416. function trace(C, B, A) {
  417.     if (navigator.appName != "Netscape") {
  418.         return
  419.     }
  420.     if (epg.config.trace[C] === undefined || (!epg.config.trace[C] && !epg.config.trace.traceAll)) {
  421.         return
  422.     }
  423.     var D = C + ": " + B;
  424.     if (A && A.callee !== undefined) {
  425.         for (var E = 0; E < A.length; E++) {
  426.             D += ", " + A[E]
  427.         }
  428.         console.log(D)
  429.     } else {
  430.         if (A && typeof A == "object") {
  431.             console.log(D);
  432.             console.dir(A)
  433.         } else {
  434.             if (A) {
  435.                 console.log(D + ", " + A)
  436.             } else {
  437.                 console.log(D)
  438.             }
  439.         }
  440.     }
  441. }
  442.  
  443. function traceCurrentTime(A) {
  444.     trace("traceCurrentTime", A, epg.date.currentTime.toString())
  445. }
  446.  
  447. function traceGrid(A, B) {
  448.     trace("traceGrid", A, B)
  449. }
  450.  
  451. function traceBubble(A, B) {
  452.     trace("traceBubble", A, B)
  453. }
  454.  
  455. function traceInitVars(A, B) {
  456.     trace("traceInitVars", A, B)
  457. }
  458.  
  459. function traceList(A, B) {
  460.     trace("traceList", A, B)
  461. }
  462.  
  463. function traceAuth(A, B) {
  464.     trace("traceAuth", A, B)
  465. }
  466.  
  467. function traceSearch(A, B) {
  468.     trace("traceSearch", A, B)
  469. }
  470.  
  471. function traceUi(A, B) {
  472.     trace("traceUi", A, B)
  473. }
  474.  
  475. function traceData(A, B) {
  476.     trace("traceData", A, B)
  477. }
  478.  
  479. function traceFiltering(A, B) {
  480.     trace("traceFiltering", A, B)
  481. }
  482.  
  483. function traceViews(A, B) {
  484.     trace("traceViews", A, B)
  485. }
  486.  
  487. function getURLParam(F) {
  488.     var E = null;
  489.     var D = window.location.href;
  490.     if (D.indexOf("?") > -1) {
  491.         var B = D.substr(D.indexOf("?"));
  492.         var G = B.split("&");
  493.         for (var A = 0, C = G.length; A < C; A++) {
  494.             if (G[A].indexOf(F + "=") > -1) {
  495.                 var H = G[A].split("=");
  496.                 E = H[1];
  497.                 break
  498.             }
  499.         }
  500.     }
  501.     return E
  502. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement