Type.registerNamespace("rb");rb.Home=function(a){rb.Home.initializeBase(this);this._locked=false;this._imagePath="";this._titlePath="";this._titleDetailUrl=null;this._data=[];this._pageSize=5;this._hitMovieGenreID=1020;this._viewer=null;this._delegates={onTitleDataReceivedDelegate:Function.createDelegate(this,this._onTitleDataReceived),onTitleItemBind:Function.createDelegate(this,this._onTitleItemBind),onTitleItemClickDelegate:Function.createDelegate(this,this._onTitleItemClick),onSignupSuccessDelegate:Function.createDelegate(this,this._onSignupSuccess)};this._titleTemplate=""};rb.Home.prototype={get_imagePath:function(){return this._imagePath},set_imagePath:function(a){this._imagePath=a},get_titlePath:function(){return this._titlePath},set_titlePath:function(a){this._titlePath=a},get_titleDetailUrl:function(){return this._titleDetailUrl},set_titleDetailUrl:function(a){this._titleDetailUrl=a},get_currentSortList:function(){return[{Name:"Release",Dir:-1},{Name:"SortName",AltName:"Name",Dir:1}]},get_titlesQuery:function(){var a=new rb.Cache.Query("Title","ID",1,this._pageSize);var b={};b.Def="1";b.GenreIDs=this._hitMovieGenreID;b.FormatID=rb.ProductFormat.DVD;a.addStatement(b,this.get_currentSortList(),null);return a},refresh:function(){this._viewer.set_locked(true);var a=(rb.Cache.cacheData("Title")!=null);rb.Cache.getData(this.get_titlesQuery(),this._delegates.onTitleDataReceivedDelegate,this._baseDelegates.onPMFailDelegate)},showTitle:function(a){document.location.href=String.format(this._titleDetailUrl,a)},submitEmail:function(){if(this._locked){return}var a=[{ctl:this._getControl("txtEmail"),type:"Email",required:true}];var b=rb.Validate.validateForm(a,this.Res);if(b.length==0){var c={email:this._getControl("txtEmail").value};this.lock();rb.Ajax.invoke("Account","SignupForPromos","",c,this._delegates.onSignupSuccessDelegate,this._baseDelegates.onPMFailDelegate)}rb.Validate.showErrors(b,this._getControl("emailErrorDialog"))},lock:function(){this._locked=true;this._getControl("progressBar").style.display=""},unlock:function(){this._locked=false;this._getControl("progressBar").style.display="none"},_onLoad:function(b,a){rb.Home.callBaseMethod(this,"_onLoad");this._viewer=$find("plvTitles");this._viewer.add_itemClick(this._delegates.onTitleItemClickDelegate);this._viewer.add_itemDataBind(this._delegates.onTitleItemBind);$addHandlers(this._getControl("button_btnEmail"),{click:this._onEmailClick},this);$addHandlers(this._getControl("emailEntry"),{keypress:this._onEmailKeyPress},this);this._titleTemplate=String.format('<a id="lnk$[ID]"><table cellspacing="0" cellpadding="0"><tr><td class="header">$[Name]</td></tr><tr><td><img tabindex="0" id="movie$[ID]" class="movie" src="{0}$[Img]" border="0" /></td></tr></table></a>',this.get_titlePath());this._viewer.set_itemTemplate(this._titleTemplate);this.refresh();rb.Recording.RecordPage("Home Page")},_onTitleItemBind:function(a,b){var d=b.get_ctl();var f=b.get_data();var e=$get("movie"+f.ID,d);var c=$get("lnk"+f.ID,d);Reflection.add(e,{height:0.2,opacity:0.5});this._titleTip&&this._titleTip.addTarget(e,this._delegates.onRefreshTitleTip,f.ID)},_onTitleDataReceived:function(b,c,a){this._viewer.set_locked(false);this._updateData(b.Data);b.HasNext=false;this._viewer.bind(b)},_onTitleItemClick:function(a,b){var d=b.get_data();var c=b.get_cellIndex();rb.Recording.RecordAction("Box Art Click",{eVar2:"Home Page: Box "+(c+1),eVar3:"Box Art",eVar4:"Non-Browse",eVar14:"Non-Browse"});this.showTitle(d.ID)},_onEmailClick:function(b,a){this.submitEmail()},_onEmailKeyPress:function(b,a){if(b.charCode==Sys.UI.Key.enter){this.submitEmail();b.preventDefault()}},_onSignupSuccess:function(a,b){this.unlock();this._showError(a.message,this._getControl("emailErrorDialog"),!a.success);if(a.success){this._getControl("emailEntry").style.display="none";rb.Recording.RecordAction("Signed Up For Email",null,["event16"])}},_showError:function(b,c,a){if(a){c.className="errorDialog"}else{c.className="instruction"}c.style.display="";c.innerHTML=b},_updateData:function(c){var a;for(var b=0;b<c.length;b++){a=c[b].Name;if(a.length>26){a=a.substr(0,25)+"..."}c[b].DisplayName=a}},_onPMFail:function(c,b,a){this._viewer.set_locked(false);rb.Home.callBaseMethod(this,"_onPMFail",[c,b,a])},dispose:function(){this._delegates=null;rb.Home.callBaseMethod(this,"dispose")}};rb.Home.registerClass("rb.Home",rb.ClientBase);