/* DO NOT EDIT THIS FILE!
		The contents of this file are dynamically generated. In order to make changes, update the
		respective source files.*/

// /vendor/json2.js from cimspire
var JSON;if(!JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==="string"){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());
// /tvListings/rSched-tracking.js from default
var remoteSchedulingTracker={};(function(e,c){var a=function(g,h){function f(){c.prop32="";c.eVar32="";c.eVar48="";c.prop28="";c.prop48="";c.linkTrackEvents="";c.linkTrackVars="";c.products="";c.events="";c.evar29=""}return function(i){f();c.linkTrackEvents="Event "+g;c.events=c.linkTrackEvents;c.prop28=h;c.eVar29=h;c.products=";"+i;c.linkTrackVars="prop28,prop32,prop48,eVar29,eVar32,eVar48,";((i)&&(i.length>0))?(c.linkTrackVars+="products,events"):(c.linkTrackVars+="events");c.prop32=(xplat.tvlistings.userstatus=="comcast")?(c.prop32="on network"):(c.prop32="off network");c.eVar32=c.prop32;c.prop48=user.ti;c.eVar48=c.prop48;c.tl(this,"o",h)}};var d={myDVR_manager_invoke:{description:"myDVR Manager:Scheduled Recordings Tab",event:32},myDVR_manager_save_settings:{description:"myDVR Manager:Scheduled Recordings:Episode Settings Saved",event:33},myDVR_manager_cancel:{description:"myDVR Manager:Scheduled Recordings:Episode Recording Canceled",event:33},myDVR_manager_select_series_tab:{description:"myDVR Manager:Series Manager Tab",event:32},myDVR_manager_series_save_settings:{description:"myDVR Manager:Series Manager:Series Settings Saved",event:33},myDVR_manager_series_cancel:{description:"myDVR Manager:Series Manager:Series Recording Canceled",event:33},myDVR_manager_select_settings_tab:{description:"myDVR Manager:DVR Settings Tab",event:32},myDVR_manager_select_todo_tab:{description:"myDVR Manager:Scheduled Recordings Tab",event:32},myDVR_grid_dialogue_invoke:{description:"rDVR:Schedule Show Recording",event:32},myDVR_grid_dialogue_schedule_episode:{description:"rDVR:Episode Recording Scheduled",event:33},myDVR_grid_dialogue_series_invoke:{description:"rDVR:Schedule Series Recording",event:32},myDVR_grid_dialogue_series_record:{description:"rDVR:Series Recording Scheduled",event:33}};for(var b in d){if(d.hasOwnProperty(b)){e[b]=new a(d[b].event,d[b].description)}}})(remoteSchedulingTracker,s);
// /xp.headend.js from default
if(typeof xplat==="undefined"||!xplat){var xplat={}}xplat.headend=(function(){var a={caller:null,containerID:null,data:null,dataSource:null,headendShowing:false,headendElem:null,isNational:false,invalidZipCode:false,modalOverlayID:"xplat-modal-overlay",usesOverlay:true,hdchArray:{},zipHdArray:{},useDAC:true,headendListCtn:null,zip:"",timezoneOverwrite:false,overwrteTz:"",UISPrefsStructure:{tms:{zipCode:null,headend:null,headendName:null,timezone:null,timezoneOffset:null},rovi:{zipCode:null,headend:null,headendName:null,timezone:null,timezoneOffset:null}},events:{CHANNEL_LIST_LOADED:"channelListLoaded",GET_HEADEND:"getHeadend",GET_TIMEZONE_INFO:"getTimezoneInfo",HEADEND_CLOSE_EVENT:"headendCloseEvent",HEADEND_LIST_BUILT:"headendListBuilt",HEADEND_SELECTED:"headendSelected",SHOW_TIMEZONE_OVERWRITE:"showTimezoneOverwrite",TIMEZONE_OVERRIDDEN:"timezoneOverridden",TIMEZONE_NOT_OVERRIDDEN:"timezoneNotOverridden",ZIP_CODE_ENTERED:"zipCodeEntered",ZIP_CODE_UNDEFINED:"zipCodeUndefined"},initEvents:function(){var b=this,c=$("#headend-zip-form");if(c.attr("setupEvents")){return}c.attr("setupEvents",true);c.submit(function(){b.getHeadendList(null,b.postGetHeadendList());return false});$("body").keyup(function(g){var d=xplat.headend;var h=$(g.target);if(h.attr("id")=="headend-zip"){var f=new RegExp(/(^\d{1,}$)/);if(h.attr("value").length===0||(h.attr("value").length<5&&f.test(h.attr("value")))){$("#headend-localization-error").hide();$("#headend-title-label").html("Enter Your Zip Code");d.headendElem.addClass("resultsHidden").removeClass("showHeadend");$("#headend-timezone").removeClass("open");$("#headend-timezone dd").hide();$("#headend-list,#lineup-list, #lineup-list-header h4").html("");xplat.headend.invalidZipcode=false}if(h.attr("value").length>0&&!f.test(h.attr("value"))&&!d.useDAC){$("#headend-title-label").html("Enter Your Zip Code");d.headendElem.addClass("resultsHidden").removeClass("showHeadend");$("#headend-list,#lineup-list, #lineup-list-header h4").html("");$("#headend-localization-error").show();xplat.headend.invalidZipcode=true}if(h.attr("value").length==5&&f.test(h.attr("value"))||d.useDAC){if(g.keyCode==13){$("#headend-zip-submit-button").trigger("click")}}}if(g.keyCode==27&&(d.usesOverlay&&d.headendShowing)){xplat.headend.closeHeadend();d.headendElem.trigger(xplat.headend.events.HEADEND_CLOSE_EVENT)}});this.headendElem.click(function(j){var n=$(j.target);var l=xplat.headend;var m=$(this);var d=false;if(n.attr("id")=="headend-close"){xplat.headend.closeHeadend();m.trigger(xplat.headend.events.HEADEND_CLOSE_EVENT)}else{if(n.hasClass("headend-item")){l.getHeadendChannelList(n)}else{if(n.attr("id")=="view-not-dac-headends"){a.isNational=false;var k=$("#headend-zip");l.headendElem.removeClass("useDac");n.text("View more service areas").attr("id","view-more-headends");if(User.tv.zipCode&&User.tv.zipCode.toLowerCase()!="auto"){k.attr("value",User.tv.zipCode);$("#headend-zip-submit-button").trigger("click")}else{k.attr("value","");$("#headend-zip").trigger("keyup")}return false}else{if(n.attr("id")=="view-more-headends"){a.isNational=true;$("#headend-zip-submit-button").trigger("click");n.text("View Comcast service areas").attr("id","view-comcast-headends");return false}else{if(n.attr("id")=="view-comcast-headends"){a.isNational=false;$("#headend-zip-submit-button").trigger("click");n.text("View more service areas").attr("id","view-more-headends");return false}else{if(n.attr("id")=="headend-zip-submit-button"||n.parent().attr("id")=="headend-zip-submit-button"){if(!xplat.headend.invalidZipcode){if($("#headend-zip",m).attr("value").length<5&&$("#headend-zip",m).attr("value").toLowerCase()!="auto"){$("#headend-title-label",m).html("Enter Your Zip Code");$("#headend-timezone").removeClass("open");m.addClass("resultsHidden").removeClass("showHeadend");$("#headend-list,#lineup-list, #lineup-list-header h4",m).html("")}else{var h=$("#headend-zip",m).attr("value");m.trigger(xplat.headend.events.ZIP_CODE_ENTERED,[h]);xplat.headend.getHeadendList(h,xplat.headend.postGetHeadendList)}}}else{if(n.attr("id")=="headend-submit-button"||n.parent().attr("id")=="headend-submit-button"){var f=$("#results ul#headend-list li.active",m),i=$("#headend-tz",m);if(l.usesOverlay){try{if(f.attr("zip").toLowerCase()=="auto"){l.useDAC=true;FC.services.overrideUseDac({override:l.useDAC,dacTz:i.text(),dacTzoffset:i.attr("tzoffset")},function(){m.trigger(xplat.headend.events.HEADEND_SELECTED,[f])})}else{l.useDAC=false;FC.services.overrideUseDac({override:l.useDAC,headend:f.attr("headend"),zip:f.attr("zip"),headendName:f.attr("headendname"),tz:i.text(),tzOffset:i.attr("tzoffset")},function(){l.writeFancastCookies(l.dataSource,f.attr("headend"),f.attr("zip"),f.attr("headendname"));m.trigger(xplat.headend.events.HEADEND_SELECTED,[f])})}}catch(g){}setTimeout(function(){l.closeHeadend()},100)}}else{if(n.attr("id")=="headend-cancel-button"||n.parent().attr("id")=="headend-cancel-button"){l.closeHeadend();m.trigger(xplat.headend.events.HEADEND_CLOSE_EVENT)}else{if(n.hasClass("dropdown")||n.parent().hasClass("dropdown")){if(n.parents("dl").hasClass("open")||n.hasClass("open")){n.parents("dl").removeClass("open");$("#headend-timezone dd").hide()}else{n.parents("dl").addClass("open");$("#headend-timezone dd").show()}}else{if(n.hasClass("tz-value")){$("#headend-tz").attr("tzoffset",l.convertTimeZone(n.text())).html(n.text());$("#headend-timezone").removeClass("open");$("#headend-timezone dd").hide();m.trigger(xplat.headend.events.TIMEZONE_OVERRIDDEN)}else{$("#headend-timezone.open dd").hide();$("#headend-timezone.open").removeClass("open")}}}}}}}}}}});this.headendListCtn=$("#headend-list",this.headendElem)},convertTimeZone:function(c){function b(f){if(f&&(f=="HAWAII"||f=="ARIZONA")){return 0}var d=new Array();d[2008]=[(new Date(2008,2,9,2)),(new Date(2008,10,2,2))];d[2009]=[(new Date(2009,2,8,2)),(new Date(2009,10,1,2))];d[2010]=[(new Date(2010,2,14,2)),(new Date(2010,10,7,2))];d[2011]=[(new Date(2011,2,13,2)),(new Date(2011,10,6,2))];d[2012]=[(new Date(2012,2,11,2)),(new Date(2012,10,4,2))];d[2013]=[(new Date(2013,2,10,2)),(new Date(2013,10,3,2))];d[2014]=[(new Date(2014,2,9,2)),(new Date(2014,10,2,2))];d[2015]=[(new Date(2015,2,8,2)),(new Date(2015,10,1,2))];var e=new Date();if(e>d[e.getFullYear()][0]&&e<d[e.getFullYear()][1]){return 1}else{return 0}}if(c=="PACIFIC"){return(-8+b(c))}else{if(c=="HAWAII"){return(-10+b(c))}else{if(c=="CENTRAL"){return(-6+b(c))}else{if(c=="EASTERN"){return(-5+b(c))}else{if(c=="MOUNTAIN"||c=="ARIZONA"){return(-7+b(c))}else{if(c=="ALASKA"){return(-9+b(c))}else{return -4}}}}}}},closeHeadend:function(){try{FC.toggleFlash("show")}catch(b){}this.headendElem.hide().addClass("resultsHidden").removeClass("showHeadend");$("#headend-zip").attr("value","");$("#headend-submit-button",this.headendElem).show();if(this.usesOverlay){$("#"+this.modalOverlayID).hide();this.headendShowing=false}return false},openHeadend:function(d,g,c,f){var b=this;try{FC.toggleFlash("hide");myLytebox.end()}catch(e){}if(this.usesOverlay){$("#"+this.modalOverlayID).show();this.headendShowing=true}if(typeof d!=="undefined"&&d!==null&&d!=="null"){this.headendElem.trigger(this.events.TIMEZONE_NOT_OVERRIDDEN);$("#headend-zip",this.headendElem).attr("value",(b.useDAC)?"auto":d);$("#headend-channel-list",this.headendElem).html("")}$("#headend-title-label",this.headendElem).html("Enter Your Zip Code");this.headendElem.removeClass("useDac");if(b.useDAC){this.headendElem.addClass("useDac");$("#change-lineup-msg div").attr("id","view-not-dac-headends").text("Change your channel lineup")}if(this.headendElem){this.headendElem.css("display","block")}$("#headend-zip",this.headendElem).focus();if(g){if(!c){c=this.convertTimeZone(g)}$("#headend-tz").attr("tzoffset",this.convertTimeZone(c)).html(g);this.timezoneOverwrite=true;this.overwriteTz=g}if(($("#headend-zip").length>0&&$("#headend-zip").val().length===5)||$("#headend-zip").val().toLowerCase()=="auto"){$("#headend-zip-submit-button").trigger("click")}if(f){(f())}},getHeadendList:function(c,g){var b=this;if(typeof c=="undefined"||c===null){try{c=$.trim($("#headend-zip").attr("value"))}catch(f){c=this.headendElem.triggerHandler(b.events.ZIP_CODE_UNDEFINED)}}b.zip=c;if(c in b.zipHdArray&&b.zipHdArray[c]&&b.zipHdArray[c].headends){b.data=b.zipHdArray[c];if(g){g()}}else{if(c.toLowerCase()=="auto"){g.call(this)}else{var d="/vodservice/rest/tv/"+this.dataSource+"/headend/"+c+".json?national=true";$.ajax({url:d,async:true,dataType:"json",success:function(e){b.data=e;b.zipHdArray[c]=e;if(g){g()}}})}}},postGetHeadendList:function(){var b=xplat.headend;if(b.useDAC||(b.data.headends&&b.data.headends.length>0)){if((b.usesOverlay&&b.headendShowing)||!b.usesOverlay){b.buildHeadendList()}$("#headend-timezone").removeClass("open");b.headendListCtn.removeClass("show-dac");b.headendElem.removeClass("resultsHidden").addClass("showHeadend");$("#headend-title-label",b.headendElem).html("Choose Your Service Area");if(b.zip==="auto"){$("#dac-info span").text(User.tv.controllerId+"_"+User.tv.mapId);b.headendListCtn.addClass("show-dac")}else{$("#view-not-dac-headends").attr("id","view-more-headends").text("View more service areas")}}else{$("#headend-title-label").html("Enter Your Zip Code");$("#headend-timezone").removeClass("open");$("#headend-list,#lineup-list, #lineup-list-header h4").html("");$("#headend-localization-error",b.headendElem).show()}},getHeadendChannelList:function(d){var b=this;b.headendListCtn.find("li.active").removeClass("active");d.addClass("active");$("#lineup-list-header h4").text(d.attr("headendName"));var c=((b.useDAC&&b.zip==="auto")||(d.attr("controllerId")&&(d.attr("mapId")||d.attr("mapId")==="0")))?d.attr("controllerId")+"_"+d.attr("mapId"):d.attr("headend");if(c in this.hdchArray){this.data=this.hdchArray[c];this.buildHeadendChannelList();var f=b.headendElem.triggerHandler(b.events.GET_HEADEND);if(d.attr("headend")!=f||(d.attr("headend")==f&&!b.timezoneOverwrite)){if(d.attr("tzoffset")&&d.attr("tz")&&d.attr("headend")){$("#headend-tz").attr("tzoffset",d.attr("tzoffset")).html(d.attr("tz"))}}else{if(b.overwriteTz){$("#headend-tz").attr("tzoffset",b.convertTimeZone(b.overwriteTz)).html(b.overwriteTz)}}}else{var e="";if(c.split("_").length==2){e="/vodservice/rest/tv/dac/channels/"+d.attr("controllerId")+"/"+d.attr("mapId")}else{e="/vodservice/rest/tv/"+this.dataSource+"/channels/"+d.attr("headend")}$.ajax({url:e,async:true,dataType:"json",success:function(h){if(!g){var g=b.headendListCtn.find("li.active")}b.data=h;b.hdchArray[(b.useDAC)?g.attr("controllerId")+"_"+g.attr("mapId"):g.attr("headend")]=b.data;b.buildHeadendChannelList();if(b.headendShowing||!b.usesOverlay){var i=b.headendElem.triggerHandler(b.events.GET_HEADEND);if(g.attr("headend")!=i||!b.timezoneOverwrite){if(g.attr("headend")!=i||(g.attr("headend")==i&&!b.timezoneOverwrite)){$("#headend-tz").attr("tzoffset",g.attr("tzoffset")).html(g.attr("tz"))}}}else{if(b.overwriteTz){$("#headend-tz").attr("tzoffset",b.convertTimeZone(b.overwriteTz)).html(b.overwriteTz)}}},error:function(){},complete:function(){}})}},buildHeadendChannelList:function(){var g=$("#lineup-list");g.fadeTo(150,0.5);g.html("<table><tbody></tbody></table>");var c=[];for(var f=0;f<this.data.channels.length;f++){var h=this.data.channels[f];var b="";var j="";var e="";if(h.callSign=="VODDM"||h.callSign=="On D"){b="";e="OnDemand"}else{if(h.hasOwnProperty("parentNetwork")&&h.parentNetwork!==""){j=h.parentNetwork.toUpperCase()}e=h.callSign}b=e.replace(/@/,"AT");b=b.replace(/[^a-zA-Z0-9]/g,"");b=(b.match(/^[0-9]/)!==null?"C"+b:b);var d='<td><div class="logo '+b.toUpperCase()+'"></div></td> 					   <td><span class="bt">'+parseInt(h.chNumber,10)+'</span></td><td><span class="bt">'+e+"</span></td><td><span>"+(j!==""?j:"&nbsp;")+"</span></td>";c[f]="<tr>"+d+"</tr>"}g.find("tbody").html(c.join(""));g.fadeTo(150,1)},buildHeadendList:function(){var h=xplat.headend,c=[],d=0;if(User.tv.controllerId&&(User.tv.mapId||User.tv.mapId===0)&&h.caller!=="DVR"){c.push('<li deviceType="rovi" tzoffset="'+((User.tv.dacTimezone)?this.convertTimeZone(User.tv.dacTimezone):"")+'" tz="'+((User.tv.dacTimezone)?User.tv.dacTimezone:"")+'" zip="auto" headend="auto" headendName="auto" mapId="'+User.tv.mapId+'" controllerId="'+User.tv.controllerId+'" class="headend-item auto-headend comcast-headend">Comcast Recommended Lineup</li>');d=1}if(!h.useDAC||h.zip!="auto"){var g=this.headendElem.triggerHandler(h.events.GET_HEADEND),m=false;for(var f=0;f<this.data.headends.length;f++){var b=this.data.headends[f];if("description" in b&&"code" in b&&"zipCode" in b&&"id" in b){var e=(typeof b.deviceType!="undefined"?b.deviceType:"");var j=(b.description.length>56)?b.description.substr(0,b.description.lastIndexOf(" "))+" ...":this.data.headends[f].description;var l=b.timezone.toUpperCase().replace(/[A-Z]+\//,"");m=b.description.indexOf("Comcast")>-1;var k='<li class="headend-item '+((g!="undefined"&&b.code==g)?"active":"")+(m?" comcast-headend":"")+'"  headendName="'+b.description+'"  headend="'+b.code+'"  zip="'+b.zipCode+'"  headendCode="'+b.id+'"  tz="'+l+'"  tzoffset="'+this.convertTimeZone(l)+'"  deviceType="'+b.deviceType+'"  providerType="'+b.providerType+'"  isComcastHeadend="'+(m)+'">'+j+"</li>";if(this.headendElem.triggerHandler(this.events.HEADEND_LIST_BUILT,[e])){c.push(k);if(m){d++}}}}}h.headendListCtn.html("").removeClass("show-comcast").removeClass("show-national");h.headendElem.removeClass("no-comcast-headend");if(d<1){h.headendElem.addClass("no-comcast-headend");h.headendListCtn.html(c.join("")).addClass("show-national");if(h.headendListCtn.find("li.active").length<=0){h.headendListCtn.find("li:first").addClass("active")}this.getHeadendChannelList(h.headendListCtn.find("li.active"));return}h.headendListCtn.html(c.join(""));if(h.isNational){h.headendListCtn.addClass("show-national");if(h.headendListCtn.find("li.active").length<=0){h.headendListCtn.find("li:first").addClass("active")}}else{h.headendListCtn.addClass((h.useDAC&&h.zip==="auto")?"":"show-comcast");if(h.headendListCtn.find("li.active").length<=0){h.headendListCtn.find("li.comcast-headend:first").addClass("active")}}this.getHeadendChannelList(h.headendListCtn.find("li.active"))},writeHeadendMarkup:function(f){if(this.headendElem.find("h2").length<=0){var c="",e='<div id="headend-dac-info"><div>First, let\'s make sure we have your channel lineup.</div><div id="dac-info"><strong>DAC: </strong><span>112_1</span></div></div><div id="headend-zip-form"><fieldset><div class="fieldset-label"><label for="headend-zip">Zip Code:</label></div><div class="fluid-text"><input maxlength="5" name="headend-zip" id="headend-zip" type="text"></div><input value="" name="rdvr-zips" id="rdvr-zips" type="hidden"><button type="submit" id="headend-zip-submit-button" >Search</button></fieldset></div><div id="tz-overwrite"><span id="tz-overwrite-label">Timezone:</span><dl class="dropdown" id="headend-timezone"><dt><a rel="dropdown" class="dropdown" id="headend-tz" title="Change TimeZone"></a></dt><dd style="display:none;"><ul><li><a class="nohover tz-value" rel="-5">EASTERN</a></li><li><a class="nohover tz-value" rel="-6">CENTRAL</a></li><li><a class="nohover tz-value" rel="-7">MOUNTAIN</a></li><li><a class="nohover tz-value" rel="-8">PACIFIC</a></li><li><a class="nohover tz-value" rel="-9">ALASKA</a></li><li><a class="nohover tz-value" rel="-6">HAWAII</a></li></ul></dd></dl></div><div id="headend-localization-error">We could not find any service providers for that ZIP Code. Please try a different 5-digit U.S.Postal Code.</div><p class="msg">Verify your selected service area based on the channel lineup to the right.</p>',d='<div id="headend-list-container"><h3>Service Area:</h3><ul id="headend-list"><li class="active">Comcast - Little Rock (Digital)</li></ul></div><div id="lineup-list-container"><div id="lineup-list-header"><h3>Channel lineup:</h3></div><div id="lineup-list"></div></div>',g='<div id="change-lineup-msg"><span>Does the channel lineup above seem incorrect?</span><div id="view-not-dac-headends">Change your channel lineup</div></div>',b='<span id="headend-submit-button" rel="headend id - save and continue" class="button xbig alt1 selectheadend continue  arrow"><span>Save</span></span><a href="#" id="headend-cancel-button">Cancel</a>';if(this.usesOverlay){if($("html").hasClass("mobile phone")){this.usesOverlay=false;c='<div class="headend-container">'+e+'<div id="results">'+d+g+b+"</div></div>"}else{c='<h2 id="headend-title-label">Choose Your Service Area</h2><div class="overlay medium-px">'+e+'<div id="results">'+d+g+b+'</div><p class="close"><a id="headend-close">X</a></p></div>'}}else{c='<div class="overlay medium-px">'+e+'<div id="results">'+d+"</div>"+g+'<p class="close"><a id="headend-close">X</a></p></div>'}this.headendElem.append(c)}if(this.usesOverlay){if(this.caller!="tvlistings"&&$("#"+this.modalOverlayID).length<=0){$("body").prepend("<div id='"+this.modalOverlayID+"' style='display:none;'></div>")}}},writeFancastCookies:function(i,f,e,d){var b=xplat.headend;var c=false;var g={rovi:"rh",tms:"th"};var h="h="+encodeURIComponent(f)+"&z="+encodeURIComponent(e);if(b.validateHeadend(i,f)){b.headend=f;b.zip=e;c=true}if(c){FC.cookie.remove(g[i]);FC.cookie.create(g[i],encodeURIComponent(h),14);FC.cookie.permPref("rs_activation","NOTSET");FC.cookie.permPref("rs_devicetype","NOTSET")}},validateHeadend:function(e,d){var c=/[A-Z]{2}\d{5}/;var b;switch(e){case"tms":b=(c.test(d)?true:false);break;case"rovi":b=(!c.test(d)?true:false);break;case"auto":c=/\d_\d/;b=(c.test(d)?true:false);break;default:b=false;break}return b},writePrefs:function(f){var b=this;if(typeof f=="undefined"){return}if(typeof RemoteScheduling!="undefined"&&"user" in RemoteScheduling){var c=RemoteScheduling,h={};h[c.prefKeys.HEADEND_ID]=f[b.dataSource].headend;h[c.prefKeys.HEADEND_NAME]=f[b.dataSource].headendName;h[c.prefKeys.TIME_ZONE]=f[b.dataSource].timezone;h[c.prefKeys.TIME_ZONE_OFFSET]=f[b.dataSource].timezoneOffset;h[c.prefKeys.ZIP_CODE]=f[b.dataSource].zipCode;c.prefs.set(h)}else{if(User.signed_in){var d=new Date();try{CIM.debug.info("[Headend] Storing UIS Prefs to server")}catch(g){}$.ajax({url:"/vodservice/rest/tv/user?"+User.info.hashed_giud+d.getTime(),async:false,type:"POST",contentType:"application/json",data:JSON.stringify(f),success:function(i){try{CIM.debug.info("[Headend] POST UIS Prefs SUCCESS")}catch(j){}},error:function(l,i,j){try{CIM.debug.info("[Headend] POST UIS Prefs FAILURE: "+i)}catch(k){}setTimeout(function(){xplat.headend.writePrefs(f)},2000)}})}}},init:function(b){if(typeof b!="undefined"){if(typeof b.caller!="undefined"){this.caller=b.caller}if(typeof b.dataSource!="undefined"){this.dataSource=b.dataSource}if(typeof b.isNational!="undefined"){this.isNational=b.isNational}if(typeof b.containerID!="undefined"){this.containerID=b.containerID}if(typeof b.modalOverlayID!="undefined"){this.modalOverlayID=b.modalOverlayID}if(typeof b.usesOverlay!="undefined"){this.usesOverlay=b.usesOverlay}}this.headendElem=$("#"+this.containerID);this.useDAC=(this.caller==="DVR"?false:FC.services.isDacValid());this.writeHeadendMarkup(this.containerID);this.initEvents()}};return a})();function updateHeadend(b){var a=$("#headend");if(a){a.triggerHandler(xplat.headend.events.HEADEND_SELECTED,$(b))}};
// /tvListings/xp.rdvr.integrate.js from default
function getUrlParams(){var d=[],c;var a=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");for(var b=0;b<a.length;b++){c=a[b].split("=");d.push(c[0]);d[c[0]]=c[1]}return d}function getUrlParam(a){return getUrlParams()[a]}function selectTVListing(a){xplat.tvlistings.selectListing(a)}var rs,loader,manager,buttons,selector,recordDialog,activeDevice;var rsTimer=null;function RSInitialize(){if(document.getElementById("rsjs")===null){var a=document.createElement("script");a.charset="utf-8";a.id="rsjs";a.src="/remotescheduling/modules/rs.js?v=2.0";document.getElementsByTagName("head").item(0).appendChild(a);clearTimeout(rsTimer);rsTimer=setTimeout(function(){RSInitialize()},500)}else{if(typeof RemoteScheduling=="undefined"){clearTimeout(rsTimer);rsTimer=setTimeout(function(){RSInitialize()},500)}else{clearTimeout(rsTimer);RemoteScheduling.compressed=true;updatePrefs();RemoteScheduling.auth.authenticate=function(){RemoteScheduling.auth=null;return false};if(settings.RoviDataEnabled=="true"){RemoteScheduling.initSuccessHandler=RemoteScheduling.init({success:function(){onInitSuccess()},rovi:true,loadDefaultDeviceData:false})}else{RemoteScheduling.initSuccessHandler=RemoteScheduling.init({success:function(){onInitSuccess()},loadDefaultDeviceData:false})}}}}function onInitSuccess(){var b=xplat.tvlistings;if(b.RemoteSchedulingUser||user.rsActivation=="activated"){var a=RemoteScheduling;if(!a.prefs.get(a.prefKeys.HEADEND_ID)&&!a.prefs.get(a.prefKeys.ZIP_CODE)){setPrefs(b.headend,b.headendName,b.zip,b.timezone,b.timezoneoffset)}else{b.setPrefsFromRemoteScheduling()}b.displayHeadend();if(b.initp.filters){b.initializeFilter()}else{b.getListings()}this._controller=RemoteScheduling.controller;this._tracker=remoteSchedulingTracker;setTimeout(function(){preBuildWidgets()},100)}else{b.displayHeadend();if(b.initp.filter!==null&&$("#gridfilter-"+b.initp.filter).length>0){b.filterGrid($("#gridfilter-"+b.initp.filter))}else{b.getListings()}}b.rdvr.checked=true}function _onPreBuildWidgetsLoaded(){var c=xplat.tvlistings;var a=RemoteScheduling.User.events;RemoteScheduling.bindTo(RemoteScheduling.user,a.DEVICE_LOAD_FAILED,function(d){showPendingCapsule()});var b=a.DEVICE_LOAD_PENDING+" "+a.DEVICES_REGISTRATION_PENDING;RemoteScheduling.bindTo(RemoteScheduling.user,b,function(d){showPendingCapsule()});RemoteScheduling.run({success:function(){var d=xplat.tvlistings;var f="loading...";if(RemoteScheduling.user.getDevices().length>0){d.rdvr.deviceType=RemoteScheduling.user.getDevices()[0].type;f=(d.rdvr.deviceType=="tivo")?"Online Scheduler is loading...":"myDVR Manager is loading..."}rsReady()},error:function(d){var f=xplat.tvlistings;if(d.id==RemoteScheduling.Error.codes.INVALID_DEFAULT_USER_PROPERITES){f.gridLoading.hide();f.rdvr.invalidUserProperties=true;f.rStores.overlayContainer.show();xplat.headend.openHeadend(f.zip,f.timezone,f.timezoneoffset)}else{f.checkrDVREligibility(f.zip);updateRDVRByEligibility()}}})}function initControllerTracking(){var d=remoteSchedulingTracker,h=RemoteScheduling.controller,g=RemoteScheduling.Controller.events,b=RemoteScheduling.AbstractView.events;var f=[{bind_object:h,event_object:g,rs_event:"MODIFY_RECORDING_SUCCESS",rs_omniture_function:d.myDVR_manager_save_settings},{bind_object:h,event_object:g,rs_event:"DELETE_RECORDING",rs_omniture_function:d.myDVR_manager_cancel},{bind_object:h,event_object:g,rs_event:"MODIFY_SERIES",rs_omniture_function:d.myDVR_manager_series_save_settings},{bind_object:h,event_object:g,rs_event:"DELETE_SERIES",rs_omniture_function:d.myDVR_manager_series_cancel},{bind_object:h,event_object:g,rs_event:"SCHEDULE_RECORDING",rs_omniture_function:d.myDVR_grid_dialogue_schedule_episode},{bind_object:h,event_object:g,rs_event:"SCHEDULE_SERIES",rs_omniture_function:d.myDVR_grid_dialogue_series_record},{tv_listings_event:"scheduleRecordingFromEntity",rs_omniture_function:d.myDVR_grid_dialogue_invoke},{tv_listings_event:"scheduleSeriesFromEntity",rs_omniture_function:d.myDVR_grid_dialogue_series_invoke}];$.each(f,function(){var a=this;if(a.tv_listings_event){h.intercept(a.tv_listings_event,function(){a.rs_omniture_function()})}else{RemoteScheduling.bindTo(a.bind_object,a.event_object[a.rs_event],function(j,i){var c=null;if((a.rs_event=="SCHEDULE_RECORDING")||(a.rs_event=="SCHEDULE_SERIES")){c=$("#tv-details-title").text()}a.rs_omniture_function(c)})}})}function preBuildWidgets(){var a=this;var b=new RemoteScheduling.Loader({require:["devicesPendingCapsule"],onSuccess:function(){RemoteScheduling.pendingCapsule=new RemoteScheduling.DevicesPendingCapsule();RemoteScheduling.pendingCapsule.init(RemoteScheduling.controller);RemoteScheduling.pendingCapsule.build(xplat.tvlistings.rdvr.pendingCapsuleCtn);_onPreBuildWidgetsLoaded()}});b.load()}function rsReady(){var b=xplat.tvlistings;var a=new RemoteScheduling.Loader({require:["syndication"],onSuccess:function(){b.rdvr.isActivated=true;addWidgets();b.checkrDVREligibility(b.zip);updateRDVRByEligibility();initControllerTracking();FC.cookie.tempPref("tvlistings_signinPrompted",true)}});a.load()}function showPendingCapsule(){if(RemoteScheduling.pendingCapsule){hidePromoMsg();$("#capsule-loading").hide();RemoteScheduling.pendingCapsule.show()}}function hidePendingCapsule(){if(RemoteScheduling.pendingCapsule){RemoteScheduling.pendingCapsule.hide()}}function addWidgets(){var b=xplat.tvlistings;var a=RemoteScheduling.controller;if(RemoteScheduling.pendingCapsule&&RemoteScheduling.user.getPendingDevices().length===0){delete RemoteScheduling.pendingCapsule;b.rdvr.pendingCapsuleCtn.remove()}else{showPendingCapsule()}recordDialog=new RemoteScheduling.RecordingDialogView();RemoteScheduling.registerComponent(recordDialog,b.rdvr.recDialogCtn);recordDialog.hide();modifyDialog=new RemoteScheduling.ModifyDialogView();RemoteScheduling.registerComponent(modifyDialog,b.rdvr.modDialogCtn);modifyDialog.hide();RemoteScheduling.bindTo(this.recordDialog,RemoteScheduling.AbstractView.events.SHOW,function(c){RemoteScheduling.controller.userNotificationManager.notificationLevel=RemoteScheduling.UserNotificationManager.levels.ERROR;FC.toggleFlash("hide")});RemoteScheduling.bindTo(this.recordDialog,RemoteScheduling.AbstractView.events.HIDE,function(c){RemoteScheduling.controller.userNotificationManager.notificationLevel=RemoteScheduling.UserNotificationManager.levels.ALL;FC.toggleFlash("show")});activeDevice=RemoteScheduling.user.getSelectedDevice();RemoteScheduling.overlay.decorateView(recordDialog);RemoteScheduling.overlay.decorateView(modifyDialog);a.intercept("scheduleRecordingFromEntity",function(c){return self.onScheduleRecordingFromEntityIntercept(c)});a.intercept("scheduleSeriesFromEntity",function(c){return self.onScheduleSeriesFromEntityIntercept(c)});a.intercept("modifyRecording",function(c){return self.onModifyRecordingRequestIntercept(c)});a.intercept("modifySeries",function(c){return self.onModifySeriesRequestIntercept(c)});e=RemoteScheduling.Controller.events;RemoteScheduling.bindTo(a,e.SCHEDULE_RECORDING_SUCCESS,function(){self.onScheduleSuccessHandler()});RemoteScheduling.bindTo(a,e.SCHEDULE_SERIES_SUCCESS,function(){self.onScheduleSuccessHandler()});RemoteScheduling.bindTo(a,e.MODIFY_RECORDING_SUCCESS,function(){self.onScheduleSuccessHandler()});RemoteScheduling.bindTo(a,e.MODIFY_SERIES_SUCCESS,function(){self.onScheduleSuccessHandler()});RemoteScheduling.bindTo(a,e.DELETE_RECORDING_SUCCESS,function(){self.onScheduleSuccessHandler()});RemoteScheduling.bindTo(a,e.DELETE_SERIES_SUCCESS,function(){self.onScheduleSuccessHandler()});RemoteScheduling.bindTo(RemoteScheduling.overlay,RemoteScheduling.overlay.events.SHOW_OVERLAY,function(){});RemoteScheduling.bindTo(RemoteScheduling.overlay,RemoteScheduling.overlay.events.HIDE_OVERLAY,function(){})}function setEntity(c){var b=xplat.tvlistings;var a=new RemoteScheduling.Entity();a.channelCallSign=c.callSign;a.programDescription=c.programDescription;a.programTitle=c.programTitle;a.seriesTitle=c.seriesTitle;a.startTime=c.startTime;a.endTime=c.endTime;a.vcn=c.vcn;a.tmsID=c.tmsID;a.timeZoneOffset=c.timeZoneOffset;a.subheader=c.subheader;a.airtime=c.airtime;a.headendID=c.headendID;a.timeZoneOffset=c.timeZoneOffset;a.guideworksProgramID=c.guideworksProgramID;a.guideworksSeriesID=c.guideworksSeriesID;a.rating=c.rating;if(b.rdvr.deviceType=="tivo"){a.channelID=c.stationID}buttons.setEntity(a)}function createButton(c){var b=xplat.tvlistings;var a=RemoteScheduling.controller;buttons=new RemoteScheduling.RecordButtonCapsule();buttons.init(a);buttons.build(b.rdvr.btnCtn);$("#capsuleOptions").after($("#capsuleScheduledNotice"));setEntity(c)}function showRecordDialog(){$.data(window,"currentPageY",(window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop));if(this.manager){this.manager.hide()}if(this.recordDialog){this.recordDialog.show();window.scrollTo(0,0)}}function showManager(){if(this.recordingDialog){this.recordingDialog.hide()}if(this.manager){hidePromoMsg();this.manager.show();window.scrollTo(0,0);$("#xplat-manager a").addClass("nohover");$("a.arrowup,a.arrowdown").addClass("nohover")}}function onScheduleSuccessHandler(){var a=xplat.tvlistings;if((this.recordDialog&&this.recordDialog.visible)||(this.modifyDialog&&this.modifyDialog.visible)){if(FC.browserSupport.detect.browser=="Explorer"&&a.caller!="search"){$("#tv-program-details").remove();$("div.selectionArrowContainer").remove();a.rStores.selectedListing.removeClass("listing-selected");a.rStores.selectedListing=null}else{$("#tv-program-details").slideUp("fast",function(){$("div.selectionArrowContainer").remove();$(".listing",a.rStores.gridContainer).filter(".listing-selected").removeClass("listing-selected");if(a.caller=="search"){$("#search-result .selected").removeClass("selected")}a.rStores.selectedListing=null})}$("div.selectionArrowContainer").remove();setDialogAutocloseTimer()}}var autocloseTimer=null;function setDialogAutocloseTimer(){autocloseTimer=setTimeout(function(){var a=$.data(window,"currentPageY");if(a!==null&&!isNaN(a)){window.scrollTo(0,a);a=null}if(this.recordDialog&&this.recordDialog.visible){this.recordDialog.hide()}else{if(this.modifyDialog&&this.modifyDialog.visible){this.modifyDialog.hide()}}},5000)}function clearRecordDialogAutocloseTimer(){clearTimeout(autocloseTimer)}function onScheduleRecordingFromEntityIntercept(b){if(this.recordDialog){var a=b.arguments[0];this.recordDialog.setEntity(a,"recording");this.recordDialog.showCreateRecordingState();this.showRecordDialog();window.scrollTo(0,0)}return false}function onScheduleSeriesFromEntityIntercept(b){if(this.recordDialog){var a=b.arguments[0];this.recordDialog.setEntity(a,"series");this.recordDialog.showCreateSeriesState();this.showRecordDialog();window.scrollTo(0,0)}return false}function onModifyRecordingRequestIntercept(b){if(!modifyDialog||modifyDialog.visible){return true}else{var a=b.arguments[0];modifyDialog.modifyRecording(a);showModifyDialog();window.scrollTo(0,0);return false}}function onModifySeriesRequestIntercept(b){if(!modifyDialog||modifyDialog.visible){return true}else{var a=b.arguments[0];modifyDialog.modifySeries(a);showModifyDialog();window.scrollTo(0,0);return false}}function showModifyDialog(){if(manager){manager.hide()}if(recordDialog){recordDialog.hide()}if(modifyDialog){modifyDialog.show();RemoteScheduling.controller.userNotificationManager.notificationLevel=RemoteScheduling.userNotificationManager.levels.ERROR}}function onDeviceSwitchHandler(){$(activeDevice).unbind();activeDevice=RemoteScheduling.user.getSelectedDevice()}function updatePrefs(){var c=xplat.tvlistings;var a=RemoteScheduling;var b={};if(RemoteScheduling.prefs.get(a.prefKeys.HEADEND_ID)&&RemoteScheduling.prefs.get(a.prefKeys.ZIP_CODE)&&RemoteScheduling.prefs.get(a.prefKeys.TIME_ZONE)&&RemoteScheduling.prefs.get(a.prefKeys.TIME_ZONE_OFFSET)){c.setPrefsFromRemoteScheduling()}else{setPrefs(c.headend,c.headendName,c.zip,c.timezone,c.timezoneoffset)}}function setPrefs(d,b,g,f,i){var h=xplat.tvlistings;var a=RemoteScheduling;var c={};if(d){c[a.prefKeys.HEADEND_ID]=d}if(b){c[a.prefKeys.HEADEND_NAME]=b}if(f){c[a.prefKeys.TIME_ZONE]=f}if(i){c[a.prefKeys.TIME_ZONE_OFFSET]=i}if(g){c[a.prefKeys.ZIP_CODE]=g}if(typeof h.UISPrefs.favoriteChannels!="undefined"){if(typeof h.UISPrefs.favoriteChannels.sortOrder!="undefined"){c[a.prefKeys.FAVORITES_SORT_ORDER]=parseInt(h.sort_dir,10);h.UISPrefs.favoriteChannels.sortOrder=parseInt(h.sort_dir,10)}if(typeof h.UISPrefs.favoriteChannels.callSigns!="undefined"){c[a.prefKeys.FAVORITES_CALL_SIGNS]=h.UISPrefs.favoriteChannels.callSigns}}if(typeof h.UISPrefs.gridHoursDisplayed!="undefined"){c[a.prefKeys.GRID_HOURS_DISPLAYED]=parseFloat(h.UISPrefs.gridHoursDisplayed)}else{c[a.prefKeys.GRID_HOURS_DISPLAYED]=parseFloat(h.numberOfHours)}a.prefs.set(c);h.setPrefsFromRemoteScheduling();xplat.tvlistings.rdvr.invalidUserProperties=false}function hidePromoMsg(){xplat.tvlistings.rdvr.promoMsgCtn.removeClass().hide()}function updateRDVRByEligibility(){if(xplat.tvlistings.caller=="search"){return}hidePromoMsg();if(xplat.tvlistings.rdvr.checked){if(xplat.tvlistings.rdvr.isActivated){if(!xplat.tvlistings.rdvr.isEligible){xplat.tvlistings.rdvr.deviceSelecterCtn.fadeOut();hidePendingCapsule()}else{xplat.tvlistings.rdvr.deviceSelecterCtn.fadeIn();showPendingCapsule()}}else{if(RemoteScheduling.pendingCapsule){if(xplat.tvlistings.rdvr.isEligible){showPendingCapsule()}else{hidePendingCapsule();xplat.tvlistings.rdvr.promoMsgCtn.removeClass().addClass("showNotEligible").fadeIn()}}else{if(xplat.tvlistings.rdvr.isEligible){checkDeviceEligibility()}}}}else{if(xplat.tvlistings.rdvr.isEligible){checkDeviceEligibility()}else{xplat.tvlistings.rdvr.promoMsgCtn.fadeOut()}}}var USER_NO_DVR="no dvr";var USER_NOT_ELIGIBLE="not eligible";var USER_ELIGIBLE="eligible";var USER_ACTIVATED="activated";function checkDeviceEligibility(){var a="/remotescheduling/rest/usereligibility/"+xplat.tvlistings.zip;xplat.tvlistings.xhr.eligibility=$.ajax({async:false,url:a,success:function(c,b,d){xplat.tvlistings.rdvr.isEligible=((c==USER_ELIGIBLE||c==USER_ACTIVATED)&&c!=USER_NO_DVR);xplat.tvlistings.rdvr.isActivated=(c==USER_ACTIVATED&&c!=USER_NO_DVR);if(xplat.tvlistings.rdvr.isEligible){xplat.tvlistings.rdvr.promoMsgCtn.removeClass().addClass("showEligible").fadeIn()}else{if(c==USER_NO_DVR){xplat.tvlistings.rdvr.promoMsgCtn.removeClass().addClass("showNoDvr").fadeIn()}}},error:function(d,b,c){}})};
// /tvListings/xp.tvlistings.js from default
if(typeof xplat==="undefined"||!xplat){var xplat={}}HEADEND_DIGITAL_FLAG="X";DEFAULT_HEADEND=(settings.RoviDataEnabled=="false"?"PA37745X":"3460X");DEFAULT_HEADEND_NAME=(settings.RoviDataEnabled=="false"?"Comcast Center City (Area 1) - Philadelphia (Digital)":"Comcast Philadelphia Area 1 Digital");DEFAULT_ZIP="19103";DEFAULT_DATASOURCE=(settings.RoviDataEnabled=="false"?"tms":"rovi");GUIDEWORKS_HOWTO_URL="mydvr-howto.html";TIVO_HOWTO_URL="tivo-howto.html";SCROLL_OFFSET_FLOATING_HEADER=114;SCROLL_OFFSET_STATIC_HEADER=247;TZLISTNAME={EASTERN:"US/Eastern",CENTRAL:"US/Central",MOUNTAIN:"US/Mountain",PACIFIC:"US/Pacific",ALASKA:"US/Alaska",HAWAII:"US/Hawaii",ARIZONA:"US/Arizona"};var currentPageY=null;xplat.tvlistings=(function(){var a={caller:null,starttime:null,starttimeUTC:null,end_time:null,end_time_utc:null,floatHeader:false,timezoneoffset:(new Date().getTimezoneOffset()/60*-1),timezone:"EASTERN",timezoneOverwrite:false,gridtimezoneoffset:null,grid_id:null,cell_width:null,headerHeight:178,container_width:930,cell_duration:1800000,number_of_cells:5,numberOfHours:parseFloat(settings.tvlistingsDefaultGridHours,10),invalidZipcode:false,userstatus:null,gridtype:null,gridStatus:null,gridLoading:null,dataSource:DEFAULT_DATASOURCE,detailsAjax:null,getFancastAssetCountAjax:null,headend:DEFAULT_HEADEND,headendName:DEFAULT_HEADEND_NAME,deviceType:"guideworks",deviceCode:"X",zip:"19103",previousFilter:"all",previousSelectedListing:null,previousTime:null,tmsHdEnd:/[A-Z]{2}\d{5}/,fav_string:"",sort_dir:1,hasFavs:false,delimiter:"<!--CUT HERE-->",hdr_freq:10,hdArray:{},eligZipArray:{},zipHdArray:{},htmlArray:[],isIpad:false,ad:{content:{},callSign:{},isContextual:false,isProcessed:false,defaultRowsIndex:[4,9],indexArray:null},initp:{filter:null,zipcode:null,headend:null,channel:null,starttime:null,set_floatHeader:true},rdvr:{isEligible:false,isActivated:false,invalidUserProperties:false,deviceType:null,checked:false,managerCtn:null,modDialogCtn:null,pendingCapsuleCtn:null,recDialogCtn:null,deviceSelecterCtn:null,btnCtn:null,promoMsgCtn:null},rStores:{tempHeader:null,selectedListing:null,detailLoading:null,detail:null,detailContent:null,favDialog:null,overlayContainer:null,gridContainer:null},xhr:{eligibility:null},runRefreshTrackingScript:function(){var c=xplat.tvlistings.starttime;var b=xplat.tvlistings.end_time;xplat.tvlistings.tracking.trackGridRefresh(c,b)},init:function(c,b){a.caller=c;if($("#xplat-modal-overlay").length<=0){$("body").prepend("<div id='xplat-modal-overlay' style='display:none;'></div>")}$("body").prepend($("#headend"));a.rStores.overlayContainer=$("#xplat-modal-overlay");if(a.caller=="activation"){a.rStores.overlayContainer.height(($("body").height()+100)+"px")}if(settings.tvGridHoursToggleEnabled==="true"){$("#grid-hours-dd").show()}a.isIpad=/iPad/i.test(navigator.userAgent);a.initEventDelegation();if(c!="activation"){a.caller=null;a.getPrefs();xplat.headend.init({caller:"tvlistings",dataSource:a.dataSource,isNational:false,containerID:"headend"});a.gridLoading=$("#grid-loading");a.rStores.detailLoading=$("#tv-details-loading");a.rStores.detail=$("#tv-program-details");a.rStores.detailContent=$("#tv-program-details-content");a.rStores.favDialog=$("#fav-dialog");a.rdvr.promoMsgCtn=$("#rdvr-promo-msg");a.rdvr.deviceSelecterCtn=$("#xplat-device-selector");a.rdvr.managerCtn=$("#xplat-manager");a.rdvr.modDialogCtn=$("#xplat-modify-dialog");a.rdvr.pendingCapsuleCtn=$("#xplat-pending-capsule");a.rdvr.recDialogCtn=$("#xplat-recording-dialog");if(!a.rdvr.recDialogCtn.length){a.rdvr.recDialogCtn=$('<div id="xplat-recording-dialog"></div>');$(document.body).append(a.rdvr.recDialogCtn)}if(!a.rdvr.modDialogCtn.length){a.rdvr.modDialogCtn=$('<div id="xplat-modify-dialog"></div>');$(document.body).append(a.rdvr.modDialogCtn)}$("#hideFilter").bind("click",function(){$(this).html($("#content").is(".noFilters")?"hide filters":"filter tv listings");$("#content").toggleClass("noFilters");return false});a.grid_id=b.grid_id;for(var d in b.settings){if(typeof a[d]!="undefined"){a[d]=b.settings[d]}}a.gridLoading.show();if(settings.tvGridHoursToggleEnabled==="true"){if(typeof a.UISPrefs.gridHoursDisplayed!="undefined"){a.numberOfHours=a.UISPrefs.gridHoursDisplayed}$("#grid-hours").text(a.numberOfHours+" Hrs")}a.setNumberOfHoursInGrid();a.buildDateDropDown();a.initp.filters=CIM.page.getParam("filter")||null;a.initp.zipcode=(CIM.page.getParam("zipcode")&&!User.signed_in)?CIM.page.getParam("zipcode"):null;a.initp.headend=(CIM.page.getParam("headend")&&!User.signed_in)?CIM.page.getParam("headend"):null;a.initp.starttime=parseInt(CIM.page.getParam("st"),0)||null;a.userstatus="comcast";a.gridtype="comcast";a.determineHeadend();if((a.rdvr.isEligible&&a.userstatus=="comcast"&&!a.rdvr.checked)||a.RemoteSchedulingUser){$("#xplat-modal-overlay").remove();if(!a.UISPrefs[a.dataSource].timezone||!a.UISPrefs[a.dataSource].timezoneOffset){a.getHeadendInfo(true)}RSInitialize()}else{if(a.initp.filters){a.initializeFilter()}else{a.getListings()}}a.rStores.overlayContainer=$("#xplat-modal-overlay")}},initFromSearch:function(){a.caller="search";a.getPrefs();a.gridLoading=$("#grid-loading");a.rStores.detailLoading=$("#tv-details-loading");a.rdvr.promoMsgCtn=$("#rdvr-promo-msg");a.rStores.detail=$("#tv-program-details");a.rStores.detailContent=$("#tv-program-details-content");a.rdvr.deviceSelecterCtn=$("#xplat-device-selector");a.rdvr.managerCtn=$("#xplat-manager");a.rdvr.modDialogCtn=$("#xplat-modify-dialog");a.rdvr.pendingCapsuleCtn=$("#xplat-pending-capsule");a.rdvr.recDialogCtn=$("#xplat-recording-dialog");a.userstatus="comcast";a.gridtype="comcast"},initEventDelegation:function(){var b=xplat.tvlistings;var d=$("#headend");d.bind(xplat.headend.events.HEADEND_CLOSE_EVENT,function(){b.rStores.overlayContainer.hide()});d.bind(xplat.headend.events.HEADEND_SELECTED,function(f,g){if($(g).attr("zip")!=="auto"){b.setHeadend($(g))}else{b.afterSetHeadend()}});d.bind(xplat.headend.events.TIMEZONE_OVERRIDDEN,function(f){b.timezoneOverwrite=true});d.bind(xplat.headend.events.TIMEZONE_NOT_OVERRIDDEN,function(){b.timezoneOverwrite=false});d.bind(xplat.headend.events.ZIP_CODE_ENTERED,function(f,g){if(b.userstatus=="comcast"&&User.signed_in){b.rdvr.isEligible=false;b.checkrDVREligibility(g,false)}});d.bind(xplat.headend.events.HEADEND_LIST_BUILT,function(g,f){if((b.rdvr.isActivated||b.caller=="activation"||b.RemoteSchedulingUser)){if(f!="X"&&f!="L"){return false}return true}return true});d.bind(xplat.headend.events.ZIP_CODE_UNDEFINED,function(){return b.zip});d.bind(xplat.headend.events.GET_HEADEND,function(){return b.headend});d.bind(xplat.headend.events.SHOW_TIMEZONE_OVERWRITE,function(){if(b.caller=="activation"){return false}return true});d.bind(xplat.headend.events.GET_TIMEZONE_INFO,function(){return{timezoneOverwrite:b.timezoneOverwrite,timezone:b.timezone}});$("body").click(function(f){var g=$(f.target);$("#listingscontainer dl.dropdown.open").removeClass("open")});$("a").live("click",function(f){if($(this).attr("href")=="http://www.comcast.net/mydvr/manager/"){startLytebox(GUIDEWORKS_HOWTO_URL,1075,600);f.stopPropagation();f.preventDefault();return false}else{if($(this).attr("href")=="http://www.comcast.net/tivo/online_scheduler/"){startLytebox(TIVO_HOWTO_URL,1075,600);f.stopPropagation();f.preventDefault();return false}else{if($(this).attr("href")=="http://customer.comcast.com/Pages/FAQListViewer.aspx?topic=Cable&folder=70efa27a-673a-4c51-b673-5c297814d2a4"){window.open($(this).attr("href"));f.stopPropagation();f.preventDefault();return false}}}});$("body").keyup(function(f){var g=$(f.target);if(f.keyCode==13&&g.attr("id")=="tvlistings-search-input"){xplat.tvlistings.submitSearchForm()}});$(".change-headend").live("click",function(i){var j=$(this);var f=xplat.tvlistings;var g=false;var h=(h in j)?j.attr("zip"):f.zip;f.rStores.overlayContainer.show();xplat.headend.openHeadend(h,f.timezone,f.timezoneoffset);window.scrollTo(0,0)});$("#listingscontainer").click(function(k){var l=$(k.target);var f=xplat.tvlistings;var g=false;$("#listingscontainer dl.dropdown.open").removeClass("open");if(l.attr("id")=="grid-print"){window.print()}else{if(l.parent().attr("id")=="more-info"){g=true}else{if(l.hasClass("fav_icon")){f.Favorites.setFavorite(l);f.Favorites.submitFavorite(l)}else{if(l.hasClass("disp-b")){if($(".disp-b.selected").attr("filterby")==="all"&&l.is("#gridfilter-dd-all")){return false}if(l.attr("id")==="gridfilter-dd-favorites"&&(!f.UISPrefs.hasOwnProperty("favoriteChannels")||f.UISPrefs.favoriteChannels.callSigns.length===0)){noFavoriteChannelsOverlay();return false}f.gridLoading.show();f.runRefreshTrackingScript();setTimeout(function(){f.filterGrid(l)},50)}else{if(l.hasClass("rTuneWatchButton")||l.parents().hasClass("rTuneWatchButton")){if(settings.globalRemoteTuneEnabled=="true"&&settings.tvlistingsRemoteTuneEnabled=="true"){g=true}}else{if(l.hasClass("change-headend")){var i=(i in l)?l.attr("zip"):f.zip;f.rStores.overlayContainer.show();xplat.headend.openHeadend(i,f.timezone,f.timezoneoffset);window.scrollTo(0,0)}else{if(l.is("[rel=dropdown], [rel=dropdown]>b")){l.parents("dl").addClass("open")}else{if(l.hasClass("grid-jumpdate")){var h=l.attr("rel");f.starttime=(f.starttime)?f.getTimeStr(h):parseInt(h,10);f.getListings(f.starttime);f.runRefreshTrackingScript()}else{if(l.hasClass("grid-jumptime")){$("#grid-time").html(l.html()+"<b></b>");f.getListings(f.getTimeStr(l.attr("rel")));f.runRefreshTrackingScript()}else{if(settings.tvGridHoursToggleEnabled==="true"&&l.hasClass("grid-hours-displayed")){f.numberOfHours=l.attr("rel");f.setNumberOfHoursInGrid();$("#grid-hours").text(l.text());if(f.RemoteSchedulingUser){f.setUISPrefsFromGridPrefs(true);setPrefs(f.headend,f.headendName,f.zip,f.timezone,f.timezoneoffset)}else{f.setUISPrefsFromGridPrefs()}f.getListings(xplat.tvlistings.starttime)}else{if(l.hasClass("gjc")){var j=($("#"+l.attr("rel")).position().top+$("#listingscontainer").position().top);if(f.floatHeader){window.scrollTo(0,j-SCROLL_OFFSET_FLOATING_HEADER)}else{window.scrollTo(0,j-SCROLL_OFFSET_STATIC_HEADER)}f.runRefreshTrackingScript()}else{if(l.attr("id")=="tvlistings-search-form"||l.attr("id")=="tvlistings-search-submit"){f.submitSearchForm()}else{if(l.attr("id")=="grid-detail-close"){l.parent().parent().hide();$("div.selectionArrowContainer").remove()}else{if(l.hasClass("ondemand")){f.closeProgramDetails()}else{if(l.hasClass("tv-program-details-close")){f.closeProgramDetails()}else{if(l.hasClass("arwL")){f.getListings(f.previousTime);f.runRefreshTrackingScript()}else{if(l.hasClass("arwR")){f.getListings(f.end_time);f.runRefreshTrackingScript()}else{if(l.hasClass("grid-top")){window.scrollTo(0,0)}else{if(l.hasClass("learnmore")||l.hasClass("activatenow")){g=true}else{if(l.hasClass("adRow")||l.parents().hasClass("adRow")||l.parents().attr("id")=="more-info"){g=true}else{if(l.hasClass("allow_link")||l.parents("a.allow_link")){g=true}}}}}}}}}}}}}}}}}}}}}if(!g&&f.caller!="activation"){k.stopPropagation();return false}else{return true}});$(".details-image","#details-image-container").error(function(){$(this).unbind("error").attr("src","")});if(a.isIpad){window.onscroll=function(){a.processFloatHeader()}}else{if(a.initp.set_floatHeader){var e=new RegExp(/iPhone/i);var c=new RegExp(/iPod/i);if(navigator.userAgent.match(e)===null&&navigator.userAgent.match(c)===null){$(window).scroll(function(){a.processFloatHeader()})}}}},processFloatHeader:function(){var c=($("#content").is(".noFilters"))?50:0;if($("#first-header").length>0){var b=window.pageYOffset||document.documentElement.scrollTop;if(!a.headerFloated&&b>a.headerHeight+c){return a.setFloatHeader()}if(a.headerFloated&&b<=a.headerHeight+c){return a.resetFloatHeader()}}},resetFloatHeader:function(){a.headerFloated=false;$("#content").removeClass("top-locked")},setFloatHeader:function(){if($("#tvplanner-grid").height()<400){return}a.headerFloated=true;$("#content").addClass("top-locked")},setNumberOfHoursInGrid:function(){var b=xplat.tvlistings;b.number_of_cells=b.numberOfHours*2;b.cell_width=parseInt(((b.container_width-131)/b.number_of_cells),10)},submitSearchForm:function(){if(settings.StreamsageSearchEnabled){var b=$("#tvlistings-search-input").val();xplat.tvlistings.tracking.trackTVListingSearch(b);if(b.toLowerCase()=="search tv listings"){b=""}b=b.replace(/<.*?>/g,"");document.location="/tv-listings/search/?q="+b;return false}},buildCSS:function(){var e='<style id="dynamicCSS" type="text/css">\n';var b="#listingscontainer { width:"+a.container_width+"px; min-height:400px; }";b+=".times { width: "+(a.container_width-136)+"px }";var c=parseInt(((a.container_width-136)/a.number_of_cells),10)-23;b+="\n.ghr { width:"+c+"px }";var d="\n</style>";if($("head #dynamicCSS").length===0){$("head").append(e+b+d)}else{$("head #dynamicCSS").replaceWith(e+b+d)}},filterGrid:function(f,d){var j=xplat.tvlistings,l,b=$("#"+j.grid_id),k,e,c,h=[],g=1,m=$("div.gcr-container");j.closeProgramDetails();if(typeof d!="undefined"&&d){k=b.attr("class");h=k.split(" ");m.show();if(h[0]!=="favorites"){m.filter(":not(."+h[0]+")").hide()}if(h.length>1){for(;g<h.length;g++){if(h[g]!=="favorites"){m.filter(":not(."+h[g]+")").hide()}}}j.placeInGridAd();j.gridLoading.hide();j.previousFilter=h.join(" ")}else{k=f.attr("filterby");if(k=="all"||k=="undefined"){$("#gridfilter-capsule a").removeClass("selected");f.addClass("selected");j.getListings(j.starttime);b.removeClass().addClass("all");j.gridLoading.hide();j.previousFilter="all"}else{if(b.hasClass("all")){b.removeClass();$("#gridfilter-dd-all").removeClass("selected")}if(f.hasClass("selected")){f.removeClass("selected");b.removeClass(k);h=b.attr("class").split(" ");if(h[0]===""){b.addClass("all");h=["all"];$("#gridfilter-dd-all").addClass("selected");m.show()}else{if($("#gridfilter-dd-favorites").is(".selected")){m.show()}else{if(h[0]!=="favorites"){m.hide();m.filter("."+h[0]).show()}}}}else{f.addClass("selected");b.addClass(k);h=b.attr("class").split(" ");if(h[0]!=="favorites"){m.filter(":visible:not(."+h[0]+")").hide()}}if(k!="all"&&h.length>1){for(;g<h.length;g++){if(h[g]!=="favorites"){m.filter(":visible:not(."+h[g]+")").hide()}}}j.placeInGridAd();j.gridLoading.hide();j.previousFilter=h.join(" ")}}window.scrollTo(0,$("#listingscontainer").offset().top);if($("#.gcr-container:visible").length===0){if($("div.noListingsMatchFilter").length===0){b.append("<div class='noListingsMatchFilter'>No listings match your filter</div>")}}else{$("#"+j.grid_id+" .noListingsMatchFilter").remove()}},imageError:function(b,d,c){var e=$('<img class="thumb" id="tv-details-image" src="/images/silhouette/'+d+'_147_106.png"/>').css("visibility","visible").bind("contextmenu",function(f){f.preventDefault();f.stopPropagation()});$("#tv-details-image-container").html(e)},imageLoad:function(b){(b||this).style.visibility="visible";$(b).bind("contextmenu",function(c){c.preventDefault();c.stopPropagation()})},setThumbImage:function(b,c){return'<img id="tv-details-image" class="thumb" src="/api/entity/thumbnail/'+b+'/147/106?noRedir=true" onerror="xplat.tvlistings.imageError(this,\''+c+"','"+b+'\')" onload="xplat.tvlistings.imageLoad(this)"/>'},getTimeStr:function(b){var c,d;if(b=="now"){return new Date().getTime()}else{if(b==="primetime"){d=(a.starttime)?new Date(a.starttime):new Date();if(a.timezone.toUpperCase()==="CENTRAL"||a.timezone.toUpperCase()==="MOUNTAIN"){d.setHours((19+((new Date().getTimezoneOffset()/60*-1)-a.timezoneoffset)),0,0,0)}else{d.setHours((20+((new Date().getTimezoneOffset()/60*-1)-a.timezoneoffset)),0,0,0)}return d}else{d=(a.starttime)?new Date(a.starttime):new Date();b=parseInt(b,10);if(b<24){return d.setHours((b+((new Date().getTimezoneOffset()/60*-1)-a.timezoneoffset)),0,0,0)}else{return new Date(b).setHours(d.getHours(),d.getMinutes(),0,0)}}}},buildDateDropDown:function(){var b="";var f=new Date();for(var d=-1;d<11;d++){var e=new Date((f.getTime()+(86400000*d)));var c="Yesterday";if(d<2){c=(d===-1)?c:(d===0)?"Today":"Tomorrow";if(d===0){$("#grid-date").html(a.lib.formatDayOfWeek(e,false)+", "+a.lib.formatMonth(e,false)+" "+e.getDate()+"<b></b>");$("#currentDate").html(a.lib.formatDayOfWeek(e,true)+" "+(e.getMonth()+1)+"/"+e.getDate())}}else{c=a.lib.formatDayOfWeek(e,false)+", "+a.lib.formatMonth(e,false)+" "+e.getDate()}b+="<li><a href='#' rel='"+e.getTime()+"' class='nohover grid-jumpdate'>"+c+"</a></li>"}$("#grid-date-dd dd ul").html(b)},buildDetails:function(o){var g=xplat.tvlistings,r="",i="tv",A;try{g.detailsAjax.abort()}catch(F){}var p=xplat.tvlistings.rStores.selectedListing,f="",l="noimage";if(a.data.description=="An error has occurred"){A='<div id="tv-details-text">An error has occurred, please try again</div>'}else{var w=(xplat.tvlistings.rStores.selectedListing!==null)?xplat.tvlistings.rStores.selectedListing:$("div.listing-selected",xplat.tvlistings.rStores.gridContainer);A="";if(typeof a.data.imageUrl!=="undefined"&&a.data.imageUrl!==""){r=a.data.imageUrl}var y=(a.data.entityType=="Movie")?a.data.entityType+"-"+a.data.movieId:"TvSeries-"+a.data.seriesId;A+='<a id="tv-details-image-container" class="thumbnail">';if("entityType" in a.data){if(a.data.entityType=="Movie"){i="movie"}}if(r!==""){A+='<img src="'+r+'" id="tv-details-image" class="'+i+'" onerror="xplat.tvlistings.setThumbImage('+y+","+i+')" onload="xplat.tvlistings.imageLoad(this)" />'}else{A+=xplat.tvlistings.setThumbImage(y,i)}l="";A+="</a>";A+='<div class="ways2watch" style="display:none">';A+="<p>More ways to watch:</p>";A+='<div class="onlineButton" style="display:none"></div>';A+='<div class="ondemandButton" style="display:none"></div>';A+="</div>";A+='<div id="tv-details-text-top">';A+='<div id="tv-details-title-container"><span id="tv-details-title">';if("seriesName" in a.data){A+=a.data.seriesName;if(a.data.movie){if("releaseYear" in a.data){f+="<span id='releaseYear'>&nbsp;("+a.data.releaseYear+")</span>"}if("movieIndustryRating" in a.data){f+="<span id='movieIndustryRating' style='margin-left:0px'>,&nbsp;"+a.data.movieIndustryRating+"</span>"}}}A+=f;A+="</span>";A+="</div>";if(typeof a.data.episodeTitle!="undefined"&&a.data.episodeTitle!=a.data.seriesName){if(a.data.episodeTitle.length>0){var u=a.data.episodeTitle.split(" ");if(u.length>10){a.data.episodeTitle=u.slice(0,10).join(" ")+"..."}}else{a.data.episodeTitle=""}A+='<div id="tv-details-episode_title" class="'+l+'">"'+a.data.episodeTitle+'"</div>'}var j=a.lib.formatSchedule(a.data.utcStartTimeInMillis,a.data.utcEndTimeInMillis,true);A+='<div id="tv-details-schedule">'+j+"&nbsp;&nbsp;|&nbsp;&nbsp;Ch "+parseInt(w.attr("chn"),10)+" "+w.attr("cs")+"</div>";A+='<div id="tv-details-flags">';if("hdtv" in a.data&&a.data.hdtv){A+='<div class="flag hdIcon"></div>'}if("dolby_type" in a.data){A+='<div class="flag dolbyIcon"></div>'}if(a.data.cc){A+='<div class="flag ccIcon"></div>'}if(a.data.widescreen){A+='<div class="flag wdscrnIcon"></div>'}if("rating" in a.data){A+='<div class="tv-details-rating">'+a.data.rating+"</div>"}if("csmId" in a.data){var z=a.data.entityType;var B=null;switch(z){case"TvSeries":case"TvEpisode":z="TvSeries";B=(typeof a.data.seriesId!="undefined"?a.data.seriesId:null);break;case"Movie":B=(typeof a.data.movieId!="undefined"?a.data.movieId:null);break;default:break}if(B!==null){A+='<a id="csm_link" onclick="user.sbFocus=false;commonsenseOverlay(\''+z+"-"+B+"')\">Parental Guide &raquo;</a>"}}A+="</div>";A+='<div id="tv-details-description" class="'+l+'">';var d=a.data.description;if("description" in a.data){var n="";if("seasonNumber" in a.data&&parseInt(a.data.seasonNumber,10)>0){n+="<b>S"+a.data.seasonNumber;if("episodeNumber" in a.data&&parseInt(a.data.episodeNumber,10)>0){n+=", E"+a.data.episodeNumber}n+="&nbsp;</b>&nbsp;&nbsp;"}if("originalAirDate" in a.data){n+="<em>(Airdate ";n+=a.lib.formatUnixDateToDate(a.data.originalAirDate);n+=")</em>&nbsp;&nbsp;"}d=n+d;if(d.length>0){var v=d.split(" ");if(v.length>40){d=v.slice(0,40).join(" ")+"..."}}else{d=""}A+="<span>"+d+"</span>"}A+="</div>";A+='<div id="tv-details-cast"></div>';A+='<div id="actionButtons">';var D=null;if("entityType" in a.data){if(a.data.entityType=="Movie"){D=a.data.entityType+"-"+a.data.movieId}else{if(a.data.entityType=="TvEpisode"||a.data.entityType=="TvSeries"){D="TvSeries-"+a.data.seriesId}}if(FC.watchlist.loaded){A+=FC.watchlist.button(D,a.data.seriesName,{size:"wbig"})}else{$("body").bind("favLoaded",function(){$(FC.watchlist.button(D,a.data.seriesName,{size:"wbig"})).prependTo("#actionButtons")})}}A+='<div id="xplat-buttons" class="'+xplat.tvlistings.rdvr.deviceType+'"></div>';if(!User.signed_in){A+='<div class="rdvrButton">';A+=CIM.button.create({action:"record",backwardsCompatible:true,data:{globaluid:D}});if(a.data.entityType=="TvEpisode"||a.data.entityType=="TvSeries"){A+=CIM.button.create({action:"recordseries",backwardsCompatible:true,data:{globaluid:D}})}A+="</div>"}A+="</div>";var C="";A+="</div>";C+="</div>";A+="</div>"}a.rStores.detailLoading.hide();if(FC.browserSupport.detect.browser=="Explorer"){a.rStores.detailContent.html(A)}else{$("#tv-program-details-content").html(A)}g.rdvr.btnCtn=$("#xplat-buttons");if((o=="false"||!o)&&user.rsActivation=="activated"){var m=(a.dataSource=="tms"?a.data.programId:(a.data.mappedProgramId||""));var c=(a.data.mappedSeriesId||a.data.roviSeriesId);var b=parseInt(m,10);var q={programDescription:("description" in a.data)?a.data.description:"",programTitle:(typeof a.data.episodeTitle!="undefined"&&a.data.episodeTitle!=a.data.seriesName)?a.data.episodeTitle:"",seriesTitle:("seriesName" in a.data)?a.data.seriesName:"",startTime:parseInt(p.attr("st"),10),endTime:parseInt(p.attr("et"),10),vcn:p.attr("chn"),tmsID:(a.dataSource=="tms")?m:"",timeZoneOffset:a.timezoneoffset,subheader:n,airtime:$(j).text(),headendID:a.headend,stationID:parseInt(p.attr("tmssid"),10),guideworksProgramID:(a.dataSource=="rovi")?m:"",guideworksSeriesID:(a.dataSource=="rovi"&&c)?c:"",callSign:p.attr("cs"),rating:("rating" in a.data)?a.data.rating:""};a.rdvr.btnCtn=$("#xplat-buttons");try{createButton(q)}catch(F){}}if(settings.globalRemoteTuneEnabled=="true"&&settings.tvlistingsRemoteTuneEnabled=="true"){try{var x=new Date().getTime();if("remoteTune" in xplat&&a.data.utcStartTime<=x&&a.data.utcEndTime>=x){CIM.button.create({backwardsCompatible:true,container:"#actionButtons",action:"tv",data:{rel:p.attr("sid"),rev:parseInt(p.attr("chn"),10),t:p.attr("cs"),"data-client":"TV_Listings"},style:["allow_link","rTuneWatchButton"]})}}catch(h){}}if(typeof a.data.entityType=="undefined"||(typeof a.data.seriesId=="undefined"&&typeof a.data.movieId=="undefined")){return}var k="";if("seriesName" in a.data){if((a.data.entityType=="TvEpisode")||(a.data.entityType=="TvSeries")){k="/tv/"+escape(a.data.seriesName.replace(/\//gi,"-"))+"/"+a.data.seriesId+"/full-episodes"}else{if(a.data.entityType=="Movie"){k="/movies/"+escape(a.data.seriesName.replace(/\//gi,"-"))+"/"+a.data.movieId+"/full-movie"}}var E='<a href="'+k+'" id="tv-details-title" class="allow_link" title="View \''+a.data.episodeTitle+'\' on XFINITY TV">"'+a.data.episodeTitle+'"</a>'+f}if(k!==""){$("#tv-details-episode_title").html(E)}setTimeout(function(){(a.data.entityType=="Movie")?(this_asset_ID=a.data.movieId):(this_asset_ID=a.data.seriesId);xplat.tvlistings.getFancastAssetCount(a.data.entityType,this_asset_ID,function(t){var s=t.online;var e=t.ondemand;var G=null;if((s)&&(s>0)){if((a.data.entityType=="TvEpisode")||(a.data.entityType=="TvSeries")){G="/tv/"+escape(a.data.seriesName.replace(/\//gi,"-"))+"/"+a.data.seriesId+"/full-episodes"}else{if(a.data.entityType=="Movie"){G="/movies/"+escape(a.data.seriesName.replace(/\//gi,"-"))+"/"+a.data.movieId+"/videos"}}$("#tv-details-description").removeClass("noimage");$("div.ways2watch div.onlineButton").prepend('<a href="'+G+'">Online</a>').show().parent().show()}if((e)&&(e>0)){if((a.data.entityType=="TvEpisode")||(a.data.entityType=="TvSeries")){G="/tv/"+escape(a.data.seriesName.replace(/\//gi,"-"))+"/"+a.data.seriesId+"/watch-it/on-demand"}else{if(a.data.entityType=="Movie"){G="/movies/"+escape(a.data.seriesName.replace(/\//gi,"-"))+"/"+a.data.movieId+"/watch-it/on-demand"}}$("#tv-details-description").removeClass("noimage");$("div.ways2watch div.ondemandButton").prepend('<a href="'+G+'">On Demand</a>').show().parent().show()}})},100)},getTimes:function(b){if(a.initp.starttime!==null){b=new Date(a.initp.starttime);a.initp.starttime=null}else{if(typeof b=="undefined"){b=new Date()}else{if(b===null){b=new Date()}else{b=new Date(b)}}}a.starttime=parseInt((b.getTime()/a.cell_duration),10)*a.cell_duration;a.end_time=a.starttime+(a.cell_duration*a.number_of_cells);a.starttimeUTC=parseInt(((a.starttime)/a.cell_duration),10)*a.cell_duration;a.end_time_utc=a.end_time;a.previousTime=a.starttime-(a.cell_duration*(a.number_of_cells))},getHeadendInfo:function(b){if(a.zip===null||a.zip==="null"){return}var c="/vodservice/rest/tv/"+a.dataSource+"/headend/"+a.zip;if(a.gridtype=="national"){c+="?national=true"}if(a.headend in a.hdArray&&(typeof b!="undefined"&&!b)){a.timezone=a.hdArray[a.headend].timezone;a.headendName=a.hdArray[a.headend].headendName;a.timezoneoffset=a.hdArray[a.headend].timezoneoffset;a.displayHeadend()}else{$.ajax({url:c,async:false,global:false,dataType:"json",success:function(f){if("headends" in f){for(var e=0;e<f.headends.length;e++){if(f.headends[e].code==a.headend){a.headendName=f.headends[e].description;var d=f.headends[e].timezone.split("/");if(d.length>1){a.timezone=d[1].toUpperCase()}else{a.timezone=d[0].toUpperCase()}a.timezoneoffset=xplat.headend.convertTimeZone(a.timezone)}}}a.hdArray[a.headend]={timezone:a.timezone,headendName:a.headendName,timezoneoffset:a.timezoneoffset};a.zipHdArray[a.zip]=f},error:function(){a.headendName=""},complete:function(){a.displayHeadend()}})}},displayHeadend:function(){var b=xplat.tvlistings,c="";if(b.zip===null||b.headendName===null){return}var d="";if(b.headendName!==null){d=b.headendName}c=(User.tv.useDac)?"Auto":"ZIP "+b.zip;$("#currentHeadend").attr("zip",c).text(c)},determineHeadend:function(){var b=xplat.tvlistings;var c=b.getUserZipcode();if(c===null){$("#defaultHeadend").show();b.displayHeadend()}else{b.zip=c;if(b.userstatus=="comcast"&&User.signed_in){b.checkrDVREligibility(c,true)}else{b.setUserHeadendTimeZoneInfo()}}},getFancastAssetCount:function(d,h,g){var b=xplat.tvlistings;try{b.getFancastAssetCountAjax.abort();b.getFancastAssetCountAjax=null}catch(f){}if(typeof d==="undefined"||typeof h==="undefined"||isNaN(h)){return}var c="/api/entity/counts/";if((d=="TvSeries")||(d=="TvEpisode")){c+="TvSeries-"+h}else{if(d=="Movie"){c+="Movie-"+h}else{return}}c+="?type=json";b.getFancastAssetCountAjax=$.ajax({url:c,async:true,global:false,dataType:"json",success:function(i){var e={};if(i!==null){e.online=i.video_long;e.ondemand=i.on_vod}if(g){g(e)}},error:function(){return}})},checkrDVREligibility:function(b,d){if(b=="auto"){a.rdvr.isEligible=true;if(a.caller!="search"){if(d){a.setUserHeadendTimeZoneInfo()}}return}if(b in a.eligZipArray){a.rdvr.isEligible=a.eligZipArray[b];if(a.caller!="search"){if(d){a.setUserHeadendTimeZoneInfo()}}}else{var c="/remotescheduling/rest/availability/zipcodes/"+b;a.xhr.eligibility=$.ajax({async:false,url:c,success:function(f,e,g){a.rdvr.isEligible=true;a.eligZipArray[b]=a.rdvr.isEligible;if(a.caller!="search"){if(d){a.setUserHeadendTimeZoneInfo()}}},error:function(h,f,g){hidePromoMsg();a.rdvr.isEligible=false;a.eligZipArray[b]=a.rdvr.isEligible;if(a.caller!="search"){if(d){a.setUserHeadendTimeZoneInfo()}}}})}},getUserZipcode:function(){var b=xplat.tvlistings;if(b.initp.zipcode!==null){if(b.initp.headend===null){$("#headend-zip").attr("value",b.initp.zipcode);xplat.headend.getHeadendList(b.initp.zipcode)}return b.initp.zipcode}else{if(b.dataSource==="rovi"){if(b.UISPrefs.rovi.zipCode===null){return null}else{return b.UISPrefs.rovi.zipCode}}else{if(b.dataSource==="tms"){if(b.UISPrefs.tms.zipCode===null){return null}else{return b.UISPrefs.tms.zipCode}}else{return null}}}},setUserHeadendTimeZoneInfo:function(c){var b=xplat.tvlistings;if(b.initp.zipcode=="auto"){b.displayHeadend();if(b.initp.filters!==null&&$("#gridfilter-"+b.initp.filters).length>0){b.initializeFilter()}return}if(b.initp.zipcode!==null){if(b.initp.headend!==null){b.zip=a.initp.zipcode;b.headend=a.initp.headend;b.getHeadendInfo();b.displayHeadend();if(b.initp.filters!==null&&$("#gridfilter-"+b.initp.filters).length>0){b.initializeFilter()}}else{b.rStores.overlayContainer.show();if(b.headendName===null||(b.headendName===DEFAULT_HEADEND_NAME&&b.headend!==DEFAULT_HEADEND)||b.zip!==DEFAULT_ZIP&&b.headendName===DEFAULT_HEADEND_NAME&&b.zip!==null){b.getHeadendInfo(true)}b.displayHeadend();b.rStores.overlayContainer.show();xplat.headend.openHeadend()}}b.displayHeadend()},setHeadend:function(c){var b=xplat.tvlistings;b.headend=c.attr("headend").toUpperCase();b.headendName=c.attr("headendName");b.deviceCode=c.attr("devicetype");b.zip=c.attr("zip");b.timezone=$("#headend-tz").text();b.timezoneoffset=$("#headend-tz").attr("tzoffset")||0;$("div.selectionArrowContainer").remove();if(b.caller=="activation"||b.rdvr.isActivated||b.RemoteSchedulingUser){b.setUISPrefsFromGridPrefs(true);setPrefs(b.headend,b.headendName,b.zip,b.timezone,b.timezoneoffset)}else{b.setUISPrefsFromGridPrefs()}setTimeout(function(){b.afterSetHeadend()},10)},afterSetHeadend:function(){var b=xplat.tvlistings;if(b.caller=="activation"){var c={headendID:b.headend,headendName:b.headendName,timezone:b.timezone,timeZoneOffset:b.timezoneoffset,zip:b.zip};RSActivationController.prototype._setResourceBundle(RemoteScheduling.properties.deviceType);RSActivationController.prototype.selectHeadend(c)}else{b.gridLoading.show();b.displayHeadend();if(User.signed_in){b.checkrDVREligibility(b.zip);if(b.rdvr.checked){updateRDVRByEligibility()}}if(b.rdvr.isActivated){setPrefs(b.headend,b.headendName,b.zip,b.timezone,b.timezoneoffset)}if(b.rdvr.isEligible&&b.userstatus=="comcast"&&b.rdvr.invalidUserProperties){b.gridLoading.show();setPrefs(b.headend,b.headendName,b.zip,b.timezone,b.timezoneoffset);setPrefs(b.headend,b.headendName,b.zip,b.timezone,b.timezoneoffset);RSInitialize()}else{if(b.rdvr.isEligible&&a.userstatus=="comcast"&&!b.rdvr.checked){RSInitialize()}else{b.getListings(b.starttime)}}b.rStores.overlayContainer.hide();xplat.headend.closeHeadend()}},initializeFilter:function(){this.previousFilter=this.initp.filters;$("dd.btnSelected").removeClass("btnSelected");$("#gridfilter-dd-"+this.initp.filters).addClass("selected");$("#tvplanner-grid").removeClass().addClass(this.initp.filters);$("#content").removeClass("noFilters");$("#hideFilter").html("hide filters");$("#gridfilter-dd-all").removeClass("selected");this.getListings()},postGridRenderProcess:function(){var b=xplat.tvlistings;b.gridtimezoneoffset=$("#gridtimezoneoffset").html();b.gridStatus="complete";if("favoriteChannels" in a.UISPrefs){var c=a.UISPrefs.favoriteChannels.callSigns||[];if(b.sort_dir===0&&c.length){$("#listingscontainer").addClass("favorites")}else{$("#listingscontainer").removeClass("favorites")}}setTimeout(function(){b.gridLoading.hide();$("#defaultHeadend").fadeOut(2000)},0);if(b.previousFilter!="all"){b.filterGrid($("#gridfilter-capsule dd.btnSelected a"),true)}else{if(!b.initp.set_floatHeader){b.updateHeader()}setTimeout(function(){b.placeInGridAd()},10)}},placeInGridAd:function(){var b=xplat.tvlistings;b.getAdContents();$("div.adRow").not("#defaultAd").remove();var c=0;var d=0;$(a.ad.indexArray).each(function(f,h){var g=Ids=null;if(b.ad.isContextual){$("#defaultAd").html("");Ids=b.getChannelIds(b.ad.callSign[h],true);if(Ids!==null){for(var e=0;e<Ids.length;e++){g=$("#"+Ids[e]);if(g.length>0){$(b.ad.content[h]).clone().insertBefore(g).wrap("<div class='adRow'></div>")}}}}else{Ids=b.getChannelIdByRow(b.ad.defaultRowsIndex);if(c===0){$("#defaultAd").html($(b.ad.content[h]).clone());c++}else{if(Ids!==null&&typeof(Ids[d])!=="undefined"){g=$("#"+Ids[d]);if(g.length>0){b.ad.content[h].find('img[src*="empty.gif"]').attr({width:0,height:0});b.ad.content[h].clone().insertBefore(g).wrap("<div class='adRow'></div>");c++;d++}}}}})},getAdContents:function(){if(!a.ad.isProcessed){a.ad.callSign[0]=(typeof(parentNet1)!=="undefined"&&parentNet1!=="")?parentNet1:(typeof(callSign1)!=="undefined"&&callSign1!=="")?callSign1:"";a.ad.callSign[1]=(typeof(parentNet2)!=="undefined"&&parentNet2!=="")?parentNet2:(typeof(callSign2)!=="undefined"&&callSign2!=="")?callSign2:"";a.ad.callSign[2]=(typeof(parentNet3)!=="undefined"&&parentNet3!=="")?parentNet3:(typeof(callSign3)!=="undefined"&&callSign3!=="")?callSign3:"";a.ad.indexArray=new Array();var d=0;for(var c=0;c<3;c++){var b=$("#gridAd_"+c);if(typeof(b)=="undefined"||b.children().not("script,noscript").length<=0||(b.find("img").length>0&&b.find("img").attr("src").indexOf("grey.gif")>=0)){a.ad.content[c]=null;a.ad.callSign[c]=""}else{a.ad.content[c]=b.children().not("script,noscript");if(a.ad.callSign[c]!==""){d++}a.ad.indexArray.push(c)}}a.ad.isContextual=(a.ad.indexArray.length==d);a.ad.isProcessed=(a.ad.indexArray.length>0)}},getChannelIds:function(g,d){if(typeof g!=="undefined"&&g!==""){var b=g.split(","),c=new Array(),h=null,f=$("#gct li.gjc");for(var e=0;e<b.length;e++){if(b[e]=="OnDemand"||b[e]=="On D"||b[e]=="VODDM"){h=f.filter("[rel$='001']")}else{h=f.filter("[callsign='"+b[e]+"']")}if(h.length===0&&d){h=f.filter("[pnw='"+b[e]+"']")}if(h.length==1&&$("#"+h.attr("rel")+":visible").length>0){c.push(h.attr("rel"))}else{if(h.length>1){h.each(function(){var i=$(this).attr("rel");if($("#"+i+":visible").length>0&&!(i in c)){c.push(i)}})}}}return c}return null},getChannelIdByRow:function(e){if(e===null){return null}var d=new Array();var b=$(".gcr-container:visible");for(var c=0;c<e.length;c++){d.push($(b.get(e[c])).attr("id"))}return d},calcWidth:function(d){var b=xplat.tvlistings;var c=0;if(d.utcStartTimeInMillis<b.starttime&&d.utcEndTimeInMillis>b.end_time){c=((((b.end_time-b.starttime)/60000)/30)*b.cell_width)}else{if(d.utcStartTimeInMillis<b.starttime){c=((((d.utcEndTimeInMillis-b.starttime)/60000)/30)*b.cell_width)}else{if(d.utcEndTimeInMillis>b.end_time){c=((((b.end_time-d.utcStartTimeInMillis)/60000)/30)*b.cell_width)}else{c=((d.duration/30)*b.cell_width-4)}}}return c},gridSuccess:function(b,e,d){var c=this;b.innerHTML=e+d;setTimeout(function(){c.postGridRenderProcess()},0);setTimeout(function(){c.processFloatHeader()},10)},getListings:function(j){var c=xplat.tvlistings,g;if(c.caller=="search"){return}if(c.headend===null||(c.dataSource=="rovi"&&c.tmsHdEnd.test(c.headend))||(c.dataSource=="tms"&&!c.tmsHdEnd.test(c.headend))){c.displayHeadend();c.rStores.overlayContainer.show();xplat.headend.openHeadend(c.zip,c.timezone,c.timezoneoffset);c.gridLoading.hide();return false}c.rStores.gridContainer=$("#"+c.grid_id);c.buildCSS();c.gridStatus="processing";var f=c.rStores.detail;c.gridLoading.show();c.closeProgramDetails();c.getTimes(j);var b=new Date(c.starttime);$("#grid-date").html(c.lib.formatDayOfWeek(b,false)+", "+c.lib.formatMonth(b,false)+" "+b.getDate()+"<b></b>");var e=b.getHours(),d;d=(e===0)?12:(e>12)?(e-12):e;d+=":00 "+((e<12)?"AM":"PM");$("#grid-time").html(d+"<b></b>");if(User.tv.useDac){var i=User.tv.mapId||user.mapId||0;g="/vodservice/rest/tv/dac/grid/"+User.tv.controllerId+"/"+i+"/"+a.starttimeUTC+"/"+a.end_time_utc;g+="?tz="+TZLISTNAME[User.tv.dacTimezone.toUpperCase()]+"&cellWidth="+a.cell_width+"&rowSteps=100000";g+="&hideDescription=true&hideImageUrl=true&version=2"}else{g="/vodservice/rest/tv/"+a.dataSource+"/grid/"+a.headend+"/"+a.starttimeUTC+"/"+a.end_time_utc;g+="?tz="+TZLISTNAME[a.timezone.toUpperCase()]+"&cellWidth="+a.cell_width+"&rowSteps=100000";g+="&hideDescription=true&hideImageUrl=true&version=2"}$.ajax({url:g,async:true,global:false,dataType:"html",success:function(o){var m=o.split(c.delimiter),n=m[0],k=m[1],p=m[m.length-1],l=xplat.tvlistings.Favorites.processGridFavorites(n,p),h;setTimeout(function(){h=document.getElementById(c.grid_id);if(h){c.gridSuccess(h,l,k)}else{$("#listingscontainer").append('<div id="tvplanner-grid" class="all"></div>');h=document.getElementById("tvplanner-grid");setTimeout(function(){c.gridSuccess(h,l,k)},50)}},50)},error:function(){var k=document.getElementById(a.grid_id),l=k.cloneNode(false),h=k.parentNode;l.innerHTML="<h4>An error has occurred, please refresh the page to try again</h4>";h.replaceChild(l,k);c.gridStatus="error";c.gridLoading.hide()}})},doRequest:function(d,c,e){var b=xplat.tvlistings;return $.ajax({url:d,type:"GET",async:("async" in c?c.async:true),beforeSend:function(f){if("headers" in c){for(var g in c.headers){f.setRequestHeader(g,c.headers[g])}}},dataType:c.dataType,success:function(g,f,h){b.data=g;if(typeof e!="undefined"){e()}},error:function(h,f,g){b.data={description:"An error has occurred"};if(typeof e!="undefined"){e()}}})},closeProgramDetails:function(){var b=xplat.tvlistings;if(b.detailsAjax!==null){try{b.detailsAjax.abort();b.detailsAjax=null}catch(d){}}try{$("#tv-program-details").slideUp("fast",function(){$(".listing-selected").removeClass("listing-selected");b.rStores.selectedListing=null;if(b.floatHeader===true){setTimeout(function(){b.processFloatHeader(true)},50)}}).insertAfter("#grid-loading");$("div.selectionArrowContainer").remove()}catch(c){}},selectListing:function(t,j){var g=xplat.tvlistings,k=null,q=null,r=null,n;if(g.detailsAjax!==null){try{g.detailsAjax.abort();g.detailsAjax=null}catch(s){}}var l=$(t);var d=l.prev(".lo");var p=l.next(".ro");if(l.hasClass("listing-selected")){g.closeProgramDetails();return false}$(".listing-selected",xplat.tvlistings.rStores.gridContainer).removeClass("listing-selected");l.addClass("listing-selected");d.addClass("listing-selected");p.addClass("listing-selected");xplat.tvlistings.rStores.selectedListing=l;var h=xplat.tvlistings.rStores.detail;var f=xplat.tvlistings.rStores.detailContent;var b=l.parents(".gcr-container");$("div.selectionArrowContainer").remove();k=l.css("width").split("px")[0];q=l.css("left").split("px")[0];if(k>=22){r=((k/2)-11);if(r>=0){$("<div class='selectionArrowContainer' style='left:"+(parseFloat(q)+4)+"px;width:"+(k-r)+"px;padding-left:"+r+"px'><div class='selectionArrow'></div></div>").insertAfter(l)}}if(b.find("#tv-program-details").length===0){h.remove().appendTo(b)}xplat.tvlistings.rStores.detailContent.html("");if(FC.browserSupport.detect.browser=="Explorer"){xplat.tvlistings.rStores.detailLoading.show();xplat.tvlistings.rStores.detailContent.show();xplat.tvlistings.rStores.detail.show()}else{h.slideDown("fast",function(){xplat.tvlistings.rStores.detailContent.fadeIn("slow")})}if(typeof j=="undefined"){if(b.attr("ppvvod")){j=b.attr("ppvvod")}}if(User.tv.useDac){var i=User.tv.mapId||user.mapId||0;n="/vodservice/rest/tv/dac/details/"+User.tv.controllerId+"/"+i;n+="/"+parseInt(l.attr("chn"),10)+"/"+l.attr("st")+"/"+l.attr("et")}else{n="/vodservice/rest/tv/"+a.dataSource+"/details";n+="/"+l.attr("sid")+"/"+l.attr("pid")+"/"+l.attr("st")}n+="?imageWidth=180&imageHeight=240";g.detailsAjax=$.ajax({url:n,async:true,global:false,dataType:"json",success:function(e){a.data=e;xplat.tvlistings.buildDetails(j)}});xplat.tvlistings.tracking.trackGridListingClick(parseInt(l.attr("st"),10),l.contents().filter(function(){return this.nodeType==3}).text());if(!xplat.tvlistings.isIpad){if(xplat.tvlistings.headerFloated){var m=(l.offset().top)-(36+$("#listingHeadTop").height()+$("#grid-control-bar").height()+$("#listingsHeader").height());window.scrollTo(0,m)}else{var o=null;if(typeof window.innerHeight!=="undefined"){o=window.innerHeight}else{if(typeof document.documentElement!=="undefined"&&typeof document.documentElement.clientHeight!=="undefined"&&document.documentElement.clientHeight!==0){o=document.documentElement.clientHeight}else{o=document.getElementsByTagName("body")[0].clientHeight}}var c=window.pageYOffset||document.documentElement.scrollTop;if(l.offset().top<c){window.scrollTo(0,l.offset().top)}else{if(((l.offset().top+l.height()+h.height()))>(c+o)){window.scrollBy(0,(l.height()+h.height()))}}}}},updateHeader:function(){var d=xplat.tvlistings;var f=$("div.temp-header, div.grid-header-row-container, div.gcr-container:visible",xplat.tvlistings.rStores.gridContainer);var i=0;var g=0;var e=0;var b=null;d.rStores.tempHeader=$("#first-header").clone();d.rStores.tempHeader.removeClass("nfavs").addClass("temp-header").removeAttr("id").find(".grid-left").html('<a href="#top" class="grid-top nohover">Back to Top</a>');var h=d.rStores.tempHeader;if(h!==null){for(var c=0;c<f.length;c++){var j=$(f[c]);var l=j.attr("callsign");if(j.hasClass("gcr-container")){g++;if((g)%a.hdr_freq===0){j.after($(h).clone().addClass("temp-header").show());i++;e=-1;b=j}e++}else{if(j.attr("id")!=="first-header"){j.remove()}}}if(e<2&&b!==null){b.next(".temp-header").hide()}}},isPlacedAd:function(e){var b=xplat.tvlistings;var d=b.ad.callSign.split(",");for(var c=0;c<d.length;c++){if(d[c]==e){return true}}return false}};return a})();$.fn.replaceHTML=function(val){var stack=[];return this.each(function(i,el){var oldEl=el;
/*@cc_on // Pure innerHTML is slightly faster in IE
		oldEl.innerHTML = val;
		return oldEl;
		@*/
var newEl=oldEl.cloneNode(false);newEl.innerHTML=val;oldEl.parentNode.replaceChild(newEl,oldEl);stack.push(newEl)}).pushStack(stack)};
// /tvListings/xp.tvlistings.lib.js from default
(function(a){a.lib={formatDayOfWeek:function(e,c){var f=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b;if(typeof c=="undefined"){c=false}b=(c?f[e.getDay()]:f[e.getDay()].substr(0,3));return b},formatMonth:function(f,e){var b=["January","February","March","April","May","June","July","August","September","October","November","December"],c;if(typeof e=="undefined"){e=false}c=(e?b[f.getMonth()]:b[f.getMonth()].substr(0,3));return c},formatDateAbbr:function(e){var b=["th","st","nd","rd"],c=e.getDate();if(c==1||c==21||c==31){return c+b[1]}else{if(c==2||c==22){return c+b[2]}else{if(c==3||c==23){return c+b[3]}else{return c+b[0]}}}},formatUnixDateToDate:function(c){var b=c.split("-"),e=new Date(b[0],(b[1]-1),b[2]);if(b.length<3){return c}return a.lib.formatMonth(e,true)+" "+e.getDate()+", "+e.getFullYear()},formatTime:function(g,e,h){var b=g.getHours(),f=g.getMinutes(),c;c=(typeof(e)!="undefined"&&e)?" AM":"a";if(b===0){b=12}else{if(b==12){c=(typeof(e)!="undefined"&&e)?" PM":"p"}else{if(b>12){b=b-12;c=(typeof(e)!="undefined"&&e)?" PM":"p"}}}if(f===0){f="00"}else{if(f<10){f="0"+f}}if(h){return b+":"+f}return b+":"+f+c},formatSchedule:function(f,d,e){var b=a.timezoneoffset,g,h,c;if(typeof a.UISPrefs[a.dataSource].timezoneOffset!=="undefined"&&a.UISPrefs[a.dataSource].timezoneOffset!==null){b=a.UISPrefs[a.dataSource].timezoneOffset}g=(b-(new Date().getTimezoneOffset()/60*-1))*60*60*1000;h=new Date(f+g);c=new Date(d+g);if(e){return a.lib.formatTime(h,true,true)+"-"+a.lib.formatTime(c)}return a.lib.formatDayOfWeek(h)+", "+a.lib.formatMonth(h)+" "+h.getDate()+", "+a.lib.formatTime(h,true,true)+"-"+a.lib.formatTime(c)}};return a.lib})(xplat.tvlistings);
// /tvListings/xp.tvlistings.favorites.js from default
(function(a){a.Favorites={setFavorite:function(b){b.toggleClass("nfv").toggleClass("fv")},processGridFavorites:function(e,q){var b;if("favoriteChannels" in a.UISPrefs){b=a.UISPrefs.favoriteChannels.callSigns||[]}if(b&&b.length){a.sort_dir=a.UISPrefs.favoriteChannels.sortOrder;var j=$("<div/>").html(e),p=$("<div/>").html(q),h=0,f=b.length,c={},m=[],d=null,o=null,n=j.find("div.gcr-container"),k;for(;h<f;h++){k=$(n).filter("[callSign='"+b[h]+"']");k.each(function(){o=this.getAttribute("id");d=o.split("-")[2];if(!c[d]){m.push(d);c[d]=this}$(this).replaceWith('<div id="ph-'+o+'"></div>')})}m.sort();h=0;f=m.length;var g=[];for(;h<f;h++){g.push(c[m[h]])}p.find("#favs").append(g);p.find("div.gcr-header div.nfv").removeClass("nfv").addClass("fv");q=p.html();e=j.html()}return"<div>"+q+'<div class="nfavs">'+e+"</div></div>"},setGridSort:function(b){a.sort_dir=b},setUtilizedFlag:function(){CIM.user.get(["favorites_complete"],function(b){if(b.favorites_complete!==true){CIM.user.set({favorites_complete:true})}})},submitFavorite:function(o){this.setUtilizedFlag();var d=[],l=[],e=[],b,g=0,f=0,c=0,m,h=$("div.gcr-container div.gcr-header div.fv"),n={};a.gridLoading.show();a.fav_string="";for(;f<h.length;f++){d.push($(h[f]).attr("id").split("gf-")[1])}d.sort();for(;g<d.length;g++){b=$("#gf-"+d[g]).parents(".gcr-container");if(typeof n[b.attr("callsign")]==="undefined"){a.fav_string+="["+b.attr("callsign")+"]";e.push(b.attr("callsign"));n[b.attr("callsign")]=true}l.push(b)}if(typeof a.UISPrefs.favoriteChannels=="undefined"){a.UISPrefs.favoriteChannels={sortOrder:a.sort_dir,callSigns:[]}}if(CIM.browser.isIE()){$("#favs").hide()}a.UISPrefs.favoriteChannels.sortOrder=a.sort_dir;a.UISPrefs.favoriteChannels.callSigns=e;if(a.RemoteSchedulingUser||(typeof RemoteScheduling!="undefined"&&a.rdvr.isActivated)){setPrefs(a.headend,a.headendName,a.zip,a.timezone,a.timezoneoffset)}else{a.setUISPrefs()}for(;c<l.length;c++){if($(l[c]).parents("#favs").length===0){$('<div id="ph-'+$(l[c]).attr("id")+'"></div>').insertBefore(l[c])}$(l[c]).appendTo("#favs")}$("div#favs div.gcr-container div.gcr-header div.nfv").parents(".gcr-container").each(function(){m=$("#ph-"+$(this).attr("id"));$(this).insertAfter($(m));$(m).remove()});if(!a.initp.set_floatHeader){a.updateHeader()}a.placeInGridAd();a.gridLoading.hide();if(CIM.browser.isIE()){setTimeout(function(){$("#favs").show();if($("div#favs div.gcr-container:visible").length===0){$("#tvplanner-grid").removeClass("favorites").addClass("all");$(".selected").removeClass("selected");$("#gridfilter-dd-all").addClass("selected")}},0)}else{if($("div#favs div.gcr-container:visible").length===0){$("#tvplanner-grid").removeClass("favorites").addClass("all");$(".selected").removeClass("selected");$("#gridfilter-dd-all").addClass("selected")}}if(a.initp.set_floatHeader){a.resetFloatHeader()}}};return a.Favorites})(xplat.tvlistings);
// /tvListings/xp.tvlistings.prefs.js from default
(function(a){UIS_PREFS_REST_URL="/vodservice/rest/tv/user";UIS_PREFS_DEVICE_TYPE_GUIDEWORKS="guideworks";UIS_PREFS_DEVICE_TYPE_TIVO="tivo";UIS_PREFS_BUCKET_ROVI="rovi";UIS_PREFS_BUCKET_TMS="tms";UIS_PREFS_CLIENT_STORAGE_NAME="tvprefs";COOKIE_LIFE_DAYS=14;a.rsToken=null;a.RemoteSchedulingUser=false;a.isOnIESeven=false;userHasUISPrefs=false;userHasCTKPrefs=false;a.UISPrefs={tms:{zipCode:null,headend:null,headendName:null,timezone:null,timezoneOffset:null},rovi:{zipCode:null,headend:null,headendName:null,timezone:null,timezoneOffset:null},deviceType:UIS_PREFS_DEVICE_TYPE_GUIDEWORKS,gridHoursDisplayed:parseFloat(settings.tvlistingsDefaultGridHours,10),favoriteChannels:{sortOrder:1,callSigns:[]}};a.isRemoteSchedulingUser=function(){if(FC.storage.get(UIS_PREFS_CLIENT_STORAGE_NAME)){var b=FC.storage.get(UIS_PREFS_CLIENT_STORAGE_NAME);if(b.deviceType&&b.activation&&b.activation.status&&b.activation.status=="activated"){a.RemoteSchedulingUser=true;a.setLocalUISPrefsObject(FC.storage.get(UIS_PREFS_CLIENT_STORAGE_NAME))}}else{$.ajax({async:false,url:"/remotescheduling/rest/securitytoken",success:function(c){a.rsToken=c;$.ajax({url:"/remotescheduling/rest/user/preferences/v2",dataType:"json",async:false,success:function(d){if(d.deviceType&&d.activation&&d.activation.status&&d.activation.status=="activated"){a.RemoteSchedulingUser=true;a.setLocalUISPrefsObject(d);if(typeof d.deviceType!="undefined"&&(d.deviceType=="tivo"||d.deviceType=="guideworks")){$("#capsule-loading").removeClass().addClass(d.deviceType).show()}if(!user.signedIn){FC.cookie.create(UIS_PREFS_CLIENT_STORAGE_NAME,escape(JSON.stringify(a.UISPrefs)),COOKIE_LIFE_DAYS)}else{if(!a.isOnIESeven){FC.storage.set(UIS_PREFS_CLIENT_STORAGE_NAME,a.UISPrefs,0)}}}},beforeSend:function(d){d.setRequestHeader("Authorization",a.rsToken)}})},error:function(c,e,d){}})}};a.getPrefs=function(){if(user.signedIn){a.isRemoteSchedulingUser();if((FC.browserSupport.detect.browser=="Explorer"&&FC.browserSupport.detect.version<=7)){a.isOnIESeven=true}}if(!a.RemoteSchedulingUser){if(FC.storage.get(UIS_PREFS_CLIENT_STORAGE_NAME)){a.setLocalUISPrefsObject(FC.storage.get(UIS_PREFS_CLIENT_STORAGE_NAME));if(!user.signedIn){FC.storage.remove(UIS_PREFS_CLIENT_STORAGE_NAME);FC.cookie.create(UIS_PREFS_CLIENT_STORAGE_NAME,escape(JSON.stringify(a.UISPrefs)),COOKIE_LIFE_DAYS)}else{a.getUISPrefs();if(!a.userHasUISPrefs){a.setUISPrefs()}}}else{if(FC.cookie.read(UIS_PREFS_CLIENT_STORAGE_NAME)){a.setLocalUISPrefsObject(unescape(FC.cookie.read(UIS_PREFS_CLIENT_STORAGE_NAME)));FC.storage.remove(UIS_PREFS_CLIENT_STORAGE_NAME);if(user.signedIn){a.getUISPrefs();if(!a.userHasUISPrefs){a.setUISPrefs()}}else{FC.cookie.create(UIS_PREFS_CLIENT_STORAGE_NAME,escape(JSON.stringify(a.UISPrefs)),COOKIE_LIFE_DAYS)}}else{if(user.signedIn){a.getUISPrefs()}else{return}}}}a.setGridPrefsFromUISPrefs()};a.getUISPrefs=function(){var b=new Date();var c=user.profileId;var d=UIS_PREFS_REST_URL+"?"+c+b.getTime();$.ajax({async:false,url:d,success:function(f,e,g){a.setLocalUISPrefsObject(f);if(!FC.storage.get(UIS_PREFS_CLIENT_STORAGE_NAME)){FC.storage.remove(UIS_PREFS_CLIENT_STORAGE_NAME);if(!a.isOnIESeven){FC.storage.set(UIS_PREFS_CLIENT_STORAGE_NAME,a.UISPrefs,0)}}a.userHasUISPrefs=true},error:function(h,f,g){if(settings.CTKMigrationEnabled){a.getCTKPrefs();if(a.userHasCTKPrefs&&!a.RemoteSchedulingUser){a.setUISPrefs();a.userHasUISPrefs=true}}else{a.userHasUISPrefs=false}}})};a.setLocalUISPrefsObject=function(e){if(typeof e==="string"){try{e=JSON.parse(e)}catch(d){e=null}}var b={};for(var c in e){b[c]=e[c]}a.UISPrefs=b};a.getCTKPrefs=function(){if("tvzip" in user&&!isNaN(user.tvzip)&&"tvheadend" in user){a.UISPrefs[UIS_PREFS_BUCKET_TMS].zipCode=user.tvzip;a.UISPrefs[UIS_PREFS_BUCKET_TMS].headend=user.tvheadend;if("tvfavs" in user){var e=user.tvfavs.split("[");var c=parseInt(e[0],10);for(var b=1;b<e.length;b++){var d=e[b].split("]")[0];a.UISPrefs.favoriteChannels.callSigns.push(d)}}if("tvtz" in user){a.UISPrefs[UIS_PREFS_BUCKET_TMS].timezone=user.tvtz}if("tvtimeoffset" in user){a.UISPrefs[UIS_PREFS_BUCKET_TMS].timezoneOffset=user.tvtimeoffset}a.userHasCTKPrefs=true}else{a.userHasCTKPrefs=false}};a.setGridPrefsFromUISPrefs=function(){var b=UIS_PREFS_BUCKET_ROVI;if(settings.RoviDataEnabled=="false"){b=UIS_PREFS_BUCKET_TMS}else{if(a.UISPrefs.deviceType==UIS_PREFS_DEVICE_TYPE_TIVO&&a.RemoteSchedulingUser){b=UIS_PREFS_BUCKET_TMS}}if(typeof a.UISPrefs[b]=="undefined"){a.UISPrefs[b]={zipCode:null,headend:null,headendName:null,timezone:null,timezoneOffset:null}}else{if(typeof a.UISPrefs[b].zipCode=="undefined"){a.UISPrefs[b].zipCode=null}if(typeof a.UISPrefs[b].headend=="undefined"){a.UISPrefs[b].headend=null}if(typeof a.UISPrefs[b].headendName=="undefined"){a.UISPrefs[b].headendName=null}if(typeof a.UISPrefs[b].timezone=="undefined"){a.UISPrefs[b].timezone=null}if(typeof a.UISPrefs[b].timezoneOffset=="undefined"){a.UISPrefs[b].timezoneOffset=null}}if(a.UISPrefs[b].headend!==null){a.headend=a.UISPrefs[b].headend}if(a.UISPrefs[b].headendName!==null){a.headendName=a.UISPrefs[b].headendName}if(a.UISPrefs[b].zipCode!==null){a.zip=a.UISPrefs[b].zipCode}if(a.UISPrefs[b].timezone!==null){a.timezone=a.UISPrefs[b].timezone}if(a.UISPrefs[b].timezoneOffset!==null){a.timezoneoffset=a.UISPrefs[b].timezoneOffset}if(a.UISPrefs.gridHoursDisplayed!==null){if(settings.tvGridHoursToggleEnabled==="true"){a.numberOfHours=parseFloat(a.UISPrefs.gridHoursDisplayed)}}a.dataSource=b};a.setUISPrefsFromGridPrefs=function(c,d){if(typeof c=="undefined"){c=false}if(typeof d=="undefined"){d=false}var e=UIS_PREFS_BUCKET_ROVI;var b=UIS_PREFS_DEVICE_TYPE_GUIDEWORKS;if(a.dataSource==UIS_PREFS_BUCKET_TMS||settings.RoviDataEnabled=="false"){e=UIS_PREFS_BUCKET_TMS;if(user.signedIn&&a.RemoteSchedulingUser){b=UIS_PREFS_DEVICE_TYPE_TIVO}}a.UISPrefs[e].headend=a.headend;a.UISPrefs[e].headendName=a.headendName;a.UISPrefs[e].zipCode=a.zip;a.UISPrefs[e].timezone=a.timezone;a.UISPrefs[e].timezoneOffset=a.timezoneoffset;a.UISPrefs.gridHoursDisplayed=parseFloat(a.numberOfHours);a.UISPrefs.deviceType=b;a.dataSource=e;FC.storage.remove(UIS_PREFS_CLIENT_STORAGE_NAME);if(!user.signedIn){FC.cookie.create(UIS_PREFS_CLIENT_STORAGE_NAME,escape(JSON.stringify(a.UISPrefs)),COOKIE_LIFE_DAYS)}else{if(!a.isOnIESeven){FC.storage.set(UIS_PREFS_CLIENT_STORAGE_NAME,a.UISPrefs,0)}}a.setUISPrefs(c,d)};a.setPrefsFromRemoteScheduling=function(){var b=this;var e=RemoteScheduling;var f=false;if(e.prefs.get(e.prefKeys.HEADEND_ID)){var d=e.prefs.get(e.prefKeys.HEADEND_ID);var c=(/[A-Z]{2}\d{5}/).test(d);if((b.dataSource==UIS_PREFS_BUCKET_ROVI&&!c)||(b.dataSource==UIS_PREFS_BUCKET_TMS&&c)){b.headend=d}else{if(typeof b.UISPrefs[b.dataSource]!=="undefined"&&typeof b.UISPrefs[b.dataSource].headend!=="undefined"&&b.UISPrefs[b.dataSource].headend!==null){b.headend=b.UISPrefs[b.dataSource].headend}else{b.headend=null}}}else{if(typeof b.UISPrefs[b.dataSource]!=="undefined"&&typeof b.UISPrefs[b.dataSource].headend!=="undefined"&&b.UISPrefs[b.dataSource].headend!==null){b.headend=b.UISPrefs[b.dataSource].headend;f=true}else{b.headend=null}}if(e.prefs.get(e.prefKeys.ZIP_CODE)){b.zip=e.prefs.get(e.prefKeys.ZIP_CODE)}else{b.zip=null}if(e.prefs.get(e.prefKeys.HEADEND_NAME)&&b.headend!==null&&!f){b.headendName=e.prefs.get(e.prefKeys.HEADEND_NAME)}else{if(b.headend!==null){b.getHeadendInfo()}else{b.headendName=null}}if(e.prefs.get(e.prefKeys.TIME_ZONE)){b.timezone=e.prefs.get(e.prefKeys.TIME_ZONE)}else{b.timezone=null}if(e.prefs.get(e.prefKeys.TIME_ZONE_OFFSET)){b.timezoneoffset=e.prefs.get(e.prefKeys.TIME_ZONE_OFFSET)}else{b.timezoneoffset=null}if(e.prefs.get("deviceType")){b.deviceType=e.prefs.get("deviceType")}delete b.UISPrefs.activation;if(e.prefs.get(e.prefKeys.ACTIVATION_STATUS)&&e.prefs.get(e.prefKeys.ACTIVATION_UPDATED)){b.UISPrefs.activation={status:e.prefs.get(e.prefKeys.ACTIVATION_STATUS),updated:e.prefs.get(e.prefKeys.ACTIVATION_UPDATED)}}if(e.prefs.get(e.prefKeys.FAVORITES_SORT_ORDER,0)>=0&&e.prefs.get(e.prefKeys.FAVORITES_CALL_SIGNS)){b.UISPrefs.favoriteChannels={sortOrder:parseInt(e.prefs.get(e.prefKeys.FAVORITES_SORT_ORDER,0),10),callSigns:e.prefs.get(e.prefKeys.FAVORITES_CALL_SIGNS)}}b.dataSource=UIS_PREFS_BUCKET_ROVI;if(b.deviceType==UIS_PREFS_DEVICE_TYPE_TIVO||settings.RoviDataEnabled=="false"){b.dataSource=UIS_PREFS_BUCKET_TMS}if(f){setPrefs(b.headend,b.headendName,b.zip,b.timezone,b.timezoneoffset)}b.setUISPrefsFromGridPrefs(true)};a.setUISPrefs=function(c,d){if(typeof d=="undefined"){d=false}if(user.signedIn&&(!c&&!a.RemoteSchedulingUser)||d){var b=new Date();$.ajax({url:UIS_PREFS_REST_URL+"?"+user.profileId+b.getTime(),async:false,type:"POST",contentType:"application/json",data:JSON.stringify(a.UISPrefs),success:function(e){User.flush()},error:function(g,e,f){}})}FC.storage.remove(UIS_PREFS_CLIENT_STORAGE_NAME);if(!user.signedIn){FC.cookie.create(UIS_PREFS_CLIENT_STORAGE_NAME,escape(JSON.stringify(a.UISPrefs)),COOKIE_LIFE_DAYS)}else{if(!a.isOnIESeven){FC.storage.set(UIS_PREFS_CLIENT_STORAGE_NAME,a.UISPrefs,0)}}}})(xplat.tvlistings);
// /tvListings/tvlistings-tracking.js from default
if(typeof xplat==="undefined"||!xplat){var xplat={}}xplat.tvlistings.tracking={trackGridCounter:0,clearVars:function(){s.pageName="";s.channel="";s.prop5="";s.prop6="";s.prop14="";s.prop31="";s.prop32="";s.prop33="";s.prop34="";s.prop35="";s.events="";s.products=""},trackGridListingClick:function(c,e){var a=this.parseUTCTime(c);var i=a.timeYear;var h=a.timeMonth;var d=a.timeDate;var f=a.timeHour;var g=a.timeMinutes;var b=a.timeAMorPM;this.clearVars();s.linkTrackVars="events,products";s.linkTrackEvents="event27";s.events="event27";s.products=";"+e+",;TVListingsHeadendandShow - "+i+" : "+h+" - "+d+" : "+f+":"+g+" "+b+" : "+e;s.tl(this,"o","TV Listings Grid Click")},trackGridRefresh:function(d,g){var e=this.parseUTCTime(d);var b=e.timeYear;var m=e.timeMonth;var i=e.timeDate;var l=e.timeHour;var k=e.timeMinutes;var f=e.timeAMorPM;var n=this.parseUTCTime(g);var a=n.timeYear;var p=n.timeMonth;var h=n.timeDate;var j=n.timeHour;var o=n.timeMinutes;var c=n.timeAMorPM;this.clearVars();s.pageName="Browse : TvListings : Comcast : "+b+" : "+m+" - "+i+" : "+l+":"+k+" - "+j+":"+o+" "+c;s.events="";s.channel="Browse";s.products=";"+s.pageName;s.prop5="TvListings";s.prop6="Comcast";s.prop14="TvListings:Comcast";s.t();this.trackGridCounter++},trackTVListingSearch:function(a){this.clearVars();s.linkTrackVars="events,products";s.linkTrackEvents="event30";s.events="event30";s.products=";"+a;s.tl(this,"o","TV Listings Grid Search")},parseUTCTime:function(a){a=parseFloat(a);var b={};b.timeReadable=new Date(a);b.timeYear=b.timeReadable.getFullYear();b.timeMonth=(b.timeReadable.getMonth()+1);b.timeDate=b.timeReadable.getDate();b.timeHour=b.timeReadable.getHours();b.timeMinutes=b.timeReadable.getMinutes();b.timeAMorPM="AM";if(b.timeHour>12){b.timeHour=(b.timeHour-12);b.timeAMorPM="PM"}if(b.timeMonth.toString().length<2){b.timeMonth="0"+b.timeMonth}if(b.timeDate.toString().length<2){b.timeDate="0"+b.timeDate}if(b.timeHour.toString().length<2){b.timeHour="0"+b.timeHour}if(b.timeMinutes.toString().length<2){b.timeMinutes="0"+b.timeMinutes}return b}};
