-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathApp.min.js
1 lines (1 loc) · 431 KB
/
App.min.js
1
function xml2json(xml,tab){var X={toObj:function(xml){var o={};if(xml.nodeType==1){if(xml.attributes.length)for(var i=0;i<xml.attributes.length;i++)o["@"+xml.attributes[i].nodeName]=(xml.attributes[i].nodeValue||"").toString();if(xml.firstChild){var textChild=0,cdataChild=0,hasElementChild=false;for(var n=xml.firstChild;n;n=n.nextSibling){if(n.nodeType==1)hasElementChild=true;else if(n.nodeType==3&&n.nodeValue.match(/[^ \f\n\r\t\v]/))textChild++;else if(n.nodeType==4)cdataChild++}if(hasElementChild){if(textChild<2&&cdataChild<2){X.removeWhite(xml);for(var n=xml.firstChild;n;n=n.nextSibling){if(n.nodeType==3)o["#text"]=X.escape(n.nodeValue);else if(n.nodeType==4)o["#cdata"]=X.escape(n.nodeValue);else if(o[n.nodeName]){if(o[n.nodeName]instanceof Array)o[n.nodeName][o[n.nodeName].length]=X.toObj(n);else o[n.nodeName]=[o[n.nodeName],X.toObj(n)]}else o[n.nodeName]=X.toObj(n)}}else{if(!xml.attributes.length)o=X.escape(X.innerXml(xml));else o["#text"]=X.escape(X.innerXml(xml))}}else if(textChild){if(!xml.attributes.length)o=X.escape(X.innerXml(xml));else o["#text"]=X.escape(X.innerXml(xml))}else if(cdataChild){if(cdataChild>1)o=X.escape(X.innerXml(xml));else for(var n=xml.firstChild;n;n=n.nextSibling)o["#cdata"]=X.escape(n.nodeValue)}}if(!xml.attributes.length&&!xml.firstChild)o=null}else if(xml.nodeType==9){o=X.toObj(xml.documentElement)}else alert("unhandled node type: "+xml.nodeType);return o},toJson:function(o,name,ind){var json=name?'"'+name+'"':"";if(o instanceof Array){for(var i=0,n=o.length;i<n;i++)o[i]=X.toJson(o[i],"",ind+"\t");json+=(name?":[":"[")+(o.length>1?"\n"+ind+"\t"+o.join(",\n"+ind+"\t")+"\n"+ind:o.join(""))+"]"}else if(o==null)json+=(name&&":")+"null";else if(typeof o=="object"){var arr=[];for(var m in o)arr[arr.length]=X.toJson(o[m],m,ind+"\t");json+=(name?":{":"{")+(arr.length>1?"\n"+ind+"\t"+arr.join(",\n"+ind+"\t")+"\n"+ind:arr.join(""))+"}"}else if(typeof o=="string")json+=(name&&":")+'"'+o.toString()+'"';else json+=(name&&":")+o.toString();return json},innerXml:function(node){var s="";if("innerHTML"in node)s=node.innerHTML;else{var asXml=function(n){var s="";if(n.nodeType==1){s+="<"+n.nodeName;for(var i=0;i<n.attributes.length;i++)s+=" "+n.attributes[i].nodeName+'="'+(n.attributes[i].nodeValue||"").toString()+'"';if(n.firstChild){s+=">";for(var c=n.firstChild;c;c=c.nextSibling)s+=asXml(c);s+="</"+n.nodeName+">"}else s+="/>"}else if(n.nodeType==3)s+=n.nodeValue;else if(n.nodeType==4)s+="<![CDATA["+n.nodeValue+"]]>";return s};for(var c=node.firstChild;c;c=c.nextSibling)s+=asXml(c)}return s},escape:function(txt){return txt.replace(/[\\]/g,"\\\\").replace(/[\"]/g,'\\"').replace(/[\n]/g,"\\n").replace(/[\r]/g,"\\r")},removeWhite:function(e){e.normalize();for(var n=e.firstChild;n;){if(n.nodeType==3){if(!n.nodeValue.match(/[^ \f\n\r\t\v]/)){var nxt=n.nextSibling;e.removeChild(n);n=nxt}else n=n.nextSibling}else if(n.nodeType==1){X.removeWhite(n);n=n.nextSibling}else n=n.nextSibling}return e}};if(xml.nodeType==9)xml=xml.documentElement;var json=X.toJson(X.toObj(X.removeWhite(xml)),xml.nodeName,"\t");var result="{\n"+tab+(tab?json.replace(/\t/g,tab):json.replace(/\t|\n/g,""))+"\n}";return result}var Class=function(){"use strict";function ClassDef(){}ClassDef.prototype={create:function(){var argsL=arguments.length,nsPath=null,cData={},data;if(argsL===1){cData=arguments[0]}else if(argsL===2){nsPath=arguments[0];cData=arguments[1]}else{}data=this._getData(cData);var constructor=data._super===null?this._defineClass(data._constructor,data._methods,data._statics):this._defineSubclass(data._super,data._constructor,data._methods,data._statics);if(argsL===2){NS.addClass(nsPath,constructor)}return constructor},_getData:function(obj){var data={};if(obj===undefined||obj===null){obj={}}if(obj.hasOwnProperty("_init_")){data._constructor=obj._init_;delete obj._init_}else{data._constructor=function(){}}if(obj.hasOwnProperty("_static_")){data._statics=obj._static_;delete obj._static_}else{data._statics=null}if(obj.hasOwnProperty("_extends_")){data._super=obj._extends_;delete obj._extends_}else{data._super=null}data._methods=obj;return data},_defineClass:function(constructor,methods,statics){if(methods){this._extend(constructor.prototype,methods)}if(statics){this._extend(constructor,statics)}return constructor},_defineSubclass:function(superclass,constructor,methods,statics){constructor.prototype=this._inherit(superclass.prototype);constructor.prototype.constructor=constructor;if(methods){this._extend(constructor.prototype,methods,{_super:superclass.prototype})}if(statics){this._extend(constructor,statics)}return constructor},_inherit:function(prototype){if(prototype===null){throw new TypeError}if(Object.create){return Object.create(prototype)}var t=typeof prototype;if(t!=="object"&&t!=="function"){throw new TypeError}function NewClass(){}NewClass.prototype=prototype;return new NewClass},_extend:function(){return function extend(o){var argLenght=arguments.length,superClass=null;if(arguments[argLenght-1].hasOwnProperty("_super")){superClass=arguments[argLenght-1]._super;argLenght-=1}for(var i=1;i<argLenght;i++){var source=arguments[i];for(var prop in source){if(superClass!==null&&typeof source[prop]==="function"&&superClass.hasOwnProperty(prop)){o[prop]=function(name,prop){return function(){var tmp=this._super;this._super=superClass[name];var ret=prop.apply(this,arguments);this._super=tmp;return ret}}(prop,source[prop])}else{o[prop]=source[prop]}}}return o}}()};return new ClassDef}();var Keys=function(){var keyBinder=function(tvaKey,defaultCode){return tvaKey==null?defaultCode:tvaKey};var KeySingleton=Class.create({_init_:function(){this.bindings={Back:keyBinder(461,8),Up:keyBinder(38,38),Down:keyBinder(40,40),Left:keyBinder(37,37),Right:keyBinder(39,39),Enter:keyBinder(13,13),Red:keyBinder(403,81),Green:keyBinder(404,87),Yellow:keyBinder(405,109),Blue:keyBinder(406,107),Play:keyBinder(415,118),Pause:keyBinder(19,118),RW:keyBinder(412,117),FF:keyBinder(417,119),RWC:function(){if(TVA.tvKey!=null){return TVA.tvKey.KEY_REWIND_==null?0:TVA.tvKey.KEY_REWIND_}else{return 0}}(),FFC:function(){if(TVA.tvKey!=null){return TVA.tvKey.KEY_FF_==null?0:TVA.tvKey.KEY_FF_}else{return 0}}(),Stop:keyBinder(413,35),One:keyBinder(49,97),Two:keyBinder(50,98),Three:keyBinder(51,99),Four:keyBinder(52,100),Five:keyBinder(53,101),Six:keyBinder(54,102),Seven:keyBinder(55,103),Eight:keyBinder(56,104),Nine:keyBinder(57,105),Zero:keyBinder(TVA.Key_TEN,96),Cross:keyBinder(0,0),Circle:keyBinder(0,0),Triangle:keyBinder(0,0),Square:keyBinder(0,0),Start:keyBinder(0,0),Select:keyBinder(0,0),L1:keyBinder(0,0),L2:keyBinder(0,0),L3:keyBinder(0,0),R1:keyBinder(0,0),R2:keyBinder(0,0),R3:keyBinder(0,0)}},getBind:function(keycode){if(this.bindings.hasOwnProperty(keycode)){return this.bindings[keycode]}return null}});return new KeySingleton}();var Model=function(){var M=Class.create({newModel:function(name,data){if(data instanceof Function){return null}if(!this.hasOwnProperty(name)){this[name]=data||{}}else{}return this[name]},hasModel:function(name){return this.hasOwnProperty(name)},getModel:function(name){return this.hasOwnProperty(name)?this[name]:null},cleanModel:function(name){if(this.hasModel(name)){if(this[name]instanceof Array){this[name]=[]}else{this[name]={}}}},updateModel:function(name,newData){if(!this.hasOwnProperty(name)){if(newData instanceof Array){this[name]=[]}else{this[name]={}}}this._updateModel(name,newData);return this[name]},_updateModel:function(name,newData,destination){var property,obj=newData,value,isObj=false,v=destination===undefined?this[name]:destination;if(newData instanceof Array){isObj=true}else if(newData instanceof Object){isObj=true}if(!isObj){this[name]=newData;return}for(property in obj){if(obj.hasOwnProperty(property)){delete v[property];value=obj[property];v[property]={};if(!(value instanceof Object)){v[property]=value}else{if(value instanceof Array){v[property]=value}else{this._updateModel(name,obj[property],v[property])}}}}}});return new M}();var Utils=function(){var Singleton=Class.create({trim:function(str){var i=0,l=str.length-1;while(str[i]===" "){i++}while(str[l]===" "){l--}return str.slice(i,l+1)},isInt:function(n){return typeof n==="number"&&n%1===0},centerElement:function($p,$c,v){var c=Math.round($p.height()/2-$c.height()/2);$c.css("top",v===undefined?c:v+"px");return c},isArrSame:function(arra,arrb){var aL=arra.length;if(aL!==arrb.length){return false}while(aL--){if(arra[aL]!==arrb[aL]){return false}}return true}});return new Singleton}();var EventDispatcher=function(){var ED=Class.create({_init_:function(){this.mappings={}},subscribe:function(name,callback,eContext){if(this.mappings[name]===undefined){this.mappings[name]=[]}var eventBinder={callback:callback,context:eContext};this.mappings[name].push(eventBinder);return[name,eventBinder]},unsubscribe:function(endPoint){var e;if(endPoint instanceof Array){if(endPoint[0]instanceof Array){for(e in endPoint){if(endPoint.hasOwnProperty(e)){this._unsubscribe(endPoint[e])}}}else{this._unsubscribe(endPoint)}}},_unsubscribe:function(endPoint){if(!endPoint instanceof Array){return}if(!this.mappings.hasOwnProperty(endPoint[0])){return}var eName=endPoint[0],eBinder=endPoint[1],event=this.mappings[eName],eLength=event.length;while(eLength--){if(event[eLength]===eBinder){event.splice(eLength,1)}}},publish:function(){if(arguments.length<1){return}var args=Array.prototype.slice.call(arguments,0),event=this.mappings[args[0]],eLength,elm;if(event===undefined){return}eLength=event.length;args.shift();while(eLength--){elm=event[eLength];if(elm.callback===undefined){event.splice(eLength,1);continue}event[eLength].callback.apply(elm.context===undefined?event[eLength]:elm.context,args)}}});return new ED}();var ViewController=function(){"use strict";return Class.create({__tvavcid:true,_init_:function(args){this.name=args.name||args.template;this.template=args.template;this.templateEngine=args.engine;this.$dom=null;this.rootID=null;this.parentVC=null;this.eventSubscriptions=[];this.children={};this.rendering=false;this.viewEvents=args.events||{}},saveState:function(){return{}},loadState:function(data){return true},load:function(){this.$dom=this.templateEngine.load(this.template);this.rootID="#"+this.$dom.attr("id");this._parseEvents()},onLoad:function(){},unload:function(){if(this.parentVC===null){this._unloadChildren();this._unbindEvents();this._removeFromDOM();EventDispatcher.unsubscribe(this.eventSubscriptions);this.onUnload()}else{this.parentVC.removeChild(this.name)}},onUnload:function(){},_unload:function(){this._unloadChildren();this._unbindEvents();EventDispatcher.unsubscribe(this.eventSubscriptions);this.onUnload()},hide:function(){$(this.rootID).hide()},show:function(){$(this.rootID).show()},setParent:function(parent){this.parentVC=parent},addChild:function(VC,place){this.children[VC.name]={view:VC,loadAt:place};VC.setParent(this);VC.onLoad();if(this.rendering&&place=="#Details"){VC.render(place);$("#detailsList > .Up_Arrow").hide();$("#detailsList > .Down_Arrow").show();$(".Left_Arrow.Arrow.hoverButton").hide();$(".Right_Arrow.Arrow.hoverButton").hide()}else if(this.rendering&&(VC.activeChild=="rating_yes_btn"||VC.name=="ModalPinInsert")){VC.render(place);$("#detailsList > .Down_Arrow").hide()}else if(this.rendering){VC.render(place)}},_unloadChildren:function(){for(var e in this.children){if(this.children.hasOwnProperty(e)){this.removeChild(e)}}},_removeChild:function(name){this.children[name].view._unload()},removeChild:function(name){if(this.children.ModalRating){$("#detailsList > .Down_Arrow").show()}if(this.children.hasOwnProperty(name)){this._removeChild(name);this.children[name].view._removeFromDOM()}delete this.children[name]},removeChildren:function(){for(var e in this.children){if(this.children.hasOwnProperty(e)){this.removeChild(e)}}},render:function(location){if(location==null){location="body"}$(location).append(this.$dom);if(this.cloned){$("#"+this.template).attr("id",this.name)}this.rendering=true;this._bindEvents();this._renderChildren()},_renderChildren:function(){var p;for(var e in this.children){if(this.children.hasOwnProperty(e)){p=this.children[e].loadAt;this.children[e].view.render(p)}}},_bindEvents:function(){this._eventBinder(true)},_unbindEvents:function(){this._eventBinder(false)},_parseEvents:function(){var events=this.viewEvents,event,eventData,eLength,eBinds,i;for(event in events){if(events.hasOwnProperty(event)){eventData=events[event];eLength=eventData.length;for(i=0;i<eLength;i+=1){eBinds=eventData[i].split(",");if(eBinds.length===2){var e=Utils.trim(eBinds[0]);var c=Utils.trim(eBinds[1]);if(c in this){this.viewEvents[event][i]={element:e,callback:c}}}}}}},_eventBinder:function(bind){var self=this,event,eventData,i,eLength,events=this.viewEvents,eBindings,$root=$(self.rootID);var binder=function(el,event,context){if(el.element===self.rootID){$root.bind(event,function(ev,data){self[el.callback](ev,data,context)})}else{$root.delegate(el.element,event,function(ev,data){self[el.callback](ev,data,context)})}};for(event in events){if(events.hasOwnProperty(event)){eventData=events[event];eLength=eventData.length;for(i=0;i<eLength;i+=1){eBindings=eventData[i];if(bind){binder(eBindings,event,this)}else{$root.undelegate(eBindings.element,event)}}}}},_removeFromDOM:function(){$(this.rootID).remove()},subscribe:function(event,callback,context){var c=context||this;this.eventSubscriptions.push(EventDispatcher.subscribe(event,callback,c))},publish:function(){EventDispatcher.publish.apply(EventDispatcher,arguments)}})}();var Template=function(){return Class.create({_init_:function(){this.Templates={};this.__folder="templates";this.__ext=".html"},load:function(name){if(this.Templates.hasOwnProperty(name)){return $(this.Templates[name]).clone()}var self=this;$.ajax({url:this.__folder+"/"+name+this.__ext,async:false,success:function(data){self.Templates[name]=$(data)},error:function(e){}});return self.Templates[name]}})}();var ViewControllerManager=function(){var ViewControllerManager=function(){this.ViewControllers={};this.__TemplateLoader=new Template;this.__classDefinitions={}};ViewControllerManager.prototype={newClassDef:function(name,classDef){if(this.__classDefinitions.hasOwnProperty(name)){return}if(typeof classDef=="object"){$base=classDef._extends_;if(typeof $base=="string"){if(this.__classDefinitions.hasOwnProperty($base)){$base=this.__classDefinitions[$base]}}if(!$base){$base=ViewController}classDef._extends_=$base;if(classDef._init_){classDef.___lostinit=classDef._init_;classDef._init_=function(bs){return function(){bs.call(this,arguments[0]);classDef.___lostinit(arguments[0])}}($base)}else if(classDef._extends_){classDef._init_=function(bs){return function(){bs.call(this,arguments[0])}}($base)}this.__classDefinitions[name]=Class.create(classDef)}else this.__classDefinitions[name]=classDef},create:function(classDef,args){if(!this.__classDefinitions.hasOwnProperty(classDef)){return null}var name=args.name||args.template;if(this.ViewControllers.hasOwnProperty(name)){return this.ViewControllers[name]}args.engine=this.__TemplateLoader;var vc=new this.__classDefinitions[classDef](args);vc.load();this.ViewControllers[name]=vc;return this.ViewControllers[name]},find:function(name){if(this.ViewControllers.hasOwnProperty(name)){return this.ViewControllers[name]}return null},findClass:function(name){if(this.__classDefinitions.hasOwnProperty(name)){return this.__classDefinitions[name]}return null},unload:function(name){this.ViewControllers[name].unload();this.ViewControllers[name]=undefined},clone:function(sourceVC,newVC){sourceVC=this.find(sourceVC);var cloneVC=newVC||sourceVC.name+"_clone_"+(new Date).getTime();var events={};for(var event in sourceVC.viewEvents){if(sourceVC.viewEvents.hasOwnProperty(event)){var obj=sourceVC.viewEvents[event];events[event]=[];for(var i in obj){if(obj.hasOwnProperty(i)){if(event==="tvaKey"){events[event][i]="#"+cloneVC+", "+obj[i].callback}else{events[event][i]=obj[i].element+", "+obj[i].callback}}}}}var args={name:cloneVC,template:sourceVC.template,events:events};var vc=this.create(sourceVC.name+"VC",args);vc.rootID="#"+cloneVC;vc.cloned=true;return vc}};return new ViewControllerManager}();(function(){"use strict";ViewControllerManager.newClassDef("ModalVC",Class.create({_extends_:ViewController,_init_:function(args){ViewController.call(this,args);this.modalStack=[];this.stackIgnore=[];this.hidden=true;this._previousFocus=null},onKeyDown:function(e,keyEvent){e.stopPropagation()},_replace:function(name){for(var c in this.children){if(this.children.hasOwnProperty(c)){TVA.offFocus(TVA.onFocus);this.removeChild(c)}}if(this.hidden){this._previousFocus=TVA.onFocus}var vc=ViewControllerManager.find(name);this.addChild(vc,"#ModalContent");this.show();var tmp=true;for(var i=0;i<this.modalStack.length;i+=1)if(name===this.modalStack[i])tmp=false;if(tmp){this.modalStack.push(name)}this.hidden=false;if(vc.onVisible){vc.onVisible()}},previousElementName:function(){if(this.modalStack.length<=0){return null}else if(this.modalStack.length===1){return this.modalStack[0]}else{return this.modalStack[this.modalStack.length-2]}},backToPrevious:function(rec){if(this.modalStack.length<=0){this.hide();return}if(!rec){this.unloadCurrentChild()}var name=this.modalStack.pop();if(name===undefined){this.hide();return}if(this.stackIgnore.lastIndexOf(name)>=0){this.backToPrevious(true)}else{this._replace(name)}},unloadCurrentChild:function(){TVA.offFocus(TVA.onFocus);var currentChild=this.modalStack.pop();this.removeChild(currentChild.name)},hide:function(setFocus){this._unloadChildren();this.modalStack=[];if(setFocus!==true){var self=this;if(settings.device==="googletv"){setTimeout(function(){TVA.setFocus(self._previousFocus)},500)}else{TVA.setFocus(self._previousFocus)}}this.hidden=true;this._super()}}))})();var Widget=function(){var Widget=function(args){this.name=args.name||args.destination;this._init(args)};Widget.prototype={_init:function(vcDef){if(vcDef.source){this.vc=ViewControllerManager.clone(vcDef.source,vcDef.destination)}else{this.vc=ViewControllerManager.create(vcDef.vcName,{template:vcDef.template,events:vcDef.events,name:vcDef.name})}},setEventCallbacks:function(eventCallbacks){if(eventCallbacks.keydownCB)this.vc.keydownCB=eventCallbacks.keydownCB;if(eventCallbacks.clickCB)this.vc.clickCB=eventCallbacks.clickCB;if(eventCallbacks.hoverCB)this.vc.hoverCB=eventCallbacks.hoverCB;if(eventCallbacks.mouseOutCB)this.vc.mouseOutCB=eventCallbacks.mouseOutCB;if(eventCallbacks.parentListHoverCB)this.vc.parentListHoverCB=eventCallbacks.parentListHoverCB;if(eventCallbacks.parentListMouseOutCB)this.vc.parentListMouseOutCB=eventCallbacks.parentListMouseOutCB},add:function(scope,location){scope.addChild(this.vc,location)},setParams:function(params){this.vc.init(params)}};return Widget}();var WidgetManager=function(){var WidgetManager=function(){this.Widgets={};this.SourceWidgets={}};WidgetManager.prototype={init:function(){for(var i=0;i<WidgetRegister.source.length;i++){var vc=WidgetRegister.source[i];this.create(vc)}this.cloneIndex=0;this.countdownTimers=[]},create:function(vc){var widgetDef={template:vc.template,events:vc.events,name:vc.name,vcName:vc.vcName,type:vc.type};if(this.Widgets[widgetDef.name]){TVA.log("Failed to create widget. "+widgetDef.name+" already exists.")}else if(this.SourceWidgets[widgetDef.vcName]){this.Widgets[widgetDef.name]=this.duplicate(widgetDef.type,widgetDef.name,widgetDef.vcName)}else{this.SourceWidgets[widgetDef.vcName]=new Widget({vcName:widgetDef.vcName,template:widgetDef.template,events:widgetDef.events,name:widgetDef.name})}if(vc.params)this.Widgets[widgetDef.name]["params"]=vc.params},duplicate:function(sourceVC,newVCName,vcName){if(this.Widgets[newVCName]){TVA.log("Failed to duplicate widget."+newVCName+" already exists.")}else if(this.isSourceWidget(vcName)){return new Widget({source:sourceVC,destination:newVCName})}else{TVA.log("Unable to duplicate "+sourceVC+". Must be a source widget.")}return null},find:function(name){if(this.Widgets.hasOwnProperty(name)){return this.Widgets[name]}return null},isSourceWidget:function(name){return this.SourceWidgets[name]},delete:function(name){delete this.Widgets[name]},addWidget:function(scope,widgetName,location,callBacks,params){scope[widgetName]=this.find(widgetName);if(!scope.children[widgetName]){scope[widgetName].add(scope,location);this.cloneIndex++}if(callBacks){scope[widgetName].setEventCallbacks(callBacks)}params.cloneIndex=this.cloneIndex;params.widgetName=widgetName;if(params.widgetType){WidgetRegister[params.widgetType]&&WidgetRegister[params.widgetType](params)}else{WidgetRegister[widgetName]&&WidgetRegister[widgetName](params)}},mainMenu:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="css/assets/"+carouselData[i].icon;var title=carouselData[i].title;var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;width:100%;height:100%"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:0,y:192,width:334,height:720};params.cellWidth=334;params.cellHeight=40;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.horizontalMargin=0;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=true;params.performance=true;params.showArrows=false;params.verticalMargin=6;this.find("mainMenu").setParams(params)},categoriesList:function(params){params.gridPos={x:params.x||0,y:params.y||0,width:params.width||100,height:params.height||100};this.find("categoriesList").setParams(params)},myMoviesList:function(params){params.gridPos={x:params.x+20||0,y:params.y||0,width:params.width||100,height:params.height||100};this.find("myMoviesList").setParams(params)},details_media:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";if(typeof carouselData[i]==="object"){thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_276,w_414/"+carouselData[i].thumb}else{thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_276,w_414/"+carouselData[i]}var title="";var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:25,y:0,width:1100,height:298};params.cellWidth=414;params.cellHeight=276;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=true;this.find("details_media").setParams(params)},details_watch:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";var title=carouselData[i];var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:290,y:0,width:689,height:500};params.cellWidth=180;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=false;this.find("details_watch").setParams(params);var movie=Model.App.movie;var imageID=movie.imagery.coverart[0]?movie.imagery.coverart[0].id:"";var coverArt='<div id="detailsWatchCoverArt" style="background-image:url('+Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_250,w_168/"+imageID+');position:absolute;"></div>';imageID=movie.imagery.banners[1]?movie.imagery.banners[1].url:"";var bg="";var gradient="";var img="";gradient="rgba(0,0,0,1)";img="background:"+gradient;bg+=img+";";gradient="-moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5))";img="background:"+gradient;bg+=img+";";gradient="-webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,0)),color-stop(50%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0.5)))";img="background:"+gradient;bg+=img+";";gradient="-webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5) 100%)";img="background:"+gradient;bg+=img+";";gradient="-o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5) 100%)";img="background:"+gradient;bg+=img+";";gradient="-ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5) 100%)";img="background:"+gradient;bg+=img+";";gradient="linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5)) 100%)";img="background:"+gradient;bg+=img;var background='<div id="detailsWatchBackground" style="background-image:url('+Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_321,w_1280/"+imageID+');position:absolute;"><div style="position:absolute;'+bg+';width:100%;height:100%"></div></div>';var credits={};for(var credit in movie.cast){if(movie.cast[credit].length>0){credits[credit]=[];for(var j=0;j<movie.cast[credit].length;j++){var fieldID=credit.substring(0,credit.length-1);credits[credit].push(movie.cast[credit][j][fieldID+"_title"])}}}var maxMakers=5;var makerCount=0;var directors="";if(credits.directors){if(makerCount<maxMakers){directors+='<p class="title">'+language[Model.App.file.language].detailsScreen.director+"</p>";for(var i=0;i<credits.directors.length;i++){if(makerCount<maxMakers){directors+="<p>"+credits.directors[i]+"</p>";makerCount++}}}}var producers="";if(credits.producers){if(makerCount<maxMakers){producers+='<p class="title">'+language[Model.App.file.language].detailsScreen.producers+"</p>";for(var i=0;i<credits.producers.length;i++){if(makerCount<maxMakers){producers+="<p>"+credits.producers[i]+"</p>";makerCount++}}}}var actors="";if(credits.actors){actors+='<p class="title">'+language[Model.App.file.language].detailsScreen.actors+"</p><p>";for(var i=0;i<credits.actors.length;i++){actors+=credits.actors[i];if(i<credits.actors.length-1){actors+=", "}}actors+="</p>"}var writers="";if(credits.writers){if(makerCount<maxMakers){writers+='<p class="title">'+language[Model.App.file.language].detailsScreen.writers+"</p>";for(var i=0;i<credits.writers.length;i++){if(makerCount<maxMakers){writers+="<p>"+credits.writers[i]+"</p>";makerCount++}}}}var ratingWhole=Math.floor(movie.rating);var ratingHalf=movie.rating-ratingWhole;var stars="";var wholeStarUrl="assets/full_star.png";var halfStarUrl="assets/half_star.png";var noStarUrl="assets/empty_star.png";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}else{stars+='<div class="star noStar"></div>'}}var releaseDate=Util.isotimedetail(Model.App.movie.release_date);var currTime=new Date;var month="jan";switch(parseInt(releaseDate[1])){case 1:month="jan";break;case 2:month="feb";break;case 3:month="mar";break;case 4:month="apr";break;case 5:month="may";break;case 6:month="jun";break;case 7:month="jul";break;case 8:month="aug";break;case 9:month="sep";break;case 10:month="oct";break;case 11:month="nov";break;case 12:month="dec";break}month=Model.App.languages[Model.App.file.language].months[month][1];var releaseDateString="";var d=new Date(Model.App.movie.release_date).getDay();var premDay="";switch(d){case 0:premDay=Model.App.languages[Model.App.file.language].weekdays["sun"][1];break;case 1:premDay=Model.App.languages[Model.App.file.language].weekdays["mon"][1];break;case 2:premDay=Model.App.languages[Model.App.file.language].weekdays["tue"][1];break;case 3:premDay=Model.App.languages[Model.App.file.language].weekdays["wed"][1];break;case 4:premDay=Model.App.languages[Model.App.file.language].weekdays["thu"][1];break;case 5:premDay=Model.App.languages[Model.App.file.language].weekdays["fri"][1];break;case 6:premDay=Model.App.languages[Model.App.file.language].weekdays["sat"][1];break}if(parseInt(releaseDate[0])>currTime.getFullYear()){releaseDateString=" | "+premDay+" "+month+" "+releaseDate[2]+", "+releaseDate[0]}else if(parseInt(releaseDate[0])===currTime.getFullYear()){if(parseInt(releaseDate[1])>currTime.getMonth()+1){releaseDateString=" | "+premDay+" "+month+" "+releaseDate[2]+", "+releaseDate[0]}else if(parseInt(releaseDate[1])===currTime.getMonth()+1){if(parseInt(releaseDate[2])>currTime.getDate()){releaseDateString=" | "+premDay+" "+month+" "+releaseDate[2]+", "+releaseDate[0]}}}var genres="";if(movie.genres&&movie.genres.length>0){for(var i=0;i<movie.genres.length;i++){genres+=movie.genres[i].genre;if(i<movie.genres.length-1){genres+=", "}}genres+=" | "}var cert=movie.age_rating?movie.age_rating+" | ":"";var info='<div id="movieDetailsInfo">'+cert+genres+movie.duration+releaseDateString+"</div>";var makers='<div id="makers">'+directors+producers+writers+"</div>";var description='<div id="descActors"><p class="description">'+movie.small_description+"</p>"+actors+"</div>";var title='<div id="movieTitleRating">';title+='<div class="movieTitle">'+movie.title;title+='<div class="movieRating">'+stars+"</div></div>";title+=info+"</div>";var watchBackground="<div>"+background+coverArt+title+makers+description+'<div id="successPopup"></div></div>';$("#category_details_watch").prepend(watchBackground);$("#details_watch #Grid"+cloneIndex+"_row_0").css({top:280})},appLanguages:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";var title=carouselData[i];var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:290,y:0,width:689,height:550};params.cellWidth=526;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;this.find("appLanguages").setParams(params)},searchSuggestions:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var title=carouselData[i];content+=" </div><p>"+title+"</p>";var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:0,y:0,width:526,height:400};params.cellWidth=496;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=0;params.rows=carouselData.length;params.horizontalMargin=15;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;this.find("searchSuggestions").setParams(params)},ccList:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";var title=carouselData[i];var img="url("+thumb+")";var bg="background-image:"+img;var checkActive="";if(!Model.App.file.cardIndex&&i===0||i===Model.App.file.cardIndex){Model.App.file.cardIndex=i;checkActive=" active"}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="check'+checkActive+'"></div><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:0,y:0,width:689,height:395};params.cellWidth=526;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=true;params.performance=true;params.showArrows=true;this.find("ccList").setParams(params)},playerLanguages:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";var title=carouselData[i];var img="";var bg="background-image:"+img;var w=title.length*16;var selected="";if(i===Model.App.captionsIndex||i===carouselData.length-1){selected='class="selected"'}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p '+selected+' style="position: relative;margin: 9px auto;padding: 8px 33px;background: no-repeat right;width:'+w+'px">'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:440,y:0,width:400,height:60};params.cellWidth=400;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=true;params.performance=true;params.showArrows=true;this.find("playerLanguages").setParams(params)},media_player_thumbs:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_189,w_284/"+carouselData[i];var title="";var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:80,y:0,width:950,height:298};params.cellWidth=284;params.cellHeight=189;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=true;params.performance=false;params.showArrows=true;this.find("media_player_thumbs").setParams(params)},search_results:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_275,w_183/"+carouselData[i].imagery.coverart[0].id;var title=carouselData[i].title;var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat:no-repeat"></div><div class="placeholderCategory"></div><p class="searchResultTitle">'+title+'</p><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:117,y:140,width:689,height:400};params.cellWidth=183;params.cellHeight=384;params.length=5;params.padding=23;params.x=0;params.y=0;params.columns=5;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=true;params.performance=true;params.showArrows=true;this.find("search_results").setParams(params)},carousel_horizontal_feature:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var widgetName=params.widgetName;for(var i=0;i<carouselData.length;i++){obj={content:this._addFeatureArtwork(carouselData[i])};data.contents[i]=obj}var params={};params=data;params.gridPos={x:240,y:0,width:655,height:298};params.cellWidth=650;params.cellHeight=281;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=false;params.loop=true;params.showArrows=true;this.find(widgetName).setParams(params)},_addFeatureArtwork:function(carouselData){var content,thumb,title,obj,img,bg,bgPosition,titleBg;thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_281,w_650/"+carouselData.image;if(carouselData.type==="PROMOTION"){content="";title=carouselData.movieTitle;var subTitle=carouselData.movieSubTitle;var btn=carouselData.btn_text;img="url("+thumb+")";bg="background-image:"+img;bgPosition="left";if(carouselData.titlePosition!==""){bgPosition=carouselData.titlePosition}var promoText='<div class="promo"><p style="text-align:'+bgPosition+'">'+title+"</p>";promoText+='<p style="text-align:'+bgPosition+'">'+subTitle+"</p>";if(bgPosition==="center"){promoText+='<p style="text-align:'+bgPosition+';position: relative;padding: 2px 12px;margin: 0px auto;width: 200px;">'+btn+"</p></div>"}else{promoText+='<p style="text-align:'+bgPosition+";position: absolute;padding: 2px 12px;"+bgPosition+': 0px;">'+btn+"</p></div>"}titleBg="background-image:url("+movieTitleImage+")";content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat: no-repeat;"></div><div class="placeholderCategory" style="position: absolute;background-repeat: no-repeat;bottom: 10px;left: 20px;width: 95%;height: 100%;"></div>'+promoText+'<div class="highlight"></div>'}else{content="";var movieTitleImage=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",c_limit,w_300,h_94,q_auto:good/"+carouselData.movieTitle;title="";img="url("+thumb+")";bg="background-image:"+img;bgPosition="left";if(carouselData.titlePosition!==""){bgPosition=carouselData.titlePosition}titleBg="background-image:url("+movieTitleImage+")";content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat: no-repeat;"></div><div class="placeholderCategory" style="'+titleBg+";position: absolute;background-repeat: no-repeat;bottom: 10px;left: 20px;width: 95%;height: 100%;background-position:"+bgPosition+' bottom;"></div><p>'+title+'</p><div class="highlight"></div>'}return content},carousel_horizontal_premiere:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var widgetName=params.widgetName;for(var i=0;i<carouselData.length;i++){var movie=carouselData[i];var content="";var thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_360,w_951/"+movie.background;var coverart=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_311,w_207/"+movie.coverart;var timeArrFrom=Util.isotimedetail(movie.premiere_from);var timeArrTo=Util.isotimedetail(movie.premiere_to);var d=new Date(movie.premiere_from).getDay();var premDay="";switch(d){case 0:premDay=Model.App.languages[Model.App.file.language].weekdays["sun"][0];break;case 1:premDay=Model.App.languages[Model.App.file.language].weekdays["mon"][0];break;case 2:premDay=Model.App.languages[Model.App.file.language].weekdays["tue"][0];break;case 3:premDay=Model.App.languages[Model.App.file.language].weekdays["wed"][0];break;case 4:premDay=Model.App.languages[Model.App.file.language].weekdays["thu"][0];break;case 5:premDay=Model.App.languages[Model.App.file.language].weekdays["fri"][0];break;case 6:premDay=Model.App.languages[Model.App.file.language].weekdays["sat"][0];break}var premHour=parseInt(timeArrFrom[3])>12?parseInt(timeArrFrom[3])-12+"pm":parseInt(timeArrFrom[3])===0?"midnight":parseInt(timeArrFrom[3])+"am";var premEndHour=parseInt(timeArrTo[3])>12?parseInt(timeArrTo[3])-12+"pm":parseInt(timeArrTo[3])===0?"midnight":parseInt(timeArrTo[3])+"am";var desc='<div class="movieDescription">'+movie.moviedescription+"</div>";var showing=language[Model.App.file.language].redCarpetScreen.showing.replace("[day]",premDay).replace("[start]",premHour).replace("[end]",premEndHour);var airingInfo='<div class="airingInfo">'+showing+"</div>";var img="";var bg="";var gradient="";gradient="rgba(0,0,0,1),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,1)), color-stop(100%, rgba(0,0,0,0))),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-o-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-ms-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img;var releaseTime="";if(i===0){releaseTime="<p>"+language[Model.App.file.language].redCarpetScreen.premiering+"</p><p>"+Util.timeRemaining(movie.premiere_from)+"</p>"}var ratingWhole=Math.floor(movie.rating);var ratingHalf=movie.rating-ratingWhole;var stars="";var wholeStarUrl="assets/full_star.png";var halfStarUrl="assets/half_star.png";var noStarUrl="assets/empty_star.png";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}else{stars+='<div class="star noStar"></div>'}}var countdown='<div class="premieredate">'+releaseTime+"</div>";var rating='<div class="rating">'+stars+"</div>";var title='<div class="movieTitle">'+movie.title+rating+"</div>";var movieDetails=countdown+title+airingInfo+desc;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-size: 207px 311px,100%,100%;background: no-repeat 25px 25px,0,0;"></div><div class="placeholderRedCarpet">'+movieDetails+'</div><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:0,y:0,width:951,height:360};params.cellWidth=935;params.cellHeight=345;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=true;this.find(widgetName).setParams(params);var scope=this;var index=this.countdownTimers.length;Model.App.premiereBoards.home={index:this.countdownTimers.length,cloneIndex:cloneIndex};this.countdownTimers.push(setInterval(function(){for(var i=0;i<1;i++){var movie=carouselData[i];var timeRemaining=Util.timeRemaining(movie.premiere_from);if(timeRemaining==="00:00"){var selector="#home_red_carpet #Grid"+Model.App.premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)";$(selector).html(language[Model.App.file.language].redCarpetScreen.premieringNow);selector="#home_red_carpet #Grid"+Model.App.premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html("");clearInterval(scope.countdownTimers[Model.App.premiereBoards.home.index])}else{$("#home_red_carpet #Grid"+Model.App.premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)").html(language[Model.App.file.language].redCarpetScreen.premiering);var selector="#home_red_carpet #Grid"+Model.App.premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html(timeRemaining)}}},1e3))},carousel_vertical_premiere:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var widgetName=params.widgetName;for(var i=0;i<carouselData.length;i++){var movie=carouselData[i];var content="";var thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_434,w_1148/"+movie.background;var coverart=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_375,w_250/"+movie.coverart;var desc='<div class="movieDescription">'+movie.small_description+"</div>";var timeArrFrom=Util.isotimedetail(movie.premiere_from);var timeArrTo=Util.isotimedetail(movie.premiere_to);var d=new Date(movie.premiere_from).getDay();var premDay="";switch(d){case 0:premDay=Model.App.languages[Model.App.file.language].weekdays["sun"][0];break;case 1:premDay=Model.App.languages[Model.App.file.language].weekdays["mon"][0];break;case 2:premDay=Model.App.languages[Model.App.file.language].weekdays["tue"][0];break;case 3:premDay=Model.App.languages[Model.App.file.language].weekdays["wed"][0];break;case 4:premDay=Model.App.languages[Model.App.file.language].weekdays["thu"][0];break;case 5:premDay=Model.App.languages[Model.App.file.language].weekdays["fri"][0];break;case 6:premDay=Model.App.languages[Model.App.file.language].weekdays["sat"][0];break}var premHour=parseInt(timeArrFrom[3])>12?parseInt(timeArrFrom[3])-12+"pm":parseInt(timeArrFrom[3])===0?"midnight":parseInt(timeArrFrom[3])+"am";var premEndHour=parseInt(timeArrTo[3])>12?parseInt(timeArrTo[3])-12+"pm":parseInt(timeArrTo[3])===0?"midnight":parseInt(timeArrTo[3])+"am";var desc='<div class="movieDescription">'+movie.moviedescription+"</div>";var showing=language[Model.App.file.language].redCarpetScreen.showing.replace("[day]",premDay).replace("[start]",premHour).replace("[end]",premEndHour);var airingInfo='<div class="airingInfo">'+showing+"</div>";var bg="";var gradient="";var img="";gradient="rgba(0,0,0,1),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,1)), color-stop(100%, rgba(0,0,0,0))),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-o-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-ms-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img;var releaseTime="";if(i===0){releaseTime="<p>"+language[Model.App.file.language].redCarpetScreen.premiering+"</p><p>"+Util.timeRemaining(movie.premiere_from)+"</p>"}var ratingWhole=Math.floor(movie.rating);var ratingHalf=movie.rating-ratingWhole;var stars="";var wholeStarUrl="assets/full_star.png";var halfStarUrl="assets/half_star.png";var noStarUrl="assets/empty_star.png";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}else{stars+='<div class="star noStar"></div>'}}var countdown='<div class="premieredate">'+releaseTime+"</div>";var rating='<div class="rating">'+stars+"</div>";var title='<div class="movieTitle">'+movie.title+rating+"</div>";var movieDetails=countdown+title+airingInfo+desc;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-size: 250px 375px,100%,100%;background: no-repeat 25px 30px,0px,0px;"></div><div class="placeholderRedCarpet">'+movieDetails+'</div><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:95,y:130,width:1140,height:460};params.cellWidth=1122;params.cellHeight=440;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.horizontalMargin=50;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;params.verticalMargin=30;this.find(widgetName).setParams(params);var scope=this;var index=this.countdownTimers.length;Model.App.premiereBoards.screen={index:this.countdownTimers.length,cloneIndex:cloneIndex};this.countdownTimers.push(setInterval(function(){for(var i=0;i<1;i++){var movie=carouselData[i];var timeRemaining=Util.timeRemaining(movie.premiere_from);if(timeRemaining==="00:00"){var selector="#red_carpet_screen #Grid"+Model.App.premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)";$(selector).html(language[Model.App.file.language].redCarpetScreen.premieringNow);selector="#red_carpet_screen #Grid"+Model.App.premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html("");clearInterval(scope.countdownTimers[Model.App.premiereBoards.screen.index])}else{$("#red_carpet_screen #Grid"+Model.App.premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)").html(language[Model.App.file.language].redCarpetScreen.premiering);var selector="#red_carpet_screen #Grid"+Model.App.premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html(timeRemaining)}}},1e3))},grid_vertical_coverart:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var widgetName=params.widgetName;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_275,w_183/"+carouselData[i].imagery.coverart[0].id;var title=carouselData[i].title;var img="url("+thumb+")";var bg="background-image:"+img;var date="";if(carouselData[i].date){var releaseDate=Util.isotimedetail(carouselData[i].date);var month="jan";switch(parseInt(releaseDate[1])){case 1:month="jan";break;case 2:month="feb";break;case 3:month="mar";break;case 4:month="apr";break;case 5:month="may";break;case 6:month="jun";break;case 7:month="jul";break;case 8:month="aug";break;case 9:month="sep";break;case 10:month="oct";break;case 11:month="nov";break;case 12:month="dec";break}month=Model.App.languages[Model.App.file.language].months[month][0];date='<div class="comingSoonDate">'+month+" "+parseInt(releaseDate[2])+", "+parseInt(releaseDate[0])+"</div>"}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat:no-repeat"></div><div class="placeholderCategory"></div><div class="movieTitleContainer"><p>'+title+"</p></div>"+date+'<div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:100,y:110,width:1100,height:400};params.cellWidth=183;params.cellHeight=400;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=5;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;this.find(widgetName).setParams(params)},carousel_horizontal_coverart:function(params){var data={};data["contents"]=[];var carouselData=params.carouselData;var widgetName=params.widgetName;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb=Model.App.file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_275,w_183/"+carouselData[i].image;var title=carouselData[i].movieTitle;var img="url("+thumb+")";var bg="background-image:"+img;var date="";if(carouselData[i].date){var releaseDate=Util.isotimedetail(carouselData[i].date);var month="jan";switch(parseInt(releaseDate[1])){case 1:month="jan";break;case 2:month="feb";break;case 3:month="mar";break;case 4:month="apr";break;case 5:month="may";break;case 6:month="jun";break;case 7:month="jul";break;case 8:month="aug";break;case 9:month="sep";break;case 10:month="oct";break;case 11:month="nov";break;case 12:month="dec";break}month=Model.App.languages[Model.App.file.language].months[month][0]}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat: no-repeat;"></div><div class="placeholderCategory"></div><div class="movieTitleContainer"><p class="coverartMovieTitle">'+title+"</p><p>"+date+'</p></div><div class="highlight"></div>';var obj={content:content};data.contents[i]=obj}var params={};params=data;params.gridPos={x:3,y:0,width:1100,height:298};params.cellWidth=183;params.cellHeight=275;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=true;this.find(widgetName).setParams(params)}};return new WidgetManager}();(function(){"use strict";ViewControllerManager.newClassDef("ViewControllerNav",Class.create({_extends_:ViewController,_init_:function(args){ViewController.call(this,args);this.activeChild=null;this.navigation={}},render:function(location){this._super(location)},_enableElement:function(element){if(this.children[element])this.children[element].view.enable();else if($(this.rootID).find("#"+element).length){TVA.setFocus(element);this.activeChild=element;if(this.template==="Grid"){this.activateParent()}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild){this._enableElement(nextChild);e.stopPropagation()}},setActiveChild:function(childName){this.activeChild=childName;if(this.parentVC&&this.parentVC.setActiveChild)this.parentVC.setActiveChild(this.name)},enable:function(){this.show();this._enableElement(this.activeChild);if(this.parentVC&&this.parentVC.setActiveChild)this.parentVC.setActiveChild(this.name)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("GridVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.previousChild=null;this.activeChild="Grid_row_0_Item_pos_0_Overlay";this.navigation={};this.pos=0;this.vpos=0;this.hpos=0;this.size=0;this.maxEl=3;this.activePos=0;this.offset=0;this.images=[];this.text=[];this.contents=[];this.screenPadding=0;this.listenKeys=true;this.rows=null;this.columns=null;this.Nrow=null;this.Ncol=null;this.row=0;this.verticalMargin=6;this.horizontalMargin=6;this.cloneIndex=null;this.x=0;this.y=0;this.orientation="vertical";this.keydownCB=null;this.clickCB=null;this.hoverCB=null;this.mouseOutCB=null;this.parentListHoverCB=null;this.parentListMouseOutCB=null;this.containerPos={x:0,y:0};this.cellDims={width:100,height:100};this.performance=false;this.noSibling=true;this.hiddenElements={};this.directions={horizontal:{1:"Left","-1":"Right"},vertical:{1:"Up","-1":"Down"}};this.showArrows=true;this.scrolling=false;this.infinite=false;this.hover=false;this.readyToSetScroll=false;this.scrollVerticalIndex=0;this.scrollHorizontalIndex=0;Model.newModel(this.name)},init:function(params){this.row=0;if(params.gridPos){$(this.rootID+" .action").css({top:params.gridPos.y,left:params.gridPos.x,width:params.gridPos.width,height:params.gridPos.height})}this.scrollVerticalIndex=0;this.scrollHorizontalIndex=0;this.infinite=params.loop||false;this.performance=params.performance||false;this.showArrows=params.showArrows||false;this.autoSizeRows=params.autoSizeRows||false;this.cellDims.width=params.cellWidth||0;this.cellDims.height=params.cellHeight||0;this.cloneIndex=params.cloneIndex?params.cloneIndex:"";this.orientation=params.orientation||"vertical";this.rows=params.rows||0;this.columns=params.columns||0;this.x=params.x||0;this.y=params.y||0;this.screenPadding=params.padding||0;this.contents=params.contents||[];this.maxEl=params.length;this.offset=0;this.size=params.contents.length;this.pos=0;this.verticalMargin=params.verticalMargin||this.verticalMargin;this.horizontalMargin=params.horizontalMargin;if(this.rows>0){this.Nrow=Math.ceil(this.size/this.rows);this.Ncol=this.Nrow;this.columns=this.Nrow}else if(this.columns>0){this.Ncol=Math.ceil(this.size/this.columns);this.rows=this.Ncol;this.Nrow=this.Ncol}else{return}var cellCount=0;for(var i=0;i<this.rows;i++){for(var j=0;j<this.columns;j++){var child="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+j+"_Overlay";this.navigation[child]={};if(i===0){if(j===0&&j>1){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j+1)+"_Overlay";if(this.infinite){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(this.columns-1)+"_Overlay"}}else if(j===this.columns-1&&j>0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j-1)+"_Overlay";if(this.infinite){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_0_Overlay"}}else{if(j>0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j-1)+"_Overlay"}if(this.contents[cellCount+1]){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j+1)+"_Overlay"}if(this.infinite&&j===0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(this.columns-1)+"_Overlay"}}if(this.contents[cellCount+this.columns]){this.navigation[child]["Down"]="Grid"+this.cloneIndex+"_row_"+(i+1)+"_Item_pos_"+j+"_Overlay"}else if(this.contents.length-(cellCount+1)>0&¶ms.cloneIndex!==1){var a=this.columns*(this.rows-1);var aux=this.contents.length-a;this.navigation[child]["Down"]="Grid"+this.cloneIndex+"_row_"+(i+1)+"_Item_pos_"+(aux-1)+"_Overlay"}}else if(i===this.rows-1){if(j===0&&j>1){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j+1)+"_Overlay"}else if(j===this.columns-1&&j>0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j-1)+"_Overlay";if(this.infinite){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_0_Overlay"}}else{if(j>0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j-1)+"_Overlay"}if(this.contents[cellCount+1]){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j+1)+"_Overlay"}if(this.infinite&&j===0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(this.columns-1)+"_Overlay"}}this.navigation[child]["Up"]="Grid"+this.cloneIndex+"_row_"+(i-1)+"_Item_pos_"+j+"_Overlay"}else{if(j===0){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j+1)+"_Overlay";this.navigation[child]["Up"]="Grid"+this.cloneIndex+"_row_"+(i-1)+"_Item_pos_"+j+"_Overlay"}else if(j===this.columns-1){if(j>0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j-1)+"_Overlay"}this.navigation[child]["Up"]="Grid"+this.cloneIndex+"_row_"+(i-1)+"_Item_pos_"+j+"_Overlay";if(this.infinite){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_0_Overlay"}}else{if(j>0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j-1)+"_Overlay"}if(this.contents[cellCount+1]){this.navigation[child]["Right"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(j+1)+"_Overlay"}this.navigation[child]["Up"]="Grid"+this.cloneIndex+"_row_"+(i-1)+"_Item_pos_"+j+"_Overlay";if(this.infinite&&j===0){this.navigation[child]["Left"]="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+(this.columns-1)+"_Overlay"}}if(this.contents[cellCount+this.columns]){this.navigation[child]["Down"]="Grid"+this.cloneIndex+"_row_"+(i+1)+"_Item_pos_"+j+"_Overlay"}else if(this.contents.length-(cellCount+1)>0&¶ms.cloneIndex!==1){var a=this.columns*(this.rows-1);var aux=this.contents.length-a;this.navigation[child]["Down"]="Grid"+this.cloneIndex+"_row_"+(i+1)+"_Item_pos_"+(aux-1)+"_Overlay"}}cellCount++}}$(this.rootID+" .Grid_Container").css({"transition-duration":"0s"});$(this.rootID+" .Grid_Container").css({left:this.x});this.readyToSetScroll=true;this.updateGrid();this.previousChild=this.activeChild;this.activeChild="Grid"+this.cloneIndex+"_row_0_Item_pos_0_Overlay";var clipY=$(this.rootID+" .clip").position().top;$(this.rootID+" .Grid_Container").css({top:this.y-clipY});if(params.activate){this.enable();$("#"+this.activeChild.replace("_Overlay","")).addClass("active")}$(this.rootID+" .Left_Arrow").attr("id",this.name+"_Left_Arrow");$(this.rootID+" .Right_Arrow").attr("id",this.name+"_Right_Arrow");$(this.rootID+" .Up_Arrow").attr("id",this.name+"_Up_Arrow");$(this.rootID+" .Down_Arrow").attr("id",this.name+"_Down_Arrow");if(this.performance){this.hideAllOffscreen();this.hideAllRowsOffscreen()}if(this.infinite){this.adjustSiblings("Grid"+this.cloneIndex+"_row_0_Item_pos_0")}this.setArrows();$(this.rootID+" .Grid_Container").css({"transition-duration":"0.2s"})},onUnload:function(){this.pos=0;this.images=[];this.text=[];this.contents=[];TVA.offFocus(TVA.onFocus)},onLoad:function(){this._loadVC();this.images=[];this.text=[];this.pos=0;this.contents=[];this.clickEvent=null},_loadVC:function(){},render:function(location){this._super(location);this.enable();this.reset()},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);if(this.listenKeys&&Model.App.listen){switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this.navUpElement(e);break;case Keys.getBind("Down"):this.navDownElement(e);break;case Keys.getBind("Left"):this.navLeftElement(e);break;case Keys.getBind("Right"):this.navRightElement(e);break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Cross"):$("#"+TVA.onFocus).click();e.stopPropagation();break}this.keydownCB&&this.keydownCB(e,keyCode)}if(this.scrolling){e.stopPropagation()}},_navigate:function(direction,e){this.previousChild=this.activeChild;var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.noSibling=false;this.children[nextChild].view.enable();e.stopPropagation();e.stopImmediatePropagation()}else if($(this.rootID).find("#"+nextChild).length){this.noSibling=false;TVA.setFocus(nextChild);this.activeChild=nextChild;this.activateParent();nextChild=this.navigation[this.activeChild][direction];if(nextChild){nextChild=nextChild.replace("_Overlay","");if(!document.getElementById(nextChild)&&this.hiddenElements[nextChild]){}}e.stopPropagation();e.stopImmediatePropagation();this.gridNavCallBack&&this.gridNavCallBack()}else{this.noSibling=true}},activateParent:function(){$(".gridElement").removeClass("active");$("#"+this.activeChild.replace("_Overlay","")).addClass("active");ViewControllerManager.ViewControllers[this.name].parentVC.activeChild=this.name},adjustSiblings:function(element){var left=parseInt(document.getElementById(element.replace("_Overlay","")).style.left.replace("px",""));var width=parseInt(document.getElementById(element).style.width.replace("px",""));var padding=this.horizontalMargin;var index=parseInt(element.split("_pos_")[1].split("_")[0]);var i=index-1;if(i<0){i=this.columns-1}var id="Grid"+this.cloneIndex+"_row_0_Item_pos_"+i;var l=left-width-padding;document.getElementById(id).style.left=l+"px";i=index+1;if(i>this.columns-1){i=0}id="Grid"+this.cloneIndex+"_row_0_Item_pos_"+i;l=left+width+padding;document.getElementById(id).style.left=l+"px"},_targetItem:function(e,direction){var targetChild=this.navigation[this.activeChild][direction];if(targetChild){if(this.infinite){if(direction!=="Down"){var el=targetChild.replace("_Overlay","");var padding=this.horizontalMargin;if(!$("#"+targetChild)[0]){var s=targetChild.split("row_")[1].split("_Item");var row=parseInt(s[0]);this.pushOnScreen(el,row)}var width=parseInt(document.getElementById(el).style.width.replace("px",""));var left=parseInt(document.getElementById(this.activeChild.replace("_Overlay","")).style.left.replace("px",""));if(direction==="Left"){left=left-width-padding}else if(direction==="Right"){left=left+width+padding}document.getElementById(el).style.left=left+"px";this.adjustSiblings(el);var grid=el.slice(0,5);if(grid==="Grid2"){var aux=el.replace("Grid2_row_0_Item_pos_","");aux=parseInt(aux);$("#featuredCounter").find(".featuredCounterBlock").removeClass("active");$("#featuredCounter").find(".featuredCounterBlock:nth-child("+(aux+1)+")").addClass("active")}}}if(this.isElementObscured(targetChild,true,direction)){}this._navigate(direction,e);this._setGridIndex(targetChild)}else{this.noSibling=true}this.toggleArrows()},mouseOut:function(e){this.mouseOutCB&&this.mouseOutCB(e);this.parentListMouseOutCB&&this.parentListMouseOutCB(e)},hideArrows:function(e){if(e.relatedTarget&&e.relatedTarget.className!=="Grid_Container"&&e.relatedTarget.className!=="Grid"&&e.relatedTarget.className.indexOf("Arrow")<0){$(this.rootID+" > .Arrow").hide()}},setArrows:function(){var actionWidth=parseInt($(this.rootID+" .action").css("width").replace("px",""));var actionHeight=parseInt($(this.rootID+" .action").css("height").replace("px",""));var actionTop=parseInt($(this.rootID+" .action").css("top").replace("px",""));var actionLeft=parseInt($(this.rootID+" .action").css("left").replace("px",""));var arrowWidth=parseInt($(this.rootID+" .Left_Arrow").css("width").replace("px",""));var arrowHeight=parseInt($(this.rootID+" .Left_Arrow").css("height").replace("px",""));var top=actionHeight/2-arrowHeight/2+actionTop;var left=actionLeft-arrowWidth;$(this.rootID+" .Left_Arrow").css({top:top+"px",left:"0px"});arrowWidth=parseInt($(this.rootID+" .Right_Arrow").css("width").replace("px",""));arrowHeight=parseInt($(this.rootID+" .Right_Arrow").css("height").replace("px",""));top=actionHeight/2-arrowHeight/2+actionTop;left=actionWidth+actionLeft;$(this.rootID+" .Right_Arrow").css({top:top+"px",right:"0px"});arrowWidth=parseInt($(this.rootID+" .Up_Arrow").css("width").replace("px",""));arrowHeight=parseInt($(this.rootID+" .Up_Arrow").css("height").replace("px",""));top=actionTop-arrowHeight;left=actionWidth/2-arrowWidth/2+actionLeft;$(this.rootID+" .Up_Arrow").css({top:top+"px",left:left+"px"});arrowWidth=parseInt($(this.rootID+" .Down_Arrow").css("width").replace("px",""));arrowHeight=parseInt($(this.rootID+" .Down_Arrow").css("height").replace("px",""));top=actionHeight+actionTop;left=actionWidth/2-arrowWidth/2+actionLeft;$(this.rootID+" .Down_Arrow").css({top:"615px",left:left+"px"});$(this.rootID+" .Left_Arrow").hide();$(this.rootID+" .Right_Arrow").hide();$(this.rootID+" .Up_Arrow").hide();$(this.rootID+" .Down_Arrow").hide()},toggleArrows:function(){if(this.showArrows){if(this.orientation==="horizontal"){if(this.rootID==="#home_featured"){if(this.scrollHorizontalIndex<=this.size){$(this.rootID+" > .Right_Arrow").show()}else{$(this.rootID+" > .Right_Arrow").hide()}if(this.scrollHorizontalIndex>=0){$(this.rootID+" > .Left_Arrow").show()}else{$(this.rootID+" > .Left_Arrow").hide()}}else if(this.rootID==="#home_red_carpet"){if(this.scrollHorizontalIndex<this.size-1){$(this.rootID+" > .Right_Arrow").show()}else{$(this.rootID+" > .Right_Arrow").hide()}if(this.scrollHorizontalIndex>0){$(this.rootID+" > .Left_Arrow").show()}else{$(this.rootID+" > .Left_Arrow").hide()}}else if(this.rootID==="#home_now_showing"||this.rootID==="#home_upcoming"||this.rootID==="#myMovies_active_film"||this.rootID==="#myMovies_reminders"||this.rootID==="#myMovies_past_films"){if(this.scrollHorizontalIndex<this.size-5){$(this.rootID+" > .Right_Arrow").show()}else{$(this.rootID+" > .Right_Arrow").hide()}if(this.scrollHorizontalIndex>0){$(this.rootID+" > .Left_Arrow").show()}else{$(this.rootID+" > .Left_Arrow").hide()}}else if(this.rootID==="#details_media"){if(this.scrollHorizontalIndex<this.size-2){$(this.rootID+" > .Right_Arrow").show()}else{$(this.rootID+" > .Right_Arrow").hide()}if(this.scrollHorizontalIndex>0){$(this.rootID+" > .Left_Arrow").show()}else{$(this.rootID+" > .Left_Arrow").hide()}}else if(this.rootID==="#media_player_thumbs"){$(this.rootID+" > .Right_Arrow").hide();$(this.rootID+" > .Left_Arrow").hide()}$(this.rootID+" > .Down_Arrow").hide();$(this.rootID+" > .Up_Arrow").hide()}else if(this.orientation==="vertical"){if(this.row<this.rows-1){$(this.rootID+" > .Down_Arrow").show()}else{$(this.rootID+" > .Down_Arrow").hide()}if(this.row>0&&this.scrollVerticalIndex!=0){$(this.rootID+" > .Up_Arrow").show()}else{$(this.rootID+" > .Up_Arrow").hide()}$(this.rootID+" > .Left_Arrow").hide();$(this.rootID+" > .Right_Arrow").hide()}}else{$(this.rootID+" > .Right_Arrow").hide();$(this.rootID+" > .Left_Arrow").hide();$(this.rootID+" > .Down_Arrow").hide();$(this.rootID+" > .Up_Arrow").hide()}},navLeftElement:function(e){if(e.type==="click"){this.hover=true}TVA.log("navLeftElement in "+this.name);if(this.listenKeys){this._targetItem(e,"Left")}else{e.stopPropagation()}},navRightElement:function(e){if(e.type==="click"){this.hover=true}TVA.log("navRightElement in "+this.name);if(this.listenKeys){this._targetItem(e,"Right")}else{e.stopPropagation()}},navUpElement:function(e){if(e.type==="click"){this.hover=true}if(this.listenKeys){this._targetItem(e,"Up")}else{e.stopPropagation()}},navDownElement:function(e){if(e.type==="click"){this.hover=true}if(this.listenKeys){this._targetItem(e,"Down")}else{e.stopPropagation()}},updateGrid:function(){this.hiddenElements={};var maxCarouselElements=this.size;var cellCount=0;$(this.rootID+" .Grid_Container").html("");for(var i=0;i<this.rows;i++){var row="";if($(this.rootID+" .Grid_Container").find("#Grid"+this.cloneIndex+"_row_"+i).length){row="Grid"+this.cloneIndex+"_row_"+i}else{row="Grid"+this.cloneIndex+"_row_"+i;var inlineStyle='style="position:absolute;width:100px;height:'+this.cellDims.height+'px"';$(this.rootID+" .Grid_Container").append('<div id="'+row+'" class="gridRow" '+inlineStyle+"></div>")}var maxHeight=0;for(var j=0;j<this.columns;j++){var elementId=row+"_Item_pos_"+j;if(this.contents[cellCount]){var content=this.contents[cellCount].content||"";if($(this.rootID+" .Grid_Container #"+row+" #"+elementId)[0]){$(this.rootID+" .Grid_Container #"+row+" #"+elementId+" .content").html(content)}else{var inlineStyle="position:absolute;";var cellWidth=this.cellDims.width>0?"width:"+this.cellDims.width+"px;":"";var cellHeight=this.cellDims.height>0?"height:"+this.cellDims.height+"px;":"";inlineStyle+=cellWidth;inlineStyle+=cellHeight;var el=document.createElement("DIV");el.setAttribute("id",elementId);el.setAttribute("class","gridElement");el.setAttribute("style",inlineStyle);var elContent=document.createElement("DIV");elContent.setAttribute("class","content");elContent.setAttribute("style","position:absolute;");elContent.innerHTML=content;var elOverlay=document.createElement("DIV");elOverlay.setAttribute("id",elementId+"_Overlay");elOverlay.setAttribute("class","Grid_Item_Overlay hoveritem");elOverlay.setAttribute("style","position:absolute;width:100%;height:100%;");el.appendChild(elContent);el.appendChild(elOverlay);if(this.performance){if(!document.getElementById(this.name))debugger;var rootEl=document.getElementById(this.name).children[0];var rootX=parseInt(rootEl.style.left.replace("px","")||0);var containerX=parseInt(rootEl.children[0].children[0].style.left.replace("px",""));var width=parseInt(el.style.width.replace("px",""));var elementX=j*width;if(rootX+containerX+elementX>1280||rootX+containerX+elementX+width<0){el.style.left=elementX+"px";this.hiddenElements[elementId]=el;this.adjustElement(row,el,elementId,j)}else{document.getElementById(row).appendChild(el);this.adjustElement(row,el,elementId,j)}}else{document.getElementById(row).appendChild(el);this.adjustElement(row,el,elementId,j)}}}cellCount++}var y=0;if(i>0){var rowID="Grid"+this.cloneIndex+"_row_"+(i-1);var top=$(this.rootID+" .Grid_Container #"+rowID).position().top;y=top+$(this.rootID+" .Grid_Container #"+rowID).height()+this.verticalMargin}else{y=0}if($(this.rootID+" .Grid_Container #"+row).position().top===0){$(this.rootID+" .Grid_Container #"+row).css({top:y})}var rowEls=$(this.rootID+" .Grid_Container .gridRow");var totalGridHeight=0;for(var rowIndex=0;rowIndex<rowEls.length;rowIndex++){totalGridHeight+=$(rowEls[rowIndex]).height()}$(this.rootID+" .Grid_Container").css({height:totalGridHeight})}this.toggleArrows()},adjustElement:function(row,el,elementId,j){if(this.autoSizeRows){var height=$(el.children[0]).css("height");height=parseInt(height.replace("px",""));el.style.height=height+this.cellDims.height+"px";document.getElementById(row).style.height=height+this.cellDims.height+"px";var top=parseInt(el.style.height.replace("px",""))/2-height/2;el.children[0].style.top=top+"px"}else{el.children[0].style.width="100%";el.children[0].style.height="100%"}var width=(parseInt(el.style.width.replace("px",""))+this.horizontalMargin)*j;el.style.left=width+"px"},onButtonOut:function(e){$(this.rootID+" > .hoverButton").removeClass("active");e.stopPropagation()},onButtonHover:function(e){$(this.rootID+" > ."+e.target.classList[0]).addClass("active");e.stopPropagation()},onHover:function(event){if(event.target.classList.contains("hoveritem")&&!this._isWithinViewport(event.target)){event.stopImmediatePropagation()}else{var direction=this._getDirection(event.target.id);this.hover=true;this._setGridIndex(event.target.id);this.toggleArrows();this._enableElement(event.target.id);this.hoverCB&&this.hoverCB(event,direction);this.parentListHoverCB&&this.parentListHoverCB(event,direction,true);event.stopPropagation()}},_setGridIndex:function(id){if($("#"+id).length){var element=id;element=element.split("_Item_pos_");var row=element[0];var column=element[1];row=row.replace("Grid"+this.cloneIndex+"_row_","");column=column.replace("_Overlay","");this.pos=parseInt(column);this.row=parseInt(row)}},clickEvent:function(){},scrollLeft:function(scrollAmount){this.scroll(-1,scrollAmount,"horizontal");if(this.scrollHorizontalIndex===this.size-1){this.scrollHorizontalIndex=0}else if(this.scrollHorizontalIndex<this.size-1)this.scrollHorizontalIndex++},scrollRight:function(scrollAmount){this.scroll(1,scrollAmount,"horizontal");if(this.scrollHorizontalIndex===0){this.scrollHorizontalIndex=this.size-1}else if(this.scrollHorizontalIndex>0)this.scrollHorizontalIndex--},scrollUp:function(scrollAmount){this.scroll(-1,scrollAmount,"vertical");if(this.scrollVerticalIndex<this.rows){this.scrollVerticalIndex++}},scrollDown:function(scrollAmount){this.scroll(1,scrollAmount,"vertical");if(this.scrollVerticalIndex>0){this.scrollVerticalIndex--}},scroll:function(direction,distance,orientation){this.listenKeys=false;this.scrolling=true;var scope=this;var newPos="0px";var animCSS={};if(orientation==="vertical"){var y=$(this.rootID+" .Grid_Container").position().top;var dy=(distance||53)*direction;var clipY=$(this.rootID+" .clip").position().top;var newPos=Math.round(dy+y);this.containerPos.y=newPos;this.newPos=newPos+"px";animCSS={top:this.newPos};this._animComplete({top:this.containerPos.y,direction:this.directions[orientation][direction]})}else if(orientation==="horizontal"){var x=$(this.rootID+" .Grid_Container").position().left;var dx=(distance||53)*direction;this.newPos=Math.round(dx+x)+"px";animCSS={left:this.newPos};this.containerPos.x=Math.round(dx+x);this._animComplete({left:this.containerPos.x,direction:this.directions[orientation][direction]})}$(this.rootID+" .Grid_Container").css(animCSS);if(this.performance){this.cleanOffScreen(this.directions[orientation][direction])}},_animComplete:function(params){var interval=80;clearTimeout(this.animCompleteInterval);var scope=this;if(typeof params.left==="number"){if(Math.round($(this.rootID+" .Grid_Container").position().left)===Math.round(params.left)){this.listenKeys=true;this.scrolling=false;if(this.performance){}}else{this.animCompleteInterval=setTimeout(function(){scope._animComplete(params)},interval)}}else if(typeof params.top==="number"){if(Math.round($(this.rootID+" .Grid_Container").position().top)===Math.round(params.top)){this.listenKeys=true;this.scrolling=false;if(this.performance){}}else{this.animCompleteInterval=setTimeout(function(){scope._animComplete(params)},interval)}}},cleanOffScreen:function(direction){if(direction==="Right"){var findOffScreen=true;for(var i=this.pos;i<this.columns&&findOffScreen;i++){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(!document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.pushOnScreen(el,j)}}}findOffScreen=true;for(var i=this.pos;i>=0&&findOffScreen;i--){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(this.isOffscreen(element)&&document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){var el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.popOffScreen(el,j)}}}}else if(direction==="Left"){var findOffScreen=true;for(var i=this.pos;i>=0&&findOffScreen;i--){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(!document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.pushOnScreen(el,j)}}}findOffScreen=true;for(var i=this.pos;i<this.columns&&findOffScreen;i++){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(this.isOffscreen(element)&&document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){var el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.popOffScreen(el,j)}}}}else if(direction==="Up"){var findOffScreen=true;for(var i=this.offset;i>=0&&findOffScreen;i--){var element="Grid"+this.cloneIndex+"_row_"+i;if(!document.getElementById(element)){findOffScreen=false;this.pushRowOnScreen(element)}}findOffScreen=true;for(var i=this.offset;i<this.rows&&findOffScreen;i++){var element="Grid"+this.cloneIndex+"_row_"+i;if(document.getElementById(element)&&this.isDOMElementOffScreen(element)){this.popRowOffScreen(element)}}}else if(direction==="Down"){var findOffScreen=true;for(var i=this.offset;i<this.rows&&findOffScreen;i++){var element="Grid"+this.cloneIndex+"_row_"+i;if(!document.getElementById(element)){findOffScreen=false;this.pushRowOnScreen(element)}}findOffScreen=true;for(var i=this.offset;i>=0&&findOffScreen;i--){var element="Grid"+this.cloneIndex+"_row_"+i;if(document.getElementById(element)&&this.isDOMElementOffScreen(element)){findOffScreen=false;this.popRowOffScreen(element)}}}},scrollTo:function(row,col,direction){this.readyToSetScroll=false;var overlayElement="Grid"+this.cloneIndex+"_row_"+row+"_Item_pos_"+col+"_Overlay";this.row=row;this.pos=col;this.isElementObscured(overlayElement,true,direction);this.activeChild=overlayElement;TVA.setFocus(this.activeChild);this.activateParent()},isElementObscured:function(overlayElement,autoScroll,direction){var id=overlayElement.replace("_Overlay","");var rootEl=document.getElementById(this.name);var element=null;if(document.getElementById(id)){element=document.getElementById(id);overlayElement=document.getElementById(overlayElement)}else if(this.hiddenElements[id]){element=this.hiddenElements[id];overlayElement=element.children[1]}var container=rootEl.children[0].children[0].children[0];if((direction==="Left"||direction==="Right")&&this.orientation==="horizontal"){var matrixLeft=$(this.rootID+" .Grid_Container").position().left;var actionZoneWidth=rootEl.children[0].style.width.replace("px","");matrixLeft=container.style.left.replace("px","");matrixLeft=parseInt(matrixLeft===""?0:matrixLeft);var pos={left:element.style.left.replace("px",""),top:element.style.top.replace("px","")};var width=$(overlayElement).width();var scrollAmount=0;var scroll=autoScroll||true;var x=parseInt(pos.left)+matrixLeft;if(x<0+this.screenPadding){if(scroll){var dX=Math.abs(x)+this.screenPadding;this.scrollRight(dX)}return true}else if(x+width>0+actionZoneWidth-this.screenPadding){scrollAmount=x+width-(actionZoneWidth-this.screenPadding);if(scroll){this.scrollLeft(scrollAmount)}return true}else{return false}}else if((direction==="Up"||direction==="Down")&&this.orientation==="vertical"){var matrixTop=$(this.rootID+" .Grid_Container").position().top;var actionZoneHeight=parseInt(rootEl.children[0].style.height.replace("px",""));matrixTop=container.style.top.replace("px","");matrixTop=parseInt(matrixTop===""?0:matrixTop);var pos=$(overlayElement).parent().parent().position();var height=$(overlayElement).height();var scrollAmount=0;var scroll=autoScroll||true;var y=pos.top+matrixTop;if(y<0){if(scroll){var dY=Math.abs(y)+this.screenPadding;this.scrollDown(dY);this.offset--}return true}else if(y+height>actionZoneHeight-this.screenPadding){scrollAmount=y+height-(actionZoneHeight-this.screenPadding);if(scroll){this.scrollUp(scrollAmount);this.offset++}return true}else{return false}}},hideAllOffscreen:function(){var noRows=document.getElementById(this.name).children[0].children[0].children[0].children.length;var noCols=document.getElementById(this.name).children[0].children[0].children[0].children[0].children.length;for(var i=0;i<noRows;i++){for(var j=0;j<noCols;j++){var elId="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+j;if(this.isOffscreen(elId)){this.popOffScreen(elId,i)}}}},hideAllRowsOffscreen:function(){for(var i=0;i<this.rows;i++){var element="Grid"+this.cloneIndex+"_row_"+i;if(document.getElementById(element)&&this.isDOMElementOffScreen(element)){this.popRowOffScreen(element)}}},pushOnScreen:function(element,row){if(document.getElementById(element)){element=document.getElementById(element)}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}document.getElementById(this.name).children[0].children[0].children[0].children[row].appendChild(element)},pushRowOnScreen:function(element){if(document.getElementById(element)){element=document.getElementById(element)}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}document.getElementById(this.name).children[0].children[0].children[0].appendChild(element)},popOffScreen:function(element,row){if(document.getElementById(element)){this.hiddenElements[element]=document.getElementById(element);element=this.hiddenElements[element]}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}document.getElementById(this.name).children[0].children[0].children[0].children[row].removeChild(element)},popRowOffScreen:function(element){if(document.getElementById(element)){this.hiddenElements[element]=document.getElementById(element);element=this.hiddenElements[element]}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}document.getElementById(this.name).children[0].children[0].children[0].removeChild(element)},isOffscreen:function(element){var offScreen=true;var left,rootX,elementX,containerX,width,margin;var rootEl=document.getElementById(this.name).children[0];if(document.getElementById(element)){element=document.getElementById(element)}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}left=element.style?element.style.left.replace("px",""):0;left=left===""?0:left;rootX=parseInt(rootEl.style?rootEl.style.left.replace("px",""):0);elementX=parseInt(left);containerX=parseInt(rootEl.children[0].children[0].style.left.replace("px",""));width=parseInt(element.style?element.style.width.replace("px",""):0);return rootX+containerX+elementX>1280||rootX+containerX+elementX+width<0},isDOMElementOffScreen:function(elementId){var offScreen=false;var el=document.getElementById(elementId);var elRect=el.getClientRects()[0];var width=elRect.width;var height=elRect.height;var elX=elRect.left;var elY=elRect.top;if(elX>=1280||elX+width<=0){return true}if(elY>=720||elY+height<=0){return true}return offScreen},_getDirection:function(elementId){elementId=elementId.split("_Item_pos_");var row=elementId[0];var column=elementId[1];row=row.replace("Grid"+this.cloneIndex+"_row_","");column=column.replace("_Overlay","");if(parseInt(row)>this.row){return"Down"}else if(parseInt(row)<this.row){return"Up"}else if(parseInt(column)<this.pos){return"Left"}else if(parseInt(column)>this.pos){return"Right"}},onClick:function(e){if(e.target.classList.contains("hoveritem")&&!this._isWithinViewport(e.target)){e.stopImmediatePropagation()}else{this.clickCB&&this.clickCB(e);e.stopPropagation()}},_isWithinViewport:function(el){var top=el.offsetTop;var left=el.offsetLeft;var width=el.offsetWidth;var height=el.offsetHeight;while(el.offsetParent){el=el.offsetParent;top+=el.offsetTop;left+=el.offsetLeft}return top>=window.pageYOffset&&left>=window.pageXOffset&&top+height<=window.pageYOffset+720&&left+width<=window.pageXOffset+1280},reset:function(){$(this.rootID+" .Grid_Container").html("")},gridNavCallBack:function(){}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("CarouselsListVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.previousChild=null;this.activeChild="default";this.navigation={};this.pos=0;this.vpos=0;this.hpos=0;this.size=0;this.maxEl=3;this.activePos=0;this.offset=0;this.images=[];this.text=[];this.contents=[];this.screenPadding=0;this.listenKeys=true;this.rows=null;this.columns=null;this.Nrow=null;this.Ncol=null;this.row=0;this.verticalMargin=6;this.horizontalMargin=6;this.cloneIndex=null;this.x=0;this.y=0;this.orientation="vertical";this.keydownCB=null;this.clickCB=null;this.hoverCB=null;this.mouseOutCB=null;this.hover=false;this.containerPos={x:0,y:0};this.cellDims={width:100,height:100};this.performance=false;this.noSibling=true;this.hiddenElements={};this.directions={horizontal:{1:"Left","-1":"Right"},vertical:{1:"Up","-1":"Down"}};this.showArrows=true;this.scrolling=false;Model.newModel(this.name);this.previousAdded=null;this.childIndexList={};this.childIndex=0},init:function(params){if(params.gridPos){$(this.rootID+" > .action").css({top:params.gridPos.y,left:params.gridPos.x,width:params.gridPos.width,height:params.gridPos.height})}this.columns=params.columns||0;this.childIndex=0;this.setArrows()},addCarousel:function(widgetName,callBacks,carouselData,title,widgetType){var params={carouselData:carouselData};this.childIndexList[widgetName]=this.childIndex;this.childIndex++;this.rows=this.childIndex;callBacks.parentListMouseOutCB=this.mouseOut;callBacks.parentListHoverCB=this.onHover;if(widgetType){params.widgetType=widgetType}var category='<div id="category_'+widgetName+'"><p class="title">'+title+"</p></div>";$(this.rootID+" .CarouselsList_Container").append(category);if(WidgetManager.find(widgetName)){WidgetManager.addWidget(this,widgetName,"#category_"+widgetName,callBacks,params)}else{var vc=ViewControllerManager.find(widgetName);this.addChild(vc,"#category_"+widgetName)}var h=parseInt($("#"+widgetName+" .action").css("height").replace("px",""));var titleHeight=parseInt($("#category_"+widgetName+" .title").css("height").replace("px",""));$("#"+widgetName).css({height:h,top:titleHeight>0?titleHeight+40:titleHeight});h+=titleHeight;$("#category_"+widgetName).css({height:h*1.3,position:"absolute"});this.navigation[widgetName]={};if(this.previousAdded){this.navigation[this.previousAdded]["Down"]=widgetName;this.navigation[widgetName]["Up"]=this.previousAdded;var el=$("#category_"+this.previousAdded);if(!this.previousAdded||!el[0])return;h=parseInt(el.css("height").replace("px",""));if(el.position().top>0){h=h+el.position().top}$("#category_"+widgetName).css({top:h})}this.previousAdded=widgetName},onUnload:function(){this.pos=0;this.images=[];this.text=[];this.contents=[];TVA.offFocus(TVA.onFocus);this.previousAdded=null},onLoad:function(){this._loadVC();this.images=[];this.text=[];this.pos=0;this.contents=[];this.clickEvent=null},_loadVC:function(){},render:function(location){this._super(location);this.enable();this.reset()},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);if(this.name==="restaurantList"){TVA.log("wait")}if(this.listenKeys&&Model.App.listen){switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this.navUpElement(e);break;case Keys.getBind("Down"):this.navDownElement(e);break;case Keys.getBind("Left"):this.navLeftElement(e);break;case Keys.getBind("Right"):this.navRightElement(e);break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Cross"):$("#"+TVA.onFocus).click();e.stopPropagation();break}this.keydownCB&&this.keydownCB(e,keyCode)}if(this.scrolling){e.stopPropagation()}},_navigate:function(direction,e){this.previousChild=this.activeChild;var nextChild=this.navigation[this.activeChild][direction];$("#"+this.activeChild+" .active").removeClass("active");if(nextChild&&this.children[nextChild]){this.noSibling=false;$(this.children[this.activeChild].view.rootID+" > .Arrow").hide();this.children[nextChild].view.enable();this.children[nextChild].view.toggleArrows();var top=$("#category_"+nextChild).position().top;var height=parseInt($("#category_"+nextChild).css("height").replace("px",""));var containerPosition=$(this.rootID+" .CarouselsList_Container").position().top;var bound=parseInt($(this.rootID+" .action").css("height").replace("px",""));var actionTop=0;var homeTop=0;if(this.activeChild=="home_now_showing"){homeTop=-264}else if(this.activeChild=="home_red_carpet"){homeTop=-751}else if(this.activeChild=="home_upcoming"){homeTop=-1200}else if(this.activeChild=="myMovies_reminders"&&Model.myMovies.films.active_films.length===0){homeTop=0}else if(this.activeChild=="myMovies_reminders"){homeTop=-317}if(direction==="Down"&&containerPosition+top+height>bound){var delt=bound-(containerPosition+top+height);if(homeTop!=0){$(this.rootID+" .CarouselsList_Container").css({top:homeTop})}else $(this.rootID+" .CarouselsList_Container").css({top:containerPosition+delt})}else if(direction==="Up"&&containerPosition+top<actionTop){var delt=actionTop-(containerPosition+top);if(homeTop!=0){$(this.rootID+" .CarouselsList_Container").css({top:homeTop})}else $(this.rootID+" .CarouselsList_Container").css({top:containerPosition+delt})}e.stopPropagation();e.stopImmediatePropagation()}else if($(this.rootID).find("#"+nextChild).length){this.noSibling=false;TVA.setFocus(nextChild);this.activeChild=nextChild;this.activateParent();nextChild=this.navigation[this.activeChild][direction];if(nextChild){nextChild=nextChild.replace("_Overlay","");if(!document.getElementById(nextChild)&&this.hiddenElements[nextChild]){}}e.stopPropagation();e.stopImmediatePropagation();this.gridNavCallBack&&this.gridNavCallBack()}else{this.noSibling=true}},activateParent:function(){$(this.rootID+" .gridElement").removeClass("active");$("#"+this.activeChild.replace("_Overlay","")).addClass("active");ViewControllerManager.ViewControllers[this.name].parentVC.activeChild=this.name},_targetItem:function(e,direction){var targetChild=this.navigation[this.activeChild][direction];if(targetChild){this._navigate(direction,e)}else{this.noSibling=true}this.toggleArrows(direction)},mouseOut:function(e){},setArrows:function(){var actionWidth=parseInt($(this.rootID+" > .action").css("width").replace("px",""));var actionHeight=parseInt($(this.rootID+" > .action").css("height").replace("px",""));var actionTop=parseInt($(this.rootID+" > .action").css("top").replace("px",""));var actionLeft=parseInt($(this.rootID+" > .action").css("left").replace("px",""));var arrowWidth=parseInt($(this.rootID+" > .Left_Arrow").css("width").replace("px",""));var arrowHeight=parseInt($(this.rootID+" > .Left_Arrow").css("height").replace("px",""));var top=actionHeight/2-arrowHeight/2+actionTop;var left=actionLeft-arrowWidth;$(this.rootID+" > .Left_Arrow").css({top:top+"px",left:left+"px"});arrowWidth=parseInt($(this.rootID+" > .Right_Arrow").css("width").replace("px",""));arrowHeight=parseInt($(this.rootID+" > .Right_Arrow").css("height").replace("px",""));top=actionHeight/2-arrowHeight/2+actionTop;left=actionWidth+actionLeft;$(this.rootID+" > .Right_Arrow").css({top:top+"px",left:left+"px"});arrowWidth=parseInt($(this.rootID+" > .Up_Arrow").css("width").replace("px",""));arrowHeight=parseInt($(this.rootID+" > .Up_Arrow").css("height").replace("px",""));top=actionTop-arrowHeight;left=actionWidth/2-arrowWidth/2+actionLeft;$(this.rootID+" > .Up_Arrow").css({top:top+"px",left:left+"px"});arrowWidth=parseInt($(this.rootID+" > .Down_Arrow").css("width").replace("px",""));arrowHeight=parseInt($(this.rootID+" > .Down_Arrow").css("height").replace("px",""));top=actionHeight+actionTop;left=actionWidth/2-arrowWidth/2+actionLeft;$(this.rootID+" > .Down_Arrow").css({top:"630px",left:left+"px"});$(this.rootID+" > .Left_Arrow").hide();$(this.rootID+" > .Right_Arrow").hide();$(this.rootID+" > .Up_Arrow").hide();$(this.rootID+" > .Down_Arrow").hide()},hideArrows:function(e){$(this.rootID+" > .Arrow").removeClass("active");$(this.rootID+" > .Arrow").hide()},toggleArrows:function(direction){this.row=this.childIndexList[this.activeChild];if(this.showArrows){if(this.orientation==="horizontal"){if(this.pos<this.columns-1){$(this.rootID+" > .Right_Arrow").show()}else{$(this.rootID+" > .Right_Arrow").hide()}if(this.pos>0){$(this.rootID+" > .Left_Arrow").show()}else{$(this.rootID+" > .Left_Arrow").hide()}$(this.rootID+" > .Down_Arrow").hide();$(this.rootID+" > .Up_Arrow").hide()}else if(this.orientation==="vertical"){if(this.row<this.rows-1){$(this.rootID+" > .Down_Arrow").show()}else{$(this.rootID+" > .Down_Arrow").hide()}if(this.row>0&&this.row!=0){$(this.rootID+" > .Up_Arrow").show()}else{$(this.rootID+" > .Up_Arrow").hide()}$(this.rootID+" > .Left_Arrow").hide();$(this.rootID+" > .Right_Arrow").hide()}}else{$(this.rootID+" > .Right_Arrow").hide();$(this.rootID+" > .Left_Arrow").hide();$(this.rootID+" > .Down_Arrow").hide();$(this.rootID+" > .Up_Arrow").hide()}},navLeftElement:function(e){if(e.type==="click"){this.hover=true}TVA.log("navLeftElement in "+this.name);if(this.listenKeys){this._targetItem(e,"Left")}else{e.stopPropagation()}},navRightElement:function(e){if(e.type==="click"){this.hover=true}TVA.log("navRightElement in "+this.name);if(this.listenKeys){this._targetItem(e,"Right")}else{e.stopPropagation()}},navUpElement:function(e){if(e.type==="click"){this.hover=true}if(this.listenKeys){this._targetItem(e,"Up")}else{e.stopPropagation()}var home=ViewControllerManager.find("Home");if(home.children.categoriesList.view.activeChild==="home_featured")$("#featuredCounter").addClass("active")},navDownElement:function(e){if(e.type==="click"){this.hover=true}if(this.listenKeys){this._targetItem(e,"Down")}else{e.stopPropagation()}var home=ViewControllerManager.find("Home");if(home.children.categoriesList.view.activeChild==="home_now_showing")$("#featuredCounter").removeClass("active")},updateGrid:function(){this.hiddenElements={};var maxCarouselElements=this.size;var cellCount=0;$(this.rootID+" .Grid_Container").html("");for(var i=0;i<this.rows;i++){var row="";if($(this.rootID+" .Grid_Container").find("#Grid"+this.cloneIndex+"_row_"+i).length){row="Grid"+this.cloneIndex+"_row_"+i}else{row="Grid"+this.cloneIndex+"_row_"+i;var inlineStyle='style="position:absolute;width:1280px;height:'+this.cellDims.height+'px"';$(this.rootID+" .Grid_Container").append('<div id="'+row+'" class="gridRow" '+inlineStyle+"></div>")}var maxHeight=0;for(var j=0;j<this.columns;j++){var elementId=row+"_Item_pos_"+j;if(this.contents[cellCount]){var content=this.contents[cellCount].content||"";if($(this.rootID+" .Grid_Container #"+row+" #"+elementId)[0]){$(this.rootID+" .Grid_Container #"+row+" #"+elementId+" .content").html(content)}else{var inlineStyle="position:absolute;";var cellWidth=this.cellDims.width>0?"width:"+this.cellDims.width+"px;":"";var cellHeight=this.cellDims.height>0?"height:"+this.cellDims.height+"px;":"";inlineStyle+=cellWidth;inlineStyle+=cellHeight;var el=document.createElement("DIV");el.setAttribute("id",elementId);el.setAttribute("class","gridElement");el.setAttribute("style",inlineStyle);var elContent=document.createElement("DIV");elContent.setAttribute("class","content");elContent.setAttribute("style","position:absolute;");elContent.innerHTML=content;var elOverlay=document.createElement("DIV");elOverlay.setAttribute("id",elementId+"_Overlay");elOverlay.setAttribute("class","Grid_Item_Overlay hoveritem");elOverlay.setAttribute("style","position:absolute;width:100%;height:100%;");el.appendChild(elContent);el.appendChild(elOverlay);if(this.performance){var rootEl=document.getElementById(this.name).children[0];var rootX=parseInt(rootEl.style.left.replace("px","")||0);var containerX=parseInt(rootEl.children[0].children[0].style.left.replace("px",""));var width=parseInt(el.style.width.replace("px",""));var elementX=j*width;if(rootX+containerX+elementX>1280||rootX+containerX+elementX+width<0){el.style.left=elementX+"px";this.hiddenElements[elementId]=el;this.adjustElement(row,el,elementId,j)}else{document.getElementById(row).appendChild(el);this.adjustElement(row,el,elementId,j)}}else{document.getElementById(row).appendChild(el);this.adjustElement(row,el,elementId,j)}}}cellCount++}var y=0;if(i>0){var rowID="Grid"+this.cloneIndex+"_row_"+(i-1);var top=$(this.rootID+" .Grid_Container #"+rowID).position().top;y=top+$(this.rootID+" .Grid_Container #"+rowID).height()+6}else{y=0}if($(this.rootID+" .Grid_Container #"+row).position().top===0){$(this.rootID+" .Grid_Container #"+row).css({top:y})}var rowEls=$(this.rootID+" .Grid_Container .gridRow");var totalGridHeight=0;for(var rowIndex=0;rowIndex<rowEls.length;rowIndex++){totalGridHeight+=$(rowEls[rowIndex]).height()}$(this.rootID+" .Grid_Container").css({height:totalGridHeight})}this.toggleArrows()},adjustElement:function(row,el,elementId,j){if(this.autoSizeRows){var height=$(el.children[0]).css("height");height=parseInt(height.replace("px",""));el.style.height=height+this.cellDims.height+"px";document.getElementById(row).style.height=height+this.cellDims.height+"px";var top=parseInt(el.style.height.replace("px",""))/2-height/2;el.children[0].style.top=top+"px"}else{el.children[0].style.width="100%";el.children[0].style.height="100%"}var width=(parseInt(el.style.width.replace("px",""))+this.horizontalMargin)*j;el.style.left=width+"px"},onButtonOut:function(e){$(this.rootID+" > .hoverButton").removeClass("active");e.stopPropagation()},onButtonHover:function(e){this.row=this.childIndexList[this.activeChild];this.hover=true;$(this.rootID+" div .Arrow").hide();$(this.rootID+" > ."+e.target.classList[0]).addClass("active");e.stopPropagation()},onHover:function(event){if(this.parentVC.name==="Home")return;var scope=ViewControllerManager.find(this.parentVC.name);if(scope.previousChild!==null&&scope.previousChild!==scope.activeChild){$("#"+scope.previousChild+" > .Arrow").hide()}scope.previousChild=scope.activeChild;scope.hover=true;scope._setGridIndex();scope.toggleArrows();event.stopPropagation()},_setGridIndex:function(id){this.row=this.childIndexList[this.activeChild]},clickEvent:function(){},scrollLeft:function(scrollAmount){this.scroll(-1,scrollAmount,"horizontal")},scrollRight:function(scrollAmount){this.scroll(1,scrollAmount,"horizontal")},scrollUp:function(scrollAmount){this.scroll(-1,scrollAmount,"vertical")},scrollDown:function(scrollAmount){this.scroll(1,scrollAmount,"vertical")},scroll:function(direction,distance,orientation){this.listenKeys=false;this.scrolling=true;var scope=this;var newPos="0px";var animCSS={};if(orientation==="vertical"){var y=$(this.rootID+" .Grid_Container").position().top;var dy=(distance||53)*direction;var clipY=$(this.rootID+" .clip").position().top;var newPos=Math.round(dy+y);this.containerPos.y=newPos;this.newPos=newPos+"px";animCSS={top:this.newPos};this._animComplete({top:this.containerPos.y,direction:this.directions[orientation][direction]})}else if(orientation==="horizontal"){var x=$(this.rootID+" .Grid_Container").position().left;var dx=(distance||53)*direction;this.newPos=Math.round(dx+x)+"px";animCSS={left:this.newPos};this.containerPos.x=Math.round(dx+x);this._animComplete({left:this.containerPos.x,direction:this.directions[orientation][direction]})}$(this.rootID+" .Grid_Container").css(animCSS);if(this.performance){this.cleanOffScreen(this.directions[orientation][direction])}},_animComplete:function(params){var interval=80;clearTimeout(this.animCompleteInterval);var scope=this;if(typeof params.left==="number"){if(Math.round($(this.rootID+" .Grid_Container").position().left)===Math.round(params.left)){this.listenKeys=true;this.scrolling=false;if(this.performance){}}else{this.animCompleteInterval=setTimeout(function(){scope._animComplete(params)},interval)}}else if(typeof params.top==="number"){if(Math.round($(this.rootID+" .Grid_Container").position().top)===Math.round(params.top)){this.listenKeys=true;this.scrolling=false;if(this.performance){}}else{this.animCompleteInterval=setTimeout(function(){scope._animComplete(params)},interval)}}},cleanOffScreen:function(direction){if(direction==="Right"){var findOffScreen=true;for(var i=this.pos;i<this.columns&&findOffScreen;i++){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(!document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.pushOnScreen(el,j)}}}findOffScreen=true;for(var i=this.pos;i>=0&&findOffScreen;i--){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(this.isOffscreen(element)&&document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){var el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.popOffScreen(el,j)}}}}else if(direction==="Left"){var findOffScreen=true;for(var i=this.pos;i>=0&&findOffScreen;i--){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(!document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.pushOnScreen(el,j)}}}findOffScreen=true;for(var i=this.pos;i<this.columns&&findOffScreen;i++){var element="Grid"+this.cloneIndex+"_row_"+this.row+"_Item_pos_"+i;if(this.isOffscreen(element)&&document.getElementById(element)){findOffScreen=false;for(var j=0;j<this.rows;j++){var el="Grid"+this.cloneIndex+"_row_"+j+"_Item_pos_"+i;this.popOffScreen(el,j)}}}}},isElementObscured:function(overlayElement,autoScroll,direction){var id=overlayElement.replace("_Overlay","");var rootEl=document.getElementById(this.name);var element=null;if(document.getElementById(id)){element=document.getElementById(id);overlayElement=document.getElementById(overlayElement)}else if(this.hiddenElements[id]){element=this.hiddenElements[id];overlayElement=element.children[1]}var container=rootEl.children[0].children[0].children[0];if((direction==="Left"||direction==="Right")&&this.orientation==="horizontal"){var matrixLeft=$(this.rootID+" .Grid_Container").position().left;var actionZoneWidth=rootEl.children[0].style.width.replace("px","");matrixLeft=container.style.left.replace("px","");matrixLeft=parseInt(matrixLeft===""?0:matrixLeft);var pos={left:element.style.left.replace("px",""),top:element.style.top.replace("px","")};var width=$(overlayElement).width();var scrollAmount=0;var scroll=autoScroll||true;var x=parseInt(pos.left)+matrixLeft;if(x<0+this.screenPadding){if(scroll){var dX=Math.abs(x)+this.screenPadding;this.scrollRight(dX)}return true}else if(x+width>0+actionZoneWidth-this.screenPadding){scrollAmount=x+width-(actionZoneWidth-this.screenPadding);if(scroll){this.scrollLeft(scrollAmount)}return true}else{return false}}else if((direction==="Up"||direction==="Down")&&this.orientation==="vertical"){var matrixTop=$(this.rootID+" .Grid_Container").position().top;var actionZoneHeight=parseInt(rootEl.children[0].style.height.replace("px",""));matrixTop=container.style.top.replace("px","");matrixTop=parseInt(matrixTop===""?0:matrixTop);var pos=$(overlayElement).parent().parent().position();var height=$(overlayElement).height();var scrollAmount=0;var scroll=autoScroll||true;var y=pos.top+matrixTop;if(y<0){if(scroll){var dY=Math.abs(y)+this.screenPadding;this.scrollDown(dY);this.offset--}return true}else if(y+height>actionZoneHeight-this.screenPadding){scrollAmount=y+height-(actionZoneHeight-this.screenPadding);if(scroll){this.scrollUp(scrollAmount);this.offset++}return true}else{return false}}},hideAllOffscreen:function(){var noRows=document.getElementById(this.name).children[0].children[0].children[0].children.length;var noCols=document.getElementById(this.name).children[0].children[0].children[0].children[0].children.length;for(var i=0;i<noRows;i++){for(var j=0;j<noCols;j++){var elId="Grid"+this.cloneIndex+"_row_"+i+"_Item_pos_"+j;if(this.isOffscreen(elId)){this.popOffScreen(elId,i)}}}},pushOnScreen:function(element,row){if(document.getElementById(element)){element=document.getElementById(element)}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}document.getElementById(this.name).children[0].children[0].children[0].children[row].appendChild(element)},popOffScreen:function(element,row){if(document.getElementById(element)){this.hiddenElements[element]=document.getElementById(element);element=this.hiddenElements[element]}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}document.getElementById(this.name).children[0].children[0].children[0].children[row].removeChild(element)},isOffscreen:function(element){var left,rootX,elementX,containerX,width,margin;var rootEl=document.getElementById(this.name).children[0];if(document.getElementById(element)){element=document.getElementById(element)}else if(this.hiddenElements[element]){element=this.hiddenElements[element]}left=element.style.left.replace("px","");left=left===""?0:left;rootX=parseInt(rootEl.style.left.replace("px","")||0);elementX=parseInt(left);containerX=parseInt(rootEl.children[0].children[0].style.left.replace("px",""));width=parseInt(element.style.width.replace("px",""));return rootX+containerX+elementX>1280||rootX+containerX+elementX+width<0},onClick:function(e){this.clickCB&&this.clickCB(e)},reset:function(){$(this.rootID+" .CarouselsList_Container").css({top:"0px"});this._unloadChildren();$(this.rootID+" .CarouselsList_Container").html("");this.previousAdded=null},gridNavCallBack:function(){}}))})();(function(){"use strict";ViewControllerManager.newClassDef("CarouselVC",Class.create({_extends_:ViewController,_init_:function(args){ViewController.call(this,args);this.id=this.name+"_carouselVC";this.options=Model.newModel(this.id,{autoselect:false,animation:0,transition:false,vertical:false,wrap:null,style:"default",limitedItems:false,topElementId:null,bottomElementId:null,leftElementId:null,rightElementId:null,backElementId:null});this.autoselectTimeout=null;this.menu=null;this.pos=0;this.activePos=0;this.offset=0;this.status={blocked:false}},onLoad:function(){},onUnload:function(){},render:function(location){this._super(location)},onKeyDown:function(e,keyCode){switch(keyCode){case Keys.getBind("Up"):this.navTopElement(e);break;case Keys.getBind("Down"):this.navBottomElement(e);break;case Keys.getBind("Left"):if(!this.options.rtl)this.navLeftElement(e);else this.navRightElement(e);break;case Keys.getBind("Right"):if(!this.options.rtl)this.navRightElement(e);else this.navLeftElement(e);break;case Keys.getBind("Enter"):this.selectCurrentElement(e);break;default:break}},configure:function(model,options,dataField){Model.updateModel(this.id,options);this.model=model;this.dataField=dataField||"data";this.updateData()},updateData:function(){this.model=Model.getModel(this.model);this.draw()},enable:function(){this.show();$(this.menu.jcarousel("items")[this.pos]).trigger("mouseenter")},isFocused:function(){return $(this.rootID).find(".focus").length>0},draw:function(offset){var self=this;this.offset=offset||0;this.offset=this.options.limitedItems?this.offset/this.options.limitedItems:0;$(this.rootID).empty().css({position:"absolute",left:2e4,top:0});this.menu=$('<div class="'+this.options.style+'"></div>');var list=$("<ul></ul>");var limited=false;if(this.options.limitedItems)limited=true;for(var i=this.offset;i<this.model[this.dataField].length&&(!limited||i<this.options.limitedItems+this.offset);i++){list.append(this._createElement(this.model[this.dataField][i]))}this.menu.append(list);this._addCarouselEvents();$(this.rootID).append(this.menu);this.menu.jcarousel(this.options);if(jQuery().dotdotdot)window.setTimeout(function(){$(self.rootID).find(".ellipsis").dotdotdot({wrap:"letter"})},200);if(jQuery().lazyload)window.setTimeout(function(){$(self.rootID).find("img.lazy").lazyload()},200);$(this.rootID).css({position:"",left:"",top:""})},_addCarouselEvents:function(){this.menu.on("jcarousel:createend",{menuObject:this},function(event,carousel){var menuObject=event.data.menuObject;menuObject.size=menuObject.menu.jcarousel("items").size();if(menuObject.options.header)menuObject._addHeader();if(menuObject.options.currentView)menuObject._addCurrentView();if(menuObject.options.controls)menuObject._addCarouselControls()}).on("jcarousel:animate",{menuObject:this},function(event,carousel,target,animate){var menuObject=event.data.menuObject;menuObject.status.blocked=true}).on("jcarousel:animateend",{menuObject:this},function(event,carousel){var menuObject=event.data.menuObject;if(menuObject.options.limitedItems)menuObject._updateCarousel();menuObject.status.blocked=false}).on("jcarousel:scroll",{menuObject:this},function(event,carousel,target,animate){var menuObject=event.data.menuObject;if(menuObject.options.loadingIcon)$(menuObject.options.loadingIcon).show()}).on("jcarousel:scrollend",{menuObject:this},function(event,carousel,target,animate){var menuObject=event.data.menuObject;if(menuObject.options.currentView)menuObject._updateCurrentView(menuObject.pos);if(menuObject.options.loadingIcon)$(menuObject.options.loadingIcon).hide();menuObject._scrollControl()}).on("jcarousel:reloadend",{menuObject:this},function(event,carousel){var menuObject=event.data.menuObject;menuObject.status.blocked=false;if(menuObject.options.currentView)menuObject._updateCurrentView(menuObject.pos);if(menuObject.options.loadingIcon)$(menuObject.options.loadingIcon).hide()})},_scrollControl:function(){if(this.menu.jcarousel("first").index()>this.pos)this._focusItem(this.menu.jcarousel("first").index());else if(this.menu.jcarousel("last").index()<this.pos)this._focusItem(this.menu.jcarousel("last").index())},_createElement:function(item){var element=$('<li id="'+this.id+"_"+item.id.toString().replace(/\s+/g,"_")+'"><div class="outerContainer"><div class="innerContainer"><div class="element">'+item.content+"</div></div></div></li>");element.addClass("hoveritem");return element},onClick:function(event){$(event.currentTarget).parent().find(".active").removeClass("active");$(event.currentTarget).addClass("active");this.pos=this.activePos=$(event.currentTarget).index();this.menu.jcarousel("scrollIntoView",this.pos);this.model[this.dataField][this.pos+this.offset].action();event.stopPropagation()},onMouseEnter:function(event){var onFocus=TVA.onFocus,target=event.currentTarget.id;if(onFocus!==target){TVA.offFocus(TVA.onFocus);TVA.setFocus(target)}this.pos=$(event.currentTarget).index();if(this.options.currentView)this._updateCurrentView(this.pos);this.menu.jcarousel("scrollIntoView",this.pos);this._autoSelectManagement();this.parentVC.setActiveChild(this.name);event.stopPropagation()},_updateCarousel:function(){var sizeLimited=this.size;if(this.model[this.dataField].length>sizeLimited){var sliceInit=this.offset;var sliceEnds=sliceInit+sizeLimited;if(this.menu.jcarousel("last").index()==this.size-1&&this.model[this.dataField].length>sliceEnds){this.offset++;sliceInit=this.offset;sliceEnds=this.offset+sizeLimited;this.menu.find("ul").append(this._createElement(this.model[this.dataField][sliceEnds-1]));this.menu.jcarousel("items").slice(0,1).remove();this.pos--;this.menu.jcarousel("reload")}else if(this.menu.jcarousel("first").index()===0&&this.offset>0){this.offset--;sliceInit=this.offset;sliceEnds=sliceInit+sizeLimited;this.menu.find("ul").prepend(this._createElement(this.model[this.dataField][sliceInit]));this.menu.jcarousel("items").slice(this.size-1,this.size).remove();this.pos++;this.menu.jcarousel("reload")}}},_addHeader:function(){this.header=$('<div class="'+this.options.style+'-header"><div class="'+this.options.style+'-title">'+this.options.header.title+'</div><div class="'+this.options.style+'-subtitle">'+this.options.header.subtitle+"</div></div>");$(this.rootID).prepend(this.header)},_addCurrentView:function(){this.currentView=$('<div class="'+this.options.style+'-currentOption"></div>');$(this.rootID).prepend(this.currentView)},_updateCurrentView:function(pos){this.currentView.empty();this.currentView.append(typeof this.options.currentView.content=="function"?this.options.currentView.content():this.options.currentView.content)},_addCarouselControls:function(){this.control_prev=$('<div class="'+this.options.style+'-prev" href="#">'+this.options.controls.prev+"</div>").addClass("pointer itemhover");this.control_next=$('<div class="'+this.options.style+'-next" href="#">'+this.options.controls.next+"</div>)").addClass("pointer itemhover");$(this.rootID).prepend(this.control_prev).append(this.control_next);this.control_next.on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).jcarouselControl({target:"+=1",carousel:this.menu,method:"scroll"});this.control_prev.on("jcarouselcontrol:inactive",function(){$(this).addClass("inactive")}).on("jcarouselcontrol:active",function(){$(this).removeClass("inactive")}).jcarouselControl({target:"-=1",carousel:this.menu,method:"scroll"})},_autoSelectManagement:function(){if(this.options.autoselect){var _this=this;window.clearTimeout(this.autoselectTimeout);this.autoselectTimeout=window.setTimeout(function(){if(_this.pos!=_this.activePos&&$(_this.rootID).is(":visible"))_this.selectCurrentElement()},this.options.autoselect)}},_prevItem:function(){if(this.pos>0)this.pos--;var element=$(this.menu.jcarousel("items")[this.pos]);element.trigger("mouseenter")},_nextItem:function(){if(this.pos+1<this.size)this.pos++;var element=$(this.menu.jcarousel("items")[this.pos]);element.trigger("mouseenter")},_focusItem:function(pos){this.pos=pos;var element=$(this.menu.jcarousel("items")[this.pos]);element.trigger("mouseenter")},selectCurrentElement:function(e){var element=$(this.menu.jcarousel("items")[this.pos]);element.trigger("click");if(e)e.stopPropagation()},selectElementById:function(id,force){if(typeof id!="string")id=id.toString();this._checkElementIdInsideList(id);var element=this.menu.find("#"+this.id+"_"+id.toString().replace(/\s+/g,"_"));if(force||element.index()!=this.activePos)element.trigger("click")},focusElementById:function(id){if(typeof id!="string")id=id.toString();this._checkElementIdInsideList(id);var element=this.menu.find("#"+this.id+"_"+id.replace(/\s+/g,"_"));element.trigger("mouseenter")},getCurrentElement:function(){return this.model[this.dataField][this.pos+this.offset]},getActiveElement:function(){return this.model[this.dataField][this.activePos+this.offset]},_checkElementIdInsideList:function(id){if(typeof id!="string")id=id.toString();if(this.options.limitedItems&&this.options.limitedItems<this.model[this.dataField].length){var item=$.grep(this.model[this.dataField],function(e){return e.id==id});var x0=this.model[this.dataField].indexOf(item[0]);if(x0+this.options.limitedItems>this.model[this.dataField].length)x0=this.model[this.dataField].length-this.options.limitedItems;this.menu.find("ul").empty();for(var i=x0;i<this.options.limitedItems+x0;i++){this.menu.find("ul").append(this._createElement(this.model[this.dataField][i]))}this.menu.jcarousel("reload");this.offset=x0}},selectActiveElement:function(){if(this.activePos!==null){this.menu.jcarousel("scrollIntoView",this.activePos);var element=$(this.menu.jcarousel("items")[this.options.activePos]);element.trigger("click")}},navTopElement:function(e){if(this.options.vertical&&this.pos>0){this._prevItem();e.stopPropagation()}},navBottomElement:function(e){if(this.options.vertical&&this.pos<this.size-1){this._nextItem();e.stopPropagation()}},navLeftElement:function(e){if(!this.options.vertical&&this.pos>0){this._prevItem();e.stopPropagation()}},navRightElement:function(e){if(!this.options.vertical&&this.pos<this.size-1){this._nextItem();e.stopPropagation()}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("VCarouselVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="V_Carousel_Item_pos_0_Overlay";this.navigation={};this.pos=0;this.size=0;this.maxEl=3;this.activePos=0;this.offset=0;this.images=[];this.text=[];this.contents=[]},init:function(params){this.offset=0;this.pos=0;this.activeChild="V_Carousel_Item_pos_0_Overlay";this.contents=params.contents||[];this.size=params.contents.length;this.maxEl=this.size<params.length&&this.size!=0?this.size:params.length;for(var i=0;i<this.maxEl;i++){if(i===0){if(this.size>1){this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]={Down:"V_Carousel_Item_pos_"+(i+1)+"_Overlay"}}else{this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]={}}}else if(i===this.maxEl-1&&i!=0){this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]={Up:"V_Carousel_Item_pos_"+(i-1)+"_Overlay",Down:"V_Carousel_Item_pos_"+i+"_Overlay"}}else{var nav={Up:"V_Carousel_Item_pos_"+(i-1)+"_Overlay",Down:"V_Carousel_Item_pos_"+(i+1)+"_Overlay"};this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]=nav}}},onUnload:function(){this.pos=0;this.images=[];this.text=[];this.contents=[];TVA.offFocus(this.activeChild)},onLoad:function(){this._loadVC();this.images=[];this.text=[];this.pos=0;this.activeChild="V_Carousel_Item_pos_0_Overlay";this.clickEvent=null},_loadVC:function(){},render:function(location){this._super(location);$(".Carousel_Item_Overlay").removeClass("focus");if(settings.device==="philips"||settings.device==="lg"||settings.device==="foxxum"){if(ViewControllerManager.find("Root").activeChild==="SetLocation"||ViewControllerManager.find("Root").activeChild==="SetFavoriteLocation"){}else{this.enable()}}else{this.enable()}$(this.rootID+" .carouselElement p").html("");$(this.rootID+" .carouselElement").css("background-image","url()");this.updateCarousel();this.activateParent()},onKeyDown:function(e,keyCode){TVA.log("keydown in V Carousel");$(".V_Carousel.Arrow").removeClass("arrowHover");if(Model.App.listen){switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this.navUpElement(e);break;case Keys.getBind("Down"):this.navDownElement(e);break;case Keys.getBind("Left"):this._navigate("Left",e);break;case Keys.getBind("Right"):this._navigate("Right",e);break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Cross"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;this.activateParent();e.stopPropagation();this.navCallBack&&this.navCallBack()}},activateParent:function(){$(".carouselElement").removeClass("active");$("#"+this.activeChild.replace("_Overlay","")).addClass("active")},_prevItem:function(e){var prevChild=this.navigation[this.activeChild]["Up"];if(this.pos>0){this.pos--}$("#Top_Arrow").addClass("arrowHover");if(this.pos-this.offset*this.maxEl<0){this.offset--;this.updateCarousel()}else{this._navigate("Up",e)}},_nextItem:function(e){var nextChild=this.navigation[this.activeChild]["Down"];if(this.pos<this.size){this.pos++}$("#Bottom_Arrow").addClass("arrowHover");if(this.pos<this.size-1&&this.pos===this.maxEl){this.offset++;this.updateCarousel()}else{this._navigate("Down",e)}},navUpElement:function(e){if(this.pos>0){this._prevItem(e);e.stopPropagation()}},navDownElement:function(e){if(this.pos<this.size-1){this._nextItem(e);e.stopPropagation()}else{this._navigate("Down",e)}},updateCarousel:function(){var maxCarouselElements=this.maxEl;$(this.rootID+" .carouselElement").hide();for(var i=0;i<maxCarouselElements;i++){var index=i+this.offset;$(this.rootID+" #V_Carousel_Item_pos_"+i).hide();$(this.rootID+" #V_Carousel_Item_pos_"+i+" div").html("");if(this.contents[index]){if(index<this.contents.length-1&&this.contents.length>3){$("#Bottom_Arrow").show()}else{$("#Bottom_Arrow").hide()}if(index>2){$("#Top_Arrow").show()}else{$("#Top_Arrow").hide()}$(this.rootID+" #V_Carousel_Item_pos_"+i).show();var url=this.contents[index].images||"";var bgcss=this.contents[index].bgcss||{};var text=this.contents[index].text||"";if(!$(this.rootID+" #V_Carousel_Item_pos_"+i)[0]){var newElement='<li id="V_Carousel_Item_pos_'+i+'" class="carouselElement"><div class="content"></div><div id="V_Carousel_Item_pos_'+i+'_Overlay" class="Carousel_Item_Overlay hoveritem"></div></li>';$(this.rootID+" ul").append(newElement)}if(bgcss!={}){$(this.rootID+" #V_Carousel_Item_pos_"+i).css(bgcss)}if(url!=""){$(this.rootID+" #V_Carousel_Item_pos_"+i).css("background-image","url("+url+")")}if($(this.rootID+" #V_Carousel_Item_pos_"+i+" div.content")[0]){$(this.rootID+" #V_Carousel_Item_pos_"+i+" div.content").html(text)}else{$(this.rootID+" #V_Carousel_Item_pos_"+i+" div.content").html(text)}}}},onHover:function(event){$("#TextScroller").removeClass("active");$(".Arrow").removeClass("arrowHover");if($("#"+event.target.id).hasClass("Arrow")){$("#"+event.target.id).addClass("arrowHover")}else{var element=event.target.id;element=element.replace("_Overlay","");var i=element[element.length-1];this._setCarouselIndex(parseInt(i));this._enableElement(event.target.id)}if(typeof this.hoverCallback==="function"){this.hoverCallback(event.target.id)}event.stopPropagation()},_setCarouselIndex:function(index){this.pos=this.offset+index},clickEvent:function(){},navCallBack:function(){},arrowUp:function(e){this.navUpElement(e)},arrowDown:function(e){this.navDownElement(e)},hoverCallback:null}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("HorizontalCarouselVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="H_Carousel_Item_pos_0_Overlay";this.navigation={};this.pos=0;this.size=0;this.maxEl=3;this.activePos=0;this.offset=0;this.images=[];this.text=[];this.contents=[];this.screenPadding=0;this.carouselIndex=""},init:function(params){this.screenPadding=params.padding||0;this.contents=params.contents||[];this.offset=0;this.size=params.contents.length;this.maxEl=this.size;this.carouselIndex=this.name.replace("HorizontalCarousel","");this.activeChild="H_Carousel"+this.carouselIndex+"_Item_pos_0_Overlay";for(var i=0;i<this.maxEl;i++){if(i===0){if(this.size>1){this.navigation["H_Carousel"+this.carouselIndex+"_Item_pos_"+i+"_Overlay"]={Right:"H_Carousel"+this.carouselIndex+"_Item_pos_"+(i+1)+"_Overlay"}}else{this.navigation["H_Carousel"+this.carouselIndex+"_Item_pos_"+i+"_Overlay"]={}}}else if(i===this.maxEl-1&&i!=0){this.navigation["H_Carousel"+this.carouselIndex+"_Item_pos_"+i+"_Overlay"]={Left:"H_Carousel"+this.carouselIndex+"_Item_pos_"+(i-1)+"_Overlay",Right:"H_Carousel"+this.carouselIndex+"_Item_pos_"+i+"_Overlay"}}else{this.navigation["H_Carousel"+this.carouselIndex+"_Item_pos_"+i+"_Overlay"]={Left:"H_Carousel"+this.carouselIndex+"_Item_pos_"+(i-1)+"_Overlay",Right:"H_Carousel"+this.carouselIndex+"_Item_pos_"+(i+1)+"_Overlay"}}}this.updateCarousel();$("#HC_Container").css({left:this.screenPadding});this.enable()},onUnload:function(){this.pos=0;this.images=[];this.text=[];this.contents=[];TVA.offFocus(TVA.onFocus)},onLoad:function(){this.images=[];this.text=[];this.pos=0;this.contents=[];this.activeChild="H_Carousel_Item_pos_0_Overlay";this.clickEvent=null},render:function(location){this._super(location);this.enable();this.reset()},onKeyDown:function(e,keyCode){if(Model.App.listen){switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this._navigate("Up",e);break;case Keys.getBind("Down"):this._navigate("Down",e);break;case Keys.getBind("Left"):this.navLeftElement(e);break;case Keys.getBind("Right"):this.navRightElement(e);break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Cross"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},_prevItem:function(e){var prevChild=this.navigation[this.activeChild]["Left"];if(prevChild){if(this.pos>0){this.pos--}if(this.isElementObscured(prevChild)){this.offset--;if(this.offset<0){this.offset=0}this._navigate("Left",e);e.stopPropagation()}else{TVA.setFocus(prevChild);this.activeChild=prevChild}}},_nextItem:function(e){var nextChild=this.navigation[this.activeChild]["Right"];if(nextChild){if(this.pos<this.size-1){this.pos++}if(this.isElementObscured(nextChild)){this.offset++;this._navigate("Right",e);e.stopPropagation()}else{TVA.setFocus(nextChild);this.activeChild=nextChild}}},navLeftElement:function(e){if(Model.App.listen){this._prevItem(e)}},navRightElement:function(e){if(Model.App.listen){this._nextItem(e)}},updateCarousel:function(){var maxCarouselElements=this.size;for(var i=0;i<maxCarouselElements;i++){var index=i+this.offset;$(this.rootID+" #H_Carousel_Item_pos_"+i+" .content").html("");if(this.contents[index]){var content=this.contents[index].content||"";if($(this.rootID+" #H_Carousel"+this.carouselIndex+"_Item_pos_"+i)[0]){$(this.rootID+" #H_Carousel"+this.carouselIndex+"_Item_pos_"+i+" .content").html(content)}else{var el='<div id="H_Carousel'+this.carouselIndex+"_Item_pos_"+i+'" class="carouselElement"><div class="content"></div><div id="H_Carousel'+this.carouselIndex+"_Item_pos_"+i+'_Overlay" class="Carousel_Item_Overlay hoveritem"></div></div>';$(this.rootID+" #HC_Container").append(el);$(this.rootID+" #H_Carousel"+this.carouselIndex+"_Item_pos_"+i+" .content").html(content);var width=($(this.rootID+" #H_Carousel"+this.carouselIndex+"_Item_pos_"+i).width()+6)*i;if($(this.rootID+" #H_Carousel"+this.carouselIndex+"_Item_pos_"+i).position().left===0){$(this.rootID+" #H_Carousel"+this.carouselIndex+"_Item_pos_"+i).css({left:width})}}}}},onHover:function(event){var element=event.target.id;element=element.replace("_Overlay","");element=element.replace("H_Carousel_Item_pos_","");this._setCarouselIndex(parseInt(element));this._enableElement(event.target.id);event.stopPropagation()},_setCarouselIndex:function(index){this.pos=this.offset+index},clickEvent:function(){},scrollLeft:function(scrollAmount){this.scroll(-1,scrollAmount)},scrollRight:function(scrollAmount){this.scroll(1,scrollAmount)},scroll:function(direction,distance){Model.App.listen=false;var scope=this;var dx=(distance||53)*direction;var x=$(this.rootID+" #HC_Container").position().left;var newPos=dx+x+"px";var animCSS={left:newPos};var animProps={duration:500,step:function(a,b){},complete:function(){Model.App.listen=true}};$(this.rootID+" #HC_Container").animate(animCSS,animProps)},isElementObscured:function(overlayElement,autoScroll){var matrixLeft=$(this.rootID+" #HC_Container").position().left;var pos=$("#"+overlayElement).parent().position();var width=$("#"+overlayElement).width();var scrollAmount=0;var scroll=autoScroll||true;var x=pos.left+matrixLeft;if(x<$(this.rootID).position().left+this.screenPadding){if(scroll){var dX=Math.abs(x)+this.screenPadding;this.scrollRight(dX)}return true}else if(x+width>$(this.rootID).position().left+$(this.rootID).width()-this.screenPadding){scrollAmount=x+width-(1280-this.screenPadding);if(scroll){this.scrollLeft(scrollAmount)}return true}else{return false}},HC_ClickEvent:function(){},reset:function(){$(this.rootID+" #HC_Container").html("")}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("HMatrixVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="Matrix_Element_main_Overlay";this.navigation={};this.pos=0;this.size=0;this.maxEl=3;this.activePos=0;this.offset=0;this.screenPadding=34;this.fastScroll=500;this.slowScroll=1e3;this.scrollSpeed=null},init:function(params){this.navigation=params.navigation;this.activeChild=params.activeChild;$(this.rootID+" .HMContainer").css("left","0px")},onUnload:function(){TVA.offFocus(TVA.onFocus)},render:function(location){this._super(location);this.enable();$("#AppContent").addClass(this.lastClass)},onKeyDown:function(e,keyCode){if(Model.App.listen){switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this.navDirection(e,"Up");break;case Keys.getBind("Down"):this.navDirection(e,"Down");break;case Keys.getBind("Left"):this.navDirection(e,"Left");break;case Keys.getBind("Right"):this.navDirection(e,"Right");break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break;case Keys.getBind("Cross"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_nextItem:function(direction){if(Model.App.listen){var nextChild=this.navigation[this.activeChild][direction];this.isElementOffscreen(nextChild);if(this.activeChild==="V_Carousel_Item_pos_2_Overlay"){this.offset++}else{TVA.setFocus(nextChild);this.activeChild=nextChild}}},navDirection:function(e,direction){if(this.navigation[this.activeChild][direction]){this._nextItem(direction);e.stopPropagation()}else{this.isElementOffscreen(this.activeChild)}},onHover:function(event){$(".Arrow").removeClass("arrowHover");if($("#"+event.target.id).hasClass("Arrow")){$("#"+event.target.id).addClass("arrowHover")}else{this._enableElement(event.target.id)}event.stopPropagation()},_setChannelIndex:function(index){Model.updateModel("ChannelContent",{channelIndex:index})},clickEvent:function(e){},isElementOffscreen:function(element,autoScroll){var matrixLeft=$(this.rootID+" .HMContainer").position().left+this.screenPadding;var pos=$("#"+element).parent().position();var width=$("#"+element).width();var scrollAmount=0;var scroll=autoScroll||true;var x=pos.left+matrixLeft;var s=element.match(/radar/gi)?element.match(/radar/gi)[0]:element.match(/radar/gi);if(s==="radar"){this.scrollSpeed=this.slowScroll}else{this.scrollSpeed=this.fastScroll}if(x<this.screenPadding){if(scroll){this.scrollRight(Math.abs(x)+this.screenPadding)}return true}else if(x+width>1280-this.screenPadding){scrollAmount=x+width-(1280-this.screenPadding);if(scroll){this.scrollLeft(scrollAmount)}return true}else{return false}},scrollLeft:function(scrollAmount){this.scroll(-1,scrollAmount)},scrollRight:function(scrollAmount){this.scroll(1,scrollAmount)},scroll:function(direction,distance){Model.App.listen=false;var scope=this;var dx=(distance||53)*direction;var x=$(this.rootID+" .HMContainer").position().left;var newPos=dx+x+"px";var cssProps={left:newPos};var animProps={duration:scope.scrollSpeed,easing:"linear",step:function(a){var x=$(scope.rootID+" .HMContainer").position().left;var sizedef=VideoController.videoSizes.home;sizedef.x=x+34+$(scope.rootID+" #matrix_element_live").position().left;VideoController._changeSize(sizedef);$("#player_controls").css("left",$(scope.rootID+" .HMContainer").position().left+1010)},complete:function(){$("#player_controls").css("left",$(scope.rootID+" .HMContainer").position().left+1010);Model.App.listen=true;var x=$(scope.rootID+" .HMContainer").position().left;var sizedef=VideoController.videoSizes.home;sizedef.x=x+34+$(scope.rootID+" #matrix_element_live").position().left;VideoController._changeSize(sizedef)}};$(this.rootID+" .HMContainer").animate(cssProps,animProps)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("VCheckBoxListVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="VCheckBox_Item_0_Overlay";this.navigation={VCheckBox_Item_0_Overlay:{Down:"VCheckBox_Item_1_Overlay"},VCheckBox_Item_1_Overlay:{Up:"VCheckBox_Item_0_Overlay"}};this.pos=0;this.size=0;this.maxEl=2;this.activePos=0;this.offset=0;this.images=[];this.text=[];this.contents=[]},init:function(params){this.contents=params.contents||[];this.maxEl=params.length;this.size=params.contents.length;for(var i=0;i<this.maxEl;i++){if(i===0){if(this.size>1){this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]={Down:"V_Carousel_Item_pos_"+(i+1)+"_Overlay"}}else{this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]={}}}else if(i===this.maxEl-1&&i!=0){this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]={Up:"V_Carousel_Item_pos_"+(i-1)+"_Overlay",Down:"V_Carousel_Item_pos_"+i+"_Overlay"}}else{var nav={Up:"V_Carousel_Item_pos_"+(i-1)+"_Overlay",Down:"V_Carousel_Item_pos_"+(i+1)+"_Overlay"};this.navigation["V_Carousel_Item_pos_"+i+"_Overlay"]=nav}}},onUnload:function(){this.pos=0;this.images=[];this.text=[];this.contents=[];TVA.offFocus(TVA.onFocus)},onLoad:function(){this._loadVC()},_loadVC:function(){this.images=[];this.text=[];this.pos=0;this.contents=Model.TemperatureUnits;this.activeChild="VCheckBox_Item_0_Overlay";this.size=2},render:function(location){this._super(location);this.enable();this.setChecked()},onKeyDown:function(e,keyCode){switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this.navUpElement(e);break;case Keys.getBind("Down"):this.navDownElement(e);break;case Keys.getBind("Left"):this._navigate("Left",e);break;case Keys.getBind("Right"):this._navigate("Right",e);break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Cross"):$("#"+TVA.onFocus).click();e.stopPropagation();break}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},_prevItem:function(){var prevChild=this.navigation[this.activeChild]["Up"];if(this.pos>0){this.pos--}if(this.activeChild==="VCheckBox_Item_0_Overlay"){this.offset--;this.updateCarousel()}else{TVA.setFocus(prevChild);this.activeChild=prevChild}},_nextItem:function(){var nextChild=this.navigation[this.activeChild]["Down"];if(this.pos<this.size){this.pos++}if(this.activeChild==="VCheckBox_Item_2_Overlay"){this.offset++;this.updateCarousel()}else{TVA.setFocus(nextChild);this.activeChild=nextChild}},navUpElement:function(e){if(this.pos>0){this._prevItem();e.stopPropagation()}},navDownElement:function(e){if(this.pos<this.size-1){this._nextItem();e.stopPropagation()}},updateCarousel:function(){var maxCarouselElements=this.maxEl;for(var i=0;i<maxCarouselElements;i++){var index=i+this.offset;$(this.rootID+" #VCheckBox_Item_"+i).hide();$(this.rootID+" #VCheckBox_Item_"+i+" p").html("");if(this.contents[index]){$(this.rootID+" #VCheckBox_Item_"+i).show();var url=this.contents[index].images||"";var bgcss=this.contents[index].bgcss||{};var text=this.contents[index].text||"";if(url===""){$(this.rootID+" #VCheckBox_Item_"+i).css(bgcss)}else{$(this.rootID+" #VCheckBox_Item_"+i).css("background-image","url("+url+")")}if($(this.rootID+" #VCheckBox_Item_"+i+" p")[0]){$(this.rootID+" #VCheckBox_Item_"+i+" p").html(text)}else{$(this.rootID+" #VCheckBox_Item_"+i).prepend("<p>"+text+"</p>")}}}},onHover:function(event){var element=event.target.id;element=element.replace("_Overlay","");var i=element[element.length-1];this._setCarouselIndex(parseInt(i));this._enableElement(event.target.id);event.stopPropagation()},_setCarouselIndex:function(index){this.pos=this.offset+index},clickEvent:function(e){},setChecked:function(){$(this.rootID+" .VCheckBox_radio").removeClass("inactive");$(this.rootID+" .VCheckBox_radio").removeClass("active");$(this.rootID+" .VCheckBox_radio").addClass("inactive");$(this.rootID+" #VCheckBox_Item_"+Model.Units.index+"_radio").removeClass("inactive");$(this.rootID+" #VCheckBox_Item_"+Model.Units.index+"_radio").addClass("active")}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("TextScrollerVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="arrow_scroll_down";this.navigation={arrow_scroll_up:{Down:"arrow_scroll_down"},arrow_scroll_down:{Up:"arrow_scroll_up"}};this.scrollLength=0;this.scrollCount=0;this.scrollAmount=40;this.elName="TextScroller";this.textField="textField";this.thumbHeight=10;this.text=""},init:function(text){this.text=text;this.setScroll();$("#arrow_scroll_up").addClass("end");$("#arrow_scroll_down").removeClass("end")},render:function(location){this._super(location);this.enable()},onKeyDown:function(e,keyCode){TVA.log("keydown in TextScroller");switch(keyCode){case Keys.getBind("Back"):break;case Keys.getBind("Up"):this.scrollUp(e);e.stopPropagation();break;case Keys.getBind("Down"):this.scrollDown(e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);break;case Keys.getBind("Right"):this._navigate("Right",e);break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}if($("#arrow_scroll_up").hasClass("end")){$("#arrow_scroll_up").removeClass("focus");$("#arrow_scroll_down").addClass("focus")}if($("#arrow_scroll_down").hasClass("end")){$("#arrow_scroll_down").removeClass("focus");$("#arrow_scroll_up").addClass("focus")}},scrollUp:function(e){this.scroll("up",e)},scrollDown:function(e){this.scroll("down",e)},setScroll:function(){$(this.rootID+" #textField").html(this.text);this.scrollLength=Math.ceil((document.getElementById(this.textField).scrollHeight-$("#"+this.elName).height())/this.scrollAmount);$("#thumb").css("top","0px");this.thumbHeight=$("#track").height()/this.scrollLength;$("#thumb").height(this.thumbHeight);this.scrollCount=0;$("#"+this.textField).scrollTop(0)},scroll:function(direction,e){var elName=this.textField;var scrollAmount=this.scrollAmount;var el=$("#"+elName);var elPos=el.scrollTop();var elHeight=document.getElementById(elName).scrollHeight;this.thumbHeight=$("#track").height()/this.scrollLength;var thumbPos=$("#thumb").css("top");thumbPos=parseInt(thumbPos.replace("px",""));$("#thumb").height(this.thumbHeight);if(direction==="up"){if(elPos>0){$("#arrow_scroll_up").removeClass("end");$("#arrow_scroll_down").removeClass("end");if(elPos-scrollAmount<0){this.scrollCount=0;el.scrollTop(this.scrollCount)}else{this.scrollCount--;el.scrollTop(el.scrollTop()-scrollAmount);$("#thumb").css("top",this.scrollCount*this.thumbHeight+"px");this._navigate("Up",e)}}else{$("#arrow_scroll_up").addClass("end");$("#arrow_scroll_up").removeClass("focus");$("#arrow_scroll_down").addClass("focus");$("#topMask").hide();this._enableElement("arrow_scroll_down")}}else if(direction==="down"){if(this.scrollCount<this.scrollLength-1){$("#arrow_scroll_up").removeClass("end");$("#arrow_scroll_down").removeClass("end");$("#topMask").show();this.scrollCount++;el.scrollTop(el.scrollTop()+scrollAmount);$("#thumb").css("top",this.scrollCount*this.thumbHeight+"px");this._navigate("Down",e);return el.scrollTop()-elPos>=scrollAmount-1}else{$("#arrow_scroll_down").addClass("end");$("#arrow_scroll_down").removeClass("focus");$("#arrow_scroll_up").addClass("focus");this._enableElement("arrow_scroll_up")}}return false},onHover:function(event){this._enableElement(event.target.id);event.stopPropagation()}}))})();var Util={loaderInterval:0,secondsToTime:function(secs){if(!isFinite(secs)||secs===null)return"00:00:00";var seconds=Math.floor(secs);var hours=Math.floor(seconds/3600);seconds-=hours*3600;var minutes=Math.floor(seconds/60);seconds-=minutes*60;if(hours<10){hours="0"+hours}if(minutes<10){minutes="0"+minutes}if(seconds<10){seconds="0"+seconds}return hours+":"+minutes+":"+seconds},animateSprite:function(elemId){var el=document.getElementById(elemId);el.style.display="block";var width=68;var pos=0;var frames=64;var max=64-frames*width;this.loaderInterval=setInterval(function(){pos-=width;pos=pos<max?pos=0:pos;el.style.backgroundPosition=pos+"px 0px"},60)},stopSpriteAnimation:function(elemId){clearInterval(this.loaderInterval);document.getElementById(elemId).style.display="block"},showSpriteLoader:function(){if(Model.App.listen){if(settings.device==="samsung_tizen"){$("#loaderShadow").css({"background-color":"rgba(0,0,0,0)"})}$("#loaderContainer").css({display:"block"});this.animateSprite("loader");Model.App.listen=false}},hideSpriteLoader:function(){var scope=this;if(!Model.App.listen){if(settings.device==="panasonic"){setTimeout(function(){scope.stopSpriteAnimation("loader")},500)}else{scope.stopSpriteAnimation("loader")}$("#loaderContainer").hide();Model.App.listen=true}},openFile:function(path){if(TVA_Storage.openStore(path||config.storageName)){if(Model.App){this.getFile()}else{ModelManager.init();this.getFile()}}},saveFile:function(data,path){config.store=data;var str=JSON.stringify(config.store);try{TVA_Storage.toFile(path||config.storageName,str)}catch(e){TVA.log(e.message)}this.getFile()},getFile:function(path){var str=TVA_Storage.fromFile(path||config.storageName);Model.App.file=JSON.parse(str);return Model.App.file},isotime:function(iso){var arr=Util.isotimedetail(iso);var isoDate=null;if(arr[5]){isoDate=new Date(arr[0],arr[1]-1,arr[2],arr[3],arr[4],arr[5])}else{isoDate=new Date(arr[0],arr[1]-1,arr[2],arr[3],[4],"00")}return isoDate},isotimedetail:function(iso){var arr=iso?iso.split(new RegExp("-|T| |:|\\.|\\+|-")):[];var offSet=(new Date).getTimezoneOffset()/60;if(arr.length>5&&arr[5][arr[5].length-1]==="Z"){arr[5]=arr[5].substring(0,arr[5].length-1)}arr[3]=parseInt(arr[3])-offSet;return arr},getMonthAbbrev:function(month){month=parseInt(month);switch(month){case 1:return"jan";case 2:return"feb";case 3:return"mar";case 4:return"apr";case 5:return"may";case 6:return"jun";case 7:return"jul";case 8:return"aug";case 9:return"sep";case 10:return"oct";case 11:return"nov";case 12:return"dec";default:return"jan"}},sendGAMessage:function(action,message){TVA_GoogleAnalytics.analyticMark(action,settings.device+"/"+message)},ellipseText:function(text,maxlength){var max;if(!maxlength){max=50}else{max=maxlength}if(text.length>max){text=text.substring(0,max-3)+"..."}return text},timeRemaining:function(expiration){var days=null;var hours=null;var minutes=null;var seconds=null;var currTime=new Date;var currDay=currTime.getDate();var currHour=currTime.getHours();var currMinute=currTime.getMinutes();var currSecond=currTime.getSeconds();var expTime=Util.isotime(expiration);var expDay=expTime.getDate();var expHour=expTime.getHours();var expMinute=expTime.getMinutes();var expSecond=expTime.getSeconds();if(currTime.getMonth()!=expTime.getMonth()){expDay=expDay+Util.daysInMonth(currTime.getMonth()+1,currTime.getFullYear())}var totalExpSeconds=expDay*86400+expHour*3600+expMinute*60+expSecond;var totalCurrSeconds=currDay*86400+currHour*3600+currMinute*60+currSecond;var totalSeconds=totalExpSeconds-totalCurrSeconds<0?0:totalExpSeconds-totalCurrSeconds;var totalMinutes=totalSeconds/60;var totalHours=totalMinutes/60;var totalDays=totalHours/24;seconds=Math.floor(totalSeconds-Math.floor(totalMinutes)*60);minutes=Math.floor(totalMinutes-Math.floor(totalHours)*60);hours=Math.floor(totalHours-Math.floor(totalDays)*24);days=Math.floor(totalDays);days=days>0?days+" days ":"";hours=hours>0?hours+":":"";minutes=minutes>0?minutes>9?minutes+":":"0"+minutes+":":"00:";seconds=seconds>0?seconds>9?seconds:"0"+seconds:"00";return days+hours+minutes+seconds},daysInMonth:function(month,year){return new Date(year,month,0).getDate()},getFirstElementWithId:function(target,callback){function getId(target){if(target.id&&target.id!=="trafficMap"){callback(target.id)}else{getId(target.parentNode)}}getId(target)},mod:function(n,m){return(n%m+m)%m},revealEllipsedText:function(element){var element=$(element);if(element.length>0){if(settings.device==="samsung"||settings.device==="samsung_tizen"||settings.device==="webos"||settings.device==="panasonic"||settings.device==="lg"){}else if(this.previousElement){Util.resetEllipsedText(this.previousElement)}this.previousElement=element;if(settings.device==="samsung"||settings.device==="samsung_tizen"||settings.device==="webos"||settings.device==="panasonic"||settings.device==="lg"){element.css({"transition-duration":"0s","text-overflow":"ellipsis","white-space":"nowrap",overflow:"hidden",left:0,width:215+"px"})}else{element.css({width:"auto",position:"fixed"});var width=parseInt(element.css("width").replace("px",""));element.css({position:"absolute"})}if(width>=215){element.css({width:width+5+"px",left:width-215+"px"});if(settings.device==="samsung"||settings.device==="samsung_tizen"||settings.device==="webos"||settings.device==="panasonic"||settings.device==="lg"){element.css({"transition-duration":"0s","text-overflow":"ellipsis","white-space":"nowrap",overflow:"hidden",left:0,width:215+"px"})}else{element.css({left:"-"+(width-210)+"px","transition-duration":"5s"})}}else{element.css({width:"100%",left:"0px"})}}},resetEllipsedText:function(element){var el;if(!element){el=null}else{el=this.previousElement}$(el).css({"transition-duration":"0s","transition-delay":"0s"});$(el).css({width:"183px",left:"0px"})},Base64:{_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Util.Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Util.Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}},_generateRandomInt:function(min,max){min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min))+min}};var StyleManager={init:function(rules){var styleEl=document.createElement("style");document.head.appendChild(styleEl);this.styleSheet=styleEl.sheet;if(rules){this.addRule(rules)}},getSheet:function(){return this.styleSheet},addRule:function(rule){if(rule.length){this.addRules(rule)}else{var ruleObj=this.parseRule(rule);this.insertRule(ruleObj.selector,ruleObj.propStr)}},addRules:function(rules){for(var i=0,rl=rules.length;i<rl;i++){var ruleObj=this.parseRule(rules[i]);this.insertRule(ruleObj.selector,ruleObj.propStr)}},removeRule:function(){stylesheet.deleteRule(index)},removeRules:function(){},changeRule:function(){},changeRules:function(){},insertRule:function(selector,propStr){this.styleSheet.insertRule(selector+"{"+propStr+"}",this.styleSheet.cssRules.length)},parseRule:function(rule){var j=1;var selector=rule[0];var propStr="";if(Object.prototype.toString.call(rule[1][0])==="[object Array]"){rule=rule[1];j=0}for(var pl=rule.length;j<pl;j++){var prop=rule[j];propStr+=prop[0]+":"+prop[1]+(prop[2]?" !important":"")+";\n"}return{selector:selector,propStr:propStr}}};var ModelManager=function(){"use strict";var Singleton=Class.create({_init_:function(){},init:function(){Model.newModel("App");Model.newModel("Movies");Model.App=Model.getModel("App");Model.Movies=Model.getModel("Movies");this.countdownTimers=[]},_modelError:function(Model,data){}});return new Singleton}();(function(){"use strict";var modalVC=ViewControllerManager.findClass("ModalVC");ViewControllerManager.newClassDef("ModalManagerVC",Class.create({_extends_:modalVC,_init_:function(args){modalVC.call(this,args)},onLoad:function(){this.subscribe("Exit",this.onExitApp);this.subscribe("CVVKeyboardPopup",this.onCVVKeyboard);this.subscribe("CVVFailedPopup",this.onCVVFailedPopup);this.subscribe("Error",this.onErrorApp);this.subscribe("PinInsert",this.onPinInsert);this.subscribe("Information",this.onInformation);this.subscribe("ResumeMovie",this.onResume);this.subscribe("Purchase",this.onPurchase);this.subscribe("Rating",this.onRating);this.subscribe("Offline",this.onMaintenance);this.subscribe("SignReg",this.onSignReg);this.subscribe("Keyboard",this.onKeyboard);this.subscribe("CreditCardMenu",this.onCCMenu);this.subscribe("FeatRegSuccess",this.onFeatRegSuccess);this.subscribe("Message",this.onMessage)},unLoad:function(){},onExitApp:function(){this._replace("ModalExit")},onErrorApp:function(){this._replace("ModalError")},onSettings:function(){this._replace("ModalSettings")},onCVVKeyboard:function(){this._replace("ModalCVVKeyboard")},onCVVFailedPopup:function(){this._replace("ModalCVVFailed")},onPinInsert:function(){this._replace("ModalPinInsert")},onInformation:function(){this._replace("ModalInformation")},onResume:function(){this._replace("ModalResume")},onPurchase:function(){this._replace("ModalPurchase")},onRating:function(){this._replace("ModalRating")},onMaintenance:function(){this._replace("ModalMaintenance")},onSignReg:function(){this._replace("ModalSignReg")},onKeyboard:function(){this._replace("ModalKeyboard")},onCCMenu:function(){this._replace("ModalCreditCardMenu")},onFeatRegSuccess:function(){this._replace("ModalFeatRegSuccess")},onMessage:function(){this._replace("ModalMessage")}}))})();var VideoController=function(){var Video=Class.create({init:function(){this.videoSizes={home:{width:480,height:270,x:622,y:224},full:{width:1280,height:720,x:0,y:0},none:{width:0,height:0,x:0,y:0}};this.size=null;this.stopped=false;this.playing=false;this.paused=false;this.connecting=false;this.buffering=false;this.finished=false;this.error=false;this.previousState=null;this.currentSeconds=0;this.url=null;this.throbber={home:{x:624,y:425},full:{x:624,y:443},details:{x:327,y:333}};this.player=ViewControllerManager.find("Player");this.previousBufferProgress=0;TVA_Player.init();TVA_Player.readyVideo();$("#videoThrobber").css({top:this.throbber.home.y,left:this.throbber.home.x});var self=this;playStateChanged=function(state){switch(state){case 0:self.stopped=true;self.playing=false;self.paused=false;self.connecting=false;self.buffering=false;self.finished=false;self.error=false;TVA.log("STREAM STOPPED !");break;case 1:self.stopped=false;self.playing=true;self.paused=false;self.connecting=false;self.buffering=false;self.finished=false;self.error=false;TVA.log("STREAM PLAYING !");break;case 2:self.stopped=false;self.playing=false;self.paused=true;self.connecting=false;self.buffering=false;self.finished=false;self.error=false;TVA.log("STREAM PAUSED !");break;case 3:self.stopped=false;self.playing=false;self.paused=false;self.connecting=true;self.buffering=false;self.finished=false;self.error=false;TVA.log("STREAM CONNECTING !");break;case 4:self.stopped=false;self.playing=false;self.paused=false;self.connecting=false;self.buffering=true;self.finished=false;self.error=false;TVA.log("STREAM BUFFERING !");break;case 5:self.stopped=false;self.playing=false;self.paused=false;self.connecting=false;self.buffering=false;self.finished=true;self.error=false;TVA.log("STREAM FINISHED !");break;case 6:self.stopped=false;self.playing=false;self.paused=false;self.connecting=false;self.buffering=false;self.finished=false;self.error=true;TVA.log("STREAM ERROR !");break}TVA.log("PreviousState - "+self.previousState);self.previousState=state;TVA.log("CurrentState - "+state);self.player.stateChange(state)};playError=function(error){TVA.log(error);self.player._resetPlayer()};bufferingProgress=function(bufferProgress){if(settings.device!=="samsung_tizen"&&settings.device!=="panasonic"){if(bufferProgress>100&&self.previousBufferProgress===0){bufferProgress=0}else if(bufferProgress>100&&self.previousBufferProgress>0){bufferProgress=100}else if(bufferProgress>100&&self.previousBufferProgress===100||bufferProgress<self.previousBufferProgress){bufferProgress=self.previousBufferProgress}else if(bufferProgress<100){bufferProgress=Math.floor(bufferProgress)}self.previousBufferProgress=bufferProgress;TVA.log("BUFFER PROGRESS - "+bufferProgress);self.player.genericBar("#buffer",bufferProgress)}};playHeadChanged=function(seconds){Util.hideSpriteLoader();if(TVA.device==="firetv"){if(TVA.onHUD){self.stop();return}}if(!TVA_Player.active){self.stop();return}self.currentSeconds=parseInt(seconds);self.player.playHead(seconds)}},fullscreen:function(){this.size="full";this._changeSize(this.videoSizes.full)},getLength:function(){var length=TVA_Player.getLength();if(length===Infinity)length=0;return length},getCurrentTime:function(){return TVA_Player.getCurrentTime()},getState:function(){return TVA_Player.getState()},setURL:function(url){this.url=url;TVA_Player.setURL(url)},play:function(seektime){var playObj={};if(seektime){playObj["startTime"]=seektime}if(settings.device==="googletv"||settings.device==="androidtv"||settings.device==="operatv"){setTimeout(function(){TVA_Player.play(playObj)},1e3)}else{TVA_Player.play(playObj)}},pause:function(){return TVA_Player.pause(true)},resume:function(){TVA_Player.pause(false)},stop:function(){TVA_Player.stop()},forward:function(seconds){TVA_Player.forward(seconds||10)},backward:function(seconds){TVA_Player.backward(seconds||10)},showPlayer:function(){TVA_Player.show()},showQmenu:function(){TVA_Player.showQMenu()},hidePlayer:function(){this.previousBufferProgress=0;TVA_Player.hide()},_changeSize:function(sizeof){if(settings.device!=="ps3"&&settings.device!=="ps4"&&settings.device!=="psvita"){TVA_Player.setXY(sizeof.x,sizeof.y);TVA_Player.setWidth(sizeof.width);TVA_Player.setHeight(sizeof.height)}else{TVA_Player.setXY(sizeof.x,sizeof.y);setTimeout(function(){TVA_Player.setWidth(sizeof.width)},1e3);setTimeout(function(){TVA_Player.setHeight(sizeof.height)},1e3)}Model.App.playerX=sizeof.x;Model.App.playerY=sizeof.y},_updateThrobber:function(){$("#videoThrobber").css({top:this.throbber[this.size].y,left:this.throbber[this.size].x})}});return new Video}();var VCRegister=[{vcName:"RootVC",template:"Root",events:{tvaKey:["#Root, onKeyDown"],mouseenter:[".hoverButton, onHover"],mouseleave:[".hoverButton, onHoverOut"]}},{vcName:"HomeVC",template:"Home",events:{tvaKey:["#Home, onKeyDown"],mouseenter:["#backIcon, onHover"],mouseleave:["#backIcon, onMouseLeave"],click:["#backIcon, back"]}},{vcName:"ScreenVC",template:"Screen",events:{tvaKey:["#Screen, onKeyDown"],click:[".btn, onClick"],mouseenter:[".hoveritem, onHover"]}},{vcName:"ProfileVC",template:"Profile",events:{tvaKey:["#Profile, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:[".profileButtonsDef, profileBtnClick"]}},{vcName:"ParentalControlsVC",template:"ParentalControls",events:{tvaKey:["#ParentalControlsContainer, onKeyDown"],mouseenter:[".checkSignPC, doNothing",".PC_ButtonsDef, onHover",".PC_Pin_Buttons, onHover"],click:["#backIcon, back","#PC_Buttons, parentalControlClick","#PC_Pin, parentalControlClick"]}},{vcName:"TextScrollerVC",template:"TextScroller",events:{tvaKey:["#TextScroller, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:["#arrow_scroll_up, scrollUp","#arrow_scroll_down, scrollDown"]}},{vcName:"ChooseLanguageVC",template:"ChooseLanguage",events:{tvaKey:["#ChooseLanguageContainer, onKeyDown"],mouseenter:[".checkSignCL, doNothing",".languageButtonsDef, onHover"],click:["#backIcon, back","#languageButtons, changeCheck"]}},{vcName:"DetailsVC",template:"Details",events:{tvaKey:["#Details, onKeyDown"]}},{vcName:"SignInVC",template:"SignIn",events:{tvaKey:["#SignInContainer, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:["#SignIn_Buttons, signInClick"]}},{vcName:"KeyboardVC",template:"Keyboard",events:{tvaKey:["#MainKeyboard, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:[".keyboardKey, onKeyClick",".keyboardShift, onShiftClick",".keyboardSpace, onSpaceClick",".keyboardClear, onClearClick",".keyboardDelete, onDeleteClick"]}},{vcName:"SignInHandlerVC",template:"SignInHandler",events:{tvaKey:["#SignInHandlerContainer, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:["#signInHandler_btn, onClick"]}},{vcName:"SearchVC",template:"Search",events:{tvaKey:["#SearchContainer, onKeyDown"],mouseenter:[".hoveritem, onHover"]}},{vcName:"PlayerVC",template:"Player",events:{tvaKey:["#Player, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],mousemove:["#Player, _showPlayerControls"],click:["#back, back","#rewind, _backward","#playPause, playPause","#forward, _forward","#CC, showLangOptions"]}},{vcName:"MediaPlayerVC",template:"MediaPlayer",events:{tvaKey:["#MediaPlayer, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],mousemove:["#MediaPlayer, showMenu"],click:["#back, back","#skipBack, backward","#playPause, playPause","#skipForward, forward"]}},{vcName:"RegisterHandlerVC",template:"RegisterHandler",events:{tvaKey:["#RegisterHandlerContainer, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:["#registerHandler_btn, onClick"]}},{vcName:"CreditCardHandlerVC",template:"CreditCardHandler",events:{tvaKey:["#CreditCardHandlerContainer, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:["#creditCardHandler_btn, onClick"]}},{vcName:"CreditCardMenuVC",template:"CreditCardMenu",events:{tvaKey:["#CCMenuContainer, onKeyDown"],mouseenter:[".hoveritem, onHover"],click:["#CCMenu_Buttons, creditCardMenuClick"]}},{vcName:"ModalPurchaseVC",template:"ModalPurchase",events:{tvaKey:["#ModalPurchase, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:[".btn, onBtnClick","#back, back","#btnConfirmCC, confirmCard"]}},{vcName:"ModalManagerVC",template:"Modal",events:{tvaKey:["#Modal, onKeyDown"]}},{vcName:"ModalExitVC",template:"ModalExit",events:{tvaKey:["#ModalExit, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#btn_exit, exitApp","#btn_goBack, onClose"]}},{vcName:"ModalPinInsertVC",template:"ModalPinInsert",events:{tvaKey:["#ModalPinInsert, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:[".pinClassNumber, pinInsert",".pinClassClear, clearBtn",".pinClassDel, delBtn","#pin_btn_confirm, confirmPin","#pin_back, onClose"]}},{vcName:"ModalInformationVC",template:"ModalInformation",events:{tvaKey:["#ModalInformation, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:[".popup_info_btn, onClose"]}},{vcName:"ModalResumeVC",template:"ModalResume",events:{tvaKey:["#ModalResume, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#resume_yes_btn, onResume","#resume_restart_btn, onRestart"]}},{vcName:"ModalRatingVC",template:"ModalRating",events:{tvaKey:["#ModalRating, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#rating_yes_btn, onConfirm","#rating_back_btn, back"]}},{vcName:"ModalErrorVC",template:"ModalError",events:{tvaKey:["#ModalError, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#btn_exit, onClose"]}},{vcName:"ModalMessageVC",template:"ModalMessage",events:{tvaKey:["#ModalMessage, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#btnBack, onClose"]}},{vcName:"ModalFeatRegSuccessVC",template:"ModalFeatRegSuccess",events:{tvaKey:["#ModalFeatRegSuccess, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#back, onClose","#btn_exit, onConfirm"]}},{vcName:"ModalMaintenanceVC",template:"ModalMaintenance",events:{tvaKey:["#ModalMaintenance, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#btn_goBack, exitApp"]}},{vcName:"ModalSignRegVC",template:"ModalSignReg",events:{tvaKey:["#ModalSignReg, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"],click:["#backSignReg, onClose","#btnSignInSignReg, btnClick","#btnRegisterSignReg, btnClick"]}},{vcName:"ModalKeyboardVC",template:"ModalKeyboard",events:{tvaKey:["#ModalKeyboard, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"]}},{vcName:"ModalCreditCardMenuVC",template:"ModalCreditCardMenu",events:{tvaKey:["#ModalCreditCardMenu, onKeyDown"],mouseleave:[".hoveritemBack, onMouseLeave"],mouseenter:[".hoveritem, onHover",".hoveritemBack, onBackHover"]}}];var WidgetRegister={source:[{name:"Grid",vcName:"GridVC",template:"Grid",events:{tvaKey:["#Grid, onKeyDown"],mouseenter:[".hoveritem, onHover",".hoverButton, onButtonHover"],mouseout:[".Grid_Item_Overlay, mouseOut",".hoverButton, onButtonOut"],click:[".Grid_Item_Overlay, onClick",".Right_Arrow, navRightElement",".Left_Arrow, navLeftElement",".Down_Arrow, navDownElement",".Up_Arrow, navUpElement"]}},{name:"CarouselsList",vcName:"CarouselsListVC",template:"CarouselsList",events:{tvaKey:["#CarouselsList, onKeyDown"],mouseenter:[".hoveritem, onHover",".hoverButton, onButtonHover"],mouseout:[".Arrow, mouseOut",".hoverButton, onButtonOut"],click:[".Right_Arrow, navRightElement",".Left_Arrow, navLeftElement",".Down_Arrow, navDownElement",".Up_Arrow, navUpElement"]}}],widgets:[{type:"Grid",vcName:"GridVC",name:"mainMenu"},{type:"Grid",vcName:"GridVC",name:"home_featured"},{type:"Grid",vcName:"GridVC",name:"home_now_showing"},{type:"Grid",vcName:"GridVC",name:"home_red_carpet"},{type:"Grid",vcName:"GridVC",name:"home_upcoming"},{type:"Grid",vcName:"GridVC",name:"now_showing_screen"},{type:"Grid",vcName:"GridVC",name:"red_carpet_screen"},{type:"Grid",vcName:"GridVC",name:"home_my_movies"},{type:"Grid",vcName:"GridVC",name:"upcoming_screen"},{type:"Grid",vcName:"GridVC",name:"all_movies_screen"},{type:"Grid",vcName:"GridVC",name:"details_related"},{type:"Grid",vcName:"GridVC",name:"details_media"},{type:"Grid",vcName:"GridVC",name:"media_player_thumbs"},{type:"Grid",vcName:"GridVC",name:"details_watch"},{type:"Grid",vcName:"GridVC",name:"appLanguages"},{type:"Grid",vcName:"GridVC",name:"playerLanguages"},{type:"Grid",vcName:"GridVC",name:"ccList"},{type:"Grid",vcName:"GridVC",name:"searchSuggestions"},{type:"Grid",vcName:"GridVC",name:"search_results"},{type:"Grid",vcName:"GridVC",name:"myMovies_past_films"},{type:"Grid",vcName:"GridVC",name:"myMovies_active_films"},{type:"Grid",vcName:"GridVC",name:"myMovies_reminders"},{type:"CarouselsList",vcName:"CarouselsListVC",name:"categoriesList"},{type:"CarouselsList",vcName:"CarouselsListVC",name:"myMoviesList"},{type:"CarouselsList",vcName:"CarouselsListVC",name:"detailsList"}],mainMenu:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="css/assets/"+carouselData[i].icon;var title=carouselData[i].title;var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;width:100%;height:100%"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:0,y:192,width:334,height:720};params.cellWidth=334;params.cellHeight=40;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.horizontalMargin=0;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=true;params.performance=true;params.showArrows=false;params.verticalMargin=6;WidgetManager.find("mainMenu").setParams(params)},categoriesList:function(params){params.gridPos={x:params.x||0,y:params.y||0,width:params.width||100,height:params.height||100};WidgetManager.find("categoriesList").setParams(params)},myMoviesList:function(params){params.gridPos={x:params.x+20||0,y:params.y||0,width:params.width||100,height:params.height||100};WidgetManager.find("myMoviesList").setParams(params)},details_media:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";if(typeof carouselData[i]==="object"){thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_276,w_414/"+carouselData[i].thumb}else{thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_276,w_414/"+carouselData[i]}var title="";var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:25,y:0,width:1100,height:298};params.cellWidth=414;params.cellHeight=276;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=true;WidgetManager.find("details_media").setParams(params)},details_watch:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var content,thumb,title,img,bg;for(var i=0;i<carouselData.length;i++){content="";thumb="";title=carouselData[i];img="url("+thumb+")";bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:290,y:0,width:689,height:500};params.cellWidth=180;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=false;WidgetManager.find("details_watch").setParams(params);var movie=Model.getModel("App").movie;var imageID=movie.imagery.coverart[0]?movie.imagery.coverart[0].id:"";var size=",h_250,w_168/";var coverArt='<div id="detailsWatchCoverArt" style="background-image:url('+Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+size+imageID+');position:absolute;"></div>';imageID="";for(var i=0;i<movie.imagery.banners.length;i++){if(movie.imagery.banners[i]&&movie.imagery.banners[i].platform==="film_overview"){imageID=movie.imagery.banners[i].url}}bg="";var gradient="rgba(0,0,0,1)";img="background:"+gradient;bg+=img+";";gradient="-moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5))";img="background:"+gradient;bg+=img+";";gradient="-webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,0)),color-stop(50%, rgba(0,0,0,0)), color-stop(100%, rgba(0,0,0,0.5)))";img="background:"+gradient;bg+=img+";";gradient="-webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5) 100%)";img="background:"+gradient;bg+=img+";";gradient="-o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5) 100%)";img="background:"+gradient;bg+=img+";";gradient="-ms-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5) 100%)";img="background:"+gradient;bg+=img+";";gradient="linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50% , rgba(0,0,0,0.5)) 100%)";img="background:"+gradient;bg+=img;size=",h_321,w_1280/";var background='<div id="detailsWatchBackground" style="background-image:url('+Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+size+imageID+');position:absolute;"><div style="position:absolute;'+bg+';width:100%;height:100%"></div></div>';var credits={};for(var credit in movie.cast){if(movie.cast[credit].length>0){credits[credit]=[];for(var j=0;j<movie.cast[credit].length;j++){var fieldID=credit.substring(0,credit.length-1);credits[credit].push(movie.cast[credit][j][fieldID+"_title"])}}}var maxMakers=5;var makerCount=0;var directors="";if(credits.directors){if(makerCount<maxMakers){directors+='<p class="title">'+language[Model.getModel("App").file.language].detailsScreen.director+"</p>";for(var i=0;i<credits.directors.length;i++){if(makerCount<maxMakers){directors+="<p>"+credits.directors[i]+"</p>";makerCount++}}}}var producers="";if(credits.producers){if(makerCount<maxMakers){producers+='<p class="title">'+language[Model.getModel("App").file.language].detailsScreen.producers+"</p>";for(var i=0;i<credits.producers.length;i++){if(makerCount<maxMakers){producers+="<p>"+credits.producers[i]+"</p>";makerCount++}}}}var actors="";if(credits.actors){actors+='<p class="title">'+language[Model.getModel("App").file.language].detailsScreen.actors+"</p><p>";for(var i=0;i<credits.actors.length;i++){actors+=credits.actors[i];if(i<credits.actors.length-1){actors+=", "}}actors+="</p>"}var writers="";if(credits.writers){if(makerCount<maxMakers){writers+='<p class="title">'+language[Model.getModel("App").file.language].detailsScreen.writers+"</p>";for(var i=0;i<credits.writers.length;i++){if(makerCount<maxMakers){writers+="<p>"+credits.writers[i]+"</p>";makerCount++}}}}var ratingWhole=Math.floor(movie.rating);var ratingHalf=movie.rating-ratingWhole;var stars="";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}else{stars+='<div class="star noStar"></div>'}}var releaseDate=Util.isotimedetail(Model.getModel("App").movie.release_date);var currTime=new Date;var month=Util.getMonthAbbrev(releaseDate[1]);month=Model.getModel("App").languages[Model.getModel("App").file.language].months[month][1];var releaseDateString="";var d=new Date(Model.getModel("App").movie.release_date).getDay();var premDay="";switch(d){case 0:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["sun"][1];break;case 1:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["mon"][1];break;case 2:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["tue"][1];break;case 3:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["wed"][1];break;case 4:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["thu"][1];break;case 5:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["fri"][1];break;case 6:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["sat"][1];break}if(parseInt(releaseDate[0])>currTime.getFullYear()){releaseDateString=" | "+premDay+" "+month+" "+releaseDate[2]+", "+releaseDate[0]}else if(parseInt(releaseDate[0])===currTime.getFullYear()){if(parseInt(releaseDate[1])>currTime.getMonth()+1){releaseDateString=" | "+premDay+" "+month+" "+releaseDate[2]+", "+releaseDate[0]}else if(parseInt(releaseDate[1])===currTime.getMonth()+1){if(parseInt(releaseDate[2])>currTime.getDate()){releaseDateString=" | "+premDay+" "+month+" "+releaseDate[2]+", "+releaseDate[0]}}}var genres="";if(movie.genres&&movie.genres.length>0){for(var i=0;i<movie.genres.length;i++){genres+=movie.genres[i].genre;if(i<movie.genres.length-1){genres+=", "}}genres+=" | "}var cert=movie.age_rating?movie.age_rating+" | ":"";var info='<div id="movieDetailsInfo">'+cert+genres+movie.duration+releaseDateString+"</div>";var makers='<div id="makers">'+directors+producers+writers+"</div>";var description='<div id="descActors"><p class="description">'+movie.small_description+"</p>"+actors+"</div>";title='<div id="movieTitleRating">';title+='<div class="movieTitle">'+movie.title;title+='<div class="movieRating">'+stars+"</div></div>";title+=info+"</div>";var watchBackground="<div>"+background+coverArt+title+makers+description+'<div id="successPopup"></div></div>';$("#category_details_watch").prepend(watchBackground);$("#details_watch").find("#Grid"+cloneIndex+"_row_0").css({top:280})},appLanguages:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";var title=carouselData[i];var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:290,y:0,width:689,height:550};params.cellWidth=526;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;WidgetManager.find("appLanguages").setParams(params)},searchSuggestions:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var title=carouselData[i];content+=" </div><p>"+title+"</p>";data.contents[i]={content:content}}params=data;params.gridPos={x:0,y:0,width:526,height:400};params.cellWidth=496;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=0;params.rows=carouselData.length;params.horizontalMargin=15;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;WidgetManager.find("searchSuggestions").setParams(params)},ccList:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";var title=carouselData[i];var img="url("+thumb+")";var bg="background-image:"+img;var checkActive="";if(!Model.getModel("App").file.cardIndex&&i===0||i===Model.getModel("App").file.cardIndex){Model.getModel("App").file.cardIndex=i;checkActive=" active"}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="check'+checkActive+'"></div><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:0,y:0,width:689,height:395};params.cellWidth=526;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=true;params.performance=true;params.showArrows=true;WidgetManager.find("ccList").setParams(params)},playerLanguages:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var title=carouselData[i];var img="";var bg="background-image:"+img;var w=title.length*16;var selected="";if(i===Model.getModel("App").captionsIndex||i===carouselData.length-1){selected='class="selected"'}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p '+selected+' style="position: relative;margin: 9px auto;padding: 8px 33px;background: no-repeat right;width:'+w+'px">'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:440,y:0,width:400,height:60};params.cellWidth=400;params.cellHeight=60;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=true;params.performance=true;params.showArrows=true;WidgetManager.find("playerLanguages").setParams(params)},media_player_thumbs:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb="";thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_189,w_284/"+carouselData[i];var title="";var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;"></div><div class="placeholderCategory"></div><p>'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:80,y:0,width:950,height:298};params.cellWidth=284;params.cellHeight=189;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=true;params.performance=false;params.showArrows=true;WidgetManager.find("media_player_thumbs").setParams(params)},search_results:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_275,w_183/"+carouselData[i].imagery.coverart[0].id;var title=carouselData[i].title;var img="url("+thumb+")";var bg="background-image:"+img;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat:no-repeat"></div><div class="placeholderCategory"></div><p class="searchResultTitle">'+title+'</p><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:117,y:140,width:689,height:400};params.cellWidth=183;params.cellHeight=384;params.length=5;params.padding=23;params.x=0;params.y=0;params.columns=5;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=true;params.performance=true;params.showArrows=true;WidgetManager.find("search_results").setParams(params)},carousel_horizontal_feature:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var widgetName=params.widgetName;var content,thumb,title,img,bg,bgPosition;for(var i=0;i<carouselData.length;i++){data.contents[i]={content:this._addFeatureArtwork(carouselData[i])}}params=data;params.gridPos={x:240,y:0,width:655,height:298};params.cellWidth=650;params.cellHeight=281;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=false;params.loop=true;params.showArrows=true;WidgetManager.find(widgetName).setParams(params)},_addFeatureArtwork:function(carouselData){var content="";if(carouselData.type==="PROMOTION"){content="";thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_281,w_650/"+carouselData.image;title=carouselData.movieTitle;var subTitle=carouselData.movieSubTitle;var btn=carouselData.btn_text;img="url("+thumb+")";bg="background-image:"+img;bgPosition="left";if(carouselData.titlePosition!==""){bgPosition=carouselData.titlePosition}var promoText='<div class="promo"><p style="text-align:'+bgPosition+'">'+title+"</p>";promoText+='<p style="text-align:'+bgPosition+'">'+subTitle+"</p>";if(bgPosition==="center"){promoText+='<p style="text-align:'+bgPosition+';position: relative;padding: 2px 12px;margin: 0px auto;width: 200px;">'+btn+"</p></div>"}else{promoText+='<p style="text-align:'+bgPosition+";position: absolute;padding: 2px 12px;"+bgPosition+': 0px;">'+btn+"</p></div>"}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat: no-repeat;"></div><div class="placeholderCategory" style="position: absolute;background-repeat: no-repeat;bottom: 10px;left: 20px;width: 95%;height: 100%;"></div>'+promoText+'<div class="highlight"></div>'}else{content="";thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_281,w_650/"+carouselData.image;var movieTitleImage=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",c_limit,w_280,h_140,q_auto:good/"+carouselData.movieTitle;title="";img="url("+thumb+")";bg="background-image:"+img;bgPosition="left";if(carouselData.titlePosition!==""){bgPosition=carouselData.titlePosition}bg=this._addGradient(img,bgPosition);var titleBg="background-image:url("+movieTitleImage+")";content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat: no-repeat;"></div><div class="placeholderCategory" style="'+titleBg+";position: absolute;bottom: 10px;left: 20px;width: 95%;height: 100%;background-repeat: no-repeat;background-position:"+bgPosition+' bottom;"></div><p>'+title+'</p><div class="highlight"></div>'}return content},_addGradient:function(url,position){var opacity=0;var endStop="70%";var rule="background-image:";var gradient="";gradient=rule+"url("+Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",c_limit,w_280,h_140,q_auto:good/gradient_"+position+"_1080),"+url+";";return gradient},carousel_horizontal_premiere:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var widgetName=params.widgetName;for(var i=0;i<carouselData.length;i++){var movie=carouselData[i];var content="";var thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_360,w_951/"+movie.background;var coverart=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_311,w_207/"+movie.coverart;var timeArrFrom=Util.isotimedetail(movie.premiere_from);var timeArrTo=Util.isotimedetail(movie.premiere_to);var d=new Date(movie.premiere_from).getDay();var premDay="";switch(d){case 0:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["sun"][0];break;case 1:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["mon"][0];break;case 2:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["tue"][0];break;case 3:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["wed"][0];break;case 4:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["thu"][0];break;case 5:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["fri"][0];break;case 6:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["sat"][0];break}var premHour=parseInt(timeArrFrom[3])>=12?parseInt(timeArrFrom[3])-12===0?"12pm":parseInt(timeArrFrom[3])-12+"pm":parseInt(timeArrFrom[3])===0?"midnight":parseInt(timeArrFrom[3])+"am";var premEndHour=parseInt(timeArrTo[3])>=12?parseInt(timeArrTo[3])-12===0?"12pm":parseInt(timeArrTo[3])-12+"pm":parseInt(timeArrTo[3])===0?"midnight":parseInt(timeArrTo[3])+"am";var desc='<div class="movieDescription">'+movie.moviedescription+"</div>";var showing=language[Model.getModel("App").file.language].redCarpetScreen.showing.replace("[day]",premDay).replace("[start]",premHour).replace("[end]",premEndHour);var airingInfo='<div class="airingInfo">'+showing+"</div>";var img="";var bg="";var gradient="";gradient="rgba(0,0,0,1),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,1)), color-stop(100%, rgba(0,0,0,0))),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-o-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-ms-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img;var releaseTime="";if(i===0){releaseTime="<p>"+language[Model.getModel("App").file.language].redCarpetScreen.premiering+"</p><p>"+Util.timeRemaining(movie.premiere_from)+"</p>"}var ratingWhole=Math.floor(movie.rating);var ratingHalf=movie.rating-ratingWhole;var stars="";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}else{stars+='<div class="star noStar"></div>'}}var countdown='<div class="premieredate">'+releaseTime+"</div>";var rating='<div class="rating">'+stars+"</div>";var title='<div class="movieTitle">'+movie.title+rating+"</div>";var movieDetails=countdown+title+airingInfo+desc;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-size: 207px 311px,100%,100%;background-repeat: no-repeat; background-position: 25px 25px, 0, 0;"></div><div class="placeholderRedCarpet">'+movieDetails+'</div><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:0,y:0,width:951,height:360};params.cellWidth=935;params.cellHeight=345;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=true;WidgetManager.find(widgetName).setParams(params);var scope=this;var index=WidgetManager.countdownTimers.length;Model.getModel("App").premiereBoards.home={index:WidgetManager.countdownTimers.length,cloneIndex:cloneIndex};WidgetManager.countdownTimers.push(setInterval(function(){for(var i=0;i<1;i++){var movie=carouselData[i];var timeRemaining=Util.timeRemaining(movie.premiere_from);var selector="";if(timeRemaining==="00:00"){selector="#home_red_carpet #Grid"+Model.getModel("App").premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)";$(selector).html(language[Model.getModel("App").file.language].redCarpetScreen.premieringNow);selector="#home_red_carpet #Grid"+Model.getModel("App").premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html("");clearInterval(scope.countdownTimers[Model.getModel("App").premiereBoards.home.index])}else{$("#home_red_carpet").find("#Grid"+Model.getModel("App").premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)").html(language[Model.getModel("App").file.language].redCarpetScreen.premiering);selector="#home_red_carpet #Grid"+Model.getModel("App").premiereBoards.home.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html(timeRemaining)}}},1e3))},carousel_vertical_premiere:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var cloneIndex=params.cloneIndex;var widgetName=params.widgetName;var desc="";for(var i=0;i<carouselData.length;i++){var movie=carouselData[i];var content="";var thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_434,w_1148/"+movie.background;var coverart=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_375,w_250/"+movie.coverart;desc='<div class="movieDescription">'+movie.small_description+"</div>";var timeArrFrom=Util.isotimedetail(movie.premiere_from);var timeArrTo=Util.isotimedetail(movie.premiere_to);var d=new Date(movie.premiere_from).getDay();var premDay="";switch(d){case 0:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["sun"][0];break;case 1:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["mon"][0];break;case 2:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["tue"][0];break;case 3:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["wed"][0];break;case 4:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["thu"][0];break;case 5:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["fri"][0];break;case 6:premDay=Model.getModel("App").languages[Model.getModel("App").file.language].weekdays["sat"][0];break}var premHour=parseInt(timeArrFrom[3])>=12?parseInt(timeArrFrom[3])-12===0?"12pm":parseInt(timeArrFrom[3])-12+"pm":parseInt(timeArrFrom[3])===0?"midnight":parseInt(timeArrFrom[3])+"am";var premEndHour=parseInt(timeArrTo[3])>=12?parseInt(timeArrTo[3])-12===0?"12pm":parseInt(timeArrTo[3])-12+"pm":parseInt(timeArrTo[3])===0?"midnight":parseInt(timeArrTo[3])+"am";desc='<div class="movieDescription">'+movie.moviedescription+"</div>";var showing=language[Model.getModel("App").file.language].redCarpetScreen.showing.replace("[day]",premDay).replace("[start]",premHour).replace("[end]",premEndHour);var airingInfo='<div class="airingInfo">'+showing+"</div>";var bg="";var gradient="";var img="";gradient="rgba(0,0,0,1),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-gradient(left top, right top, color-stop(0%, rgba(0,0,0,1)), color-stop(100%, rgba(0,0,0,0))),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-webkit-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-o-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="-ms-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img+";";gradient="linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%),";img="background-image:url("+coverart+"),"+gradient+"url("+thumb+")";bg+=img;var releaseTime="";if(i===0){releaseTime="<p>"+language[Model.getModel("App").file.language].redCarpetScreen.premiering+"</p><p>"+Util.timeRemaining(movie.premiere_from)+"</p>"}var ratingWhole=Math.floor(movie.rating);var ratingHalf=movie.rating-ratingWhole;var stars="";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}else{stars+='<div class="star noStar"></div>'}}var countdown='<div class="premieredate">'+releaseTime+"</div>";var rating='<div class="rating">'+stars+"</div>";var title='<div class="movieTitle">'+movie.title+rating+"</div>";var movieDetails=countdown+title+airingInfo+desc;content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-size: 250px 375px,100%,100%;background-repeat: no-repeat; background-position: 25px 30px,0,0;"></div><div class="placeholderRedCarpet">'+movieDetails+'</div><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:95,y:130,width:1140,height:460};params.cellWidth=1122;params.cellHeight=440;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.horizontalMargin=50;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;params.verticalMargin=30;WidgetManager.find(widgetName).setParams(params);var scope=this;Model.getModel("App").premiereBoards.screen={index:WidgetManager.countdownTimers.length,cloneIndex:cloneIndex};WidgetManager.countdownTimers.push(setInterval(function(){for(var i=0;i<1;i++){var movie=carouselData[i];var timeRemaining=Util.timeRemaining(movie.premiere_from);var selector="";if(timeRemaining==="00:00"){selector="#red_carpet_screen #Grid"+Model.getModel("App").premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)";$(selector).html(language[Model.getModel("App").file.language].redCarpetScreen.premieringNow);selector="#red_carpet_screen #Grid"+Model.getModel("App").premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html("");clearInterval(scope.countdownTimers[Model.getModel("App").premiereBoards.screen.index])}else{$("#red_carpet_screen").find("#Grid"+Model.getModel("App").premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(1)").html(language[Model.getModel("App").file.language].redCarpetScreen.premiering);selector="#red_carpet_screen #Grid"+Model.getModel("App").premiereBoards.screen.cloneIndex+"_row_"+i+"_Item_pos_0 .premieredate p:nth-child(2)";$(selector).html(timeRemaining)}}},1e3))},grid_vertical_coverart:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var widgetName=params.widgetName;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_275,w_183/"+carouselData[i].imagery.coverart[0].id;var title=carouselData[i].title;var img="url("+thumb+")";var bg="background-image:"+img;var date="";if(carouselData[i].date){var releaseDate=Util.isotimedetail(carouselData[i].date);var month=Util.getMonthAbbrev(releaseDate[1]);month=Model.getModel("App").languages[Model.getModel("App").file.language].months[month][0];date='<div class="comingSoonDate">'+month+" "+parseInt(releaseDate[2])+", "+parseInt(releaseDate[0])+"</div>"}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat:no-repeat"></div><div class="placeholderCategory"></div><div class="movieTitleContainer"><p>'+title+"</p></div>"+date+'<div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:100,y:110,width:1100,height:400};params.cellWidth=183;params.cellHeight=400;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=5;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="vertical";params.activate=false;params.performance=true;params.showArrows=true;WidgetManager.find(widgetName).setParams(params)},carousel_horizontal_coverart:function(params){var data={};data.contents=[];var carouselData=params.carouselData;var widgetName=params.widgetName;var cloneIndex=params.cloneIndex;for(var i=0;i<carouselData.length;i++){var content="";var thumb=Model.getModel("App").file.locale.app_config.cloudinary_base_url+config.cloudinarySettings+",h_275,w_183/"+carouselData[i].image;var title=carouselData[i].movieTitle;var img="url("+thumb+")";var bg="background-image:"+img;var date="";if(carouselData[i].date){var releaseDate=Util.isotimedetail(carouselData[i].date);var month=Util.getMonthAbbrev(releaseDate[1]);month=Model.getModel("App").languages[Model.getModel("App").file.language].months[month][0]}content+=' <div class="placeholder"></div><div class="thmb" style="'+bg+';position:absolute;background-repeat: no-repeat;"></div><div class="placeholderCategory"></div><div class="movieTitleContainer"><p class="coverartMovieTitle">'+title+"</p><p>"+date+'</p></div><div class="highlight"></div>';data.contents[i]={content:content}}params=data;params.gridPos={x:3,y:0,width:1100,height:298};params.cellWidth=183;params.cellHeight=275;params.length=3;params.padding=0;params.x=0;params.y=0;params.columns=1;params.rows=1;params.horizontalMargin=30;params.cloneIndex=cloneIndex;params.orientation="horizontal";params.activate=false;params.performance=true;params.showArrows=true;WidgetManager.find(widgetName).setParams(params)}};var FlixPremiereApp=function(){return Class.create({_init_:function(){this.VC=ViewControllerManager;this.WM=WidgetManager},handleKey:function(keyCode){var el="#"+TVA.onFocus;if(el!=="#"){$(el).trigger("tvaKey",[keyCode])}},_initViewControllers:function(){TVA.log("Loading App...");var vc;for(var i=0;i<VCRegister.length;i++){vc=VCRegister[i];this.VC.create(vc.vcName,{template:vc.template,events:vc.events})}this.WM.init();for(var j=0;j<WidgetRegister.widgets.length;j++){vc=WidgetRegister.widgets[j];this.WM.create(vc)}TVA.log("Done")},Go:function(){this._initViewControllers();if(config.hasVideo){VideoController.init()}var rootVC=this.VC.find("Root");rootVC.onLoad()}})}();var API=function(){"use strict";var API=Class.create({_init_:function(){this.headers=[["Content-Type","application/json"]];this.endpoints={moviesHome:"menu/[ID]?cascade=1",movie:"movies/",related:"movies/[ID]/related?cascade=2",autoComplete:"autocomplete?q=[KEY]",signin:"auth/signin",register:"auth/become-member",user:"auth/me",watchMovie:"films/[ID]/watch",help:"info/help",terms:"info/terms",about:"info/about",privacy:"info/privacy/[LANG]",moviePass:"films/[ID]/pass-status",getReminders:"member/reminders",emailAddCard:"member/email-add-card",useTicket:"films/[ID]/authorise-ticket",languages:"info/language/tv",storeCard:"member/wallet/cards",checkPinSet:"parental-control/check-pin-isset",setPin:"parental-control/set-pin",setRestriction:"parental-control/set-restriction",verifyPin:"parental-control/verify-pin",changePin:"parental-control/set-pin",recoverPin:"parental-control/recover-pin",updateSeek:"viewing-pass/[PASSID]/seek",reviewMovie:"films/[ID]/review",buyTickets:"member/wallet/purchase-ticket",myMovies:"member/films",restrictionsInfo:"info/parental-control/[LANG]",setReminder:"films/[ID]/register-interest",pinToWatch:"parental-control/is-pin-required/[ID]",searchMovie:"search/[TITLE]?cascade=2",searchCast:"movies/[NAME]/list?cascade=2",searchGenre:"genres/[GENRE]/list?cascade=2",locale:"info/locale/stripe",menu:"menu",cancelReminder:"films/[ID]/cancel-interest",homeFilms:"films/home",getTickets:"member/wallet/tickets/unused",verifyIAP:"films/[ID]/amazon-iap"};this.externalHost=config.APIHost;this.host=config.CMSAPIHost;this.stripe=config.StripeAPI;this.errorCodes={moviesHome:101,movie:102,related:103,autoComplete:104,searchMovie:105,searchCast:106,searchGenre:107,menu:108,signin:201,register:202,user:203,watchMovie:204,help:205,terms:206,privacy:207,moviePass:208,getReminders:209,emailAddCard:210,useTicket:211,languages:212,storeCard:213,checkPinSet:214,setPin:215,setRestriction:216,verifyPin:217,changePin:218,recoverPin:219,updateSeek:220,reviewMovie:221,buyTickets:222,myMovies:223,restrictionsInfo:224,setReminder:225,pinToWatch:226,locale:227,subtitles:228,storeCardGet:229,cancelReminder:230,homeFilms:231,getTickets:232,about:233,verifyIAP:234,stripe:301}},_ajax:function(url,parameters,type,headers,datatype,useJSON){var data="";if(parameters){if(datatype==="form"){}else if(useJSON){data=JSON.stringify(parameters)}else{for(var prop in parameters){if(parameters.hasOwnProperty(prop)){data+=prop+"="+encodeURIComponent(parameters[prop])+"&"}}data=data.slice(0,data.length-1)}}var obj={url:url,data:data,beforeSend:function(xhr){if(headers){for(var i=0;i<headers.length;i++){xhr.setRequestHeader(headers[i][0],headers[i][1])}}},callback:function(c){},type:type,crossDomain:true};if(datatype){if(datatype!=="none"){obj.dataType=datatype}}else{obj.dataType="json"}return $.ajax(obj).then(function(result,textStatus,errorThrown){return{result:result,textStatus:textStatus,errorThrown:errorThrown}},function(jqXHR,textStatus,errorThrown){return{id:this.id,textStatus:textStatus,errorThrown:errorThrown,xhr:jqXHR}})},getMovies:function(call,error){var scope=this;var path=this.endpoints.moviesHome.replace("[ID]",Model.App.menuId);var lang=Model.App.file.locale.region||"GB";var url=this.host+lang+"/"+path+"&time_zone=utc";var parameters=null;var type="GET";var headers=this.headers;var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("moviesHome")]])})},getMovie:function(id,call,error){var scope=this;var path=this.endpoints.movie;var lang=Model.App.file.locale.region||"GB";var url=this.host+lang+"/"+path+id+"?cascade=2"+ +"&time_zone=utc";var parameters=null;var type="GET";var headers=this.headers;var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("movie")]])})},signIn:function(param,call,error){var scope=this;var path=this.endpoints.signin;var parameters=param;var url=this.externalHost+path;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("signin")]])})},verifyIAP:function(param,call,error){var scope=this;var path=this.endpoints.verifyIAP.replace("[ID]",param.id);var parameters={user_id:param.user_id,receipt_id:param.receipt_id};var url=this.externalHost+path;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("verifyIAP")]])})},watchMovie:function(id,call,error){console.log("Request to watch a movie...");var scope=this;var path=this.endpoints.watchMovie.replace("[ID]",id);var parameters=null;var url=this.externalHost+path;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("watchMovie")]])})},getTickets:function(call,error){var scope=this;var path=this.endpoints.getTickets;var parameters=null;var url=this.externalHost+path;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("getTickets")]])})},moviePass:function(id,call,error){var scope=this;var path=this.endpoints.moviePass.replace("[ID]",id);var parameters=null;var url=this.externalHost+path;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("moviePass")]])})},getUser:function(call,error){var scope=this;var path=this.endpoints.user;var parameters=null;var url=this.externalHost+path;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("user")]])})},setReminder:function(id,call,error){var scope=this;var path=this.endpoints.setReminder.replace("[ID]",id);var url=this.externalHost+path;var parameters=null;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("setReminder")]])})},getReminders:function(call,error){var scope=this;var path=this.endpoints.getReminders;var parameters=null;var url=this.externalHost+path;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("getReminders")]])})},createUser:function(param,call,error){var scope=this;var path=this.endpoints.register;var parameters=param;var url=this.externalHost+path;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("register")]])})},getSubtitles:function(url,call,error){var scope=this;var type="GET";var headers=null;var datatype="text";this._ajax(url,null,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("subtitles")]])})},getHelpText:function(lang,call,error){var scope=this;var path=this.endpoints.help;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Accept-Language",lang]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("help")]])})},getAboutText:function(lang,call,error){var scope=this;var path=this.endpoints.about;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Accept-Language",lang]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("about")]])})},getTermsText:function(lang,call,error){var scope=this;var path=this.endpoints.terms;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Accept-Language",lang]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("terms")]])})},getPrivacyText:function(lang,call,error){var scope=this;var path=this.endpoints.privacy;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Accept-Language",lang]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("privacy")]])})},getLanguages:function(call,error){var scope=this;var path=this.endpoints.languages;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=this.headers;var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("languages")]])})},emailAddCard:function(call,error){var scope=this;var path=this.endpoints.emailAddCard;var url=this.externalHost+path;var parameters=null;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("emailAddCard")]])})},stripeCard:function(params,call,error){var scope=this;var url=this.stripe+"?"+params;var parameters=null;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["Authorization","Bearer "+Model.App.file.locale.app_config.stripe_api_key]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("stripe")]])})},storeNewCard:function(params,onSuccess,onError){var scope=this;var path=this.endpoints.storeCard;var url=this.externalHost+path;var parameters=params;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("storeCard")]])})},getCards:function(call,error){var scope=this;var path=this.endpoints.storeCard;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("storeCardGet")]])})},useTicket:function(id,call,error){var scope=this;var path=this.endpoints.useTicket.replace("[ID]",id);var parameters=null;var url=this.externalHost+path;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("useTicket")]])})},buyTickets:function(params,call,error){var scope=this;var path=this.endpoints.buyTickets;var parameters=params;var url=this.externalHost+path;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("buyTickets")]])})},updateSeek:function(params,call,error){var scope=this;var path=this.endpoints.updateSeek.replace("[PASSID]",params.id);var parameters={seek_time:params.seek_time,duration:params.duration,passId:params.id};var url=this.externalHost+path;var type="PUT";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){console.log("Seek result: ",result);result.errorThrown.done(function(t){console.log("Seek error response: ",t)});call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("updateSeek")]])})},recoverPin:function(onSuccess,onError){var scope=this;var path=this.endpoints.recoverPin;var url=this.externalHost+path;var parameters=null;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("recoverPin")]])})},checkPinSet:function(onSuccess,onError){var scope=this;var path=this.endpoints.checkPinSet;var url=this.externalHost+path;var parameters=null;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("checkPinSet")]])})},setPin:function(param,onSuccess,onError){var scope=this;var path=this.endpoints.setPin;var url=this.externalHost+path;var parameters=param;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("setPin")]])})},changePin:function(param,onSuccess,onError){var scope=this;var path=this.endpoints.changePin;var url=this.externalHost+path;var parameters=param;var type="PUT";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("changePin")]])})},verifyPin:function(param,onSuccess,onError){var scope=this;var path=this.endpoints.verifyPin;var url=this.externalHost+path;var parameters=param;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("verifyPin")]])})},setRestriction:function(param,onSuccess,onError){var scope=this;var path=this.endpoints.setRestriction;var url=this.externalHost+path;var parameters=param;var type="PUT";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);headers[0][1]="application/x-www-form-urlencoded";var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("setRestriction")]])})},reviewMovie:function(param,call,error){var scope=this;var path=this.endpoints.reviewMovie.replace("[ID]",param.id);var url=this.externalHost+path;var parameters={overall_score:param.score};var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype,false).done(function(result){call&&call(result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("reviewMovie")]])})},getRestrictions:function(lang,onSuccess,onError){var scope=this;var path=this.endpoints.restrictionsInfo.replace("[LANG]",lang);var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("restrictionsInfo")]])})},getRelated:function(id,onSuccess,onError){var scope=this;var path=this.endpoints.related.replace("[ID]",id);var url=config.CMSAPIHost+path;var parameters=null;var type="GET";var headers=[];var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("related")]])})},getAutoCompleteSuggestions:function(key,onSuccess,onError){var scope=this;var path=this.endpoints.autoComplete.replace("[KEY]",key);var url=config.CMSAPIHost+path;var parameters=null;var type="GET";var headers=[];var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("autoComplete")]])})},pinRequiredToWatch:function(id,call,error){var scope=this;var path=this.endpoints.pinToWatch.replace("[ID]",id);var url=this.externalHost+path;var parameters=null;var type="POST";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("pinToWatch")]])})},cancelReminder:function(id,call,error){var scope=this;var path=this.endpoints.cancelReminder.replace("[ID]",id);var url=this.externalHost+path;var parameters=null;var type="DELETE";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("cancelReminder")]])})},getMyMovies:function(call,error){var scope=this;var path=this.endpoints.myMovies;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);headers.push(["Authorization",Model.App.file.user.authToken]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("myMovies")]])})},getHomeFilms:function(call,error){var scope=this;var path=this.endpoints.homeFilms;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("homeFilms")]])})},getLocale:function(call,error){var scope=this;var path=this.endpoints.locale;var url=this.externalHost+path;var parameters=null;var type="GET";var headers=[];for(var i=0;i<this.headers.length;i++){headers.push(this.headers[i])}headers.push(["X-User-Platform","tv"]);headers.push(["X-User-Device","smart tv"]);headers.push(["X-User-Brand",settings.device]);var lang=Model.App.file&&Model.App.file.language?Model.App.file.language:"en-GB";headers.push(["Accept-Language",lang]);var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("locale")]])})},getMenuList:function(call,error){var scope=this;var path=this.endpoints.menu;var url=this.host+path+"?time_zone=utc";var parameters=null;var type="GET";var headers=[];var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){call&&call(result.result)}).fail(function(result){error&&error(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("menu")]])})},getMovieSearch:function(title,onSuccess,onError){var scope=this;var path=this.endpoints.searchMovie.replace("[TITLE]",title);var url=this.host+path+"&time_zone=utc";var parameters=null;var type="GET";var headers=[];var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("searchMovie")]])})},getCastSearch:function(name,onSuccess,onError){var scope=this;var path=this.endpoints.searchCast.replace("[NAME]",name);var url=this.host+path+"&time_zone=utc";var parameters=null;var type="GET";var headers=[];var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("searchCast")]])})},getGenreSearch:function(genre,onSuccess,onError){var scope=this;var path=this.endpoints.searchGenre.replace("[GENRE]",genre);var url=this.host+path+"&time_zone=utc";var parameters=null;var type="GET";var headers=[];var datatype="json";this._ajax(url,parameters,type,headers,datatype).done(function(result){onSuccess&&onSuccess(result.result)}).fail(function(result){onError&&onError(result,scope.errorCodes[Object.keys(scope.endpoints)[Object.keys(scope.endpoints).indexOf("searchGenre")]])})}});return new API}();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("RootVC",Class.create({_extends_:base,locked:false,_init_:function(args){base.call(this,args);this.activeChild="Home";this.navigation={};this.categoryIndex=0;Model.App.loggedIn=false},onLoad:function(){var scope=this;scope._loadApp()},_loadApp:function(){this.render();var scope=this;TVA.log("version 1.0."+TVA.revision);var modal=ViewControllerManager.find("Modal");scope.addChild(modal,"#ModalContent");if(settings.device==="ps3"||settings.device==="ps4"||settings.device==="psvita"){$("#Root").addClass("playstation")}Model.App.showPinBeforeDetails=true;Model.App.showFeatRegSuccess=false;Model.App.pinSet=false;Model.App.maxInputLength=255;Model.App.monthInputActive=false;API.getLocale(function(res){if(Model.App.file){Model.App.file["locale"]=scope._optimiseLocaleData(res)}else{Model.App["file"]={locale:scope._optimiseLocaleData(res)}}API.getLanguages(function(res){Model.App.languages=res;language=Model.App.languages;if(Model.App.file&&!Model.App.file.language){for(var lang in Model.App.languages){Model.App.file.language=lang;Util.saveFile(Model.App.file);break}}if(Util.getFile()&&Util.getFile().user&&Util.getFile().user.authToken){Model.App["user"]=Util.getFile().user;Model.App.loggedIn=true;Model.App.refreshLibrary=true;API.getUser(function(result){Model.App.file.user=result.result;Model.App.file.user.authToken=result.errorThrown.getResponseHeader("Authorization");Util.saveFile(Model.App.file);Model.App.loggedIn=true;scope.getMovies();API.getReminders(function(res){Model.App.reminders=res},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},function(res,errorCode){Model.App.file.user={};Util.saveFile(Model.App.file);Model.App.loggedIn=false;Model.App.errorCode=errorCode;scope.publish("Error")})}else{for(var lan in Model.App.languages){Util.saveFile({language:lan});break}Model.App.loggedIn=false;scope.getMovies()}},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},function(res,errorCode){scope.hideSplash();scope.publish("Offline")})},render:function(location){this._super(location)},onHover:function(e){$(".hoverButton").removeClass("active");var parent=$("#"+e.target.id).parent()[0];var parentId=parent.id;if(parentId.indexOf("Grid")>-1){TVA.log(parentId.indexOf("Grid"));$("#Grid"+this.categoryIndex+" #"+e.target.id).addClass("active")}else{$("#"+e.target.id).addClass("active")}},onHoverOut:function(e){$(".hoverButton").removeClass("active")},onKeyDown:function(e,keyCode){TVA.log("keydown in root: "+keyCode);if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.exitApp();e.stopPropagation();break;case Keys.getBind("Exit"):this.exit();e.stopPropagation();break;case Keys.getBind("Up"):e.stopPropagation();break;case Keys.getBind("Left"):this.navLeft(e);e.stopPropagation();break;case Keys.getBind("Right"):this.navRight(e);e.stopPropagation();break}}},hideSplash:function(){stopSpriteAnimation("splashLoader");var el=document.getElementById("splash");if(el.className!=="fadeOut"){el.className="fadeOut";setTimeout(function(){el.style.display="none"},1500)}Model.App.listen=true},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},getMovies:function(call,error){var scope=this;API.getLocale(function(res){Model.App.file.locale=scope._optimiseLocaleData(res);API.getMenuList(function(data){var menuList=data.data;Model.App.menuId="";for(var i=0;i<menuList.length;i++){if(menuList[i].friendlyurl==="home"&&Model.App.file.locale.region===menuList[i].region){Model.App.menuId=menuList[i].id;break}}if(Model.App.menuId!==""){API.getMovies(function(data){Model.Movies["films"]=data.playlist;var home=ViewControllerManager.find("Home");scope.addChild(home,"#AppContent")},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})}else{Model.App.errorCode=108;scope.publish("Error");scope.hideSplash()}},function(res,errorCode){scope.hideSplash();Model.App.errorCode=errorCode;scope.publish("Error")})},function(res,errorCode){scope.hideSplash();scope.publish("Offline")})},_optimiseLocaleData:function(objData){return{region:objData.region,app_config:objData.app_config,currency:objData.currency,ticket_sku:objData.ticket_sku,ticket_bundles:objData.ticket_bundles,view_pass_valid_hours:objData.view_pass_valid_hours,tickets:objData.tickets}},navLeft:function(e){this._navigate("Left",e)},navRight:function(e){this._navigate("Right",e)},exitApp:function(){Util.saveFile(Model.App.file);if(settings.device==="webos"){TVA.quit()}else{this.publish("Exit")}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("HomeVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="mainMenu";this.navigation={mainMenu:{Right:"categoriesList"},categoriesList:{Left:"mainMenu"},NowShowing:{Left:"mainMenu"}};this.categoryIndex=0;this.showScreenTimeoutId=null;this.updateHome=false;this.showingSideMenuTimeout=null},onLoad:function(){},render:function(location){this._super(location);this.enable();var scope=this;Model.App.premiereShowing=false;Model.App.promptReview=false;Model.App.premiereBoards={home:[],screen:[]};API.getHomeFilms(function(res){Model.App.featuredBanners=res.featured_banners[0];scope.createCarouselsList();scope.createMainMenu();scope.compileAllMovies();Model.App.showingSideMenu=false;Model.App.fromMyMovies=false;Model.App.fromProfile=false;Model.App.fromDetails=false;Model.App.profileState="screen";scope.hideMenuTimeout=setTimeout(function(){scope.hideSideMenu();scope.children["categoriesList"].view.enable();if(scope.children[scope.activeChild].view.activeChild==="home_featured"){$("#featuredCounter").addClass("active")}else{$("#featuredCounter").removeClass("active")}},3e3);if(TVA.device==="lg"||TVA.device==="webos"){$("#screens").css({"background-image":'url("./css/assets/background.png")'});$(".movieTitleContainer").css({color:"rgba(255, 255, 255,0.75)"})}$("#mainMenu").css({width:"50px"});ViewControllerManager.find("Root").hideSplash()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})},onKeyDown:function(e,keyCode){TVA.log("keydown in Home");var focus=$("#"+TVA.onFocus);if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):e.stopPropagation();this.back();break;case Keys.getBind("Up"):break;case Keys.getBind("Down"):e.stopPropagation();break;case Keys.getBind("Left"):var isMenuOpen=!$("#container").hasClass("offScreen");if(isMenuOpen){TVA.log("Left being ignored...");e.stopPropagation();return}else{this._navigate("Left",e,keyCode);e.stopPropagation()}break;case Keys.getBind("Right"):this._navigate("Right",e,keyCode);e.stopPropagation();break;case Keys.getBind("Cross"):focus.click();e.stopImmediatePropagation();break;case Keys.getBind("Enter"):focus.click();e.stopImmediatePropagation();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){if(this.activeChild==="mainMenu"){Model.App.showingSideMenu=false;this.goto(nextChild)}else if(this.activeChild==="categoriesList"){this.showSideMenu();$(".gridElement.active").removeClass("active");this.children[nextChild].view.enable()}e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onMouseLeave:function(){$("#backIcon").removeClass("active")},onHover:function(event){var element=event.target.id;if(element==="backIcon"){$("#"+element).addClass("active")}else{this._enableElement(element)}event.stopPropagation()},createMainMenu:function(carouselData){var menuItems=language[Model.App.file.language].menu;carouselData=[{title:menuItems.home,icon:"ic_home.png"},{title:menuItems.my_movies,icon:"ic_mymovies.png"},{title:menuItems.now_showing,icon:"ic_nowshowing.png"},{title:menuItems.red_carpet,icon:"ic_redcarpet.png"},{title:menuItems.upcoming,icon:"ic_comingsoon.png"},{title:menuItems.all_films,icon:"ic_allmovies.png"},{title:menuItems.profile,icon:"ic_profile.png"},{title:menuItems.exit,icon:"ic_exit.png"}];var callBacks={clickCB:this.mainMenuClick,keydownCB:this.mainMenuKeydown,hoverCB:this.mainMenuHover,mouseOutCB:this.mainMenuMouseOut};var params={carouselData:carouselData};WidgetManager.addWidget(this,"mainMenu","#sideMenu",callBacks,params)},mainMenuClick:function(e){if(!Model.App.showingSideMenu){var menuItems=language[Model.App.file.language].menu;var home=ViewControllerManager.find("Home");var root=ViewControllerManager.find("Root");clearTimeout(home.showScreenTimeoutId);var menuItemText="";var pos=this.pos;if(!Model.App.loggedIn){if(this.name==="home_featured"){if(this.pos===0){menuItemText="promo"}pos=this.pos-1}else{menuItemText=e.currentTarget.parentElement.parentElement.textContent.trim()}}else{menuItemText=e.currentTarget.parentElement.parentElement.textContent.trim()}switch(menuItemText){case menuItems.home:home.showHome();home.goto("categoriesList");break;case menuItems.now_showing:case menuItems.upcoming:case menuItems.my_movies:case menuItems.red_carpet:case menuItems.all_films:home.goto("Screen");break;case menuItems.profile:$("#Screen").hide();home.goto("Profile");Util.hideSpriteLoader();break;case menuItems.search:home.showScreen("Keyboard");home.goto("Keyboard");$("#Screen").hide();Util.hideSpriteLoader();break;case menuItems.exit:root.exitApp();break;case"promo":Model.App.keyboardReturnTo="featured";var profile=ViewControllerManager.find("Profile");Model.App.fromMyMovies=false;profile.showRegister();break;default:var name=this.name.replace("home_","");var id="";if(config.useCMS){for(var i=0;i<Model.Movies.films.length;i++){if(Model.Movies.films[i].title===name){id=Model.Movies.films[i].movies[pos].id;break}}}else{id=Model.Movies.films[name][pos].id}API.getMovie(id,function(data){Model.App.returnFromDetailsTo={parent:"categories",screen:"categoriesList"};Model.App.movie=data;home.handleRequiredPin()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")});break}}e.stopPropagation()},handleRequiredPin:function(){var self=this;var user=Model.App.file.user;Util.showSpriteLoader();if(Model.App.loggedIn){if(user.parental_control){if(user.parental_control.is_active&&Model.App.showPinBeforeDetails){if(user.parental_control.restriction!=="R"){API.pinRequiredToWatch(Model.App.movie.flix_id,function(res){Util.hideSpriteLoader();if(res.status===true){Model.App.pinState="insert";Model.App.watchFromPin=true;self.publish("PinInsert")}else{self.goToDetails()}},function(res,errorCode){Model.App.errorCode=errorCode;self.publish("Error")})}else{self.goToDetails()}}else{self.goToDetails()}}else{self.goToDetails()}}else{self.goToDetails()}},goToDetails:function(){Util.showSpriteLoader();var home=ViewControllerManager.find("Home");var vc=ViewControllerManager.find("Details");$("#Screen").hide();home.addChild(vc,"#screens")},mainMenuKeydown:function(e,keycode){var home=ViewControllerManager.find("Home");var scope=this;var delayNavigation=null;if(home.activeChild==="mainMenu"){if(settings.device==="panasonic"&&(keycode===Keys.getBind("Up")||keycode===Keys.getBind("Down"))){delayNavigation=true}}Util.showSpriteLoader();if(delayNavigation){setTimeout(function(){home.onMainMenuNavigation(e,keycode,scope);Util.hideSpriteLoader()},1e3)}else{home.onMainMenuNavigation(e,keycode,scope);Util.hideSpriteLoader()}},onMainMenuNavigation:function(e,keycode,scope){$("#backIcon").removeClass("active");var menuItems=language[Model.App.file.language].menu;var home=ViewControllerManager.find("Home");clearTimeout(home.hideMenuTimeout);clearTimeout(home.showScreenTimeoutId);var txt=$("#"+scope.activeChild.replace("_Overlay",""))[0].textContent.trim();var screen="";var targetScreen="Screen";switch(txt){case menuItems.home:home.showHome();targetScreen="categoriesList";break;case menuItems.now_showing:screen="NowShowing";targetScreen="Screen";scope.updateHome=true;break;case menuItems.upcoming:screen="ComingSoon";targetScreen="Screen";scope.updateHome=true;targetScreen="Screen";break;case menuItems.my_movies:screen="MyMovies";scope.updateHome=true;targetScreen="Screen";break;case menuItems.red_carpet:screen="RedCarpet";scope.updateHome=true;targetScreen="Screen";break;case menuItems.all_films:screen="AllMovies";scope.updateHome=true;targetScreen="Screen";break;case menuItems.profile:scope.updateHome=true;home.showProfile();if(settings.device==="ps3"||settings.device==="ps4"){if(keycode!==Keys.getBind("Cross")){home.children["mainMenu"].view.enable()}}else if(keycode!==Keys.getBind("Enter")){home.children["mainMenu"].view.enable()}targetScreen="Profile";break;case menuItems.search:home.showSearch();if(keycode!==Keys.getBind("Enter")){home.children["mainMenu"].view.enable()}Util.hideSpriteLoader();break;default:Util.hideSpriteLoader();break}if(settings.device==="ps3"||settings.device==="ps4"){if(keycode!==Keys.getBind("Cross")&&screen!==""){home.showScreen(screen);home.children["mainMenu"].view.enable()}else if(keycode===Keys.getBind("Cross")&&home.children.categoriesList.view.activeChild==="home_featured"){scope.activateFeatured=true}}else if(keycode!==Keys.getBind("Enter")&&screen!==""){if(keycode!==Keys.getBind("Right")){home.showScreen(screen)}else{Util.hideSpriteLoader();home.goto(targetScreen)}home.children["mainMenu"].view.enable()}else if(keycode===Keys.getBind("Enter")&&home.children.categoriesList.view.activeChild==="home_featured"){scope.activateFeatured=true}var nav=home.children.categoriesList.view.navigation[scope.name];if(keycode===Keys.getBind("Up")&&nav&&nav.Up==="home_featured"||scope.activateFeatured){scope.activateFeatured=false;$("#featuredCounter").addClass("active")}else if(scope.name!=="home_featured"||keycode===Keys.getBind("Down")){$("#featuredCounter").removeClass("active")}if(scope.name==="home_featured"){if(keycode===Keys.getBind("Left")&&scope.pos===0){}$("#featuredCounter .featuredCounterBlock").removeClass("active");$("#featuredCounter .featuredCounterBlock:nth-child("+(scope.pos+1)+")").addClass("active")}},mainMenuHover:function(e){var menuItems=language[Model.App.file.language].menu;var home=ViewControllerManager.find("Home");var id=$(e.currentTarget).parents($(this))[5].id;if(id!=="home_featured"&&id!=="mainMenu"&&id!=="home_red_carpet"){home.hideSideMenu()}else if(id==="mainMenu"){home.showSideMenu(0);var category=e.currentTarget.parentElement.innerText.replace("\n","");clearTimeout(home.hideMenuTimeout);clearTimeout(home.showScreenTimeoutId);switch(category){case menuItems.home:home.showHome();break;case menuItems.now_showing:home.showScreen("NowShowing");home.children["mainMenu"].view.enable();break;case menuItems.upcoming:home.showScreen("ComingSoon");home.children["mainMenu"].view.enable();break;case menuItems.my_movies:home.showScreen("MyMovies");home.children["mainMenu"].view.enable();break;case menuItems.red_carpet:home.showScreen("RedCarpet");home.children["mainMenu"].view.enable();break;case menuItems.all_films:home.showScreen("AllMovies");home.children["mainMenu"].view.enable();break;case menuItems.profile:home.showProfile();home.children["mainMenu"].view.enable();break;case menuItems.search:home.showSearch();home.children["mainMenu"].view.enable();break}}else if(id==="home_featured"){home.hideSideMenu()}},mainMenuMouseOut:function(e){},createCarouselsList:function(){var params={x:80,y:80,width:1120,height:460};WidgetManager.addWidget(this,"categoriesList","#categories",{},params);var callBacks={clickCB:this.mainMenuClick,keydownCB:this.mainMenuKeydown,hoverCB:this.mainMenuHover,mouseOutCB:this.mainMenuMouseOut};var carouselData=[];var title="";if(Model.Movies.films&&Model.Movies.films.length>0){for(var h=0;h<Model.Movies.films.length;h++){var categoryObj=Model.Movies.films[h];var category=categoryObj.title;var widgetName="home_"+category;var menuItems=language[Model.App.file.language].menu;if(categoryObj.movies&&categoryObj.movies.length>0){carouselData=[];var widgetType=null;switch(category){case"red_carpet":title=menuItems.red_carpet;widgetType="carousel_horizontal_premiere";break;case"upcoming":title=menuItems.upcoming;widgetType="carousel_horizontal_coverart";break;case"now_showing":title=menuItems.now_showing;widgetType="carousel_horizontal_coverart";break;case"featured":widgetType="carousel_horizontal_feature";break}for(var i=0;i<categoryObj.movies.length;i++){var film=categoryObj.movies[i];var cloudinary_id="";params={};if(category==="red_carpet"){var background="";for(var j=0;j<film.imagery.banners.length;j++){if(film.imagery.banners[j].platform==="red_carpet"){background=film.imagery.banners[j].url;break}}params={background:background,coverart:film.imagery.coverart[0].id,premiere_from:film.premiere_from,premiere_to:film.premiere_to,title:film.title,rating:film.rating,moviedescription:film.small_description}}else if(category==="featured"){var titleImage="";var titlePosition="";if(!Model.App.loggedIn&&i===0){params={image:Model.App.featuredBanners.banner.cloudinary_id,movieTitle:Model.App.featuredBanners.content.title,movieSubTitle:Model.App.featuredBanners.content.sub_title,titlePosition:Model.App.featuredBanners.banner.content_position,btn_text:Model.App.featuredBanners.content.btn_text,type:Model.App.featuredBanners.type};carouselData.push(params)}for(var k=0;k<film.imagery.banners.length;k++){if(film.imagery.banners[k].platform==="film_title"){titleImage=film.imagery.banners[k].url}if(film.imagery.banners[k].platform==="tv_featured"){titlePosition=film.imagery.banners[k].content_position;cloudinary_id=film.imagery.banners[k].url}}params={image:cloudinary_id,movieTitle:titleImage,titlePosition:titlePosition}}else{params={image:film.imagery.coverart[0].id,movieTitle:film.title};if(category==="upcoming"){params.date=film.premiere_from}}carouselData.push(params)}this.children["categoriesList"].view.addCarousel(widgetName,callBacks,carouselData,title,widgetType);if(category==="featured"){var w=carouselData.length*16;var l=640-w/2-80;$("#category_home_featured").append('<div id="featuredCounter" style="width:'+w+"px;left:"+l+'px"></div>');for(var x=0;x<carouselData.length;x++){if(x===0){$("#featuredCounter").append('<div class="featuredCounterBlock active"></div>')}else{$("#featuredCounter").append('<div class="featuredCounterBlock"></div>')}}}}else{Model.App.errorCode=101;this.publish("Error")}}}var children=ViewControllerManager.find("categoriesList").children;if(children[Object.keys(children)[0]]){ViewControllerManager.find("categoriesList").activeChild=children[Object.keys(children)[0]].view.name}},redrawFeaturedCarousel:function(){var carouselData=[];if(Model.Movies.films&&Model.Movies.films.length>0){for(var h=0;h<Model.Movies.films.length;h++){var categoryObj=Model.Movies.films[h];var category=categoryObj.title;var widgetName="home_"+category;if(categoryObj.movies&&categoryObj.movies.length>0&&category==="featured"){carouselData=[];for(var i=0;i<categoryObj.movies.length;i++){var film=categoryObj.movies[i];var cloudinary_id="";var params={};if(category==="featured"){var titleImage="";var titlePosition="";if(!Model.App.loggedIn&&i===0){params={image:Model.App.featuredBanners.banner.cloudinary_id,movieTitle:Model.App.featuredBanners.content.title,movieSubTitle:Model.App.featuredBanners.content.sub_title,titlePosition:Model.App.featuredBanners.banner.content_position,btn_text:Model.App.featuredBanners.content.btn_text,type:Model.App.featuredBanners.type};carouselData.push(params)}for(var k=0;k<film.imagery.banners.length;k++){if(film.imagery.banners[k].platform==="film_title"){titleImage=film.imagery.banners[k].url}if(film.imagery.banners[k].platform==="tv_featured"){titlePosition=film.imagery.banners[k].content_position;cloudinary_id=film.imagery.banners[k].url}}params={image:cloudinary_id,movieTitle:titleImage,titlePosition:titlePosition}}carouselData.push(params)}var cloneIndex=ViewControllerManager.find("home_featured").cloneIndex;var data={widgetName:widgetName,cloneIndex:cloneIndex,carouselData:carouselData};WidgetManager.carousel_horizontal_feature(data);this.enable();if(category==="featured"){var w=carouselData.length*16;var l=640-w/2-80;$("#featuredCounter").html("");$("#featuredCounter").css({width:w+"px",left:l+"px"});for(var x=0;x<carouselData.length;x++){if(x===0){$("#featuredCounter").append('<div class="featuredCounterBlock active"></div>')}else{$("#featuredCounter").append('<div class="featuredCounterBlock"></div>')}}}}}}$("#categoriesList .CarouselsList_Container").css({top:0});var children=ViewControllerManager.find("categoriesList").children;if(children[Object.keys(children)[0]]){ViewControllerManager.find("categoriesList").activeChild=children[Object.keys(children)[0]].view.name}},showSideMenu:function(interval){Model.App.showingSideMenu=true;$("#container").removeClass("offScreen");$("#backIcon").hide();$("#featuredCounter").removeClass("active");clearTimeout(this.showingSideMenuTimeout);this.showingSideMenuTimeout=setTimeout(function(){Model.App.showingSideMenu=false},interval||200)},hideSideMenu:function(){if(!Model.App.showingSideMenu){$("#container").addClass("offScreen");$("#backIcon").show();$("#backIconBackground #backIcon").html(language[Model.App.file.language].common.btn_menu)}},goto:function(id){if(id==="Profile"){this.removeChild("Keyboard")}if(this.children[id]&&this.children[id].view.activeChild==="myMoviesList"&&(Model.myMovies.films.active_films.length===0&&Model.myMovies.films.past_films.length===0&&Model.myMovies.films.reminders.length===0)){}else{this.hideSideMenu();this.children[id].view.enable()}if(this.children[this.activeChild].view.activeChild==="home_featured"){$("#featuredCounter").addClass("active")}else{$("#featuredCounter").removeClass("active")}},showScreen:function(category){Util.showSpriteLoader();Model.App.profileState="screen";var menuItems=language[Model.App.file.language].menu;$("#categories").hide();$("#screens").find("> div").hide();var Screen=ViewControllerManager.find("Screen");if(!this.children["Screen"]){this.addChild(Screen,"#screens")}else{$("#Screen").show()}switch(category){case"NowShowing":Screen.setScreen(Model.Movies.films[1].movies,menuItems.now_showing,category);Util.hideSpriteLoader();this.updateHome=true;break;case"ComingSoon":Screen.setScreen(Model.Movies.films[3].movies,menuItems.upcoming,category);Util.hideSpriteLoader();this.updateHome=true;break;case"RedCarpet":var movies=[];for(var i=0;i<Model.Movies.films[2].movies.length;i++){var movie=Model.Movies.films[2].movies[i];var cover="";var background="";for(var j=0;j<movie.imagery.banners.length;j++){if(movie.imagery.banners[j].platform==="red_carpet"){background=movie.imagery.banners[j].url;break}}movies.push({coverart:movie.imagery.coverart[0].id,background:background,premiere_from:movie.premiere_from,premiere_to:movie.premiere_to,title:movie.title,rating:movie.rating,moviedescription:movie.small_description})}Screen.setScreen(movies,menuItems.red_carpet,category);Util.hideSpriteLoader();this.updateHome=true;break;case"MyMovies":Screen.setScreen(Model.Movies.films[3].movies,menuItems.my_movies,category);this.updateHome=true;break;case"AllMovies":Screen.setScreen(Model.Movies.films.all,menuItems.all_films,category);Util.hideSpriteLoader();this.updateHome=true;break}this.navigation.mainMenu.Right="Screen"},showProfile:function(){$("#categories").hide();$("#screens").find("> div").hide();if(!this.children["Profile"]){var Profile=ViewControllerManager.find("Profile");this.addChild(Profile,"#screens")}else{$("#Profile").show();ViewControllerManager.find("Profile").setup()}Model.App.profileState="profile";this.navigation.mainMenu.Right="Profile";Util.hideSpriteLoader()},showSearch:function(){var Keyboard=ViewControllerManager.find("Keyboard");var Search=ViewControllerManager.find("Search");$("#categories").hide();$("#screens").find("> div").hide();if(!this.children["Keyboard"]){Keyboard.extraInfoController="Search";Keyboard.addChild(Search,"#ExtraInfo");this.addChild(Keyboard,"#screens")}else{$("#MainKeyboard").show()}this.navigation.mainMenu.Right="Keyboard"},showHome:function(){$("#categories").show();$("#screens").find("> div").hide();this.navigation.mainMenu.Right="categoriesList";Util.hideSpriteLoader();Model.App.profileState="screen";if(this.updateHome){this.updateHome=false;this.redrawFeaturedCarousel()}},back:function(e){var home=ViewControllerManager.find("Home");var root=ViewControllerManager.find("Root");var screen=ViewControllerManager.find("Screen");var Profile=ViewControllerManager.find("Profile");var Keyboard=ViewControllerManager.find("Keyboard");var menuItems=language[Model.App.file.language].menu;var elementId=$("#"+TVA.onFocus).parents($(this))[5].id;$(".gridElement.active").removeClass("active");if(Model.App.profileState==="myMovies"||Model.App.profileState==="screen"||Model.App.profileState==="register"){home.showSideMenu();home.children["mainMenu"].view.enable();e&&e.stopPropagation()}else if(Model.App.profileState==="parental"){ViewControllerManager.find("ParentalControls").unload();this.addChild(Profile,"#screens")}else if(Model.App.profileState==="profile"){home.showSideMenu();home.children["mainMenu"].view.enable();home.navigation.mainMenu.Right="Profile";Model.App.profileState=""}else if(Model.App.profileState==="chooselanguage"){ViewControllerManager.find("ChooseLanguage").unload();Profile.enable()}else if(Model.App.profileState==="help"||Model.App.profileState==="TandC"){if(Model.App.loggedIn){$("#profileInfos").show()}$("#profileButtons").show();$(".termsSupportScreen").hide();$("#profileTitle").html(menuItems.profile);if(Model.App.profileState==="TandC"){Profile._enableElement("btn_terms_conditions")}else if(Model.App.profileState==="help"){Profile._enableElement("btn_help")}Model.App.profileState="profile";$("#textField").empty()}else if(Model.App.profileState==="details"){home.removeChild("Details");$("#"+Model.App.returnFromDetailsTo.parent).show();if(Model.App.returnFromDetailsTo.parent==="search_results"){$("#searchResult").show();home.children.Keyboard.view.enable()}else{home._enableElement(Model.App.returnFromDetailsTo.screen);var activeElement=home.children[home.activeChild].view.activeChild;if(Model.App.refreshLibrary&&activeElement==="myMoviesList"){if(Model.App.loggedIn&&Model.App.fromMyMovies){Model.App.refreshLibrary=false;screen.getMyMovies(function(){screen.createMyMoviesList();home._enableElement(Model.App.returnFromDetailsTo.screen)},function(){})}}}}else{var children=root.children;if(children.hasOwnProperty("Modal")){var keyb=children.Modal.view.children;if(keyb.hasOwnProperty("ModalKeyboard")){var controller=Keyboard.extraInfoController;Keyboard.goBack(e,controller)}}}if(elementId==="mainMenu"){ViewControllerManager.find("Root").exitApp()}},compileAllMovies:function(){var arr=[];Model.App.movieIDMap={};if(Model.Movies.films){for(var i=0;i<Model.Movies.films.length;i++){if(Model.Movies.films[i].movies){if(Model.Movies.films[i].title==="now_showing"||Model.Movies.films[i].title==="upcoming"){arr=arr.concat(arr,Model.Movies.films[i].movies)}for(var j=0;j<Model.Movies.films[i].movies.length;j++){Model.App.movieIDMap[Model.Movies.films[i].movies[j].flix_id]=Model.Movies.films[i].movies[j].id}}}if(arr.length>0){Model.Movies.films["all"]=arr}else{Util.hideSplash();Model.App.errorCode=102;this.publish("Error")}}else{Util.hideSplash();Model.App.errorCode=102;this.publish("Error")}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ScreenVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="now_showing";this.navigation={btnSignIn:{Down:"btnRegister"},btnRegister:{Up:"btnSignIn"}};this.categoryIndex=0;this.widgetName=null;Model.App.refreshLibrary=true},onLoad:function(){},render:function(location){this._super(location);$("#backIconBackground #backIcon").html(language[Model.App.file.language].common.btn_menu);if(TVA.device==="lg"||TVA.device==="webos"){$("#Screen").css("background-image",'url("./css/assets/background.png")')}},setScreen:function(movieData,title,category){var scope=this;var widgetType=null;$("#Screen #title").html(title);$("#Screen #title").show();$("#backIconBackground #backIcon").html(language[Model.App.file.language].common.btn_menu);switch(category){case"NowShowing":this.widgetName="now_showing_screen";widgetType="grid_vertical_coverart";break;case"ComingSoon":this.widgetName="upcoming_screen";widgetType="grid_vertical_coverart";for(var i=0;i<movieData.length;i++){movieData[i].date=movieData[i].release_date}break;case"RedCarpet":this.widgetName="red_carpet_screen";widgetType="carousel_vertical_premiere";break;case"AllMovies":this.widgetName="all_movies_screen";widgetType="grid_vertical_coverart";break}if(category==="MyMovies"){if(Model.App.refreshLibrary&&Model.App.loggedIn){Model.App.refreshLibrary=false;this.getMyMovies(function(){scope.createMyMoviesList()},function(){})}else{this.createMyMoviesList();Model.App.profileState="myMovies"}$("#myMoviesList .CarouselsList_Container").css({top:0})}else{this.createMovieList(movieData,true,widgetType)}},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);$(".Arrow.hoverButton").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back(e);e.stopPropagation();break;case Keys.getBind("Exit"):this.exit();e.stopPropagation();break;case Keys.getBind("Left"):this.back(e);e.stopPropagation();break;case Keys.getBind("Right"):e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_navigate:function(direction,e){try{var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;$(this.rootID+" .gridElement").removeClass("active");$("#"+nextChild.replace("_Overlay","")).addClass("active");e.stopPropagation()}}catch(err){}},back:function(e){Model.App.fromMyMovies=false;Model.App.fromProfile=false;Model.App.fromDetails=false;var home=ViewControllerManager.find("Home");$(".gridElement.active").removeClass("active");home.showSideMenu();home.children["mainMenu"].view.enable();home.navigation.mainMenu.Right="Screen"},createMovieList:function(carouselData,activate,widgetType){Util.showSpriteLoader();$("#ScreenContent").html("");var callBacks={clickCB:this.clickCB,keydownCB:this.keydownCB,hoverCB:this.onHover};var params={activate:activate,carouselData:carouselData};this.removeChildren();if(widgetType){params.widgetType=widgetType}WidgetManager.addWidget(this,this.widgetName,"#ScreenContent",callBacks,params);Util.hideSpriteLoader()},keydownCB:function(e){$("#backIcon").removeClass("active");Util.revealEllipsedText("#"+TVA.onFocus.replace("_Overlay","")+" .movieTitleContainer p:nth-child(1)")},clickCB:function(e){var self=this;var home=ViewControllerManager.find("Home");var categoryName=this.name.replace("_screen","").replace("myMovies_","");var id="";if(categoryName==="reminders"||categoryName==="active_films"||categoryName==="past_films"){id=Model.App.movieIDMap[Model.myMovies.films[categoryName][this.pos].id]}else{if(categoryName==="all_movies"){id=Model.Movies.films.all[this.pos+this.row*this.columns].id}else{for(var i=0;i<Model.Movies.films.length;i++){if(Model.Movies.films[i].title===categoryName){id=Model.Movies.films[i].movies[this.pos+this.row*this.columns].id;break}}}}Util.showSpriteLoader();API.getMovie(id,function(data){Model.App["returnFromDetailsTo"]={parent:"Screen",screen:"Screen"};Model.App["movie"]=data;ViewControllerManager.find("Home").handleRequiredPin()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})},onHover:function(event){var id=event.currentTarget.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.id;switch(id){case"myMovies_active_films":$("#myMoviesList #myMovies_reminders .gridElement.active").removeClass("active");$("#myMoviesList #myMovies_past_films .gridElement.active").removeClass("active");break;case"myMovies_reminders":$("#myMoviesList #myMovies_active_films .gridElement.active").removeClass("active");$("#myMoviesList #myMovies_past_films .gridElement.active").removeClass("active");break;case"myMovies_past_films":$("#myMoviesList #myMovies_active_films .gridElement.active").removeClass("active");$("#myMoviesList #myMovies_reminders .gridElement.active").removeClass("active");break}if(event.target&&event.target.id!==""&&$("#"+event.target.id).hasClass("btn")){TVA.setFocus(event.target.id)}var home=ViewControllerManager.find("Home");home.hideSideMenu();Util.revealEllipsedText("#"+TVA.onFocus.replace("_Overlay","")+" .movieTitleContainer p:nth-child(1)")},onClick:function(event){var id=event.target.id;var home=ViewControllerManager.find("Home");var profile=ViewControllerManager.find("Profile");if(id==="btnSignIn"){profile.showSignIn()}else if(id==="btnRegister"){profile.showRegister()}Util.hideSpriteLoader()},getMyMovies:function(call,error){var scope=this;Util.showSpriteLoader();if(Model.App.loggedIn){API.getMyMovies(function(res){Model["myMovies"]=res;call&&call();$("#myMoviesList .CarouselsList_Container").css({top:0})},function(res,errorCode){error&&error();Model.App.errorCode=errorCode;scope.publish("Error")})}else{call&&call()}},createMyMoviesList:function(){Util.showSpriteLoader();$("#ScreenContent").html("");var scope=this;scope.removeChildren();var params;if(Model.App.loggedIn){params={x:80,y:100,width:1120,height:560};WidgetManager.addWidget(scope,"myMoviesList","#ScreenContent",{},params);var callBacks={clickCB:scope.clickCB,keydownCB:scope.keydownCB,hoverCB:scope.onHover};var carouselData=[];var title="";var widgetType="carousel_horizontal_coverart";if(Model.myMovies&&(Model.myMovies.films.active_films.length>0||Model.myMovies.films.past_films.length>0||Model.myMovies.films.reminders.length>0)){var available=null;var reminders=null;var watched=null;for(var category in Model.myMovies.films){var categoryObj=Model.myMovies.films[category];var categoryTitle=Model.myMovies.meta[category].title;var widgetName="myMovies_"+category;if(categoryObj.length>0){carouselData=[];for(var i=0;i<categoryObj.length;i++){var film=categoryObj[i];if(Model.App.movieIDMap[film.id]){var cloudinary_id=film.cover_art[0].cloudinary_id;params={image:cloudinary_id,movieTitle:film.title};carouselData.push(params)}}if(category==="active_films"){available={widgetName:widgetName,callBacks:callBacks,carouselData:carouselData,categoryTitle:categoryTitle,widgetType:widgetType}}if(category==="reminders"){reminders={widgetName:widgetName,callBacks:callBacks,carouselData:carouselData,categoryTitle:categoryTitle,widgetType:widgetType}}if(category==="past_films"){watched={widgetName:widgetName,callBacks:callBacks,carouselData:carouselData,categoryTitle:categoryTitle,widgetType:widgetType}}}}if(available){scope.children["myMoviesList"].view.addCarousel(available.widgetName,available.callBacks,available.carouselData,available.categoryTitle,available.widgetType)}if(reminders){scope.children["myMoviesList"].view.addCarousel(reminders.widgetName,reminders.callBacks,reminders.carouselData,reminders.categoryTitle,reminders.widgetType)}if(watched){scope.children["myMoviesList"].view.addCarousel(watched.widgetName,watched.callBacks,watched.carouselData,watched.categoryTitle,watched.widgetType)}var children=ViewControllerManager.find("myMoviesList").children;ViewControllerManager.find("myMoviesList").activeChild=children[Object.keys(children)[0]].view.name;ViewControllerManager.find("Home").setActiveChild("mainMenu");ViewControllerManager.find("Home").enable();if(Model.App.loginFromMyMovies){setTimeout(function(){scope.back()},100);Model.App.loginFromMyMovies=false}}else{$("#ScreenContent").html('<div id="noMovieData">'+language[Model.App.file.language].myMoviesScreen.noContent.replace("\n","<br>")+"</div>");ViewControllerManager.find("Home").children["mainMenu"].view.enable()}}else{var signInBtn='<div id="btnSignIn" class="btn hoveritem">'+language[Model.App.file.language].loginScreen.btn_signin+"</div>";var registerBtn='<div id="btnRegister" class="btn hoveritem">'+language[Model.App.file.language].loginScreen.btn_register+"</div>";var message='<div id="message">'+language[Model.App.file.language].loginScreen.signin_or_register+"</div>";var logo='<div id="logo"></div>';$("#ScreenContent").html('<div id="myMoviesLoggedOut">'+logo+signInBtn+registerBtn+message+"</div>");this.activeChild="btnSignIn";TVA.setFocus(this.activeChild);$("#Screen #title").hide()}Model.App.fromMyMovies=true;Model.App.fromProfile=false;Model.App.fromDetails=false;Util.hideSpriteLoader()}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ProfileVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btn_sign_in";this.helpText="";this.termsText="";this.aboutText=""},onLoad:function(){},render:function(location){this._super(location);if(settings.device==="lg"||settings.device==="webos"){$("#Profile").css("background-image",'url("./css/assets/background.png")')}this.setup()},setup:function(){Model.App.profileState="profile";Model.App.keyboardReturnTo="profile";var scope=this;if(Model.App.loggedIn){this._userLoggedIn();this.activeChild="btn_parental_controls";API.getTickets(function(res){Model.App.file.user.ticket_count=res.ticket_count;scope._populateFields()},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})}else{this._userLoggedOut()}TVA.setFocus(this.activeChild);this._populateFields();Util.hideSpriteLoader()},onKeyDown:function(e,keyCode){TVA.log("keydown in profile");$("#backIcon").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back(e);e.stopPropagation();break;case Keys.getBind("Left"):if(Model.App.profileState==="profile"){this.back(e)}e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},onHover:function(event){var home=ViewControllerManager.find("Home");home.hideSideMenu();var element=event.target.id;this._enableElement(element)},onUnload:function(){this._enableElement(this.activeChild)},back:function(e){$("#backIcon").removeClass("active");if(Model.App.profileState==="about"||Model.App.profileState==="help"||Model.App.profileState==="TandC"){$("#backIcon").text(language[Model.App.file.language].common.btn_menu);if(Model.App.loggedIn){$("#profileInfos").show()}$("#profileButtons").show();$(".termsSupportScreen").hide();$("#profileTitle").html("Profile");if(Model.App.profileState==="TandC"){this._enableElement("btn_terms_conditions")}else if(Model.App.profileState==="about"){this._enableElement("btn_about")}else{this._enableElement("btn_help")}Model.App.profileState="profile";$("#textField").empty()}else{var home=ViewControllerManager.find("Home");home.showSideMenu();home.children["mainMenu"].view.enable();home.navigation.mainMenu.Right="Profile"}},profileBtnClick:function(event){var scope=this;var Keyboard=ViewControllerManager.find("Keyboard");var RegisterHandler=ViewControllerManager.find("RegisterHandler");var Home=ViewControllerManager.find("Home");var ParentalControls=ViewControllerManager.find("ParentalControls");var Root=ViewControllerManager.find("Root");var ChooseLanguage=ViewControllerManager.find("ChooseLanguage");var SignInHandler=ViewControllerManager.find("SignInHandler");var focus=TVA.onFocus;TVA.offFocus(TVA.onFocus);var text;if(focus==="btn_parental_controls"){if(Model.App.loggedIn){scope.unload();scope.addChild(ParentalControls,"#screens")}else{Model.App.fromProfile=true;Model.App.fromMyMovies=false;Model.App.fromDetails=false;this.showSignIn()}}else if(focus==="btn_choose_language"){if(Model.App.loggedIn){this.hide();this.addChild(ChooseLanguage,"#screens")}else{Model.App.fromProfile=true;Model.App.fromMyMovies=false;Model.App.fromDetails=false;this.showSignIn()}}else if(focus==="btn_help"){this.addChild(ViewControllerManager.find("TextScroller"),scope.rootID+" .content");Model.App.profileState="help";if(Model.App.loggedIn){$("#profileInfos").hide()}$("#profileButtons").hide();$(".termsSupportScreen").show();$("#profileTitle").html("Help");$("#backIcon").text(language[Model.App.file.language].common.btn_back);if(this.helpText===""){Util.showSpriteLoader();API.getHelpText(Model.App.file.language,function(data){text=this._textFormat(data,"help");this.helpText=text;ViewControllerManager.find("TextScroller").init('<p style="height: 100px;">'+text+'</p><p style="height: 100px;"></p>');Util.hideSpriteLoader()}.bind(this),function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})}else{ViewControllerManager.find("TextScroller").init('<p style="height: 100px;">'+this.helpText+'</p><p style="height: 100px;"></p>')}ViewControllerManager.find("TextScroller").activeChild="arrow_scroll_down";TVA.setFocus("arrow_scroll_down")}else if(focus==="btn_about"){this.addChild(ViewControllerManager.find("TextScroller"),scope.rootID+" .content");Model.App.profileState="about";if(Model.App.loggedIn){$("#profileInfos").hide()}$("#profileButtons").hide();$(".termsSupportScreen").show();$("#profileTitle").html("About");$("#backIcon").text(language[Model.App.file.language].common.btn_back);if(this.aboutText===""){Util.showSpriteLoader();API.getAboutText(Model.App.file.language,function(data){text=this._textFormat(data,"about");this.aboutText=text;ViewControllerManager.find("TextScroller").init('<p style="height: 100px;">'+text+'</p><p style="height: 100px;"></p>');Util.hideSpriteLoader()}.bind(this),function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})}else{ViewControllerManager.find("TextScroller").init('<p style="height: 100px;">'+this.aboutText+'</p><p style="height: 100px;"></p>')}ViewControllerManager.find("TextScroller").activeChild="arrow_scroll_down";TVA.setFocus("arrow_scroll_down")}else if(focus==="btn_terms_conditions"){scope.addChild(ViewControllerManager.find("TextScroller"),scope.rootID+" .content");Model.App.profileState="TandC";if(Model.App.loggedIn){$("#profileInfos").hide()}$("#profileButtons").hide();$(".termsSupportScreen").show();$("#profileTitle").html("Terms and Conditions");$("#backIcon").text(language[Model.App.file.language].common.btn_back);if(scope.termsText===""){Util.showSpriteLoader();API.getTermsText(Model.App.file.language,function(data){text=scope._textFormat(data,"terms");scope.termsText=text;API.getPrivacyText(Model.App.file.language,function(data){text+=scope._textFormat(data,"privacy");scope.privacyText=text;ViewControllerManager.find("TextScroller").init('<p style="height: 100px;">'+text+'</p><p style="height: 100px;"></p>');Util.hideSpriteLoader()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})}else{var aux=scope.termsText;aux+=scope.privacyText;ViewControllerManager.find("TextScroller").init('<p style="height: 100px;">'+aux+'</p><p style="height: 100px;"></p>')}ViewControllerManager.find("TextScroller").activeChild="arrow_scroll_down";TVA.setFocus("arrow_scroll_down")}else if(focus==="btn_sign_in"){Model.App.fromProfile=true;Model.App.fromMyMovies=false;Model.App.fromDetails=false;this.showSignIn()}else if(focus==="btn_register"){Model.App.fromProfile=true;Model.App.fromMyMovies=false;Model.App.fromDetails=false;this.showRegister()}else if(focus==="btn_sign_out"){this._unpopulateInfoTable();Model.App.file.user={};Util.saveFile(Model.App.file);Model.App.loggedIn=false;this._userLoggedOut();this.activeChild="btn_sign_in";TVA.setFocus(this.activeChild)}},showRegister:function(){var Home=ViewControllerManager.find("Home");var Keyboard=ViewControllerManager.find("Keyboard");var RegisterHandler=ViewControllerManager.find("RegisterHandler");Model.App.profileState="register";this.publish("Keyboard")},showSignIn:function(){var Keyboard=ViewControllerManager.find("Keyboard");var Home=ViewControllerManager.find("Home");var SignInHandler=ViewControllerManager.find("SignInHandler");Model.App.profileState="signIn";this.publish("Keyboard")},_populateInfoTable:function(){var name=$("#profileClientName");var email=$("#profileClientEmail");var tickets=$("#profileClientTickets");name.html(Util.ellipseText(Model.App.file.user.user.fullname,35));email.html(Util.ellipseText(Model.App.file.user.user.email,35));tickets.html(Model.App.file.user.ticket_count);$("#profileInfos").show()},_unpopulateInfoTable:function(){var name=$("#profileClientName");var email=$("#profileClientEmail");var tickets=$("#profileClientTickets");name.html("");email.html("");tickets.html("")},_userLoggedIn:function(){$("#btn_sign_in").hide();$("#btn_register").hide();$("#btn_parental_controls").css({"margin-top":"50px"});$("#btn_sign_out").show();this._populateInfoTable();this.navigation={btn_parental_controls:{Down:"btn_choose_language"},btn_choose_language:{Up:"btn_parental_controls",Down:"btn_about"},btn_about:{Up:"btn_choose_language",Down:"btn_help"},btn_help:{Up:"btn_about",Down:"btn_terms_conditions"},btn_terms_conditions:{Down:"btn_sign_out",Up:"btn_help"},btn_sign_out:{Up:"btn_terms_conditions"}}},_userLoggedOut:function(){$("#btn_sign_in").show();$("#btn_register").show();$("#btn_parental_controls").css({"margin-top":"15px"});$("#profileInfos").hide();$("#btn_sign_out").hide();this.navigation={btn_sign_in:{Down:"btn_register"},btn_register:{Up:"btn_sign_in",Down:"btn_parental_controls"},btn_parental_controls:{Up:"btn_register",Down:"btn_choose_language"},btn_choose_language:{Up:"btn_parental_controls",Down:"btn_about"},btn_about:{Up:"btn_choose_language",Down:"btn_help"},btn_help:{Up:"btn_about",Down:"btn_terms_conditions"},btn_terms_conditions:{Up:"btn_help"}}},_textFormat:function(infos,selector){var s="";var aux;if(selector==="help"){if(infos.help.length>0){for(var i=0;i<infos.help.length;i++){if(infos.help[i].type==="ul"||infos.help[i].type==="ol"){s+="<"+infos.help[i].type+">";aux=infos.help[i].value;for(var j=0;j<aux.length;j++){s+="<li>"+infos.help[i].value[j]+"</li>"}s+="</"+infos.help[i].type+">";s+="<br>"}else{s+="<"+infos.help[i].type+">"+infos.help[i].value+"</"+infos.help[i].type+">";s+="<br>"}}}}else if(selector==="terms"){if(infos.terms.length>0){for(var k=0;k<infos.terms.length;k++){if(infos.terms[k].type==="ul"||infos.terms[k].type==="ol"){s+="<"+infos.terms[k].type+">";aux=infos.terms[k].value;for(var w=0;w<aux.length;w++){s+="<li>"+infos.terms[k].value[w]+"</li>"}s+="</"+infos.terms[k].type+">";s+="<br>"}else{s+="<"+infos.terms[k].type+">"+infos.terms[k].value+"</"+infos.terms[k].type+">";s+="<br>"}}}}else if(selector==="privacy"){if(infos.privacy.length>0){for(var x=0;x<infos.privacy.length;x++){if(infos.privacy[x].type==="ul"||infos.privacy[x].type==="ol"){s+="<"+infos.privacy[x].type+">";aux=infos.privacy[x].value;for(var z=0;z<aux.length;z++){s+="<li>"+infos.privacy[x].value[z]+"</li>"}s+="</"+infos.privacy[x].type+">";s+="<br>"}else{s+="<"+infos.privacy[x].type+">"+infos.privacy[x].value+"</"+infos.privacy[x].type+">";s+="<br>"}}}}else if(selector==="about"){if(infos.about.length>0){for(var c=0;c<infos.about.length;c++){if(infos.about[c].type==="ul"||infos.about[c].type==="ol"){s+="<"+infos.about[c].type+">";aux=infos.about[c].value;for(var v=0;v<aux.length;v++){s+="<li>"+infos.about[c].value[v]+"</li>"}s+="</"+infos.about[c].type+">";s+="<br>"}else{s+="<"+infos.about[c].type+">"+infos.about[c].value+"</"+infos.about[c].type+">";s+="<br>"}}}}return s},_populateFields:function(){$("#profileTitle").text(language[Model.App.file.language].profileScreen.profile);$("#btn_sign_in").text(language[Model.App.file.language].profileScreen.signInButton);$("#btn_register").text(language[Model.App.file.language].profileScreen.registerButton);$("#btn_parental_controls").text(language[Model.App.file.language].profileScreen.parentalControlsButton);$("#btn_choose_language").text(language[Model.App.file.language].profileScreen.chooseLanguageButton);$("#btn_about").text(language[Model.App.file.language].profileScreen.aboutButton);$("#btn_help").text(language[Model.App.file.language].profileScreen.helpButton);$("#btn_terms_conditions").text(language[Model.App.file.language].profileScreen.termsConditionsButton);$("#btn_sign_out").text(language[Model.App.file.language].profileScreen.signOutButton);$("#profileName").text(language[Model.App.file.language].profileScreen.nameLabel);$("#profileEmail").text(language[Model.App.file.language].profileScreen.emailLabel);$("#profileTickets").text(language[Model.App.file.language].profileScreen.ticketsAvailableLabel)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ParentalControlsVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btn_pc_general";this.navigation={};this.askedPin="";this.restrictions=""},onLoad:function(){Model.App.profileState="parental";$("#backIcon").text(language[Model.App.file.language].common.btn_back)},render:function(location){Model.App.watchFromPin=false;this._super(location);if(settings.device==="lg"||settings.device==="webos"){$("#ParentalControlsContainer").css("background-image",'url("./css/assets/background.png")')}var self=this;this.askedPin=false;this._checkFirstTime(function(call){self.setup(call)})},setup:function(call){var self=this;var buttonsDiv=$("#PC_Buttons");if(this.restrictions===""){this._getRestrictionsInfo(function(result){self._createRestrictionsButtons();self._enableElement(buttonsDiv[0].children[0].id);$(".checkSignPC").hide();if(Model.App.loggedIn){var a=Model.App.file.user.parental_control?Model.App.file.user.parental_control.restriction:"";switch(a){case"G":$("#btn_pc_general >.checkSignPC").show();break;case"PG":$("#btn_pc_family > .checkSignPC").show();break;case"PG-13":$("#btn_pc_teens > .checkSignPC").show();break;case"R":$("#btn_pc_adults > .checkSignPC").show();break;default:$(".checkSignPC").hide()}}self._populateFields();call&&call()},function(result,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})}else{self._createRestrictionsButtons();self._enableElement(buttonsDiv[0].children[0].id);$(".checkSignPC").hide();if(Model.App.loggedIn){var a=Model.App.file.user.parental_control?Model.App.file.user.parental_control.restriction:"";switch(a){case"G":$("#btn_pc_general >.checkSignPC").show();break;case"PG":$("#btn_pc_family > .checkSignPC").show();break;case"PG-13":$("#btn_pc_teens > .checkSignPC").show();break;case"R":$("#btn_pc_adults > .checkSignPC").show();break;default:$(".checkSignPC").hide()}call&&call()}}},onKeyDown:function(e,keyCode){var self=this;TVA.log("keydown in parental controls");var index=this._discoverButtonsIndex(TVA.onFocus);var buttonsDiv=$("#PC_Buttons");var length=buttonsDiv[0].children.length;$("#backIcon").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.goBack(e);e.stopPropagation();break;case Keys.getBind("Left"):if(TVA.onFocus==="btn_recover_pin"){self._enableElement("btn_change_pin")}e.stopPropagation();break;case Keys.getBind("Right"):if(TVA.onFocus==="btn_change_pin"){self._enableElement("btn_recover_pin")}e.stopPropagation();break;case Keys.getBind("Up"):if(index===0&&TVA.onFocus!=="btn_recover_pin"){self._enableElement("btn_change_pin")}else if(index>0){this._enableElement(buttonsDiv[0].children[index-1].id)}e.stopPropagation();break;case Keys.getBind("Down"):if(TVA.onFocus==="btn_recover_pin"||TVA.onFocus==="btn_change_pin"){this._enableElement(buttonsDiv[0].children[0].id)}else if(index<length-1){this._enableElement(buttonsDiv[0].children[index+1].id)}e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_discoverButtonsIndex:function(str){var buttonsDiv=$("#PC_Buttons");var returnValue=0;var length=buttonsDiv[0].children.length;for(var i=0;i<length;i++){if(buttonsDiv[0].children[i].id===str){returnValue=i}}return returnValue},onHover:function(event){var element=event.target.id;this._enableElement(element);event.stopPropagation()},doNothing:function(event){event.stopPropagation()},goBack:function(){$("#backIcon").removeClass("active");this.unload();var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");Profile.removeChild("ParentalControls");Home.addChild(Profile,"#screens")},onUnload:function(){var buttonsDiv=$("#PC_Buttons");this._enableElement(buttonsDiv[0].children[0].id);$("#backIcon").text(language[Model.App.file.language].common.btn_menu);Model.App.profileState="profile";this.askedPin=false;$("#PC_Buttons").empty()},parentalControlClick:function(event){var aux=TVA.onFocus;switch(aux){case"btn_pc_general":case"btn_pc_family":case"btn_pc_teens":case"btn_pc_adults":this.askedPin=false;break}if(!this.askedPin&&aux!=="btn_recover_pin"&&aux!=="btn_change_pin"){Model.App.pinState="insert";var Root=ViewControllerManager.find("Root");Root.publish("PinInsert");$("#popup_pin_description").text(language[Model.App.file.language].pinScreen.verifyPin)}else{this._handleClicks(aux)}event.stopPropagation()},_handleClicks:function(str){if(str!=="btn_recover_pin"&&str!=="btn_change_pin"){$(".checkSignPC").hide();var index=this._discoverButtonsIndex(str);var buttonsDiv=$("#PC_Buttons");var buttonID=buttonsDiv[0].children[index].id;$("#"+buttonID+"> .checkSignPC").show();var comparer=buttonID.substr(7,buttonID.length);var type=this._getRestrictionType(comparer);this._updateRestriction(type)}else if(str==="btn_recover_pin"){API.recoverPin(function(result){var Root=ViewControllerManager.find("Root");Root.publish("Information");$("#info_popup_description").html(language[Model.App.file.language].profileScreen.msg_recoverPin)},function(result,errorCode){Model.App.errorCode=errorCode;home.publish("Error")});event.stopPropagation()}else if(str==="btn_change_pin"){Model.App.pinState="insert_to_change";var Root=ViewControllerManager.find("Root");Root.publish("PinInsert");$("#popup_pin_description").text(language[Model.App.file.language].pinScreen.verifyPin);$("#popup_pin_error").hide();event.stopPropagation()}},_getRestrictionType:function(aux){var restrictions=this.restrictions;var length=this.restrictions.length;var result;for(var i=0;i<length;i++){if(restrictions[i].title.toLowerCase()===aux){result=restrictions[i].type;break}}return result},_updateRestriction:function(str){var parameters={pin:Model.App.file.user.pin,restriction:str};API.setRestriction(parameters,function(result){if(Model.App.file.user.parental_control){Model.App.file.user.parental_control.restriction=str;Model.App.file.user.parental_control["is_active"]=true}else{Model.App.file.user["parental_control"]={restriction:str};Model.App.file.user.parental_control["is_active"]=true}},function(result,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})},_checkFirstTime:function(call){var Root=ViewControllerManager.find("Root");var sucess=function(result){Util.hideSpriteLoader();if(result.status===false){Model.App.pinState="create";call&&call(function(){Root.publish("PinInsert");$("#popup_pin_description").text(language[Model.App.file.language].pinScreen.setPin)})}else{call&&call()}};var error=function(result,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;home.publish("Error")};Util.showSpriteLoader();API.checkPinSet(sucess,error)},_populateFields:function(){$("#btn_change_pin").text(language[Model.App.file.language].profileScreen.changePinButton);$("#btn_recover_pin").text(language[Model.App.file.language].profileScreen.recoverPinButton);$("#PC_Title").text(language[Model.App.file.language].profileScreen.parentalControlsButton)},_getRestrictionsInfo:function(onSuccess,onError){var self=this;Util.showSpriteLoader();API.getRestrictions(Model.App.file.language,function(result){Util.hideSpriteLoader();self.restrictions=result.restrictions;onSuccess&&onSuccess(result)},function(result,errorCode){onError&&onError(result,errorCode)})},_createRestrictionsButtons:function(){var restrictions=this.restrictions;var length=this.restrictions.length;var buttonsContainer=$("#PC_Buttons");var j=0;for(var i=0;i<length;i++){var info=restrictions[i].title+" - "+restrictions[i].info;var button=$("<div>");var classes=$('<div class="checkSignPC">');button.attr("id","btn_pc_"+restrictions[i].title.toLowerCase());button.attr("class","PC_ButtonsDef");button.text(info);button.append(classes);if(j>0){button.css("margin-top","15px")}buttonsContainer.append(button);j++}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ChooseLanguageVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.navigation={};this.chosenCL=""},onLoad:function(){Model.App.profileState="chooselanguage";$("#backIcon").text(language[Model.App.file.language].common.btn_back)},render:function(location){this._super(location);if(settings.device==="lg"||settings.device==="webos"){$("#ChooseLanguageContainer").css("background-image",'url("./css/assets/background.png")')}this._createLanguageButtons();this.chosenCL="btn_"+Model.App.file.language;$(".checkSignCL").hide();this._defineChosenCL(this.chosenCL);var buttonsDiv=$("#languageButtons");var a=buttonsDiv[0].firstElementChild.id;this._enableElement(a);this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in choose language");var index=this._discoverButtonsIndex(TVA.onFocus);var buttonsDiv=$("#languageButtons");var length=buttonsDiv[0].children.length;if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.goBackCL(e);e.stopPropagation();break;case Keys.getBind("Up"):if(index>0){this._enableElement(buttonsDiv[0].children[index-1].id)}e.stopPropagation();break;case Keys.getBind("Down"):if(index<length-1){this._enableElement(buttonsDiv[0].children[index+1].id)}e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}}},_discoverButtonsIndex:function(str){var buttonsDiv=$("#languageButtons");var returnValue=0;var length=buttonsDiv[0].children.length;for(var i=0;i<length;i++){if(buttonsDiv[0].children[i].id===str){returnValue=i}}return returnValue},onHover:function(event){var element=event.target.id;this._enableElement(element)},doNothing:function(event){event.stopPropagation()},goBackCL:function(e){this.unload();var Profile=ViewControllerManager.find("Profile");Profile.removeChild("ChooseLanguage");Profile.enable()},onUnload:function(){$("#backIcon").text(language[Model.App.file.language].common.btn_menu);Model.App.profileState="profile";this._enableElement("btn_englishLanguage");$("#languageButtons").empty()},changeCheck:function(event){$(".checkSignCL").hide();var index=this._discoverButtonsIndex(TVA.onFocus);var buttonsDiv=$("#languageButtons");var buttonID=buttonsDiv[0].children[index].id;$("#"+buttonID+"> .checkSignCL").show();this.chosenCL=buttonID;Model.App.file.language=buttonID.substr(4,buttonID.length);event.stopPropagation()},_defineChosenCL:function(id){$("#"+id+"> .checkSignCL").show()},_populateFields:function(){$("#chooseLanguageTitle").text(language[Model.App.file.language].profileScreen.chooseLanguageButton)},_createLanguageButtons:function(){var obj=language;var buttonsContainer=$("#languageButtons");var i=0;for(var prop in obj){var info=obj[prop].languageName;var button=$("<div>");var classes=$('<div class="checkSignCL">');button.attr("id","btn_"+obj[prop].language);button.attr("class","languageButtonsDef");button.text(info);button.append(classes);if(i>0){button.css("margin-top","15px")}buttonsContainer.append(button);i++}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("DetailsVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="mainMenu";this.navigation={mainMenu:{Right:"categoriesList"},categoriesList:{Left:"mainMenu"},NowShowing:{Left:"mainMenu"},Profile:{Left:"mainMenu"}};this.categoryIndex=0;this.showScreenTimeoutId=null;this.relatedData=""},onUnload:function(){this.removeChild("detailsList")},onLoad:function(){},render:function(location){var self=this;Model.App.keyboardReturnTo="details";if(TVA.device==="lg"||TVA.device==="webos"){$("#Details").css("background-image",'url("./css/assets/background.png")')}this._super(location);this.enable();self.buildView();Util.hideSpriteLoader()},onKeyDown:function(e,keyCode){TVA.log("keydown in Details");TVA.log(keyCode);$("#backIcon").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back(e);e.stopPropagation();break;case Keys.getBind("Up"):break;case Keys.getBind("Down"):e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e,keyCode);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e,keyCode);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_navigate:function(direction,e,keyCode){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){if(this.activeChild==="mainMenu"){this.goto(nextChild)}else if(this.activeChild==="categoriesList"){this.showSideMenu()}this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onHover:function(event){},buildView:function(){var self=this;var params={x:80,y:80,width:1120,height:560};WidgetManager.addWidget(self,"detailsList","#Details",{},params);self.createCarouselsList(Model.App.movie);Model.App.profileState="details";$("#backIcon").text(language[Model.App.file.language].common.btn_back)},detailsClick:function(e){Model.App.trailer=false;Model.App.refreshLibrary=true;var targetBtn=e.target.id;var detailsItems=language[Model.App.file.language].detailsScreen;var details=ViewControllerManager.find("Details");var destination=e.target.parentElement.innerText;if(destination.indexOf(detailsItems.btn_trailer)>-1){Model.App.trailer=true;details.prepareToShowPlayer()}else if(destination.indexOf(detailsItems.btn_watch)>-1){details.prepareToShowPlayer()}else if(destination.indexOf(detailsItems.btn_useTicket)>-1){Model.App.getTickets="use";Model.App.fromMyMovies=false;Model.App.fromProfile=false;Model.App.fromDetails=true;if(Model.App.loggedIn){this.publish("Purchase")}else{this.publish("SignReg")}}else if(destination.indexOf(detailsItems.btn_buyTicket)>-1){Model.App.getTickets="buy";Model.App.fromMyMovies=false;Model.App.fromProfile=false;Model.App.fromDetails=true;if(Model.App.loggedIn){this.publish("Purchase")}else{this.publish("SignReg")}}else if(destination.indexOf(detailsItems.btn_remind)>-1){if(Model.App.loggedIn){Util.showSpriteLoader();API.setReminder(Model.App.movie.flix_id,function(res){setTimeout(function(){API.getReminders(function(res){Util.hideSpriteLoader();if(Model.myMovies){Model.myMovies.films.reminders=res}else{Model["myMovies"]={films:{reminders:res}}}Model.App.refreshLibrary=true;$("#successPopup").show();setTimeout(function(){$("#successPopup").hide()},2e3);$("#successPopup").html(detailsItems.reminder.replace("[film]",Model.App.movie.title));var sel=targetBtn.replace("_Overlay","");$("#"+sel+" .content p").html(detailsItems.btn_reminderSet)},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;details.publish("Error")})},2e3)},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;details.publish("Error")})}else{Model.App.fromMyMovies=false;Model.App.fromProfile=false;Model.App.fromDetails=true;this.publish("SignReg")}}else if(destination.indexOf(detailsItems.btn_reminderSet)>-1){Util.showSpriteLoader();API.cancelReminder(Model.App.movie.flix_id,function(res){setTimeout(function(){API.getReminders(function(res){Util.hideSpriteLoader();if(Model.myMovies){Model.myMovies.films.reminders=res}else{Model["myMovies"]={films:{reminders:res}}}Model.App.refreshLibrary=true;var sel=targetBtn.replace("_Overlay","");$("#"+sel+" .content p").html(detailsItems.btn_remind)},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;details.publish("Error")})},2e3)},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;details.publish("Error")})}else if(e.delegateTarget.id==="details_media"){var str=e.target.id;var pos=parseInt(str.substring(str.indexOf("pos_")+4,str.indexOf("_Overlay")));details.prepareToShowMediaPlayer(pos)}},detailsKeydown:function(e,keycode){switch(keycode){case Keys.getBind("Down"):Model.App.showDetailArrow="up";break;case Keys.getBind("Up"):Model.App.showDetailArrow="down";break}},detailsHover:function(e){},detailsMouseOut:function(e){},movieReleased:function(){var released=true;var releaseDate=new Date(Model.App.movie.release_date);var currentDate=(new Date).getTime();if(releaseDate>currentDate){released=false}return released},rebuildView:function(){var carouselList=this.children["detailsList"].view;carouselList.reset();this.buildView()},createCarouselsList:function(id){var scope=this;var carouselList=this.children["detailsList"].view;carouselList.childIndex=0;carouselList.childIndexList={};$("#detailsList .CarouselsList_Container").css({top:"0px"});$("#categories").hide();var movie=Model.App.movie;var callBacks={clickCB:this.detailsClick,keydownCB:this.detailsKeydown,hoverCB:this.detailsHover,mouseOutCB:this.detailsMouseOut};var carouselData=[];var title="";var reminderSet=false;var movieReleased=this.movieReleased();var detailsItems=language[Model.App.file.language].detailsScreen;var call=function(){var scrn=$("#Screen");if(scrn.is(":visible")){TVA.log("SCREEN WAS VISIBLE");scrn.hide()}title="";if(Model.App.movie.imagery.trailers.length>0){carouselData.push(detailsItems.btn_trailer)}carouselList.addCarousel("details_watch",callBacks,carouselData,title);carouselData=[];title=detailsItems.media;var stills=movie.imagery.stills;if(stills){for(var i=0;i<stills.length;i++){carouselData.push(stills[i].id)}carouselList.addCarousel("details_media",callBacks,carouselData,title)}var children=ViewControllerManager.find("detailsList").children;ViewControllerManager.find("detailsList")._enableElement(children[Object.keys(children)[0]].view.name);if($("#ModalFeatRegSuccess #btn_exit")[0]){TVA.setFocus("btn_exit")}if(Model.App.promptReview){scope.publish("Rating")}};if(Model.App.loggedIn){if(Model.myMovies&&Model.myMovies.films.reminders.length>0){for(var i=0;i<Model.myMovies.films.reminders.length;i++){if(Model.myMovies.films.reminders[i].id===Model.App.movie.flix_id){reminderSet=true;break}}}if(reminderSet){carouselData.push(detailsItems.btn_reminderSet);call()}else if(!movieReleased){carouselData.push(detailsItems.btn_remind);call()}else{API.moviePass(Model.App.movie.flix_id,function(res){if(res.pass_exists){carouselData.push(detailsItems.btn_watch)}else if(Model.App.file.user.ticket_count>0){carouselData.push(detailsItems.btn_useTicket)}else{carouselData.push(detailsItems.btn_buyTicket)}call()},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})}}else{if(!movieReleased){carouselData.push(detailsItems.btn_remind)}else{carouselData.push(detailsItems.btn_buyTicket)}call()}},relatedClick:function(){var Details=ViewControllerManager.find("Details");var pos=this.pos;var movie=Details.relatedData.related[pos];var movie_id=movie.id;Details.getRelatedMovieDetails(movie_id)},getRelatedMovieDetails:function(id){var self=this;var aux=$("#screens").find("#search_results");API.getMovie(id,function(data){if(aux.length>0){Model.App["returnFromDetailsTo"]={parent:"search_results",screen:"search_results"}}Model.App["movie"]=data;self.removeChild("detailsList");self.watched=false;WidgetManager.addWidget(self,"detailsList","#Details",{},{});self._getRelatedData(function(result){self.createCarouselsList(Model.App.movie);$("#backIcon").text(language[Model.App.file.language].common.btn_back)},function(result,errorCode){Model.App.errorCode=errorCode;self.publish("Error")});$("#Screen").hide()},function(){Model.App.errorCode=errorCode;self.publish("Error")})},back:function(e){Model.App.showDetailArrow=null;Model.App.watched=false;Model.App.profileState="details";var home=ViewControllerManager.find("Home");home.back(e);$("#backIcon").text(language[Model.App.file.language].common.btn_menu);Model.App.profileState="screen";if(ViewControllerManager.find("Home").updateHome){ViewControllerManager.find("Home").updateHome=false;ViewControllerManager.find("Home").redrawFeaturedCarousel();ViewControllerManager.find("Home").enable()}},prepareToShowPlayer:function(){Model.App.seekTime=0;var root=ViewControllerManager.find("Root");var player=ViewControllerManager.find("Player");root.addChild(player,"#PlayerContent");$("#AppContent").hide()},prepareToShowMediaPlayer:function(position){var root=ViewControllerManager.find("Root");var player=ViewControllerManager.find("MediaPlayer");player.position=position;root.addChild(player,"#PlayerContent");$("#AppContent").hide()},_getRelatedData:function(onSuccess,onError){var self=this;var id=Model.App.movie.id;Util.showSpriteLoader();API.getRelated(id,function(result){Util.hideSpriteLoader();self.relatedData=result;onSuccess&&onSuccess(result)},function(result){onError&&onError(result)})},isotime:function(iso){if(iso){var arr=iso.split(new RegExp("-|T|:|\\.|\\+"));if(arr.length>6){}if(arr[5][arr[5].length-1]==="Z"){arr[5]=arr[5].substring(0,arr[5].length-1)}var isoDate=new Date(arr[0],arr[1]-1,arr[2],arr[3],arr[4],arr[5]);return isoDate.getTime()}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("SignInVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="";this.navigation={SignIn_sign_btn:{Down:"SignIn_register_btn"},SignIn_register_btn:{Up:"SignIn_sign_btn"}}},onLoad:function(){$("#backIcon").text(language[Model.App.file.language].common.btn_exit)},render:function(location){this._super(location);if(settings.device==="lg"||settings.device==="webos"){$("#SignInContainer").css("background-image",'url("./css/assets/background.png")')}this._enableElement("SignIn_sign_btn");this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in Sign In screen");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.goBack(e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},onHover:function(event){var element=event.target.id;this._enableElement(element)},goBack:function(e){this.unload();var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");Home.addChild(Profile,"#screens");Profile.activeChild="btn_register";TVA.setFocus(Profile.activeChild)},onUnload:function(){$("#backIcon").text(language[Model.App.file.language].common.btn_menu);this._enableElement("SignIn_sign_btn")},signInClick:function(){var keyboard=ViewControllerManager.find("Keyboard");var home=ViewControllerManager.find("Home");if(TVA.onFocus==="SignIn_sign_btn"){var SignInHandler=ViewControllerManager.find("SignInHandler");home.removeChild("SignIn");home.addChild(keyboard,"#screens");keyboard.extraInfoController="SignInHandler";keyboard.addChild(SignInHandler,"#ExtraInfo")}else if(TVA.onFocus==="SignIn_register_btn"){var RegisterHandler=ViewControllerManager.find("RegisterHandler");home.removeChild("SignIn");home.addChild(keyboard,"#screens");keyboard.extraInfoController="RegisterHandler";keyboard.addChild(RegisterHandler,"#ExtraInfo")}},_populateFields:function(){$("#SignIn_sign_btn").text(language[Model.App.file.language].loginScreen.btn_signin);$("#SignIn_register_btn").text(language[Model.App.file.language].loginScreen.btn_register);$("#SignIn_description").text(language[Model.App.file.language].loginScreen.signin_or_register)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("KeyboardVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="keyboard-0-0";this.keyboardShift=false;this.lettersFirstRow=["a","b","c","d","e","f","g","h","i"];this.lettersSecondRow=["j","k","l","m","n","o","p","q","r"];this.lettersThirdRow=["s","t","u","v","w","x","y","z","0"];this.lettersFourthRow=["1","2","3","4","5","6","7","8","9"];this.charsFirstRow=["@","-","_","!","?",".",":",",",";"];this.charsSecondRow=["#","$","£","^","~","´","`","+","="];this.charsThirdRow=["*","&","%","(",")","/","\\","{","}"];this.charsFourthRow=["<",">","[","]","”","“"];this.offset=10;this.extraInfoController=undefined;this.passwordMode=false;this.numericalKeyboard=false;this.insertedText="";this.aux_focus="";var self=this;setInterval(function(){if(self.input)self.input.toggleClass("has-cursor")},500)},onLoad:function(){TVA.log("loading Keyboard");$("#backIcon").text(language[Model.App.file.language].common.btn_back)},onUnload:function(){if(settings.device==="ps3"||settings.device==="ps4"||settings.device==="psvita"){var backBtnIcon="btn_o";$("#backIcon").css("background-image","url(css/assets/"+backBtnIcon+".png");$("#backIcon").css("color","#FFFFFF")}this._enableElement("keyboard-0-0");$("#backIcon").text(language[Model.App.file.language].common.btn_menu);$(".keyboardLetters").empty();this.resetInput()},render:function(location){this._super(location);if(TVA.device==="lg"||TVA.device==="webos"){$("#MainKeyboard").css("background-image",'url("./css/assets/background.png")')}var backBtnIcon="backarrow_grey";if(settings.device==="ps3"||settings.device==="ps4"||settings.device==="psvita"){backBtnIcon="btn_o"}if(this.extraInfoController!=="Search"){}this._appendLettersToDiv(this.lettersFirstRow,".keyboardFirstRow","0");this._appendLettersToDiv(this.lettersSecondRow,".keyboardSecondRow","1");this._appendLettersToDiv(this.lettersThirdRow,".keyboardThirdRow","2");this._appendLettersToDiv(this.lettersFourthRow,".keyboardFourthRow","3");if(!this.numericalKeyboard){this._enableElement("keyboard-0-0")}else{this._enableElement("keyboard-3-0")}this.input=$("#keyboardInput");this.resetInput();$("#keyboard-4-1").find("span").html(language[Model.App.file.language].common.space);$("#keyboard-4-2").find("span").html(language[Model.App.file.language].common.delete);$("#keyboard-4-3").find("span").html(language[Model.App.file.language].common.clear)},_appendLettersToDiv:function(lettersArray,divClass,row){lettersArray.forEach(function(element,index){var letterContainer=$("<div>");letterContainer.attr("id","keyboard-"+row+"-"+index);letterContainer.addClass("keyboardKey hoveritem");var focusDiv=$("<div>");letterContainer.append(focusDiv);var letter=$("<span>").text(element);letterContainer.append(letter);$(divClass+" > .keyboardLetters").append(letterContainer)})},onKeyDown:function(e,keyCode){TVA.log("Keydown on Keyboard");var auxIdRow=parseInt(e.target.id.slice(e.target.id.indexOf("-")+1,e.target.id.lastIndexOf("-")));var auxIdColumn=parseInt(e.target.id.slice(e.target.id.lastIndexOf("-")+1));var Search=ViewControllerManager.find("Search");$("#backIcon").removeClass("active");if(Model.App.listen){if(!this.numericalKeyboard){switch(keyCode){case Keys.getBind("Up"):if(!this.keyboardShift){if(auxIdRow>0&&auxIdRow<=3){this._enableElement("keyboard-"+(auxIdRow-1)+"-"+auxIdColumn)}else if(auxIdRow===4&&auxIdColumn===0){this._enableElement("keyboard-3-0")}else if(auxIdRow===4&&auxIdColumn===1){this._enableElement("keyboard-3-2")}else if(auxIdRow===4&&auxIdColumn===2){this._enableElement("keyboard-3-5")}else if(auxIdRow===4&&auxIdColumn===3){this._enableElement("keyboard-3-7")}}else{if(auxIdRow<4){this._enableElement("keyboard-"+(auxIdRow-1)+"-"+auxIdColumn)}else if(auxIdRow===4&&(auxIdColumn===2||auxIdColumn===3)){this._enableElement("keyboard-3-5")}else if(auxIdRow===4&&auxIdColumn===0){this._enableElement("keyboard-"+(auxIdRow-1)+"-"+auxIdColumn)}else if(auxIdRow===4&&auxIdColumn===1){this._enableElement("keyboard-3-2")}}e.stopPropagation();break;case Keys.getBind("Down"):if(!this.keyboardShift){if(auxIdRow<3&&auxIdRow>=0){this._enableElement("keyboard-"+(auxIdRow+1)+"-"+auxIdColumn)}else if(auxIdRow===3&&(auxIdColumn===0||auxIdColumn===1)){this._enableElement("keyboard-4-0")}else if(auxIdRow===3&&(auxIdColumn===2||auxIdColumn===3||auxIdColumn===4)){this._enableElement("keyboard-4-1")}else if(auxIdRow===3&&(auxIdColumn===5||auxIdColumn===6)){this._enableElement("keyboard-4-2")}else if(auxIdRow===3&&(auxIdColumn===7||auxIdColumn===8)){this._enableElement("keyboard-4-3")}}else{if(auxIdRow<=1||auxIdRow===2&&auxIdColumn<=5){this._enableElement("keyboard-"+(auxIdRow+1)+"-"+auxIdColumn)}else if(auxIdRow===2&&auxIdColumn>5){this._enableElement("keyboard-3-5")}else if(auxIdRow===3&&(auxIdColumn===0||auxIdColumn===1)){this._enableElement("keyboard-4-0")}else if(auxIdRow===3&&(auxIdColumn===2||auxIdColumn===3||auxIdColumn===4)){this._enableElement("keyboard-4-1")}else if(auxIdRow===3&&auxIdColumn===5){this._enableElement("keyboard-4-2")}}e.stopPropagation();break;case Keys.getBind("Left"):if(!this.keyboardShift){if(auxIdColumn>0&&auxIdRow<=3){this._enableElement("keyboard-"+auxIdRow+"-"+Util.mod(auxIdColumn-1,9))}else if(auxIdColumn>0&&auxIdRow===4){this._enableElement("keyboard-"+auxIdRow+"-"+Util.mod(auxIdColumn-1,4))}else if(auxIdColumn===0&&this.extraInfoController==="Search"){this.goBack(e,this.extraInfoController)}}else{if(auxIdColumn>0&&auxIdRow<=2){this._enableElement("keyboard-"+auxIdRow+"-"+Util.mod(auxIdColumn-1,9))}else if(auxIdColumn>0&&auxIdRow===3){this._enableElement("keyboard-"+auxIdRow+"-"+Util.mod(auxIdColumn-1,6))}else if(auxIdColumn>0&&auxIdRow===4){this._enableElement("keyboard-"+auxIdRow+"-"+Util.mod(auxIdColumn-1,4))}else if(auxIdColumn===0&&this.extraInfoController==="Search"){this.goBack(e,this.extraInfoController)}}e.stopPropagation();break;case Keys.getBind("Right"):if(!this.keyboardShift){if(auxIdColumn<8&&auxIdRow<=3){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn+1)%9)}else if(auxIdRow===4&&auxIdColumn<3){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn+1)%4)}else if(auxIdColumn===8&&auxIdRow<=3||auxIdRow===4&&auxIdColumn===3){this.aux_focus=TVA.onFocus;if(this.extraInfoController==="Search"&&Search.notFound){e.stopPropagation();return}else if(this.extraInfoController==="Search"&&(Search.searchSuggestionsList.movies.length>0||Search.searchSuggestionsList.cast.length>0||Search.searchSuggestionsList.genre.length>0)){ViewControllerManager.find(this.extraInfoController).children.searchSuggestions.view.enable();this.children["Search"].view.enable();e.stopPropagation();return}TVA.setFocus(ViewControllerManager.find(this.extraInfoController).activeChild);if(TVA.onFocus===""&&document.getElementById("signInHandler_btn")!==null){TVA.setFocus("signInHandler_btn")}else if(TVA.onFocus===""&&document.getElementById("signInHandler_btn")===null&&document.getElementById("creditCardHandler_btn")!==null){TVA.setFocus("creditCardHandler_btn")}else if(TVA.onFocus===""&&document.getElementById("registerHandler_btn")!==null){TVA.setFocus("registerHandler_btn")}e.stopPropagation();break}}else{if(auxIdRow<=2&&auxIdColumn<8){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn+1)%9)}else if(auxIdRow<=2&&auxIdColumn===8||auxIdRow===3&&auxIdColumn===5||auxIdRow===4&&auxIdColumn===3){this.aux_focus=TVA.onFocus;if(this.extraInfoController==="Search"&&Search.searchSuggestionsList.length===0){e.stopPropagation();return}else if(this.extraInfoController==="Search"&&Search.searchSuggestionsList.movies.length>0||Search.searchSuggestionsList.cast.length>0||Search.searchSuggestionsList.genre.length>0){ViewControllerManager.find(this.extraInfoController).children.searchSuggestions.view.enable();this.children["Search"].view.enable();e.stopPropagation();return}TVA.setFocus(ViewControllerManager.find(this.extraInfoController).activeChild);if(TVA.onFocus===""&&document.getElementById("signInHandler_btn")!==null){TVA.setFocus("signInHandler_btn")}else if(TVA.onFocus===""&&document.getElementById("signInHandler_btn")===null&&document.getElementById("creditCardHandler_btn")!==null){TVA.setFocus("creditCardHandler_btn")}else if(TVA.onFocus===""&&document.getElementById("registerHandler_btn")!==null){TVA.setFocus("registerHandler_btn")}e.stopPropagation();break}else if(auxIdRow===3&&auxIdColumn<5){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn+1)%6)}else if(auxIdRow===4&&auxIdColumn<3){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn+1)%4)}}if(TVA.onFocus===""&&document.getElementById("signInHandler_btn")!==null){TVA.setFocus("signInHandler_btn")}else if(TVA.onFocus===""&&document.getElementById("signInHandler_btn")===null&&document.getElementById("creditCardHandler_btn")!==null){TVA.setFocus("creditCardHandler_btn")}else if(TVA.onFocus===""&&document.getElementById("registerHandler_btn")!==null){TVA.setFocus("registerHandler_btn")}e.stopPropagation();break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Circle"):case Keys.getBind("Back"):this.goBack(e,this.extraInfoController);e.stopPropagation();break}}else{switch(keyCode){case Keys.getBind("Up"):if(auxIdRow===3){this._enableElement("keyboard-2-8")}else if(auxIdRow===4){if(auxIdColumn===2){this._enableElement("keyboard-3-5")}else if(auxIdColumn===3){this._enableElement("keyboard-3-7")}}e.stopPropagation();break;case Keys.getBind("Down"):if(auxIdRow===2){this._enableElement("keyboard-3-8")}else if(auxIdRow===3&&auxIdColumn<=6){this._enableElement("keyboard-4-2")}else if(auxIdRow===3&&auxIdColumn>6){this._enableElement("keyboard-4-3")}e.stopPropagation();break;case Keys.getBind("Left"):if(auxIdRow===3&&auxIdColumn>0){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn-1))}else if(auxIdRow===4&&auxIdColumn===3){this._enableElement("keyboard-4-2")}e.stopPropagation();break;case Keys.getBind("Right"):if(auxIdColumn===8&&auxIdRow<4||auxIdColumn===3&&auxIdRow===4){this.aux_focus=TVA.onFocus;if(this.extraInfoController==="Search"&&Search.searchSuggestionsList.length===0){e.stopPropagation();return}else if(this.extraInfoController==="Search"&&Search.searchSuggestionsList.length>0){TVA.setFocus(ViewControllerManager.find(this.extraInfoController).activeChild);this.children["Search"].view.enable();e.stopPropagation();return}TVA.setFocus(ViewControllerManager.find(this.extraInfoController).activeChild);e.stopPropagation();break}else if(auxIdRow===3&&auxIdColumn<8||auxIdRow===4&&auxIdColumn===2){this._enableElement("keyboard-"+auxIdRow+"-"+(auxIdColumn+1))}e.stopPropagation();break;case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break;case Keys.getBind("Circle"):case Keys.getBind("Back"):this.goBack(e,this.extraInfoController);e.stopPropagation();break}}}},onShiftClick:function(){if(this.numericalKeyboard){return}this.keyboardShift=!this.keyboardShift;if(this.keyboardShift){$(".keyboardFirstRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.charsFirstRow,".keyboardFirstRow","0");$(".keyboardSecondRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.charsSecondRow,".keyboardSecondRow","1");$(".keyboardThirdRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.charsThirdRow,".keyboardThirdRow","2");$(".keyboardFourthRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.charsFourthRow,".keyboardFourthRow","3");$(".keyboardShiftText").text("ab12")}else{$(".keyboardFirstRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.lettersFirstRow,".keyboardFirstRow","0");$(".keyboardSecondRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.lettersSecondRow,".keyboardSecondRow","1");$(".keyboardThirdRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.lettersThirdRow,".keyboardThirdRow","2");$(".keyboardFourthRow").find(".keyboardLetters").empty();this._appendLettersToDiv(this.lettersFourthRow,".keyboardFourthRow","3");$(".keyboardShiftText").text("!?@-")}},onHover:function(event){var _this=this;if(this.activeChild!=="signInHandler_btn"){this.prevKey=this.activeChild}Util.getFirstElementWithId(event.target,function(id){_this.aux_focus=id;if(_this.numericalKeyboard){if(!_this._isNumericId(id)){return}}_this._enableElement(id);if(_this.extraInfoController==="Search"){$("#searchSuggestions ").find(".active").removeClass("active")}})},_isNumericId:function(id){switch(id){case"keyboard-2-8":return true;case"keyboard-3-0":return true;case"keyboard-3-1":return true;case"keyboard-3-2":return true;case"keyboard-3-3":return true;case"keyboard-3-4":return true;case"keyboard-3-5":return true;case"keyboard-3-6":return true;case"keyboard-3-7":return true;case"keyboard-3-8":return true;case"keyboard-4-2":return true;case"keyboard-4-3":return true;default:return false}},onKeyClick:function(event){var _this=this;var input=$("#keyboardInput");Util.getFirstElementWithId(event.target,function(id){if(_this.numericalKeyboard){if(!_this._isNumericId(id)){return}}var letter=$("#"+id).text().trim();var existingText=_this.insertedText;var textLength=existingText.length;if(!_this.passwordMode){if(textLength<Model.App.maxInputLength){var inputStr=existingText+letter;var addInput=false;if(Model.App.monthInputActive){var month=parseInt(inputStr);if(month<13){addInput=true}}else{addInput=true}if(addInput){input.css("letter-spacing","1px");input.html(inputStr);_this.insertedText=input.text()}}}else{input.css("letter-spacing","8px");if(_this.passwordTimeout){clearTimeout(_this.passwordTimeout);var bull1=_this._createBullets();input.html(bull1)}var bull=_this._createBullets();input.html(bull+letter);existingText=existingText+letter;_this.insertedText=existingText;_this.passwordTimeout=setTimeout(function(){bull+="•";input.html(bull)},1e3)}var a=input.innerWidth();input.css("float",a>=380?"right":"left")});if(_this.extraInfoController==="Search"){var Search=ViewControllerManager.find("Search");Util.showSpriteLoader();Search.keyword=_this.insertedText;var activeChild=this.activeChild;Search.getSuggestions(function(){_this.setActiveChild(activeChild);_this.enable();Util.hideSpriteLoader()})}},onSpaceClick:function(event){var _this=this;if(this.numericalKeyboard){return}if(!this.passwordMode){var input=$("#keyboardInput");input.append(" ");this.insertedText=input.text()}if(this.extraInfoController==="Search"){var Search=ViewControllerManager.find("Search");Util.showSpriteLoader();Search.keyword=this.insertedText;var activeChild=this.activeChild;Search.getSuggestions(function(){_this.setActiveChild(activeChild);_this.enable();Util.hideSpriteLoader()})}},onDeleteClick:function(event){var _this=this;if(this.passwordTimeout){clearTimeout(this.passwordTimeout)}var input=$("#keyboardInput");var a=input.innerWidth();input.text(input.text().substr(0,input.text().length-1));input.css("float",a>=401?"right":"left");if(!this.passwordMode){this.insertedText=input.text()}else{this.insertedText=this.insertedText.substring(0,this.insertedText.length-1)}if(this.passwordMode){var bull=this._createBullets();input.html(bull)}if(this.extraInfoController==="Search"){var Search=ViewControllerManager.find("Search");Util.showSpriteLoader();Search.keyword=this.insertedText;var activeChild=this.activeChild;Search.getSuggestions(function(){_this.setActiveChild(activeChild);_this.enable();Util.hideSpriteLoader()})}},onClearClick:function(event){var _this=this;clearTimeout(this.passwordTimeout);var input=$("#keyboardInput");input.empty();input.css("float","left");this.insertedText=input.text();if(this.extraInfoController==="Search"){var Search=ViewControllerManager.find("Search");Util.showSpriteLoader();Search.keyword=this.insertedText;var activeChild=this.activeChild;Search.getSuggestions(function(){_this.setActiveChild(activeChild);_this.enable();Util.hideSpriteLoader()})}},goBack:function(e,controller){var scope=this;var input=$("#keyboardInput");var signHandler=ViewControllerManager.find("SignInHandler");var registerHandler=ViewControllerManager.find("RegisterHandler");var creditCardHandler=ViewControllerManager.find("CreditCardHandler");var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");var SignInMenu=ViewControllerManager.find("SignInMenu");var Keyboard=ViewControllerManager.find("Keyboard");var Search=ViewControllerManager.find("Search");var errorMSG=$("#creditCardHandler_error");var ccButton=$("#creditCardHandler_btn");Model.App.monthInputActive=false;Model.App.maxInputLength=255;switch(controller){case"SignInHandler":$("#signInHandler_error").hide();if(signHandler.secondPart){clearTimeout(this.passwordTimeout);input.css("letter-spacing","1px");Keyboard.passwordMode=false;signHandler.secondPart=false;$("#signInHandler_info").text(language[Model.App.file.language].loginScreen.email_signin);$("#signInHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);input.html(signHandler.SignInEmail);this.insertedText=input.text()}else{if(Model.App.profileState!=="signIn"){Keyboard.passwordMode=false;signHandler.secondPart=false;input.empty();this.insertedText=input.text();Home.removeChild("Keyboard");Home.addChild(SignInMenu,"#screens")}else{Keyboard.removeChild("SignInHandler");this.parentVC.onClose()}}e.stopPropagation();break;case"RegisterHandler":if(registerHandler.secondPart){clearTimeout(this.passwordTimeout);input.css("letter-spacing","1px");Keyboard.passwordMode=false;registerHandler.secondPart=false;$("#registerHandler_info").text(language[Model.App.file.language].loginScreen.email_register);$("#registerHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);input.html(registerHandler.RegisterEmail);this.insertedText=input.text()}else{if(Model.App.profileState!=="register"){Keyboard.passwordMode=false;registerHandler.secondPart=false;input.empty();this.insertedText=input.text();Home.removeChild("Keyboard");Home.addChild(SignInMenu,"#screens")}else{Keyboard.removeChild("RegisterHandler");this.parentVC.onClose()}}e.stopPropagation();break;case"CreditCardHandler":Keyboard.resetInput();switch(creditCardHandler.CCstate){case"firstName":Model.App.maxInputLength=255;Keyboard.resetInput();creditCardHandler.CCfirstName="";creditCardHandler._resetSamples();$("#creditCard_firstName").html(" ");creditCardHandler._hideGreenCheck("creditCardTitle_firstName");Keyboard.removeChild("CreditCardHandler");scope.parentVC.onClose();break;case"lastName":Model.App.maxInputLength=255;$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_firstName);$("#creditCard_firstName").html(" ");creditCardHandler._hideGreenCheck("creditCardTitle_firstName");Keyboard.resetInput();errorMSG.text("");errorMSG.hide();input.html(creditCardHandler.CCfirstName);Keyboard.insertedText=input.text();creditCardHandler.CClastName="";creditCardHandler.CCstate="firstName";break;case"number":Model.App.maxInputLength=255;$("#creditCard_lastName").html(" ");creditCardHandler._hideGreenCheck("creditCardTitle_lastName");Keyboard.changeToFull();Keyboard.resetInput();errorMSG.text("");errorMSG.hide();input.html(creditCardHandler.CClastName);Keyboard.insertedText=input.text();creditCardHandler.CCnumber="";creditCardHandler.stripeError=false;ccButton.text(language[Model.App.file.language].loginScreen.btn_next);$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_lastName);creditCardHandler.CCstate="lastName";break;case"month":Model.App.maxInputLength=16;$("#creditCard_number").html(" ");creditCardHandler._hideGreenCheck("creditCardTitle_number");Keyboard.resetInput();errorMSG.text("");errorMSG.hide();input.html(creditCardHandler.CCnumber);Keyboard.insertedText=input.text();creditCardHandler.CCmonth="";$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_number);creditCardHandler.stripeError=false;ccButton.text(language[Model.App.file.language].loginScreen.btn_next);creditCardHandler.CCstate="number";break;case"year":Model.App.maxInputLength=2;Model.App.monthInputActive=true;$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_month);$("#creditCardHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#creditCard_monthyear").html(" ");creditCardHandler._hideGreenCheck("creditCardTitle_monthyear");Keyboard.resetInput();errorMSG.text("");errorMSG.hide();input.html(creditCardHandler.CCmonth);Keyboard.insertedText=input.text();creditCardHandler.CCyear="";creditCardHandler.stripeError=false;ccButton.text(language[Model.App.file.language].loginScreen.btn_next);creditCardHandler.CCstate="month";break;case"cvv":Model.App.maxInputLength=2;$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_year);$("#creditCardHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#creditCard_monthyear").html(creditCardHandler.CCmonth+" / ");Keyboard.resetInput();errorMSG.text("");errorMSG.hide();input.html(creditCardHandler.CCyear);Keyboard.insertedText=input.text();creditCardHandler.CCcvv="";creditCardHandler.stripeError=false;ccButton.text(language[Model.App.file.language].loginScreen.btn_next);creditCardHandler.CCstate="year";break}e.stopPropagation();break;case"Search":input.empty();this.insertedText=input.text();Search.searchResults=[];var act=Keyboard.activeChild;if(act==="Search"){Keyboard.activeChild="keyboard-0-0"}ViewControllerManager.find("Search").removeChild("searchSuggestions");Home.showSideMenu();Home.children["mainMenu"].view.enable();Home.navigation.mainMenu.Right="Keyboard";e.stopPropagation();break}},_createBullets:function(){var bull="";for(var i=0;i<this.insertedText.length;i++){bull+="•"}return bull},changeToNumeric:function(){$(".keyboardFirstRow > .keyboardLetters > div > span").css("color","#555555");$(".keyboardSecondRow >.keyboardLetters > div > span").css("color","#555555");$(".keyboardThirdRow > .keyboardLetters > div > span").css("color","#555555");$(".keyboardFifthRow > div > span").css("color","#555555");$(".keyboardLetters > #keyboard-2-8 > span").css("color","#FFFFFF");$(".keyboardFifthRow > #keyboard-4-2 > span").css("color","#FFFFFF");$(".keyboardFifthRow > #keyboard-4-3 > span").css("color","#FFFFFF");this.numericalKeyboard=true;this.activeChild="keyboard-2-8"},changeToFull:function(){$(".keyboardFirstRow > .keyboardLetters > div > span").css("color","#FFFFFF");$(".keyboardSecondRow >.keyboardLetters > div > span").css("color","#FFFFFF");$(".keyboardThirdRow > .keyboardLetters > div > span").css("color","#FFFFFF");$(".keyboardFifthRow > div > span").css("color","#FFFFFF");this.numericalKeyboard=false},resetInput:function(){var input=$("#keyboardInput");input.empty();this.insertedText=input.text();input.css({"text-indent":"10px",float:"none"})}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("SignInHandlerVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="signInHandler_btn";this.navigation={};this.secondPart=false;this.SignInEmail=undefined;this.SignInPassword=undefined},onLoad:function(){},render:function(location){this._super(location);this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in Sign In Handler");switch(keyCode){case Keys.getBind("Left"):var Keyboard=ViewControllerManager.find("Keyboard");if(Keyboard.activeChild==="signInHandler_btn"){TVA.setFocus(Keyboard.prevKey)}else{TVA.setFocus(Keyboard.activeChild)}e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}},onHover:function(event){var element=event.target.id;this._enableElement(element)},onUnload:function(){this.activeChild="";TVA.setFocus(this.activeChild)},onClick:function(){var _this=this;var Keyboard=ViewControllerManager.find("Keyboard");if(!_this.secondPart){if(Keyboard.insertedText!==""&&this.validateEmail(Keyboard.insertedText)){$("#signInHandler_error").hide();Keyboard.passwordMode=true;Keyboard.offset=10;$("#signInHandler_info").text(language[Model.App.file.language].loginScreen.password_signin);$("#signInHandler_btn").text(language[Model.App.file.language].loginScreen.btn_signin);_this.SignInEmail=Keyboard.insertedText;_this.secondPart=true;Keyboard.resetInput()}else{$("#signInHandler_error").text(language[Model.App.file.language].loginScreen.err_no_username);$("#signInHandler_error").show()}}else{if(Keyboard.insertedText!==""){$("#signInHandler_error").hide();Keyboard.passwordMode=false;_this.SignInPassword=Keyboard.insertedText;_this.secondPart=false;this._authenticateUser()}else{$("#signInHandler_error").text(language[Model.App.file.language].loginScreen.err_no_password);$("#signInHandler_error").show()}}},_authenticateUser:function(){var _this=this;var Keyboard=ViewControllerManager.find("Keyboard");var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");var input=$("#keyboardInput");var email=_this.SignInEmail;var pass=_this.SignInPassword;var parameters={email:email,password:pass};var success=function(result){ViewControllerManager.find("Home").updateHome=true;Model.App.file["user"]=result.result;Model.App.file.user.authToken=result.errorThrown.getResponseHeader("Authorization");Util.saveFile(Model.App.file);Model.App.refreshLibrary=true;Model.App.loggedIn=true;API.getReminders(function(res){if(Model.myMovies){Model.myMovies.films.reminders=res}else{Model["myMovies"]={films:{reminders:res}}}},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")});$("#signInHandler_info").text(language[Model.App.file.language].loginScreen.email_signin);$("#signInHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#signInHandler_error").hide();Keyboard.removeChild("SignInHandler");Keyboard.parentVC.onClose();Util.hideSpriteLoader()};var error=function(){$("#signInHandler_error").text(language[Model.App.file.language].loginScreen.err_wrong_credentials);$("#signInHandler_error").show();$("#signInHandler_info").text(language[Model.App.file.language].loginScreen.email_signin);$("#signInHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);input=$("#keyboardInput");input.html(_this.SignInEmail);Keyboard.insertedText=input.text();clearTimeout(Keyboard.passwordTimeout);input.css("letter-spacing","1px");Util.hideSpriteLoader()};Util.showSpriteLoader();API.signIn(parameters,success,error)},_populateFields:function(){$("#signInHandler_info").text(language[Model.App.file.language].loginScreen.email_signin);$("#signInHandler_error").text(language[Model.App.file.language].loginScreen.err_wrong_credentials);$("#signInHandler_error").hide();$("#signInHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next)},validateEmail:function(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("RegisterHandlerVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="registerHandler_btn";this.navigation={};this.secondPart=false;this.RegisterEmail=undefined;this.RegisterPassword=undefined},onLoad:function(){},render:function(location){this._super(location);this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in Register Handler");switch(keyCode){case Keys.getBind("Left"):var Keyboard=ViewControllerManager.find("Keyboard");TVA.setFocus(ViewControllerManager.find("Keyboard").activeChild);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}},onHover:function(event){var element=event.target.id;this._enableElement(element)},onUnload:function(){this.activeChild="";TVA.setFocus(this.activeChild)},onClick:function(){var _this=this;var input=$("#keyboardInput");var Keyboard=ViewControllerManager.find("Keyboard");if(!_this.secondPart){if(Keyboard.insertedText!==""&&this.validateEmail(Keyboard.insertedText)){Keyboard.passwordMode=true;Keyboard.offset=10;$("#registerHandler_info").text(language[Model.App.file.language].loginScreen.password_register);$("#registerHandler_btn").text(language[Model.App.file.language].loginScreen.btn_register);_this.RegisterEmail=Keyboard.insertedText;_this.secondPart=true;input.empty();Keyboard.insertedText=input.text();$("#registerHandler_error").hide();input.css({"text-indent":"10px"});$("#keyboardInput").css("float","none")}else{$("#registerHandler_error").text(language[Model.App.file.language].loginScreen.err_no_username);$("#registerHandler_error").show()}}else{var aux=Keyboard.insertedText;if(aux.length>=6){$("#registerHandler_error").hide();Keyboard.passwordMode=false;_this.RegisterPassword=Keyboard.insertedText;_this.secondPart=false;input.empty();Keyboard.insertedText=input.text();this._createUser()}else{$("#registerHandler_error").text(language[Model.App.file.language].loginScreen.err_short_password);$("#registerHandler_error").show()}}},_createUser:function(){var _this=this;var Keyboard=ViewControllerManager.find("Keyboard");var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");var input=$("#keyboardInput");var email=_this.RegisterEmail;var pass=_this.RegisterPassword;var parameters={email:email,password:pass};var success=function(result){Model.App.showFeatRegSuccess=true;Model.App.file["user"]={authToken:"",user:{email:"",fullname:""}};Model.App.refreshLibrary=true;Model.App.file.user.authToken=result.errorThrown.getResponseHeader("Authorization");Model.App.file.user.user.email=email;Model.App.file.user.user.fullname="";Model.App.file.user.cards=[];Model.App.file.user.ticket_count=0;Util.saveFile(Model.App.file);Model.App.loggedIn=true;Util.hideSpriteLoader();$("#registerHandler_info").text(language[Model.App.file.language].loginScreen.email_register);$("#registerHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#registerHandler_error").hide();Keyboard.removeChild("RegisterHandler");Keyboard.parentVC.onClose(function(){Home.publish("FeatRegSuccess")})};var error=function(result){Util.hideSpriteLoader();var aux=result.xhr.responseJSON.errors.email[0];if(aux==="The email must be a valid email address."){$("#registerHandler_error").text(language[Model.App.file.language].loginScreen.err_invalid_email)}else if(aux==="This email is already in use."){$("#registerHandler_error").text(language[Model.App.file.language].loginScreen.err_email_in_use)}$("#registerHandler_info").text(language[Model.App.file.language].loginScreen.email_register);$("#registerHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#registerHandler_error").show();input=$("#keyboardInput");input.html(_this.RegisterEmail);Keyboard.insertedText=input.text();clearTimeout(Keyboard.passwordTimeout);input.css("letter-spacing","1px")};API.createUser(parameters,success,error);Util.showSpriteLoader()},_automaticSignIn:function(){var scope=this;API.getUser(function(result){Model.App.loggedIn=true;Model.App.file.user=result.result;Util.saveFile(Model.App.file)},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},_populateFields:function(){$("#registerHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#registerHandler_info").text(language[Model.App.file.language].loginScreen.email_register);$("#registerHandler_error").text(language[Model.App.file.language].loginScreen.err_short_password);$("#registerHandler_error").hide()},validateEmail:function(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("CreditCardHandlerVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="creditCardHandler_btn";this.navigation={};this.CCstate=undefined;this.CCfirstName=undefined;this.CClastName=undefined;this.CCnumber=undefined;this.CCmonth=undefined;this.CCyear=undefined;this.CCcvv=undefined;this.fullParam={name:"",number:"",exp_year:"",exp_month:"",cvc:""};this.stripeError=false},onLoad:function(){},render:function(location){this._super(location);this.CCstate="firstName";this._populateFields();this._hideAllChecks()},onKeyDown:function(e,keyCode){TVA.log("keydown in Credit Card Handler");switch(keyCode){case Keys.getBind("Left"):var Keyboard=ViewControllerManager.find("Keyboard");TVA.setFocus(ViewControllerManager.find("Keyboard").activeChild);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}},onHover:function(event){var element=event.target.id;this._enableElement(element);event.stopPropagation()},onUnload:function(){this.activeChild="";TVA.setFocus(this.activeChild)},onClick:function(){var _this=this;var Keyboard=ViewControllerManager.find("Keyboard");var inserted=Keyboard.insertedText;var errorMSG=$("#creditCardHandler_error");Model.App.monthInputActive=false;switch(_this.CCstate){case"firstName":if(inserted.length>0){_this.CCfirstName=inserted;_this.fullParam.name=_this.CCfirstName;Keyboard.resetInput();$("#creditCard_firstName").html(_this.CCfirstName);if(!_this.stripeError){$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_lastName);_this._displayGreenCheck("creditCardTitle_firstName");errorMSG.text("");errorMSG.hide();_this.CCstate="lastName"}else{_this.stripeError=false;$("#creditCard_firstName").css("color","#555555");errorMSG.hide();_this._requestStripeToken()}}else{errorMSG.text(language[Model.App.file.language].creditCard.err_wrong_credentials);errorMSG.show()}break;case"lastName":if(inserted.length>0){Model.App.maxInputLength=16;_this.CClastName=inserted;_this.fullParam.name+=" "+_this.CClastName;Keyboard.resetInput();$("#creditCard_lastName").html(_this.CClastName);if(!_this.stripeError){$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_number);this._displayGreenCheck("creditCardTitle_lastName");errorMSG.text("");errorMSG.hide();Keyboard.changeToNumeric();_this.CCstate="number"}else{_this.stripeError=false;$("#creditCard_lastName").css("color","#555555");errorMSG.hide();_this._requestStripeToken()}}else{errorMSG.text(language[Model.App.file.language].creditCard.err_wrong_credentials);errorMSG.show()}break;case"number":if(inserted.length>0){Model.App.maxInputLength=2;Model.App.monthInputActive=true;_this.CCnumber=inserted;_this.fullParam.number=_this.CCnumber;Keyboard.resetInput();$("#creditCard_number").html(_this.CCnumber);if(!_this.stripeError){$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_month);this._displayGreenCheck("creditCardTitle_number");errorMSG.text("");errorMSG.hide();_this.CCstate="month"}else{_this.stripeError=false;$("#creditCard_number").css("color","#555555");errorMSG.hide();_this._requestStripeToken()}}else{errorMSG.text(language[Model.App.file.language].creditCard.err_wrong_credentials);errorMSG.show()}break;case"month":if(inserted.length>0){Model.App.maxInputLength=2;if(inserted<10){_this.CCmonth="0"+inserted}else{_this.CCmonth=inserted}_this.fullParam.exp_month=_this.CCmonth;Keyboard.resetInput();$("#creditCard_monthyear").html(_this.CCmonth+" / ");_this.CCstate="year";$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_year);if(_this.stripeError){$("#creditCard_monthyear").css("color","#555555");_this._hideGreenCheck("creditCardTitle_monthyear");errorMSG.text("");errorMSG.hide();$("#creditCardHandler_btn").text(language[Model.App.file.language].creditCard.btn_addCard)}else{errorMSG.text("");errorMSG.hide()}}else{errorMSG.text(language[Model.App.file.language].creditCard.err_wrong_credentials);errorMSG.show()}break;case"year":if(inserted.length>0){Model.App.maxInputLength=4;_this.CCyear=inserted;_this.fullParam.exp_year=_this.CCyear;Keyboard.resetInput();$("#creditCard_monthyear").html(_this.CCmonth+" / "+_this.CCyear);if(!_this.stripeError){$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_cvv);this._displayGreenCheck("creditCardTitle_monthyear");errorMSG.text("");errorMSG.hide();$("#creditCardHandler_btn").text(language[Model.App.file.language].creditCard.btn_addCard);_this.CCstate="cvv"}else{_this.stripeError=false;errorMSG.hide();_this._requestStripeToken()}}else{errorMSG.text(language[Model.App.file.language].creditCard.err_wrong_credentials);errorMSG.show()}break;case"cvv":if(inserted.length>0){Model.App.maxInputLength=255;_this.CCcvv=inserted;_this.fullParam.cvc=_this.CCcvv;$("#creditCard_cvv").html(this.CCcvv);Keyboard.resetInput();if(!_this.stripeError){errorMSG.text("");errorMSG.hide()}else{_this.stripeError=false;errorMSG.hide()}this._requestStripeToken()}else{errorMSG.text(language[Model.App.file.language].creditCard.err_wrong_credentials);errorMSG.show()}break}},_displayGreenCheck:function(id){$("#"+id+" > .greenCheck").show();$("#"+id).css("padding-left","4px")},_displayAllChecks:function(){this._displayGreenCheck("creditCardTitle_lastName");this._displayGreenCheck("creditCardTitle_firstName");this._displayGreenCheck("creditCardTitle_number");this._displayGreenCheck("creditCardTitle_monthyear");this._displayGreenCheck("creditCardTitle_cvv")},_hideGreenCheck:function(id){$("#"+id+" > .greenCheck").hide();$("#"+id).css("padding-left","28px")},_hideAllChecks:function(){this._hideGreenCheck("creditCardTitle_lastName");this._hideGreenCheck("creditCardTitle_firstName");this._hideGreenCheck("creditCardTitle_number");this._hideGreenCheck("creditCardTitle_monthyear");this._hideGreenCheck("creditCardTitle_cvv")},_resetSamples:function(){var firstName=$("#creditCard_firstName");firstName.html(" ");firstName.css("color","#555555");var lastName=$("#creditCard_lastName");lastName.html(" ");lastName.css("color","#555555");var number=$("#creditCard_number");number.html(" ");number.css("color","#555555");var monthyear=$("#creditCard_monthyear");monthyear.html(" ");monthyear.css("color","#555555");var cvv=$("#creditCard_cvv");cvv.html(" ");cvv.css("color","#555555")},_createParamString:function(){var str="";str+="card[name]="+this.fullParam.name;str+="&card[number]="+this.fullParam.number;str+="&card[exp_year]="+this.fullParam.exp_year;str+="&card[exp_month]="+this.fullParam.exp_month;str+="&card[cvc]="+this.fullParam.cvc;return str},_requestStripeToken:function(){var _this=this;var Keyboard=ViewControllerManager.find("Keyboard");var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");var input=$("#keyboardInput");var parameters=_this._createParamString();var success=function(result){_this._displayAllChecks();$("#creditCard_cvv").html(_this.CCcvv);$("#creditCard_cvv").css("color","#555555");var token=result.result;_this._storeNewCard(token)};var error=function(result){Util.hideSpriteLoader();var errorType=result.xhr.responseJSON.error.param;_this.handleStripeError(errorType)};Util.showSpriteLoader();API.stripeCard(parameters,success,error)},handleStripeError:function(str){var input=$("#keyboardInput");var errorMSG=$("#creditCardHandler_error");var Keyboard=ViewControllerManager.find("Keyboard");this.stripeError=true;switch(str){case"number":errorMSG.text(language[Model.App.file.language].creditCard.err_inserting_number);errorMSG.show();$("#creditCard_number").css("color","#ae1927");$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_number);this._hideGreenCheck("creditCardTitle_number");input.html(this.CCnumber);Keyboard.insertedText=input.text();this.CCstate="number";break;case"exp_month":errorMSG.text(language[Model.App.file.language].creditCard.err_inserting_month);errorMSG.show();$("#creditCard_monthyear").css("color","#ae1927");$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_month);this._hideGreenCheck("creditCardTitle_monthyear");$("#creditCardHandler_btn").html("Next");input.html(this.CCmonth);Keyboard.insertedText=input.text();this.CCstate="month";break;case"exp_year":errorMSG.text(language[Model.App.file.language].creditCard.err_inserting_year);errorMSG.show();$("#creditCard_monthyear").css("color","#ae1927");$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_month);this._hideGreenCheck("creditCardTitle_monthyear");$("#creditCardHandler_btn").html("Next");input.html(this.CCmonth);Keyboard.insertedText=input.text();this.CCstate="month";break;case"cvc":errorMSG.text(language[Model.App.file.language].creditCard.err_inserting_cvv);errorMSG.show();$("#creditCard_cvv").css("color","#ae1927");$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_cvv);this._hideGreenCheck("creditCardTitle_cvv");input.html(this.CCcvv);Keyboard.insertedText=input.text();this.CCstate="cvv";break}if(str!=="cvc"){this._displayGreenCheck("creditCardTitle_cvv");$("#creditCard_cvv").html(this.CCcvv);$("#creditCard_cvv").css("color","#555555")}else if(str!=="number"){this._displayGreenCheck("creditCardTitle_number");$("#creditCard_number").html(this.CCnumber);$("#creditCard_number").css("color","#555555")}else if(str!=="exp_year"&&str!=="exp_month"){this._displayGreenCheck("creditCardTitle_monthyear");$("#creditCard_monthyear").html(this.CCmonth+" / "+this.CCyear);$("#creditCard_monthyear").css("color","#555555")}},_storeNewCard:function(str){var scope=this;var a=str.id;var Keyboard=ViewControllerManager.find("Keyboard");var Home=ViewControllerManager.find("Home");var Profile=ViewControllerManager.find("Profile");var Details=ViewControllerManager.find("Details");var parameters={token:a,default:1};var success=function(result){API.getUser(function(result){Model.App.loggedIn=true;Model.App.file.user=result.result;Model.App.file.user.authToken=result.errorThrown.getResponseHeader("Authorization");Util.saveFile(Model.App.file);switch(Model.App.keyboardReturnTo){case"profile":Keyboard.removeChild("CreditCardHandler");Home.removeChild("Keyboard");Home.addChild(ViewControllerManager.find("Profile"),"#screens");Home.activeChild=Profile;Util.hideSpriteLoader();break;case"details":var params={card_id:Model.App.file.user.cards[Model.App.file.cardIndex||0].card_id,bundle:Model.App.file.bundle};API.buyTickets(params,function(res){API.useTicket(Model.App.movie.flix_id,function(res){Keyboard.removeChild("CreditCardHandler");Home.removeChild("Keyboard");$("#Details").show();Home._enableElement("Details");scope.parentVC.parentVC.onClose();Util.hideSpriteLoader();Model.App.file.user.ticket_count--;if(Model.App.file.user.ticket_count<0){Model.App.file.user.ticket_count=0}ViewControllerManager.find("Details").showPlayer()},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")});break;case"featured":scope.parentVC.parentVC.onClose();break}},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})};var error=function(result,errorCode){Util.hideSpriteLoader();if(result.xhr.responseJSON.code==="incorrect_cvc"){scope.handleStripeError("cvc")}else{var b=result;Model.App.errorCode=errorCode;scope.publish("Error")}};API.storeNewCard(parameters,success,error)},_populateFields:function(){$("#creditCardHandler_main_info").text(language[Model.App.file.language].creditCard.Info_firstName);$("#creditCardHandler_error").text(language[Model.App.file.language].creditCard.err_wrong_credentials);$("#creditCardHandler_error").hide();$("#creditCardHandler_extra_info").text(language[Model.App.file.language].creditCard.labelsTitle);$("#creditCardHandler_btn").text(language[Model.App.file.language].loginScreen.btn_next);$("#creditCardTitle_firstName").html('<div class="greenCheck"></div>'+language[Model.App.file.language].creditCard.firstNameLabel);$("#creditCardTitle_lastName").html('<div class="greenCheck"></div>'+language[Model.App.file.language].creditCard.lastNameLabel);$("#creditCardTitle_number").html('<div class="greenCheck"></div>'+language[Model.App.file.language].creditCard.numberLabel);$("#creditCardTitle_monthyear").html('<div class="greenCheck"></div>'+language[Model.App.file.language].creditCard.monthyearLabel);$("#creditCardTitle_cvv").html('<div class="greenCheck"></div>'+language[Model.App.file.language].creditCard.cvvLabel)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("SearchVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="";this.navigation={};this.searchSuggestionsList={movies:[],cast:[],genre:[]};this.searchResults=[];this.keyword="";this.notFound=false},onLoad:function(){},render:function(location){var self=this;this._super(location);$("#FlixLogo").hide();$("#backIcon").text(language[Model.App.file.language].common.btn_menu);$("#SearchTitle").text(language[Model.App.file.language].menu.search);$("#ExtraInfo").css({top:"100px",height:"580px",width:"530px"});this.getSuggestions(function(){self.activeChild="";ViewControllerManager.find("Keyboard").activeChild="keyboard-0-0";TVA.setFocus(ViewControllerManager.find("Keyboard").activeChild)},function(){})},getSuggestions:function(onSuccess,onError){var self=this;var key=self.keyword;self.searchSuggestionsList={movies:[],cast:[],genre:[]};if(key!==""&&key.length>1){API.getAutoCompleteSuggestions(key,function(result){if(result.data[0].hasOwnProperty("keywords")){self.notFound=false;$("#searchSuggestions").find(".Grid_Container").empty();if(result.data[0].keywords.hasOwnProperty("movie")){self.searchSuggestionsList.movies=result.data[0].keywords.movie}if(result.data[0].keywords.hasOwnProperty("cast")){self.searchSuggestionsList.cast=result.data[0].keywords.cast}if(result.data[0].keywords.hasOwnProperty("genre")){self.searchSuggestionsList.genre=result.data[0].keywords.genre}self._createSuggestionsList()}else{self.notFound=true;var text;if(self.keyword===""){text=language[Model.App.file.language].searchScreen.startText;self.searchSuggestionsList.movies=[text]}else{text=language[Model.App.file.language].searchScreen.noContent;self.searchSuggestionsList.movies=[text]}$("#searchSuggestions").find(".Grid_Container").empty();self._createSuggestionsList()}onSuccess&&onSuccess()},function(result,errorCode){onError&&onError();Model.App.errorCode=errorCode;home.publish("Error")})}else{self.notFound=true;var text;if(self.keyword===""){text=language[Model.App.file.language].searchScreen.startText;self.searchSuggestionsList.movies=[text]}else{text=language[Model.App.file.language].searchScreen.noContent;self.searchSuggestionsList.movies=[text]}$("#searchSuggestions").find(".Grid_Container").empty();self._createSuggestionsList();onSuccess&&onSuccess()}},_createSuggestionsList:function(){var self=this;var callBacks={clickCB:this.suggestionsClick,keydownCB:this.onKeyDown,hoverCB:this.onHover};var carouselData=[];for(var i=0;i<self.searchSuggestionsList.movies.length;i++){carouselData.push(self.searchSuggestionsList.movies[i])}for(var j=0;j<self.searchSuggestionsList.cast.length;j++){carouselData.push(self.searchSuggestionsList.cast[j])}for(var k=0;k<self.searchSuggestionsList.genre.length;k++){carouselData.push(self.searchSuggestionsList.genre[k])}var params={activate:true,carouselData:carouselData};WidgetManager.addWidget(self,"searchSuggestions","#SearchContainer",callBacks,params)},suggestionsClick:function(e){var Search=ViewControllerManager.find("Search");var searchSuggestionsList=Search.searchSuggestionsList;var char=TVA.onFocus.charAt(12);var gridClickedElement=char==="_"?TVA.onFocus.substr(0,23):TVA.onFocus.substr(0,24);var elementLength=$("#"+gridClickedElement+"> .content").text().length;var gridClickedContent=$("#"+gridClickedElement+"> .content").text().substr(1,elementLength);var type="";for(var i=0;i<searchSuggestionsList.movies.length;i++){if(searchSuggestionsList.movies[i]===gridClickedContent){type="movie";break}}if(type===""){for(var j=0;j<searchSuggestionsList.cast.length;j++){if(searchSuggestionsList.cast[j]===gridClickedContent){type="cast";break}}}if(type===""){for(var k=0;k<searchSuggestionsList.genre.length;k++){if(searchSuggestionsList.genre[k]===gridClickedContent){type="genre";break}}}e.stopPropagation();Search._defineSearchCall(type,gridClickedContent)},onKeyDown:function(e,keyCode){TVA.log("keydown in Search");switch(keyCode){case Keys.getBind("Up"):break;case Keys.getBind("Down"):break;case Keys.getBind("Left"):var Keyboard=ViewControllerManager.find("Keyboard");if(!Keyboard.hidden){TVA.setFocus(Keyboard.aux_focus);Keyboard.activeChild=Keyboard.aux_focus;$("#searchSuggestions .active").removeClass("active")}e.stopPropagation();break}},onHover:function(event){var element=event.target.id;this._enableElement(element);event.stopPropagation()},_defineSearchCall:function(str,name){var self=this;var Keyboard=ViewControllerManager.find("Keyboard");if(str==="movie"){self._getMovieResult(name,function(result){console.log("_getMovieResult onSuccess");console.log(result);self.createCarouselsList()},function(result){Util.hideSpriteLoader()})}else if(str==="cast"){self._getCastResult(name,function(result){self.createCarouselsList()},function(result){Util.hideSpriteLoader()})}else if(str==="genre"){self._getGenreResult(name,function(result){self.createCarouselsList()},function(result){Util.hideSpriteLoader()})}$("#keyboardBox").hide();$("#SearchContainer").hide();$("#searchResult").text(language[Model.App.file.language].searchScreen.searchResultsTitle.replace("[keyword]",name));$("#searchResult").show();Keyboard.hidden=true},_getMovieResult:function(title,onSuccess,onError){var self=this;Util.showSpriteLoader();API.getMovieSearch(title,function(result){self.searchResults=result.data;onSuccess&&onSuccess(result)},function(result,errorCode){onError&&onError(result);Model.App.errorCode=errorCode;home.publish("Error")})},_getCastResult:function(name,onSuccess,onError){var self=this;Util.showSpriteLoader();API.getCastSearch(name,function(result){self.searchResults=result.data;onSuccess&&onSuccess(result)},function(result,errorCode){onError&&onError(result);Model.App.errorCode=errorCode;home.publish("Error")})},_getGenreResult:function(genre,onSuccess,onError){var self=this;Util.showSpriteLoader();API.getGenreSearch(genre,function(result){self.searchResults=result;onSuccess&&onSuccess(result)},function(result,errorCode){onError&&onError(result);Model.App.errorCode=errorCode;home.publish("Error")})},onResultClick:function(){var Search=ViewControllerManager.find("Search");var pos=this.pos+this.columns*this.row;var movie=Search.searchResults[pos];var movie_id=movie.id;Search.addDetailsScreen(movie_id)},addDetailsScreen:function(id){var Home=ViewControllerManager.find("Home");Util.showSpriteLoader();API.getMovie(id,function(data){Model.App["returnFromDetailsTo"]={parent:"search_results",screen:"search_results"};Model.App["movie"]=data;var vc=ViewControllerManager.find("Details");$("#search_results").hide();$("#searchResult").hide();Home.addChild(vc,"#screens")},function(res,errorCode){Model.App.errorCode=errorCode;Home.publish("Error")})},onResultKeyDown:function(e,keyCode){var Search=ViewControllerManager.find("Search");if(keyCode===Keys.getBind("Back")){var Keyboard=ViewControllerManager.find("Keyboard");if(Keyboard.hidden){Search.removeChild("search_results");$("#screens").remove("search_results");$("#keyboardBox").show();$("#SearchContainer").show();$("#searchResult").empty();$("#searchResult").hide();Search.children.searchSuggestions.view.enable();Keyboard.hidden=false;e.stopPropagation()}}},createCarouselsList:function(){var self=this;var callBacks={clickCB:self.onResultClick,keydownCB:self.onResultKeyDown};var carouselData=self.searchResults.data||self.searchResults;var params={activate:true,carouselData:carouselData};WidgetManager.addWidget(self,"search_results","#screens",callBacks,params);Util.hideSpriteLoader()},onUnload:function(){this.activeChild="";TVA.setFocus(this.activeChild);$("#FlixLogo").show();$("#ExtraInfo").css({top:"200px",height:"420px",width:"470px"})}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("PlayerVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="playPause";this.navigation={rewind:{Right:"playPause"},playPause:{Left:"rewind",Right:"forward"},forward:{Left:"playPause",Right:"CC"},CC:{Left:"forward"}};this.scrubAmount=1;this.scrubTimeout=null;this.scrubTime=0;this.defaultScrubSpeeds=[{speed:500,label:"x2",scrubAmount:1},{speed:250,label:"x4",scrubAmount:1},{speed:125,label:"x8",scrubAmount:1},{speed:62,label:"x16",scrubAmount:1},{speed:31,label:"x32",scrubAmount:1},{speed:31,label:"x64",scrubAmount:2},{speed:31,label:"x128",scrubAmount:4}];this.panasonicScrubSpeeds=[{speed:1e3,label:"x2",scrubAmount:2},{speed:1e3,label:"x4",scrubAmount:4},{speed:1e3,label:"x8",scrubAmount:8},{speed:1e3,label:"x16",scrubAmount:16},{speed:1e3,label:"x32",scrubAmount:32},{speed:1e3,label:"x64",scrubAmount:64},{speed:1e3,label:"x128",scrubAmount:128}];this.scrubSpeeds=settings.device==="panasonic"?this.panasonicScrubSpeeds:this.defaultScrubSpeeds;this.scrubSpeedIndex=0;this.scrubDirection=0;this.previewImages=[];this.thumbElements=[];this.subTitles=[];this.captionIndex=0;this.captions=false;this.captionsIndex=0;this.findCaption=false;this.waitToShowResume=false;this.checkSeek=false;this.deferredResume=false;this.deferredSeek=false;this.stopPlayer=true;this.playerError=false;this.simulateBufferProgress=0;this.playerLangOptions=false},onUnload:function(){},onLoad:function(){},render:function(location){this._super(location);this.enable();this._showPlayer();if(Model.App.trailer){this._watchTrailer()}else if(Model.App.AmazonIAP){this._amazonWatchMovie()}else{Util.showSpriteLoader();this._watchMovie()}},_watchMovie:function(){var scope=this;var home=ViewControllerManager.find("Home");API.watchMovie(Model.App.movie.flix_id,function(res){Util.hideSpriteLoader();scope.passId=res.pass.id;scope.userLeftReview=res.member_has_left_review;Model.App.seekTime=0;Model.App.movie.url=res.url;if(settings.device==="chrome"){VideoController.setURL("http://p.demo.flowplayer.netdna-cdn.com/vod/demo.flowplayer/bbb-800.mp4")}else{VideoController.setURL(Model.App.movie.url)}if(Model.App.movie.subtitles&&Model.App.movie.subtitles.length>0){scope.SubtitleOptions=Model.App.movie.subtitles;scope.getSubtitles(Model.App.movie.subtitles[scope.captionsIndex]);scope._showCCButton()}else{scope._hideCCButton()}if(res.seek_time>0&&res.seek_time<Model.App.movie.duration_seconds-20){scope.waitToShowResume=true;Model.App.seekTime=res.seek_time;scope.publish("ResumeMovie")}else{scope.playPause()}scope._setTizenResume()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})},_watchTrailer:function(){TVA.log(Model.App.movie.imagery.trailers[0].url);var temp_url=Model.App.movie.imagery.trailers[0].url;VideoController.setURL(temp_url);this._hideCCButton();this.playPause()},_amazonWatchMovie:function(){Model.App.AmazonIAP=false;if(settings.device==="chrome"){VideoController.setURL("http://p.demo.flowplayer.netdna-cdn.com/vod/demo.flowplayer/bbb-800.mp4")}else{VideoController.setURL(Model.App.movie.url)}if(Model.App.movie.subtitles&&Model.App.movie.subtitles.length>0){this.SubtitleOptions=Model.App.movie.subtitles;this.getSubtitles(Model.App.movie.subtitles[this.captionsIndex]);this._showCCButton()}else{this._hideCCButton()}if(Model.App.seek_time>0&&Model.App.seek_time<Model.App.movie.duration_seconds-20){this.waitToShowResume=true;this.publish("ResumeMovie")}else{this.playPause()}},playPause:function(seekTime){this._lockRootVC(true);if(this.scrubbing){this._seekResume()}else if(VideoController.buffering&&settings.device==="panasonic"){this._resume()}else if(VideoController.paused){this._resume()}else if(VideoController.playing){this._pause()}else{if(seekTime)this._play(seekTime);else this._play()}TVA.setFocus("playPause");this.activeChild="playPause";this._lockRootVC(false)},playHead:function(seconds){var scope=this;var progress=seconds/this.movieLength*100;this._fakeBufferingProgress(progress);this._updatePlayerTime("current",seconds);this._updatePlayerTime("total",VideoController.getLength());this._progressBar(progress);if(this.captions){this.runSubtitles(seconds,this.findCaption)}if(seconds!==0&&seconds%10===0&&!Model.App.trailer&&!this.scrubbing&&this.currentSeconds!==seconds){API.updateSeek({seek_time:seconds,duration:scope.movieLength===Infinity?0:scope.movieLength,id:scope.passId},function(a){},function(a,errorCode){TVA.log(a.errorThrown.responseText);Model.App.errorCode=errorCode;scope.publish("Error")})}if(scope.waitToShowResume){scope.waitToShowResume=false;if(settings.device!=="samsung_tizen"){VideoController.forward(Model.App.seekTime)}scope.checkSeek=true}if(scope.checkSeek&&settings.device==="samsung_tizen"){if(!VideoController.connecting&&!VideoController.buffering){scope.checkSeek=false;scope.deferredResume=true;VideoController.pause(true)}}this.currentSeconds=seconds},stateChange:function(state){var scope=this;this.playerError=false;switch(state){case 1:Util.showSpriteLoader();scope.movieLength=VideoController.getLength();TVA.log("MovieLength "+scope.movieLength);this._updatePlayerTime("total",scope.movieLength);this._toggleClass("#playPause","paused","playing");break;case 2:this._toggleClass("#playPause","playing","paused");Util.hideSpriteLoader();var fakeBufferValue=scope.simulateBufferProgress+1;scope._fakeBufferingProgress(fakeBufferValue);if(scope.deferredSeek){scope.deferredSeek=false;scope._resume()}if(scope.deferredResume){VideoController.forward(Model.App.seekTime);scope.deferredResume=false;scope.deferredSeek=true}break;case 3:case 4:if(settings.device==="operatv"||settings.device==="panasonic"){if(!this.playerError&&(!ViewControllerManager.ViewControllers.Modal.children.ModalResume&&ViewControllerManager.ViewControllers.Home.activeChild!=="Details")){TVA.log("LOADING...");Util.showSpriteLoader()}}else{Util.showSpriteLoader()}break;case 5:this.stopPlayer=false;if(!ViewControllerManager.ViewControllers.Modal.children.ModalRating&&(ViewControllerManager.ViewControllers.Root.activeChild==="Player"||ViewControllerManager.ViewControllers.Home.activeChild!=="Details")){console.log("--- Back on finished.");scope.back()}Util.hideSpriteLoader();break;case 6:this.playerError=true;this.stopPlayer=settings.device==="panasonic";if(!ViewControllerManager.ViewControllers.Modal.children.ModalRating&&ViewControllerManager.ViewControllers.Home.activeChild!=="Details"&&ViewControllerManager.ViewControllers.Home.activeChild!=="mainMenu"&&ViewControllerManager.ViewControllers.Home.activeChild!=="categoriesList"){console.log("--- Back on error.");scope.back()}Util.hideSpriteLoader();break}},_play:function(seektime){this._lockRootVC(true);VideoController.play(seektime);this._lockRootVC(false)},_pause:function(){this._lockRootVC(true);this._stopScrub();VideoController.pause();this._lockRootVC(false)},_stop:function(){this._lockRootVC(true);if(this.scrubbing)this._stopScrub();if(this.stopPlayer){VideoController.stop()}this._lockRootVC(false)},_seek:function(){this._stopScrub();var diff=this._getDiff();if(diff>1){TVA.log("SEEK FORWARD "+diff);VideoController.forward(diff)}else{TVA.log("SEEK BACKWARDS "+diff);VideoController.backward(Math.abs(diff))}},_seekResume:function(){this._seek();this._resume()},_forward:function(){this._lockRootVC(true);this._toggleClass("#playSpeedBox .arrows","backward","forward");this._setScrub(1);this._lockRootVC(false);this.activeChild="forward";TVA.setFocus(this.activeChild)},_backward:function(){this._lockRootVC(true);this._toggleClass("#playSpeedBox .arrows","forward","backward");this._setScrub(-1);this._lockRootVC(false);this.activeChild="rewind";TVA.setFocus(this.activeChild)},_resume:function(){this._lockRootVC(true);VideoController.resume();this._lockRootVC(false)},_setTizenResume:function(){var scope=this;var home=ViewControllerManager.find("Home");TVA_Player.beforeRestoreCallback=function(call){Util.showSpriteLoader();API.watchMovie(Model.App.movie.flix_id,function(res){Util.hideSpriteLoader();scope.passId=res.pass.id;scope.userLeftReview=res.member_has_left_review;Model.App.seekTime=0;Model.App.movie.url=res.url;if(settings.device==="chrome"){VideoController.setURL("http://p.demo.flowplayer.netdna-cdn.com/vod/demo.flowplayer/bbb-800.mp4")}else{VideoController.setURL(Model.App.movie.url)}call&&call()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})}},_showPlayer:function(){$("#splash-background").hide();$("#playerFooter").find("#back").text(language[Model.App.file.language].common.btn_back);this._hideCCButton();VideoController.showPlayer();this._showPlayerControls();$("#errorMsg").hide();$("#playSpeedBox").hide();$("#main-background").hide()},_hidePlayer:function(){var root=ViewControllerManager.find("Root");this._resetPlayer();VideoController.hidePlayer();root.removeChild("Player");root.children["Home"].view.enable();$("#AppContent").show();$("#main-background").show()},_showPlayerControls:function(){if(!this.disabled){$("#PlayerControls").css({"transition-duration":"1s"});$("#PlayerControls").css({bottom:0});this.listen=true;var scope=this;clearTimeout(scope.timeout);scope.timeout=setTimeout(function(){scope._hidePlayerControls()},3e3)}},_hidePlayerControls:function(){var scope=this;var height=$("#PlayerControls").css("height");if(!VideoController.stopped&&!VideoController.paused&&VideoController.currentSeconds>3){$("#PlayerControls").css({"transition-duration":"2s"});$("#PlayerControls").css({bottom:"-"+height});this.listen=false}else{clearTimeout(scope.timeout);scope.timeout=setTimeout(function(){scope._hidePlayerControls(true)},3e3)}},_disablePlayerControls:function(){this.disabled=true;this._hidePlayerControls()},_enablePlayerControls:function(){this.disabled=false;this._showPlayerControls()},_showCCButton:function(){$("#CC").show();this.navigation.forward.Right="CC"},_hideCCButton:function(){$("#CC").hide();this.navigation.forward={Left:"playPause"}},_updatePlayerTime:function(str,secs){if(str==="current"){$("#time").find("span:nth-child(1)").html(Util.secondsToTime(secs))}else if(str==="total"){$("#time").find("span:nth-child(2)").html(Util.secondsToTime(secs))}else{$("#time").find("span:nth-child(1)").html(Util.secondsToTime());$("#time").find("span:nth-child(2)").html(Util.secondsToTime())}},_resetPlayer:function(){this.subTitles=[];this.captionIndex=0;this.captions=false;this.captionsIndex=0;this.findCaption=false;this.waitToShowResume=false;this.checkSeek=false;this.deferredResume=false;this.deferredSeek=false;this.stopPlayer=true;this.playerError=false;this.currentSeconds=0;this.movieLength=0;this.simulateBufferProgress=0;this.playerLangOptions=false;this._bufferBar();this._progressBar();this._updatePlayerTime();TVA.log("TVA_Player reset")},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(e){var element=e.target.id;this._enableElement(element);this._showPlayerControls()},onKeyDown:function(e,keyCode){console.log("--- Captured keydown on PlayerVC");if(ViewControllerManager.find("Root").locked){e.stopPropagation();return true}if(Model.App.listen&&this.listen){$(".hoveritemBack").removeClass("active");switch(keyCode){case Keys.getBind("QMENU"):VideoController.showQmenu();break;case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back();e.stopImmediatePropagation();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);this.hideLangOptions();e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Play"):if(this.playerLangOptions)this.hideLangOptions();this.playPause();break;case Keys.getBind("Stop"):console.log("--- Back on stop.");this.back();break;case Keys.getBind("Pause"):if(this.playerLangOptions)this.hideLangOptions();this.playPause();break;case Keys.getBind("FF"):if(this.playerLangOptions)this.hideLangOptions();this._forward();break;case Keys.getBind("RW"):if(this.playerLangOptions)this.hideLangOptions();this._backward();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}}e.stopPropagation();this._showPlayerControls()},back:function(){if(!VideoController.paused){VideoController.pause()}this._stop();$(this.rootID+" .active").removeClass("active");$("#splash-background").show();Model.App.captionsIndex=null;this.captions=false;this.clearCaptions();var currentSeconds=VideoController.currentSeconds;var home=ViewControllerManager.find("Home");var details=ViewControllerManager.find("Details");if(Model.App.loggedIn&&!Model.App.trailer){home.removeChild("Details");home.addChild(details,"#screens")}this._hidePlayer();if(!this.userLeftReview&&!Model.App.trailer&¤tSeconds/Model.App.movie.duration_seconds>.9){Model.App.promptReview=true}},_setScrub:function(direction){this._lockRootVC(true);if(direction!==this.scrubDirection){this.scrubDirection=direction;this.scrubSpeedIndex=0}this.scrubbing=true;VideoController.pause();var currentSeconds=VideoController.currentSeconds;clearTimeout(this.scrubTimeout);this.scrubDirection=direction;$("#playSpeedBox").show();$("#playSpeed").html(this.scrubSpeeds[this.scrubSpeedIndex].label);this.timeSlice=this.movieLength/this.previewImages.length;var scrubDirection=direction;var scrubSpeed=this.scrubSpeeds[this.scrubSpeedIndex].speed;var scrubLabel=this.scrubSpeeds[this.scrubSpeedIndex].label;var scrubAmount=this.scrubSpeeds[this.scrubSpeedIndex].scrubAmount;var scrubIncrement=scrubAmount*scrubDirection;this._scrub(scrubIncrement,currentSeconds,scrubSpeed,scrubLabel);this.scrubSpeedIndex++;if(this.scrubSpeedIndex===this.scrubSpeeds.length){this.scrubSpeedIndex=0}this._lockRootVC(false)},_scrub:function(scrubIncrement,start,scrubSpeed,label,prevIndex){var scope=this;var time=start+scrubIncrement;this.scrubTime=time;if(VideoController.playing){VideoController.pause()}clearTimeout(this.scrubTimeout);if(prevIndex&&settings.device!=="panasonic"){$(this.thumbElements[prevIndex]).hide()}if(time<=this.movieLength){if(time>=0){playHeadChanged(time);var index=Math.ceil(time/this.timeSlice);if(settings.device!=="panasonic"){$(this.thumbElements[index]).show()}}else{this._seekResume()}}else if(this.movieLength>0){this._stop();this.back()}$("#playSpeed").html(label);if(this.scrubbing){this.scrubTimeout=setTimeout(function(){scope._scrub(scrubIncrement,time,scrubSpeed,label,index)},scrubSpeed)}},_stopScrub:function(){var scope=this;this.listen=true;this.scrubbing=false;clearTimeout(this.scrubTimeout);$("#previewThumbs").find("img").hide();$("#playSpeedBox").hide();this.scrubSpeedIndex=0;$("#playSpeedBox .arrows").removeClass("backward forward");var currentSeconds=VideoController.currentSeconds;scope.movieLength=scope.movieLength===Infinity?Model.App.movie.duration_seconds:scope.movieLength;if(currentSeconds!==0&&!Model.App.trailer&&!this.scrubbing){API.updateSeek({seek_time:currentSeconds,duration:scope.movieLength,id:scope.passId},function(a){},function(a,errorCode){TVA.log(a.errorThrown.responseText);Model.App.errorCode=errorCode})}},_getDiff:function(){return this.scrubTime-VideoController.getCurrentTime()},genericBar:function(el,fill){if(!isFinite(fill)||fill===null)fill=0;$(el).css({width:fill+"%"})},_bufferBar:function(buffer){this.genericBar("#buffer",buffer)},_progressBar:function(progress){this.genericBar("#progress",progress)},_toggleClass:function(el,c1,c2){$(el).removeClass(c1).addClass(c2)},_lockRootVC:function(lock){var islocked=ViewControllerManager.find("Root").locked;if(islocked&&!lock||!islocked&&lock){ViewControllerManager.find("Root").locked=lock}},_fakeBufferingProgress:function(progress){if((settings.device==="samsung_tizen"||settings.device==="panasonic")&&!this.scrubbing&&isFinite(progress)){var random=Util._generateRandomInt(0,5);var sbp=this.simulateBufferProgress;sbp=sbp>=progress+random?sbp:progress+random;sbp=sbp<=100?sbp:100;this._bufferBar(sbp);this.simulateBufferProgress=sbp}},createSubtitleOptions:function(data){if(!this.children.playerLanguages){var callBacks={clickCB:this.subtitleClickCB};var carouselData=[];carouselData.push("Captions off");for(var i=0;i<data.length;i++){carouselData.push(data[i].language_name)}var params={activate:false,carouselData:carouselData};this.removeChildren();WidgetManager.addWidget(this,"playerLanguages","#captionLanguageList",callBacks,params)}this.children["playerLanguages"].view.scrollTo(0,Model.App.captionsIndex||this.captionsIndex)},subtitleClickCB:function(){var player=ViewControllerManager.find("Player");player.changeSubtitleLanguage(this.pos)},changeSubtitleLanguage:function(i){Model.App.captionsIndex=i;if(Model.App.captionsIndex===0){this.captions=false;this.clearCaptions()}else{this.captions=true;this.captionsIndex=Model.App.captionsIndex-1;this.getSubtitles(this.SubtitleOptions[this.captionsIndex]);$("#playerLanguages .gridElement p").removeClass("selected");$("#playerLanguages").find(".gridElement:nth-child("+((Model.App.captionsIndex||0)+1)+") p").addClass("selected")}this.hideLangOptions();this.findCaption=true},getSubtitles:function(lang){var scope=this;API.getSubtitles(lang.url,function(res){scope.subtitleText=res;scope.parseSubtitles(scope.subtitleText)},function(res,errorCode){})},clearCaptions:function(){$("#captions").html("");this.subTitles=[]},parseSubtitles:function(cap){var subtitleText=cap.split(/[\n\r][\n\r]/g);for(var i=0;i<subtitleText.length;i++){if(subtitleText[i]!=="WEBVTT"&&subtitleText[i]!==""){var obj={};var caption=subtitleText[i].split(/[\n\r]/);var timeCodes=caption[0];timeCodes=timeCodes.split("--\x3e");obj["start"]=this.timeCodeToSeconds(timeCodes[0]);obj["end"]=this.timeCodeToSeconds(timeCodes[1]);var ccText="";for(var j=1;j<caption.length;j++){ccText+="<p>"+caption[j]+"</p>"}obj["text"]=ccText;this.subTitles.push(obj)}}},runSubtitles:function(seconds,findCaption){var caption="";if(findCaption){this.findCaption=false;if(seconds>=this.subTitles[this.captionIndex].start){for(var i=this.captionIndex;i<this.subTitles.length;i++){if(seconds<this.subTitles[i].end){this.captionIndex=i;break}}}else{for(var j=this.captionIndex;j>0;j--){if(seconds>=this.subTitles[j].start){if(seconds<this.subTitles[j].end){this.captionIndex=j;break}}}}}for(var k=0;k<this.captionIndex+1;k++){if(this.subTitles[k]){if(seconds>=this.subTitles[k].start&&seconds<=this.subTitles[k].end){caption+=this.subTitles[k].text}}}if(seconds>=this.subTitles[this.captionIndex].end){this.captionIndex++}$("#captions").html(caption)},showLangOptions:function(){this.playerLangOptions=true;var player=ViewControllerManager.find("Player");$("#PlayerControls").css({"transition-duration":"0s"});$("#PlayerControls").addClass("languageOptions");this.createSubtitleOptions(this.SubtitleOptions);$("#playerLanguages").find(".gridElement p").removeClass("selected");if(Model.App.captionsIndex===undefined||Model.App.captionsIndex===null){$("#playerLanguages").find(".gridElement p").eq(0).addClass("selected")}else{$("#playerLanguages").find(".gridElement p").eq(Model.App.captionsIndex).addClass("selected")}player.navigation.playerLanguages={Down:"playPause"};player.navigation.rewind.Up="playerLanguages";player.navigation.playPause.Up="playerLanguages";player.navigation.forward.Up="playerLanguages";player.navigation.CC.Up="playerLanguages"},hideLangOptions:function(){this.playerLangOptions=false;var player=ViewControllerManager.find("Player");$("#PlayerControls").removeClass("languageOptions");TVA.setFocus("playPause");player.activeChild="playPause";player.navigation.rewind.Up="";player.navigation.playPause.Up="";player.navigation.forward.Up="";player.navigation.CC.Up=""},timeCodeToSeconds:function(timecode){if(!timecode)timecode=0;timecode=timecode.replace(" ","");timecode=timecode.split(":");var seconds=0;switch(timecode.length){case 1:seconds+=parseFloat(timecode[0]);break;case 2:seconds+=parseFloat(timecode[0])*60;seconds+=parseFloat(timecode[1]);break;case 3:seconds+=parseFloat(timecode[0])*3600;seconds+=parseFloat(timecode[1])*60;seconds+=parseFloat(timecode[2]);break}return seconds}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("CreditCardMenuVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="";this.navigation={CCMenu_add_card:{Down:"CCMenu_add_online"},CCMenu_add_online:{Up:"CCMenu_add_card"}}},onLoad:function(){var scope=this;$("#backIcon").text(language[Model.App.file.language].common.btn_back)},render:function(location){this._super(location);if(settings.device==="lg"||settings.device==="webos"){$("#CCMenuContainer").css("background-image",'url("./css/assets/background.png")')}this._enableElement("CCMenu_add_card");this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},onHover:function(event){var element=event.target.id;this._enableElement(element)},goBack:function(e){this.unload();switch(Model.App.profileState){case"details":ViewControllerManager.find("Details").enable();break;case"register":var Profile=ViewControllerManager.find("Profile");var Home=ViewControllerManager.find("Home");Home.addChild(Profile,"#screens");Profile.activeChild="btn_register";TVA.setFocus(Profile.activeChild);break}e.stopPropagation()},onUnload:function(){$("#backIcon").text(language[Model.App.file.language].common.btn_menu);this._enableElement("CCMenu_add_card")},creditCardMenuClick:function(){var scope=this;var Keyboard=ViewControllerManager.find("Keyboard");var Home=ViewControllerManager.find("Home");var CreditCardHandler=ViewControllerManager.find("CreditCardHandler");var Profile=ViewControllerManager.find("Profile");if(TVA.onFocus==="CCMenu_add_card"){scope.parentVC.onClose();Model.App.profileState="addCC";this.publish("Keyboard")}else if(TVA.onFocus==="CCMenu_add_online"){var success=function(result){Util.hideSpriteLoader();scope.parentVC.onClose()};var error=function(result){Util.hideSpriteLoader();scope.parentVC.onClose();var Root=ViewControllerManager.find("Root");Root.publish("Information");$("#info_popup_description").html(language[Model.App.file.language].creditCard.err_wrong_credentials)};API.emailAddCard(success,error);Util.showSpriteLoader()}},_populateFields:function(){$("#CCMenu_add_card").text(language[Model.App.file.language].creditCard.btn_addCard);$("#CCMenu_add_online").text(language[Model.App.file.language].creditCard.btn_addOnline);$("#CCMenu_description").html(language[Model.App.file.language].creditCard.menu_description_1+"<br>"+language[Model.App.file.language].creditCard.menu_description_2)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("MediaPlayerVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="playPause";this.navigation={skipBack:{Right:"playPause",Up:"media_player_thumbs"},playPause:{Left:"skipBack",Right:"skipForward",Up:"media_player_thumbs"},skipForward:{Left:"playPause",Up:"media_player_thumbs"},media_player_thumbs:{Down:"playPause"}};this.direction=1;this.slideIntervalRef=null;this.slideCountDownIntervalRef=null;this.previewImages=[];this.thumbElements=[];this.slideIndex=0;this.slideInterval=3e3;this.slideCountDown=null;this.playing=false;this.immediateHideMenu=false},onUnload:function(){},onLoad:function(){},render:function(location){var scope=this;this._super(location);this.enable();this.createSlides();$("#MediaPlayer").find("#back").text(language[Model.App.file.language].common.btn_back);this.showMenu()},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(e){$("#media_player_thumbs .active").removeClass("active");var element=e.target.id;this._enableElement(element);this.showMenu()},onKeyDown:function(e,keyCode){if(Model.App.listen&&this.listen){$(".hoveritemBack").removeClass("active");switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back();e.stopImmediatePropagation();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):var focusEl=TVA.onFocus;$("#media_player_thumbs").find(".active").removeClass("active");if(TVA.onFocus.split("pos_").length>1){this.slideIndex=parseInt(TVA.onFocus.split("pos_")[1].split("_")[0]);this.drawCounter()}this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Play"):this.playPause();break;case Keys.getBind("Pause"):this.playPause();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}}this.showMenu();e.stopPropagation()},back:function(){this.pause();var root=ViewControllerManager.find("Root");root.removeChild("MediaPlayer");root.children["Home"].view.enable();$("#AppContent").show();$("#main-background").show();this.slideIndex=0;clearTimeout(this.timeout);clearInterval(this.slideIntervalRef);clearInterval(this.slideCountDownIntervalRef)},hideMenu:function(hide){var scope=this;var height=$("#PlayerControls").css("height");$("#PlayerControls").css({"transition-duration":"2s"});$("#PlayerControls").css({bottom:"-"+height});this.listen=false},showMenu:function(){if(!this.disabled){$("#PlayerControls").css({"transition-duration":"1s"});$("#PlayerControls").css({bottom:0});this.listen=true;var scope=this;clearTimeout(scope.timeout);if(this.immediateHideMenu){this.immediateHideMenu=false;this.hideMenu()}else{scope.timeout=setTimeout(function(){scope.hideMenu()},3e3)}}},playPause:function(){if(this.playing){this.pause()}else{this.play()}this._enableElement("playpause")},play:function(seektime){this.beginAutoSlide();$("#playPause").removeClass("paused");$("#playPause").addClass("playing");this.immediateHideMenu=true},pause:function(){this.endAutoSlide();$("#playPause").removeClass("playing");$("#playPause").addClass("paused");$("#progress").css({width:0})},disableControls:function(){this.disabled=true;this.hideMenu()},enableControls:function(){this.disabled=false;this.showMenu()},playHead:function(seconds){var progress=settings.device==="panasonic"?seconds/this.slideInterval*120:seconds/this.slideInterval*100;$("#progress").css({width:progress+"%"})},forward:function(){if(this.playing)this.pause();$("#playSpeedBox .arrows").removeClass("backward").addClass("forward");var dir=1;if(this.slideIndex<Model.App.movie.imagery.stills.length-1){this.changeSlide(this.slideIndex,dir);this.children["media_player_thumbs"].view.scrollTo(0,this.slideIndex,"Right");var nextChild=this.navigation[this.activeChild]["Down"];TVA.setFocus("skipForward");this.activeChild="skipForward"}},backward:function(){if(this.playing)this.pause();$("#playSpeedBox .arrows").removeClass("forward").addClass("backward");var dir=-1;if(this.slideIndex>0){this.changeSlide(this.slideIndex,dir);this.children["media_player_thumbs"].view.scrollTo(0,this.slideIndex,"Right");var nextChild=this.navigation[this.activeChild]["Down"];TVA.setFocus("skipBack");this.activeChild="skipBack"}},createThumbnailCarousel:function(data){var callBacks={clickCB:this.eventChangeSlide,keydownCB:this.keydownCBEvent};var carouselData=[];for(var i=0;i<data.length;i++){carouselData.push(data[i])}var params={activate:false,carouselData:carouselData};this.removeChildren();WidgetManager.addWidget(this,"media_player_thumbs","#thumbnailList",callBacks,params);this.children["media_player_thumbs"].view.scrollTo(0,this.position,"Right");this.eventChangeSlide()},keydownCBEvent:function(){$(".hoveritemBack").removeClass("active");var scope=ViewControllerManager.find("MediaPlayer");scope.slideIndex=this.pos;scope.drawCounter();scope.showMenu()},createSlides:function(){var stills=Model.App.movie.imagery.stills;$("#previewThumbs").html("");var thumbData=[];for(var i=0;i<stills.length;i++){var imgUrl=stills[i].id;var hideImage="";if(i>0){hideImage="display:none;"}var fill="c_fill,f_auto,h_720,q_auto,w_1080/";var imgEl='<div style="background-image:url('+Model.App.file.locale.app_config.cloudinary_base_url+fill+imgUrl+"); position:absolute;"+hideImage+'"></div>';$("#previewThumbs").append(imgEl);thumbData.push(stills[i].id)}this.slideIndex=0;this.drawCounter();this.createThumbnailCarousel(thumbData)},beginAutoSlide:function(){this.playing=true;this.direction=1;clearInterval(this.slideIntervalRef);var scope=this;this.slideIntervalRef=setInterval(function(){scope.changSlide()},scope.slideInterval);this.startSlideCountDown()},endAutoSlide:function(){this.playing=false;clearInterval(this.slideIntervalRef);this.endSlideCountDown()},changeSlide:function(i,dir){this.direction=dir;$("#previewThumbs div").hide();if(i>-1){this.slideIndex=i}if(this.direction===1){this.slideIndex++;if(this.slideIndex===Model.App.movie.imagery.stills.length){this.slideIndex=0}}else{this.slideIndex--;if(this.slideIndex<0){this.slideIndex=0}}this.resetSlideCountDown();this.drawCounter();$("#previewThumbs div:nth-child("+(this.slideIndex+1)+")").show()},changSlide:function(i){$("#previewThumbs div").hide();if(i>-1){this.slideIndex=i}else{if(this.direction===1){this.slideIndex++;if(this.slideIndex===Model.App.movie.imagery.stills.length){this.slideIndex=0}}else{this.slideIndex--;if(this.slideIndex<0){this.slideIndex=0}}this.resetSlideCountDown()}this.drawCounter();this.children["media_player_thumbs"].view.scrollTo(0,this.slideIndex,"Right");$("#previewThumbs div:nth-child("+(this.slideIndex+1)+")").show()},drawCounter:function(){$("#indexCounter").html(this.slideIndex+1+"/"+Model.App.movie.imagery.stills.length)},eventChangeSlide:function(e){var scope=ViewControllerManager.find("MediaPlayer");var pos=this.pos>=0?this.pos:scope.position;scope.changSlide(pos)},startSlideCountDown:function(){var scope=this;var millis=100;clearInterval(this.slideCountDownIntervalRef);this.resetSlideCountDown();this.slideCountDownIntervalRef=setInterval(function(){scope.doSlideCountDown(millis)},millis)},endSlideCountDown:function(){clearInterval(this.slideCountDownIntervalRef)},doSlideCountDown:function(millis){this.slideCountDown-=millis;if(this.slideCountDown>0){this.playHead(this.slideInterval-this.slideCountDown)}},resetSlideCountDown:function(){this.slideCountDown=this.slideInterval}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalPurchaseVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="PayCC";this.navigation={};this.returnTo=""},onLoad:function(){},onUnload:function(){},render:function(location){this._super(location);this.enable();var scope=this;if(!Model.App.file.bundle){Model.App.file.bundle=1}if(Model.App.file.bundle===1){$("#ModalPurchase .buttons").addClass("single");$("#ModalPurchase .buttons").removeClass("bundle")}else{$("#ModalPurchase .buttons").addClass("bundle");$("#ModalPurchase .buttons").removeClass("single")}var strings=language[Model.App.file.language].purchaseScreen;$("#PayCC").html(strings.btn_buyTicket);$("#Paytickets").html(strings.btn_useTicket);$("#PayNowTicket").html(strings.btn_payTicket);$("#btnConfirmCC").html(strings.btn_change_cc);$("#PayNow").html(strings.btn_pay);$("#ModalPurchase #back").html(language[Model.App.file.language].common.btn_back);Util.showSpriteLoader();API.getTickets(function(res){Model.App.file.user.ticket_count=res.ticket_count;API.getCards(function(res){Util.hideSpriteLoader();Model.App.file.user.cards=res.result;if(Model.App.getTickets==="buy"){scope.showCreditCardSection()}else{scope.showTicketSection()}},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},onKeyDown:function(e,keyCode){TVA.log("keydown "+this.name);if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back();e.stopPropagation();break;case Keys.getBind("Exit"):this.exit();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild==="btnConfirmCC"){$("#cardList .gridElement.active").removeClass("active")}if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},menuMouseOut:function(e){},onBtnClick:function(e){var scope=ViewControllerManager.find("ModalPurchase");var details=ViewControllerManager.find("Details");var targetId=e.target.id;if(targetId.indexOf("Grid")>-1){targetId="gridItem"}switch(targetId){case"gridItem":scope.selectCard(this.row);break;case"btnConfirmCC":scope.confirmCard();break;case"ChangeCC":scope.showChangeCreditCardSection();break;case"PayNowTicket":this.useTicket();break;case"PayCC":scope.showCreditCardSection();break;case"Paytickets":scope.showTicketSection();break;case"SelectSingle":Model.App.file.bundle=1;Util.saveFile(Model.App.file);$("#ModalPurchase .buttons").addClass("single");$("#ModalPurchase .buttons").removeClass("bundle");break;case"SelectBundle":Model.App.file.bundle=5;Util.saveFile(Model.App.file);$("#ModalPurchase .buttons").addClass("bundle");$("#ModalPurchase .buttons").removeClass("single");break;case"PayNow":if(settings.device==="firetv"){var sku="";if(Model.App.file.bundle===1){sku=Model.App.file.locale.ticket_sku}else if(Model.App.file.bundle===5){sku=Model.App.file.locale.ticket_bundles[0].sku}TVA.AmazonIAP.purchaseItem(sku,function(message){Model.App.errorCode=null;Model.App.message=message;scope.publish("Message")})}else if(Model.App.file.user.cards.length>0){Util.showSpriteLoader();var params={card_id:Model.App.file.user.cards[Model.App.file.cardIndex||0].card_id,bundle:Model.App.file.bundle};API.buyTickets(params,function(res){Model.App.file.user.ticket_count=res.result.new_ticket_count;API.useTicket(Model.App.movie.flix_id,function(res){scope.back();Model.App.file.user.ticket_count--;if(Model.App.file.user.ticket_count<0){Model.App.file.user.ticket_count=0}details.prepareToShowPlayer();Util.hideSpriteLoader()},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;scope.publish("Error")})},function(res,errorCode){if(res.xhr.responseJSON.code==="card_declined"){Util.hideSpriteLoader();Model.App.errorCode=errorCode;Model.App.message=res.xhr.responseJSON.message;scope.publish("Message")}else{Util.hideSpriteLoader();Model.App.errorCode=errorCode;scope.publish("Error")}})}else{scope.back();scope.publish("CreditCardMenu")}break}},back:function(){$(this.rootID+" .active").removeClass("active");var scope=this;switch(this.returnTo){case"cards":scope.returnTo="";$(".selectMethod").show();scope.showCreditCardSection();break;case"tickets":break;default:this.parentVC.backToPrevious();break}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){$("#cardList .gridElement.active").removeClass("active");this._enableElement(event.target.id);event.stopPropagation()},useTicket:function(){Util.showSpriteLoader();var details=ViewControllerManager.find("Details");var scope=this;API.useTicket(Model.App.movie.flix_id,function(res){scope.back();Model.App.file.user.ticket_count--;if(Model.App.file.user.ticket_count<0){Model.App.file.user.ticket_count=0}details.prepareToShowPlayer();Util.hideSpriteLoader()},function(res,errorCode){Model.App.errorCode=errorCode;scope.publish("Error")})},showTicketSection:function(){$(".selectMethod .Paytickets").addClass("active");$(".selectMethod .PayCC").removeClass("active");$(".creditCardSection").hide();$(".changeCreditCardSection").hide();$(".ticketSection").show();this.activeChild="Paytickets";this._enableElement(this.activeChild);var detailsEl=$(".ticketSection .details");var strings=language[Model.App.file.language].purchaseScreen;var availableTickets=strings.ticketsAvailable.replace("[ticketCount]",Model.App.file.user.ticket_count);detailsEl.find(".ticketCount").html(availableTickets);detailsEl.find(".movietitle").html(Model.App.movie.title);var availableTime=strings.filmAvailable.replace("[hours]",Model.App.file.locale.view_pass_valid_hours);detailsEl.find(".availability").html(availableTime);$(".header").html(strings.confirm);this.navigation={PayCC:{Right:"Paytickets"},Paytickets:{Left:"PayCC"},PayNowTicket:{Up:"Paytickets"}};if(Model.App.file.user.ticket_count>0){this.navigation.PayCC.Down="PayNowTicket";this.navigation.Paytickets.Down="PayNowTicket";$("#PayNowTicket").removeClass("disabled")}else{$("#PayNowTicket").addClass("disabled")}},showChangeCreditCardSection:function(){this.returnTo="cards";$(".creditCardSection").hide();$(".ticketSection").hide();$(".selectMethod").hide();$(".changeCreditCardSection").show();this.activeChild="btnConfirmCC";this._enableElement(this.activeChild);this.navigation={btnConfirmCC:{Up:"ccList"},ccList:{Down:"btnConfirmCC"}};var strings=language[Model.App.file.language].common;$(".header").html(strings.confirm);var carouselData=[];for(var i=0;i<Model.App.file.user.cards.length;i++){var card=Model.App.file.user.cards[i];var cardNumber=card.last4;var month=card.exp_month;var year=card.exp_year;var cardInfo="<span>"+strings.card+": ****"+cardNumber+"</span><span>"+strings.expiry+":"+month+"/"+year+"</span>";carouselData.push(cardInfo)}var callBacks={clickCB:this.onBtnClick,mouseOutCB:this.menuMouseOut};var params={carouselData:carouselData};WidgetManager.addWidget(this,"ccList","#cardList",callBacks,params)},showCreditCardSection:function(){$(".creditCardSection").show();$(".ticketSection").hide();var strings=language[Model.App.file.language].purchaseScreen;$(".header").html(strings.paymentMethod);var locale=Model.App.file.locale;$("#SelectSingle").html(locale.tickets[locale.currency][0].title);$("#SelectBundle").html(locale.tickets[locale.currency][1].title);this.drawCardInfo();$(".selectMethod .PayCC").addClass("active");$(".selectMethod .Paytickets").removeClass("active");$(".changeCreditCardSection").hide();var detailsEl=$(".creditCardSection .details");detailsEl.find(".movietitle").html(Model.App.movie.title);var availableTime=strings.filmAvailable.replace("[hours]",locale.view_pass_valid_hours);detailsEl.find(".availability").html(availableTime);this.activeChild="PayCC";this._enableElement(this.activeChild);this.navigation={PayCC:{Down:"SelectSingle",Right:"Paytickets"},Paytickets:{Down:"SelectSingle",Left:"PayCC"},SelectSingle:{Up:"PayCC",Down:"SelectBundle"},SelectBundle:{Up:"SelectSingle",Down:"PayNow"},PayNow:{Up:"SelectBundle"},ChangeCC:{Up:"SelectBundle",Left:"PayNow"}};$(".creditCardSection .buttons").removeClass("multiCards");if(Model.App.file.user.cards.length>1&&settings.device!=="firetv"){this.navigation.PayNow.Right="ChangeCC";$(".creditCardSection .buttons").addClass("multiCards")}if(Model.App.loggedIn){this.navigation.PayCC.Right="Paytickets"}$("#ChangeCC").html(strings.btn_change_cc)},drawCardInfo:function(){if(settings.device!="firetv"){var strings=language[Model.App.file.language].common;$("#ModalPurchase .creditCardSection .card").html("");if(Model.App.file.user.cards&&Model.App.file.user.cards.length>0){var card=Model.App.file.user.cards[Model.App.file.cardIndex||0];var cardNumber=card.last4;var month=card.exp_month;var year=card.exp_year;var cardInfo="<span>"+strings.card+": ****"+cardNumber+"</span><span>"+strings.expiry+":"+month+"/"+year+"</span>";$("#ModalPurchase .creditCardSection .card").html(cardInfo)}}},selectCard:function(index){this.cardIndex=index;var items=$("#ccList .check");items.removeClass("active");$(items[this.cardIndex]).addClass("active")},confirmCard:function(){var scope=ViewControllerManager.find("ModalPurchase");Model.App.file.cardIndex=this.cardIndex;Util.saveFile(Model.App.file);scope.back()}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalExitVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btn_goBack";this.navigation={btn_goBack:{Left:"btn_exit"},btn_exit:{Right:"btn_goBack"}}},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide()},onUnload:function(){$("#ModalContent").removeClass("moveUp")},render:function(location){this._super(location);this.enable();var exitItems=language[Model.App.file.language];$("#popup_Title").html(exitItems.exitScreen.title);$("#popup_description").html(exitItems.exitScreen.subtitle);$("#btn_exit p").html(exitItems.exitScreen.yes);$("#btn_goBack p").html(exitItems.exitScreen.no)},onKeyDown:function(e,keyCode){TVA.log("keydown in Exit popup");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},onClose:function(){$(this.rootID+" .active").removeClass("active");$(this.rootID).removeClass("collapse");this.parentVC.backToPrevious();$("#Header").show()},exitApp:function(){if(settings.device==="chrome"){location.reload()}else if(settings.device==="samsung_tizen"){TVA.quit()}else{TVA.quit(true)}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){if(event.target.className==="btn_overlay hoveritem"){this._enableElement(event.target.parentElement.id)}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalPinInsertVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="pin_keyboard_1";this.navigation={pin_keyboard_1:{Down:"pin_keyboard_6",Right:"pin_keyboard_2"},pin_keyboard_2:{Left:"pin_keyboard_1",Right:"pin_keyboard_3",Down:"pin_keyboard_7"},pin_keyboard_3:{Left:"pin_keyboard_2",Right:"pin_keyboard_4",Down:"pin_keyboard_8"},pin_keyboard_4:{Left:"pin_keyboard_3",Right:"pin_keyboard_5",Down:"pin_keyboard_9"},pin_keyboard_5:{Left:"pin_keyboard_4",Down:"pin_keyboard_0"},pin_keyboard_6:{Up:"pin_keyboard_1",Right:"pin_keyboard_7",Down:"pin_keyboard_del"},pin_keyboard_7:{Up:"pin_keyboard_2",Left:"pin_keyboard_6",Right:"pin_keyboard_8",Down:"pin_keyboard_del"},pin_keyboard_8:{Up:"pin_keyboard_3",Left:"pin_keyboard_7",Right:"pin_keyboard_9",Down:"pin_keyboard_del"},pin_keyboard_9:{Up:"pin_keyboard_4",Left:"pin_keyboard_8",Right:"pin_keyboard_0",Down:"pin_keyboard_clear"},pin_keyboard_0:{Up:"pin_keyboard_5",Left:"pin_keyboard_9",Down:"pin_keyboard_clear"},pin_keyboard_del:{Up:"pin_keyboard_6",Down:"pin_btn_confirm",Right:"pin_keyboard_clear"},pin_keyboard_clear:{Up:"pin_keyboard_9",Down:"pin_btn_confirm",Left:"pin_keyboard_del"},pin_btn_confirm:{Up:"pin_keyboard_del"}};this.password="";this.passwordTimeout=undefined;this.aux=undefined;this.n_pin=undefined;this.o_pin=undefined;var self=this;setInterval(function(){if(self.input)self.input.toggleClass("has-cursor")},500)},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide();if(Model.App.pinState==="insert_to_change"){this.password="";$("#popup_pinInput").html(this.password)}},onUnload:function(){$("#ModalContent").removeClass("moveUp")},render:function(location){this._super(location);this.enable();if(Model.App.pinState==="create"){this.password="";$("#popup_pinInput").html(this.password);$("#popup_pin_description").text(language[Model.App.file.language].pinScreen.setPin)}else{this.password="";$("#popup_pinInput").html(this.password);$("#popup_pin_description").text(language[Model.App.file.language].pinScreen.verifyPin)}this._enableElement("pin_keyboard_1");this.input=$("#popup_pinInput");this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in Pin Insert popup");$(".hoveritemBack").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.password="";this.onClose();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},onClose:function(){$(this.rootID+" .active").removeClass("active");$("#popup_pin_error").hide();var parentalControls=ViewControllerManager.find("ParentalControls");var Profile=ViewControllerManager.find("Profile");if(Model.App.pinState==="create"){this.aux=this.password;if(TVA.onFocus==="pin_btn_confirm"){}else{this.password=""}$(this.rootID).removeClass("collapse");this.parentVC.backToPrevious();if(!Model.App.pinSet){parentalControls.goBack()}$("#Header").show();Profile.enable()}else if(Model.App.pinState==="insert_to_change"){if(TVA.onFocus==="pin_btn_confirm"){}else{this.password=""}$(this.rootID).removeClass("collapse");this.parentVC.backToPrevious();$("#Header").show();Profile.enable()}else if(Model.App.pinState==="insert"){if(TVA.onFocus==="pin_btn_confirm"){}else{this.password=""}$(this.rootID).removeClass("collapse");this.parentVC.backToPrevious();$("#Header").show()}else{this.parentVC.backToPrevious()}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){var element=event.target.id;this._enableElement(element);event.stopPropagation()},pinInsert:function(event){var bull;if(this.passwordTimeout){clearTimeout(this.passwordTimeout);bull=this._createBullets();$("#popup_pinInput").html(bull)}if(this.password.length<=3){var aux=TVA.onFocus.substring(13,14);bull=this._createBullets();$("#popup_pinInput").html(bull+aux);this.password=this.password+aux;this.passwordTimeout=setTimeout(function(){bull+="•";$("#popup_pinInput").html(bull)},1e3)}event.stopPropagation()},clearBtn:function(event){clearTimeout(this.passwordTimeout);this.password="";$("#popup_pinInput").html(this.password);event.stopPropagation()},delBtn:function(event){if(this.passwordTimeout){clearTimeout(this.passwordTimeout)}this.password=this.password.substring(0,this.password.length-1);var bull=this._createBullets();$("#popup_pinInput").html(bull);event.stopPropagation()},_createBullets:function(){var bull="";for(var i=0;i<this.password.length;i++){bull+="•"}return bull},confirmPin:function(){var _this=this;Model.App.showPinBeforeDetails=true;var pin;if(this.password.length<4){$("#popup_pin_error").text(language[Model.App.file.language].pinScreen.err_wrong_pin);$("#popup_pin_error").css("left","482px");$("#popup_pin_error").show();clearTimeout(this.passwordTimeout);this.password="";$("#popup_pinInput").html(this.password);event.stopPropagation()}else{if(this.password.length===4&&Model.App.pinState==="create"){var Profile=ViewControllerManager.find("Profile");this._setPin(function(){$("#popup_pin_error").hide();_this.onClose()})}else if(this.password.length===4&&Model.App.pinState==="insert_to_change"){_this.o_pin=this.password;pin={pin:_this.o_pin};API.verifyPin(pin,function(result){$("#popup_pin_description").text(language[Model.App.file.language].pinScreen.changePin);$("#popup_pin_error").hide();Model.App.pinState="change";clearTimeout(_this.passwordTimeout);_this.password="";$("#popup_pinInput").html(_this.password);event.stopPropagation()},function(result){$("#popup_pin_error").text(language[Model.App.file.language].pinScreen.err_wrong_pin);$("#popup_pin_error").css("left","482px");$("#popup_pin_error").show()})}else if(this.password.length===4&&Model.App.pinState==="change"){_this.n_pin=this.password;var parameters={new_pin:_this.n_pin,old_pin:_this.o_pin};API.changePin(parameters,function(){_this.aux=_this.password;$("#popup_pin_error").hide();Model.App.file.user.pin=_this.n_pin;$(_this.rootID).removeClass("collapse");_this.parentVC.backToPrevious();$("#Header").show();ViewControllerManager.find("ParentalControls").askedPin=true;var Root=ViewControllerManager.find("Root");Root.publish("Information");$("#info_popup_description").html("Your Pin has been changed.")},function(result){$("#popup_pin_error").text(language[Model.App.file.language].pinScreen.err_different_pin);$("#popup_pin_error").css("left","310px");$("#popup_pin_error").show()})}else if(this.password.length===4&&Model.App.pinState==="insert"){var o=this.password;pin={pin:o};API.verifyPin(pin,function(result){Model.App.file.user.pin=o;$("#popup_pin_error").hide();clearTimeout(_this.passwordTimeout);_this.password="";$("#popup_pinInput").html(_this.password);if(Model.App.watchFromPin){Model.App.watchFromPin=false;Util.showSpriteLoader();Model.App.showPinBeforeDetails=false;ViewControllerManager.find("Home").goToDetails();setTimeout(function(){Model.App.showPinBeforeDetails=true},18e5)}else{ViewControllerManager.find("ParentalControls").askedPin=true;var ParentalControls=ViewControllerManager.find("ParentalControls");var aux=ParentalControls.activeChild;ParentalControls._handleClicks(aux)}_this.onClose();event.stopPropagation()},function(result){$("#popup_pin_error").text(language[Model.App.file.language].pinScreen.err_wrong_pin);$("#popup_pin_error").css("left","482px");$("#popup_pin_error").show()})}}},_setPin:function(call){var a=this.password.toString();var parameters={new_pin:a};Model.App.pinSet=false;var sucess=function(result){var c=result;Model.App.file.user.pin=a;Model.App.pinSet=true;call&&call()};var error=function(result,errorCode){var b=result;Model.App.errorCode=errorCode;home.publish("Error")};API.setPin(parameters,sucess,error)},_populateFields:function(){$("#pin_btn_confirm").text(language[Model.App.file.language].pinScreen.confirmPin);$("#pin_back").text(language[Model.App.file.language].common.btn_back);$("#pin_keyboard_del").text(language[Model.App.file.language].common.delete);$("#pin_keyboard_clear").text(language[Model.App.file.language].common.clear)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalInformationVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="info_btn_close";this.navigation={}},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide()},onUnload:function(){$("#ModalContent").removeClass("moveUp")},render:function(location){this._super(location);$("#info_btn_close").text(language[Model.App.file.language].profileScreen.btn_close);this.enable()},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){var element=event.target.id;this._enableElement(element);event.stopPropagation()},onKeyDown:function(e,keyCode){TVA.log("keydown in Information popup");$(".hoveritemBack").removeClass("active");var scope=this;if(Model.App.listen){switch(keyCode){case Keys.getBind("Back"):scope.onClose();e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopPropagation();break}}},onClose:function(){$(this.rootID+" .active").removeClass("active");$(this.rootID).removeClass("collapse");this.parentVC.backToPrevious();$("#Header").show()}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalResumeVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="resume_yes_btn";this.navigation={resume_yes_btn:{Right:"resume_restart_btn"},resume_restart_btn:{Left:"resume_yes_btn"}}},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide()},onUnload:function(){$("#ModalContent").removeClass("moveUp")},render:function(location){this._super(location);this.enable();this._populateFields()},onKeyDown:function(e,keyCode){TVA.log("keydown in Exit popup");$(".hoveritemBack").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},back:function(){$(this.rootID+" .active").removeClass("active");this.parentVC.backToPrevious();ViewControllerManager.find("Player").back()},onClose:function(){this.parentVC.backToPrevious()},onHover:function(event){var element=event.target.id;this._enableElement(element)},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onResume:function(){this.onClose();this._playMovie(true)},onRestart:function(){this.onClose();this._playMovie(false)},_playMovie:function(resume){Util.showSpriteLoader();var player=ViewControllerManager.find("Player");TVA.log("About to play movie. Resume: "+resume);API.watchMovie(Model.App.movie.flix_id,function(res){Model.App.seekTime=0;Model.App.movie.url=res.url;if(resume&&res.seek_time>0&&res.seek_time<Model.App.movie.duration_seconds-20){Model.App.seekTime=res.seek_time;TVA.log("Seek time: "+Model.App.seekTime)}else{player.waitToShowResume=false}if(settings.device==="chrome"){VideoController.setURL("http://p.demo.flowplayer.netdna-cdn.com/vod/demo.flowplayer/bbb-800.mp4")}else{VideoController.setURL(Model.App.movie.url)}var resumableDevices=["androidtv","firetv"];if(resumableDevices.indexOf(settings.device)>-1&&isFinite(Model.App.seekTime)&&Model.App.seekTime!==0)player.playPause(Model.App.seekTime);else{TVA.log("----- No resume for you...");player.playPause()}Util.hideSpriteLoader()},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;home.publish("Error")})},_populateFields:function(){$("#resume_popup_description").text(language[Model.App.file.language].playerScreen.resume);$("#resume_yes_btn").text(language[Model.App.file.language].playerScreen.btn_resume);$("#resume_restart_btn").text(language[Model.App.file.language].playerScreen.btn_restart)}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalRatingVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="rating_yes_btn";this.navigation={resume_yes_btn:{Right:"resume_restart_btn"},resume_restart_btn:{Left:"resume_yes_btn"}}},onLoad:function(){},onUnload:function(){},render:function(location){this._super(location);this.enable();$("#ModalContent").show();$("#rating_popup_movie_title").html(Model.App.movie.title);$("#rating_yes_btn").text(language[Model.App.file.language].ratingScreen.btn_confirm);$("#rating_back_btn").text(language[Model.App.file.language].common.btn_back);$("#rating_popup_heading").text(language[Model.App.file.language].ratingScreen.pleaseRate);$("#rating_popup_instruction").text(language[Model.App.file.language].ratingScreen.addStars);this.fixRating(3);this.drawRating(Model.App.movie,this.rating)},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);$(".hoveritemBack").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.back();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this.decrementRating();e.stopPropagation();break;case Keys.getBind("Right"):this.incrementRating();e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},back:function(){Model.App.promptReview=false;$(this.rootID+" .active").removeClass("active");this.parentVC.backToPrevious()},onClose:function(){Model.App.promptReview=false;this.parentVC.backToPrevious()},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){var element=event.target.id;this._enableElement(element)},onConfirm:function(){var details=ViewControllerManager.find("Details");this.onClose();var rating=Math.ceil(this.rating);var params={id:Model.App.movie.flix_id,score:rating};API.reviewMovie(params,function(a){Model.App.promptReview=false},function(a,errorCode){Model.App.promptReview=false;if(a.errorThrown!=="Conflict"){Model.App.errorCode=errorCode;details.publish("Error")}})},drawRating:function(movie,rating){var ratingWhole=Math.floor(rating);var ratingHalf=rating-ratingWhole;var stars="";for(var j=0;j<5;j++){if(j<ratingWhole){stars+='<div class="star wholeStar"></div>'}else if(ratingHalf>0){ratingHalf=0;stars+='<div class="star halfStar"></div>'}}if(rating===1){stars+='<div class="star noStar"></div>';stars+='<div class="star noStar"></div>';stars+='<div class="star noStar"></div>';stars+='<div class="star noStar"></div>'}else if(rating>1&&rating<=2){stars+='<div class="star noStar"></div>';stars+='<div class="star noStar"></div>';stars+='<div class="star noStar"></div>'}else if(rating>2&&rating<=3){stars+='<div class="star noStar"></div>';stars+='<div class="star noStar"></div>'}else if(rating>3&&rating<=4){stars+='<div class="star noStar"></div>'}rating='<div class="rating">'+stars+"</div>";$("#rating_popup_rating").html(rating)},incrementRating:function(){if(this.rating<5)this.rating+=1;this.drawRating(Model.App.movie,this.rating)},decrementRating:function(){if(this.rating>1)this.rating-=1;this.drawRating(Model.App.movie,this.rating)},fixRating:function(rating){this.rating=rating;var ratingWhole=Math.floor(this.rating);var ratingHalf=this.rating-ratingWhole;if(ratingHalf!==0){this.rating=ratingWhole+.5}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalMaintenanceVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btn_goBack";this.navigation={btn_goBack:{}}},onLoad:function(){$("#ModalContent").addClass("moveUp");var scope=this;$("#Header").hide()},onUnload:function(){$("#ModalContent").removeClass("moveUp")},render:function(location){this._super(location);this.enable();$("#popup_description").html();if(Model.App.file&&Model.App.file.language&&language[Model.App.file.language]){$(this.rootID+" #popup_description").html(language[Model.App.file.language].error.offline);$(this.rootID+" #btn_goBack").html(language[Model.App.file.language].common.btn_exit)}else{$(this.rootID+" #popup_description").html("Our Smart TV is currently under maintenance. Please visit our website www.flixpremiere.com or download our Android or iOS apps to access your favorite content.");$(this.rootID+" #btn_goBack").html("Exit")}},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);$(".hoveritemBack").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.exitApp();e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},exitApp:function(){if(settings.device==="chrome"){location.reload()}else if(settings.device==="samsung_tizen"){TVA.quit()}else{TVA.quit(true)}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){if(event.target.className==="btn_overlay hoveritem"){this._enableElement(event.target.parentElement.id)}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalErrorVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btnBack";this.navigation={}},onUnload:function(){$("#ModalContent").removeClass("moveUp")},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide()},render:function(location){this._super(location);ViewControllerManager.find("Root").hideSplash();this.enable();this.class=$("#Header").attr("class");$("#Header").attr("class","error");if(language&&Model.App.file&&language[Model.App.file.language]){if(Model.App.errorCode===108){$(this.rootID+" #popup_Title").html("");if(language[Model.App.file.language]){$(this.rootID+" #popup_description").html(language[Model.App.file.language].error.regionNotSupported)}else{$(this.rootID+" #popup_description").html(language["en-US"].error.regionNotSupported)}}else{$(this.rootID+" #popup_Title").html(language[Model.App.file.language].errorPopUp.error_title.replace("[XXX]",Model.App.errorCode));$(this.rootID+" #popup_description").html("The App has stopped working.")}$(this.rootID+" #btn_exit p").html(language[Model.App.file.language].errorPopUp.btn_exit)}else{$(this.rootID+" #popup_Title").html("Error number "+Model.App.errorCode);$(this.rootID+" #popup_description").html("The App has stopped working.");$(this.rootID+" #btn_exit p").html("Exit")}this.activeChild="btn_exit";TVA.setFocus(this.activeChild);Util.hideSpriteLoader()},onKeyDown:function(e,keyCode){if(!Model.App.Loading){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();break;case Keys.getBind("Up"):e.stopImmediatePropagation();break;case Keys.getBind("Down"):e.stopImmediatePropagation();break;case Keys.getBind("Left"):e.stopImmediatePropagation();break;case Keys.getBind("Right"):e.stopImmediatePropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}}e.stopPropagation()},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){},onClose:function(){$(this.rootID+" .active").removeClass("active");$("#Header").attr("class",this.class);this.parentVC.backToPrevious();if(settings.device==="samsung_tizen"){TVA.quit()}else{TVA.quit(true)}}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalMessageVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btnBack";this.navigation={}},onUnload:function(){$("#ModalContent").removeClass("moveUp")},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide()},render:function(location){this._super(location);ViewControllerManager.find("Root").hideSplash();this.enable();this.class=$("#Header").attr("class");$("#Header").attr("class","error");if(Model.App.errorCode){$(this.rootID+" #popup_Title").html("Error number "+Model.App.errorCode)}$(this.rootID+" #popup_description").html(Model.App.message);$(this.rootID+" #btn_exit p").html(language[Model.App.file.language].common.btn_back);this.activeChild="btnBack";TVA.setFocus(this.activeChild);Util.hideSpriteLoader()},onKeyDown:function(e,keyCode){if(!Model.App.Loading){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();break;case Keys.getBind("Up"):e.stopImmediatePropagation();break;case Keys.getBind("Down"):e.stopImmediatePropagation();break;case Keys.getBind("Left"):e.stopImmediatePropagation();break;case Keys.getBind("Right"):e.stopImmediatePropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}}e.stopPropagation()},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(event){},onClose:function(){$(this.rootID+" .active").removeClass("active");$("#Header").attr("class",this.class);this.parentVC.backToPrevious()}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalSignRegVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btnSignInSignReg";this.navigation={btnSignInSignReg:{Down:"btnRegisterSignReg"},btnRegisterSignReg:{Up:"btnSignInSignReg"}}},onLoad:function(){},onUnload:function(){},render:function(location){this._super(location);this.activeChild="btnSignInSignReg";this.enable();$(this.rootID+" #btnSignInSignReg").html(language[Model.App.file.language].loginScreen.btn_signin);$(this.rootID+" #btnRegisterSignReg").html(language[Model.App.file.language].loginScreen.btn_register);$(this.rootID+" #messageSignReg").html(language[Model.App.file.language].loginScreen.signin_or_register);$(this.rootID+" #backSignReg").html(language[Model.App.file.language].common.btn_back);$(this.rootID+" #backSignReg").removeClass("focus")},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);$(".hoveritemBack").removeClass("active");if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();e.stopPropagation();break;case Keys.getBind("Exit"):e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onClose:function(){$(this.rootID+" .active").removeClass("active");this.parentVC.backToPrevious()},onHover:function(e){this._enableElement(e.target.id);e.stopPropagation()},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},btnClick:function(e){Model.App.showPinBeforeDetails=true;var id=e.target.id;var profile=ViewControllerManager.find("Profile");this.onClose();if(id==="btnSignInSignReg"){profile.showSignIn()}else if(id==="btnRegisterSignReg"){profile.showRegister()}$("#Screen").hide();Util.hideSpriteLoader()}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalKeyboardVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btnSignIn";this.navigation={btnSignIn:{Down:"btnRegister"},btnRegister:{Up:"btnSignIn"}}},onLoad:function(){$("#backIcon").css("z-index",2)},onUnload:function(){$("#backIcon").css("z-index",0);$("#backIcon").css("background-image","url(css/assets/backarrow.png")},render:function(location){this._super(location);this.activeChild="btnSignIn";this.enable();var Keyboard=ViewControllerManager.find("Keyboard");var Home=this;if(Model.App.profileState==="signIn"){var SignInHandler=ViewControllerManager.find("SignInHandler");Home.addChild(Keyboard,"#ModalKeyboard");Home.activeChild=Keyboard;Keyboard.extraInfoController="SignInHandler";Keyboard.addChild(SignInHandler,"#ExtraInfo")}else if(Model.App.profileState==="register"){var RegisterHandler=ViewControllerManager.find("RegisterHandler");Home.addChild(Keyboard,"#ModalKeyboard");Home.activeChild=Keyboard;Keyboard.extraInfoController="RegisterHandler";Keyboard.addChild(RegisterHandler,"#ExtraInfo")}else if(Model.App.profileState==="addCC"){var CreditCardHandler=ViewControllerManager.find("CreditCardHandler");Home.addChild(Keyboard,"#ModalKeyboard");Home.activeChild="Keyboard";Keyboard.extraInfoController="CreditCardHandler";Keyboard.addChild(CreditCardHandler,"#ExtraInfo")}},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();e.stopPropagation();break;case Keys.getBind("Exit"):e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onClose:function(call){var home=ViewControllerManager.find("Home");$(this.rootID+" .active").removeClass("active");var scope=this;if(Model.App.fromProfile){this.parentVC.backToPrevious();ViewControllerManager.find("Profile").setup();call&&call()}else if(Model.App.fromMyMovies){Model.App.loginFromMyMovies=true;var screen=ViewControllerManager.find("Screen");screen.getMyMovies(function(){scope.parentVC.backToPrevious();screen.createMyMoviesList();home._enableElement("Screen");if(Model.myMovies&&(Model.myMovies.films.active_films.length===0||Model.myMovies.films.past_films.length===0||Model.myMovies.films.reminders.length===0)){home.showSideMenu()}Util.hideSpriteLoader();call&&call()},function(){})}else{this.parentVC.backToPrevious();if(home.activeChild==="Details"){home.children[home.activeChild].view.enable();home.children[home.activeChild].view.rebuildView()}call&&call()}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},onHover:function(e){},btnClick:function(e){}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalCreditCardMenuVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btnSignIn";this.navigation={btnSignIn:{Down:"btnRegister"},btnRegister:{Up:"btnSignIn"}}},onLoad:function(){},onUnload:function(){},render:function(location){this._super(location);var Keyboard=ViewControllerManager.find("Keyboard");var Home=this;Home.addChild(ViewControllerManager.find("CreditCardMenu"),"#ModalCreditCardMenu");Home.activeChild=ViewControllerManager.find("CreditCardMenu")},onKeyDown:function(e,keyCode){TVA.log("keydown in "+this.name);if(Model.App.listen){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();e.stopPropagation();break;case Keys.getBind("Exit"):e.stopPropagation();break;case Keys.getBind("Up"):this._navigate("Up",e);e.stopPropagation();break;case Keys.getBind("Down"):this._navigate("Down",e);e.stopPropagation();break;case Keys.getBind("Left"):this._navigate("Left",e);e.stopPropagation();break;case Keys.getBind("Right"):this._navigate("Right",e);e.stopPropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();break}}},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onClose:function(){var scope=this;$(this.rootID+" .active").removeClass("active");scope.parentVC.backToPrevious()},onHover:function(e){},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active")},onBackHover:function(e){$("#"+e.target.id).addClass("active")},btnClick:function(e){}}))})();(function(){"use strict";var base=ViewControllerManager.findClass("ViewControllerNav");ViewControllerManager.newClassDef("ModalFeatRegSuccessVC",Class.create({_extends_:base,_init_:function(args){base.call(this,args);this.activeChild="btn_exit";this.navigation={}},onUnload:function(){$("#ModalContent").removeClass("moveUp")},onLoad:function(){$("#ModalContent").addClass("moveUp");$("#Header").hide()},render:function(location){this._super(location);this.enable();this.class=$("#Header").attr("class");$("#Header").attr("class","error");var regSuccText=language[Model.App.file.language].registerSuccessScreen;$("#ModalFeatRegSuccess #popup_Title").html(regSuccText.title);$("#ModalFeatRegSuccess #popup_description p:nth-child(1)").html(regSuccText.text);$("#ModalFeatRegSuccess #popup_description p:nth-child(2)").html(regSuccText.sub_text);$("#ModalFeatRegSuccess #btn_exit p").html(regSuccText.btn_text);$("#ModalFeatRegSuccess #back").html(language[Model.App.file.language].common.btn_back);this.activeChild="btn_exit";TVA.setFocus(this.activeChild);Model.App.showFeatRegSuccess=false;Util.hideSpriteLoader()},onKeyDown:function(e,keyCode){$("#ModalFeatRegSuccess #back").removeClass("active");if(!Model.App.Loading){switch(keyCode){case Keys.getBind("Circle"):case Keys.getBind("Back"):this.onClose();break;case Keys.getBind("Up"):e.stopImmediatePropagation();break;case Keys.getBind("Down"):e.stopImmediatePropagation();break;case Keys.getBind("Left"):e.stopImmediatePropagation();break;case Keys.getBind("Right"):e.stopImmediatePropagation();break;case Keys.getBind("Cross"):case Keys.getBind("Enter"):$("#"+TVA.onFocus).click();e.stopImmediatePropagation();break}}e.stopPropagation()},_navigate:function(direction,e){var nextChild=this.navigation[this.activeChild][direction];if(nextChild&&this.children[nextChild]){this.children[nextChild].view.enable();e.stopPropagation()}else if($(this.rootID).find("#"+nextChild).length){TVA.setFocus(nextChild);this.activeChild=nextChild;e.stopPropagation()}},onMouseLeave:function(e){$("#"+e.target.id).removeClass("active");e.stopImmediatePropagation()},onBackHover:function(e){$("#"+e.target.id).addClass("active");e.stopImmediatePropagation()},onHover:function(event){},onClose:function(){$(this.rootID+" .active").removeClass("active");$("#Header").attr("class",this.class);this.parentVC.backToPrevious();ViewControllerManager.find("Home").redrawFeaturedCarousel();var home=ViewControllerManager.find("Home");if(home.activeChild==="Details"){home.children[home.activeChild].view.enable();home.children[home.activeChild].view.rebuildView()}},onConfirm:function(){var scope=this;API.getTickets(function(res){Model.App.file.user.ticket_count=res.ticket_count||0;scope.onClose()},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;self.publish("Error")})}}))})();TVA.AmazonIAP={};TVA.AmazonIAP.purchaseSuccessCB=function(){};TVA.AmazonIAP.init=function(entitlementInfo,purchaseSuccessCB){if(purchaseSuccessCB){TVA.AmazonIAP.purchaseSuccessCB=purchaseSuccessCB}TVA.AmazonIAP.setWindowError();TVA.AmazonIAP.activeState=false;TVA.AmazonIAP.amzn_wa=amzn_wa;TVA.AmazonIAP.purchaseItemButtonPressed=false;TVA.AmazonIAP.state={entitlementInfo:[],lastPurchaseCheckTime:null,revokedSKUs:[]};if(entitlementInfo){TVA.AmazonIAP.state.entitlementInfo=entitlementInfo}this.onSdkAvailable=function(resp){if(resp.isSandboxMode){console.log("Running in test mode")}var offset=TVA.AmazonIAP.state.lastPurchaseCheckTime!==null?TVA.AmazonIAP.state.lastPurchaseCheckTime:TVA.AmazonIAP.amzn_wa.IAP.Offset.BEGINNING;TVA.AmazonIAP.amzn_wa.IAP.getPurchaseUpdates(offset)};this.onGetUserIdResponse=function(a){};this.onItemDataResponse=function(data){if(data.itemDataRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.ItemDataStatus.SUCCESSFUL){}else if(data.itemDataRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.ItemDataStatus.FAILED){alert("Failed to fetch items")}else if(data.itemDataRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.ItemDataStatus.SUCCESSFUL_WITH_UNAVAILABLE_SKUS){alert("Unavailable SKUs")}}.bind(this);this.onPurchaseResponse=function(data){this.handleOnPurchaseResponse(data)}.bind(this);this.onPurchaseUpdatesResponse=function(resp){this.handleOnPurchaseUpdatesResponse(resp)}.bind(this);TVA.log("SETTING UP IAP CALLBACKS");if(TVA.AmazonIAP.amzn_wa.IAP===null||TVA.AmazonIAP.amzn_wa.IAP===undefined){TVA.log("Amazon In-App-Purchasing only works with Apps from the Appstore")}else{TVA.log("Register registerObserver");TVA.AmazonIAP.amzn_wa.IAP.registerObserver({onSdkAvailable:this.onSdkAvailable,onGetUserIdResponse:this.onGetUserIdResponse,onItemDataResponse:this.onItemDataResponse,onPurchaseResponse:this.onPurchaseResponse,onPurchaseUpdatesResponse:this.onPurchaseUpdatesResponse})}};TVA.AmazonIAP.purchaseItem=function(id,error){TVA.AmazonIAP.getItemData();TVA.AmazonIAP.amzn_wa.IAP.getUserId();var offset=TVA.AmazonIAP.state.lastPurchaseCheckTime!==null?TVA.AmazonIAP.state.lastPurchaseCheckTime:TVA.AmazonIAP.amzn_wa.IAP.Offset.BEGINNING;TVA.AmazonIAP.amzn_wa.IAP.getPurchaseUpdates(offset);TVA.AmazonIAP.purchaseItemButtonPressed=true;TVA.AmazonIAP.sslCallBack=error?error:null;if(TVA.AmazonIAP.amzn_wa.IAP===null){alert("You cannot buy this button, Amazon In-App-Purchasing works only with Apps from the Appstore.")}else{TVA.AmazonIAP.amzn_wa.IAP.purchaseItem(id)}};TVA.AmazonIAP.handleReceipt=function(receipt){for(var i=0;i<TVA.AmazonIAP.state.entitlementInfo.length;i++){if(receipt.sku===TVA.AmazonIAP.state.entitlementInfo[i][0]){TVA.AmazonIAP.state.entitlementInfo[i][1]=true}}};TVA.AmazonIAP.handleOnPurchaseUpdatesResponse=function(e){if(e.receipts){for(var i=0;i<e.receipts.length;i++){if(e.purchaseUpdatesRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.PurchaseUpdatesStatus.SUCCESSFUL){this.handleReceipt(e.receipts[i])}else if(e.purchaseUpdatesRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.PurchaseUpdatesStatus.FAILED){alert("We were unable to complete your purchase request")}}}};TVA.AmazonIAP.handleOnPurchaseResponse=function(e){var offset=TVA.AmazonIAP.state.lastPurchaseCheckTime!==null?TVA.AmazonIAP.state.lastPurchaseCheckTime:TVA.AmazonIAP.amzn_wa.IAP.Offset.BEGINNING;if(e.purchaseRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.PurchaseStatus.SUCCESSFUL){TVA.AmazonIAP.amzn_wa.IAP.drainItem();this.purchaseSuccessCB(e)}else if(e.purchaseRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.PurchaseStatus.ALREADY_ENTITLED){TVA.AmazonIAP.amzn_wa.IAP.getPurchaseUpdates(offset)}else if(e.purchaseRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.PurchaseStatus.FAILED){if(TVA.AmazonIAP.purchaseItemButtonPressed){alert("We were unable to complete your purchase request")}else{console.log("Purchase request from previous session returned a failure response")}}else if(e.purchaseRequestStatus===TVA.AmazonIAP.amzn_wa.IAP.PurchaseStatus.INVALID_SKU){alert("Invalid SKU")}TVA.AmazonIAP.amzn_wa.IAP.getPurchaseUpdates(e.purchaseRequestStatus)};TVA.AmazonIAP.getItemData=function(){TVA.AmazonIAP.amzn_wa.IAP.getItemData(["ticket_bundle_5"])};TVA.AmazonIAP.active=function(){return TVA.AmazonIAP.activeState};TVA.AmazonIAP.keyDown=function(keyCode){};TVA.AmazonIAP.setWindowError=function(){var tmpFunc=window.onerror;window.onerror=function(f,e,c){if(f.indexOf("Invalid use of IAP")>-1){var message="IAP is not available on unsecured Apps.";TVA.AmazonIAP.sslCallBack&&TVA.AmazonIAP.sslCallBack(message);TVA.AmazonIAP.sslCallBack=null}tmpFunc&&tmpFunc(f,e,c);return false}};var settings={device:"",year:"",lang:"",qmenu:false,mouse:false};Main.loadMain=function(){document.addEventListener("pause",function(){console.log("Handling app pause");if(ViewControllerManager.find("Root").activeChild==="Player"){TVA.onHUD=true}},true);document.addEventListener("resume",function(){console.log("Handling app resuming");if(ViewControllerManager.find("Root").activeChild==="Player"){var scope=ViewControllerManager.find("Player");API.watchMovie(Model.App.movie.flix_id,function(res){Util.hideSpriteLoader();TVA.onHUD=false;scope.passId=res.pass.id;scope.userLeftReview=res.member_has_left_review;Model.App.seekTime=0;Model.App.movie.url=res.url;if(settings.device==="chrome"){VideoController.setURL("http://p.demo.flowplayer.netdna-cdn.com/vod/demo.flowplayer/bbb-800.mp4")}else{VideoController.setURL(Model.App.movie.url)}if(Model.App.movie.subtitles&&Model.App.movie.subtitles.length>0){scope.SubtitleOptions=Model.App.movie.subtitles;scope.getSubtitles(Model.App.movie.subtitles[scope.captionsIndex]);scope._showCCButton()}else{scope._hideCCButton()}if(res.seek_time>0&&res.seek_time<Model.App.movie.duration_seconds-20){scope.waitToShowResume=true;Model.App.seekTime=res.seek_time;scope.publish("ResumeMovie")}else{scope.playPause()}scope._setTizenResume()},function(res,errorCode){Model.App.errorCode=errorCode;home.publish("Error")})}},true);if(TVA.device==="samsung_tizen"&&typeof Main.isLoaded==="boolean"&&Main.isLoaded===true){return}Main.isLoaded=true;$("body").addClass(TVA.device);var initObj={debug:config.debug};TVA.init(initObj);settings.device=TVA.device.toLowerCase();$("#debugWindow").css({"text-align":"right",width:"350px","word-wrap":"break-word"});Util.openFile(config.storageName);if(settings.device.indexOf("samsung")!==-1){settings.year=TVA.year}settings.qmenu=navigator.userAgent.indexOf("LG NetCast.TV")>0;TVA.log("Device: "+settings.device);if(settings.device==="chrome"){TVA.log(navigator)}else{TVA.log(navigator.userAgent)}if(settings.device==="firetv"){this._fireTVSetup()}StyleManager.init();Main.FlixPremiereApp=new FlixPremiereApp;Main.FlixPremiereApp.Go()};Main._fireTVSetup=function(){Model.App.AmazonIAP=false;var modalPurchase=ViewControllerManager.find("modalPurchase");var scope=this;TVA.AmazonIAP.init(null,function(data){var param={user_id:data.userId,receipt_id:data.receipt.purchaseToken,id:Model.App.movie.flix_id};Util.showSpriteLoader();API.verifyIAP(param,function(data){Util.hideSpriteLoader();var res=data.result;var details=ViewControllerManager.find("Details");var MP=ViewControllerManager.find("ModalPurchase");var player=ViewControllerManager.find("Player");MP.back();Model.App.file.user.ticket_count=res.ticket_count;player.passId=res.pass_id;player.userLeftReview=res.film.member_has_left_review;Model.App.seekTime=res.film.seek_time;Model.App.movie.url=res.film.url;Model.App.AmazonIAP=true;details.showPlayer()},function(res,errorCode){Util.hideSpriteLoader();Model.App.errorCode=errorCode;Model.App.message=res.xhr.responseJSON.message;var MP=ViewControllerManager.find("ModalPurchase");MP.publish("Message")})})};Main.unload=function(){if(TVA.device==="samsung_tizen"){return}TVA_Player.deinit()};Main.keyDown=function(keycode){Main.FlixPremiereApp.handleKey(keycode)};