(function(n,t){(function(t,i){(function(t,i){(function(t,i,r){function f(u){var e=t.getBetLockedState(),f=e.locked;u.matches?(i("#betPanel .pin-button").addClass("hidden"),f=!1):n.ui.tracksPanel&&n.ui.tracksPanel.allowPin()&&i("#betPanel .pin-button").removeClass("hidden");f===r?t.toggleBetPanelLock():t.lockedBetPanel(f)}t.init=function(n,i){t.controller.init(n,i);t.activate()};t.activate=function(){n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.open)};t.deactivate=function(){n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.close)};t.controller=function(){function u(n){var t=this;this.isLoading=ko.computed(function(){return n.race.isLoading()||n.raceBetTypes.isLoading()},this);this.hasRace=n.hasRace;this.hasBetTypes=n.hasBetTypes}function r(){this.sectionNames={Compose:"#composeBet",Confirm:"#confirmBet",Response:"#betResponse"};this.sections={};this.activeSectionName=null;this.wrapper=null;this.racingContext=null}function f(n){var r=!0,i=t.ticket;return i&&(r=i.raceNumber()!==n.RaceNumber||i.trackEventCode()!==n.Track.TrackEventCode||!i.sessionDate().isSameDate(n.SessionDate)),r}return r.prototype.init=function(t){var r=this,e;this.wrapper=t;this.wrapper.find("#bp-hdr #closeButton").on("click",r.close);setTimeout(function(){r.wrapper.find("#bp-close-xs").on("click",r.close)},1e3);e=this.wrapper.find("#bp-balance");e.on("click",n.ui.baseLayout.refreshBalance);n.settings.hpiPinProvided||n.ui.createRequirePin(e,function(){n.ui.slideBars.slidebars.open("right","betPanel")});n.data.racingContext.getInstance().done(function(e){var o,h,c;if(r.racingContext=e,e.isValidContext&&(e.subscribe(n.data.racingContext.subscriptionTypes.TodaysTracks),e.subscribe(n.data.racingContext.subscriptionTypes.Race),e.subscribe(n.data.racingContext.subscriptionTypes.BetTypes),e.subscribe(n.data.racingContext.subscriptionTypes.CardSummary),e.subscribe(n.data.racingContext.subscriptionTypes.CardResults,null,[e.raceNumber])),Object.toArray(r.sectionNames).forEach(function(u){var f=i(u,t),e;if(!f)throw new Error("Could not load bet panel");f.data("reference")||n.ui.initBehaviour(f);e=f.data("reference");e&&(e.controller=r);r.sections[u]={element:f,behaviour:e}}),o=r.getPersistedState(),h=!1,o&&n.pageScope&&n.pageScope.racingViewModel){var s=n.pageScope.parseRouteFromHash(),l=o.raceNumber,a=o.trackEventCode,v=new moment.utc(o.sessionDate,"YYYY-MM-DD");s.raceNumber&&s.trackEventCode&&s.sessionDate&&(l==s.raceNumber&&a==s.trackEventCode&&v.isSameDate(s.sessionDate)||(o=null,r.persistState(function(n){for(var t in n)n.hasOwnProperty(t)&&delete n[t]})))}o?(r.loadBet(o,e),e.race.peek()||(h=!0)):r.newBet();e.race.subscribe(function(n){!h&&f(n)&&r.newBet();h=!1;r.persistState(function(t){t.raceNumber=n.RaceNumber;t.trackEventCode=n.Track.TrackEventCode;t.sessionDate=n.SessionDate})});c=new u(e,r);ko.applyBindings(c,t[0])})},r.prototype.newBet=function(n){var r,i,u,f;n=n||!1;this.setView(this.sectionNames.Compose);r=this.sections[this.sectionNames.Compose].behaviour;r.resetSelectAllRunnersCheckboxes();this.racingContext.race()&&(i=this.racingContext.race().RaceNumber,n?t.ticket.initializeRunners():(this.persistState(function(n){for(var t in n)n.hasOwnProperty(t)&&delete n[t]}),u=this.racingContext.race().Track.TrackEventCode,f=this.racingContext.race().SessionDate,t.ticket.createTicket(i,u,f),this.persistState(function(n){n.raceNumber=i;n.trackEventCode=u;n.sessionDate=f})),t&&t.compose&&t.compose.runners&&t.compose.runners.vm&&t.compose.runners.vm.selectedRaceNumber(i),setTimeout(function(){r.updateComposerUIState(!0)},250))},r.prototype.loadBet=function(i,r){var f=i.raceNumber,e=i.trackEventCode,o=new moment.utc(i.sessionDate,"YYYY-MM-DD"),s=i.betType,h=i.betAmount,c=i.selections,l=i.features,u;r.setParameters(e,f,o);t.ticket.createTicket(f,e,o);s&&(t.ticket.setBetType(s),l&&t.ticket.setFeatures(l),r.isValidContext&&(r.subscribe(n.data.racingContext.subscriptionTypes.Runners,null,[t.ticket.betType]),r.subscribe(n.data.racingContext.subscriptionTypes.ProbablePayouts,null,[t.ticket.betType])),h&&(t.ticket.setBetAmount(h),c&&t.ticket.setSelections(c)));this.setView(this.sectionNames.Compose);u=this.sections[this.sectionNames.Compose].behaviour;u.step=10;setTimeout(function(){u.updateComposerUIState(!0)},250)},r.prototype.close=function(){var t=new i.Deferred;i(document).one("sb.closed",function(){t.resolve()}.bind(this));return n.ui.slideBars.slidebars.close("right","betPanel"),t.promise()},r.prototype.setView=function(n,t){Object.toArray(this.sections).forEach(function(n){n.element.hide()});i("#notification-options").toggle(n!=="#betResponse");var r=this.sections[n];r.element.show();this.activeSectionName=n;r.behaviour.activate&&r.behaviour.activate(r.element,t)},r.prototype.getPersistedState=function(){var t=n.utilities.storage.getSession(n.const.betPanel.state,!0);return!t||t.raceNumber&&t.trackEventCode&&t.sessionDate||(t=null),t},r.prototype.persistState=function(t){var i=n.utilities.storage.getSession(n.const.betPanel.state,!0)||{};t(i);Object.toArray(i).length?n.utilities.storage.setSession(n.const.betPanel.state,i):n.utilities.storage.removeSession(n.const.betPanel.state)},new r}();t.lockedBetPanel=function(t){var r=i("#betPanel").parent(),u;if(r.length)if(t){if(!n.ui.tracksPanel.allowPin())return;i(".btn-betpanel:visible").trigger("click");n.ui.slideBars.slidebars.unregister(r);i("html").removeClass("sb-active-right");i("html").is("[class*='sb-active-left']")||i("html").removeClass("sb-active");i("body").addClass("bp-lock");r.find(".bi-unlock").addClass("bi-lock").removeClass("bi-unlock");document.location.pathname.endsWith("/Racing")||(u=i("#hpi-header").height(),i("#hpi-header").waypoint(function(n){n==="down"?(r.css("top",0),r.height(r.height()+u)):(r.css("top",u),r.height(r.height()-u))},{offset:"-100px"}))}else i("body").removeClass("bp-lock"),n.ui.slideBars.slidebars.register(r,"right","betPanel").addClass("sb-style-overlay"),r.find(".bi-lock").addClass("bi-unlock").removeClass("bi-lock")};t.persistBetLockedState=function(r){var u=t.getBetLockedState(),f=i.extend(!0,{},u);r(u);n.utilities.storage.set(n.const.betPanel.lockedState,u)};t.toggleBetPanelLock=function(n){if(!n){var i=t.getBetLockedState();n=!i.locked}t.lockedBetPanel(n);t.persistBetLockedState(function(t){t.locked=n})};t.getBetLockedState=function(){return n.utilities.storage.get(n.const.betPanel.lockedState,!0)||{}};var u=window.matchMedia("(max-width: 1919px)");u.addListener(f);i(document).on("hpi.ready",function(){f(u);i("#betPanel").parent().find(".pin-button").off("click").on("click",function(){t.toggleBetPanelLock()})})})(t.betPanel=t.betPanel||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)})(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i,r){t.Ticket=function(){function t(){this.sessionDate=ko.observable();this.trackEventCode=ko.observable();this.raceNumber=ko.observable();this.betAmount=ko.observable();this.betType=ko.observable();this.guid=ko.observable();this.isAdv=ko.observable();this.selections=ko.observableArray();this.features=ko.observable()}function f(t,i,r,u,f,e){return(t==="HKH"||t==="HKS")&&(i.Pool===n.enum.pool.TRI||i.Pool===n.enum.pool.TBX||i.Pool===n.enum.pool.PK3||i.Pool===n.enum.pool.PK6||i.Pool===n.enum.pool.QU3||i.Pool===n.enum.pool.TR2||i.Pool===n.enum.pool.TR3)&&(r<2&&u<5?(f=!1,e(n.ui.resources.getText("Global.Racing.BelowMinimumBet").format(n.utilities.formatMoney(5)))):r>=2&&u<r?(f=!1,e(n.ui.resources.getText("Global.Racing.BelowMinimumBet").format(n.utilities.formatMoney(r)))):f=!0),f}function e(t){var i=t?t.Pool:null;return[n.enum.pool.EXA,n.enum.pool.EXB,n.enum.pool.QNL,n.enum.pool.QNB,n.enum.pool.DBL,n.enum.pool.WIN,n.enum.pool.PLC,n.enum.pool.SHW,n.enum.pool.WP,n.enum.pool.WS,n.enum.pool.PS,n.enum.pool.WPS].indexOf(i)>=0}t.prototype.clear=function(){for(var t in this)this.hasOwnProperty(t)&&ko.isObservable(this[t])&&(ko.isComputed(this[t])?ko.isComputed(this[t])||(this[t]=r):this[t](r));n.ui.widget.betPanel.compose.viewModel&&n.ui.widget.betPanel.compose.viewModel.validationMessage("")};t.prototype.createTicket=function(n,t,i){(this.clear(),n&&t&&i)&&(this.raceNumber(n),this.trackEventCode(t),this.sessionDate(i))};t.prototype.loadQueuedTicket=function(n){this.raceNumber(n.raceNumber);this.trackEventCode(n.trackEventCode);this.sessionDate(n.sessionDate);this.setBetType(n.betType);this.setBetAmount(n.betAmount);this.setSelections(n.selections);this.guid(n.guid);this.isAdv(n.isAdv)};t.prototype.setFeatures=function(t){this.features(t);n.ui.widget.betPanel.controller.persistState(function(n){n.features=t})};t.prototype.setBetType=function(t,i,r){var s,e,o,f,u,l,a;if(n.ui.widget.betPanel.controller.persistState(function(n){n.betType=t}),s=!1,e=!1,this.betType()&&t){i&&(this.betType().BoxRelatedPool?e=t.IsBox&&this.betType().BoxRelatedPool===t.Pool:e||(e=!this.isBoxed(r)));var v=this.betType().Pool,h=t.Pool,c=this.betType().BoxRelatedPool;s=v!==h&&(!c||c!==h);s&&(this.selections(null),this.setBetAmount(null))}this.betType(t);u=[];e?(o=(r||0)-this.raceNumber(),f=this.selections.peek(),f.forEach(function(n){var t=n;o<0||o===f.indexOf(n)?(t=n.flatMap(function(n){return n}).unique(),u.push([t])):u.push(t)}),this.setSelections(u)):r?(o=(r||0)-this.raceNumber(),f=this.selections.peek(),l=t.NumberOfRaces,a=t.NumberOfLegs/l,f.forEach(function(n){var t=n;o===f.indexOf(n)?u.push(arrayRange(1,a).map(function(){return[]})):u.push(t)}),this.setSelections(u)):this.initializeRunners()};t.prototype.setBetAmount=function(t){this.betAmount(t);n.ui.widget.betPanel.controller.persistState(function(n){n.betAmount=t})};t.prototype.setSelections=function(t){this.selections(t);n.ui.widget.betPanel.controller.persistState(function(n){n.selections=t})};t.prototype.validateBetAmount=function(t){var f=this,e=t.first(function(n){return n.Amount===f.betAmount.peek()}),u,o;e&&e.Enabled||(u=n.utilities.parseNumber(i("#other-amount").val()),u&&u===f.betAmount.peek()||(this.setBetAmount(r),o=n.ui.widget.betPanel.controller.sections[n.ui.widget.betPanel.controller.sectionNames.Compose].behaviour,o.updateComposerUIState(!0)))};var u={"default":{initializeRunners:function(n){var t=n.NumberOfRaces,i=n.NumberOfLegs/t;return arrayRange(1,t).map(function(){return arrayRange(1,i).map(function(){return[]})})},getQuickPickSelections:function(t,i){var f=this,e=n.ui.widget.betPanel.compose.betTypes.types,r=i.NumberOfLegs/i.NumberOfRaces,u;return i.IsBox&&(u=e.first(function(n){return n.Pool===i.BoxRelatedPool}),r=u.NumberOfLegs/u.NumberOfRaces,(i.Pool===n.enum.pool.QBX||i.Pool===n.enum.pool.OBX)&&(r=r+1)),t.map(function(t){for(var s,h,c=t.RaceNumber-f.raceNumber(),u=f.selections()[c].length,e=arrayRange(1,u).map(function(){return[]}),o=t.Runners.filter(function(n){return!n.IsScratched}).map(function(n){return n.ToteEntryNumber}),i=0;i<r;i++)s=o.splice(n.utilities.random(o.length-1),1)[0],h=u>1?i:0,e[h].push(s);return e})},hasIncompleteLegs:function(){var n=this.selections().filter(function(n){return n.filter(function(n){return n.length===0}).length>0});return n.length>0}}};return u[n.enum.pool.TR2]={initializeRunners:function(n){var t=n.NumberOfRaces,i=2;return arrayRange(1,t).map(function(){return arrayRange(1,i).map(function(){return[]})})},getQuickPickSelections:function(t){var i=this,r=3;return t.map(function(t){for(var o,s=t.RaceNumber-i.raceNumber(),h=i.selections()[s].length,u=arrayRange(1,h).map(function(){return[]}),f=t.Runners.filter(function(n){return!n.IsScratched}).map(function(n){return n.ToteEntryNumber}),e=0;e<r;e++)o=f.splice(n.utilities.random(f.length-1),1)[0],u[1].push(o);return u})},hasIncompleteLegs:function(){var n=this.selections().filter(function(n){return n[1].length===0});return n.length>0}},u[n.enum.pool.QU3]=u[n.enum.pool.TR2],u[n.enum.pool.TR3]=u[n.enum.pool.TR2],t.prototype.initializeRunners=function(){var t=[],n,i;this.betType()&&(n=this.betType(),i=(u[n.Pool]||u.default).initializeRunners,t=i(n));this.setSelections(t)},t.prototype.makeQuickPick=function(n){var f=this,t=this.betType.peek(),i=(u[t.Pool]||u.default).getQuickPickSelections,r=i.call(this,n,t);this.setSelections(r)},t.prototype.addRunners=function(n,t,i){var r=this,u=!1,f=this.selections.peek();i.forEach(function(i){var e=r.getRunnerIndex(n,t,i),o,s;e&&e.runnerIndex<0&&(o=e.raceIndex,s=e.position,f[o][s].push(i),u=!0)});u&&setTimeout(function(){r.setSelections(f)},0)},t.prototype.removeRunners=function(n,t,i){var r=this,u=!1,f=this.selections.peek();i.forEach(function(i){var e=r.getRunnerIndex(n,t,i),o,s;e&&e.runnerIndex>=0&&(o=e.raceIndex,s=e.position,f[o][s].splice(e.runnerIndex,1),u=!0)});u&&setTimeout(function(){r.setSelections(f)},0)},t.prototype.getRunnerIndex=function(n,t,i){var r=n-this.raceNumber(),u=t-1,f;return this.isBoxed(n)&&(u=0),f=null,this.selections()&&this.selections().length>r&&this.selections()[r]&&this.selections()[r].length>u&&this.selections()[r][u]&&(f={raceIndex:r,position:u,runnerIndex:this.selections()[r][u].indexOf(i)}),f},t.prototype.isBoxed=function(n){var t=this.betType.peek(),i;if(t&&t.AllowBox){if(t.IsBox)return!0;if(!t.BoxRelatedPool)return i=n-this.raceNumber(),this._checkIsBoxedByRaceIndex(i)}else return!1},t.prototype._checkIsBoxedByRaceIndex=function(n){var t=!1;try{var i=this.betType.peek(),r=i.NumberOfRaces,u=i.NumberOfLegs/r;t=this.selections.peek()&&this.selections.peek()[n].length!=u}catch(f){}return t},t.prototype.getRunnersForAllRaces=function(){return(this.selections()||[]).flatMap(function(n){return n}).flatMap(function(n){return n})},t.prototype.getBetTotals=function(){var n=this.getNumberOfBets(),t=null;return this.betAmount()&&(t=n*this.betAmount()),[n,t]},t.prototype.getNumberOfBets=function(){function o(n,t){var r=0,i;if(t>n)return 0;for(i=1;i<=t;i++)r=(r||1)*(n-(i-1));return r}function c(t,i){var u=e.betType().NumberOfLegs/e.betType().NumberOfRaces,f=n.utilities.permutate(!1,t.filter(function(n){return n.length>0})),r=f.filter(function(n){return n.length===u&&n.unique().length===n.length});return i&&(r=r.map(function(n){return n.sort()}).unique()),r}function s(t,i,r){var f=0,e,s,l;if(t.NumberOfRaces>1)for(e=0;e<i.length;e++)if(s=i[e].flatMap(function(n){return n}).length,s)f=(f||1)*s;else{f=0;break}else{l=t.Pool===n.enum.pool.OMN||t.Pool===n.enum.pool.QNL||t.Pool===n.enum.pool.QU3;switch(t.Pool){case n.enum.pool.EXA:case n.enum.pool.QNL:case n.enum.pool.OMN:case n.enum.pool.TRI:case n.enum.pool.SFC:case n.enum.pool.HI5:f=c(i[0],l).length;break;case n.enum.pool.EXB:case n.enum.pool.QBX:case n.enum.pool.OBX:case n.enum.pool.TBX:case n.enum.pool.SFX:case n.enum.pool.H5B:h=(n.dictionaryManager.betType(r||[],t.BoxRelatedPool)||{NumberOfLegs:0}).NumberOfLegs;f=o(u,h)}}return f}function r(n,t){var u=t[n][0].length,f=t[n][1].length,i=3-u,e=o(f,i),r=e/(o(i,i-1)||1);return r==1&&u>0&&(r=0),r}var e,i,f;if(!this.betType()||!this.selections.peek())return null;e=this;i=this.selections.peek();var t=null,u=this.getRunnersForAllRaces().length,h=0;if(u===0)t=0;else{f=null;n.dictionaryManager.require(["betTypes"],function(n){f=n});switch(this.betType().Pool){case n.enum.pool.WIN:case n.enum.pool.PLC:case n.enum.pool.SHW:t=u;break;case n.enum.pool.WP:case n.enum.pool.WS:case n.enum.pool.PS:t=u*2;break;case n.enum.pool.WPS:t=u*3;break;case n.enum.pool.EXA:case n.enum.pool.EXB:case n.enum.pool.QNL:case n.enum.pool.OMN:case n.enum.pool.TRI:case n.enum.pool.TBX:case n.enum.pool.SFC:case n.enum.pool.SFX:case n.enum.pool.DBL:case n.enum.pool.PK3:case n.enum.pool.PK4:case n.enum.pool.PK5:case n.enum.pool.PK6:case n.enum.pool.PK7:case n.enum.pool.PK8:case n.enum.pool.PK9:case n.enum.pool.P10:case n.enum.pool.P11:case n.enum.pool.P12:case n.enum.pool.GSL:case n.enum.pool.HI5:case n.enum.pool.H5B:t=s(this.betType(),i,f);break;case n.enum.pool.QBX:case n.enum.pool.OBX:t=s(this.betType(),i,f)/2;t<3&&(t=0);break;case n.enum.pool.QU3:t=r.call(this,0,i);break;case n.enum.pool.TR2:t=r.call(this,0,i)*r.call(this,1,i);break;case n.enum.pool.TR3:t=r.call(this,0,i)*r.call(this,1,i)*r.call(this,2,i);break;default:t=u}}return t},t.prototype.isValidComposition=function(t){var c;t("");var o=this.getBetTotals(),r=!0,s=!1,h=o[0],e=o[1],i=this.betType();return i==null?r=!1:h==null||h<=0?(r=!1,(i.Pool===n.enum.pool.QU3||i.Pool===n.enum.pool.TR2||i.Pool===n.enum.pool.TR3)&&(this.selections()||[]).forEach(function(i){i[0].length>2&&t(n.ui.resources.getText("Global.Racing.TooManyBankers"))})):e<i.MinTotalAmount?(s=!0,r=!1,t(n.ui.resources.getText("Global.Racing.BelowMinimumBet").format(n.utilities.formatMoney(i.MinTotalAmount)))):e>i.MaxTotalAmount?(r=!1,t(n.ui.resources.getText("Global.Racing.MaximumBetExceeded").format(n.utilities.formatMoney(i.MaxTotalAmount)))):(c=(u[i.Pool]||u.default).hasIncompleteLegs,c.call(this)&&(r=!1)),(s||r)&&(r=f(this.trackEventCode(),i,this.betAmount(),e,r,t)),r},t.prototype.selectionString=function(){var t="",i=this.betType(),r;return i&&(r=i.Pool===n.enum.pool.QU3||i.Pool===n.enum.pool.TR2||i.Pool===n.enum.pool.TR3,(this.selections()||[]).forEach(function(i){i.forEach(function(i,u){r&&u===0&&i.length>1?(i.sort(function(n,t){return n-t}),t+=i.join(" / ")):t+=n.utilities.runnerString(i);!String.isNullOrWhiteSpace(t)&&i.length&&(t+=" / ")});r&&!String.isNullOrWhiteSpace(t)&&t.endsWith(" / ")&&(t=t.substring(0,t.lastIndexOf(" / "))+" | ")}),r?t.endsWith(" | ")&&(t=t.substring(0,t.lastIndexOf(" | "))):t.endsWith(" / ")&&(t=t.substring(0,t.lastIndexOf(" / ")))),t},t.prototype.getProbables=function(t,r){var k,d,g,l,v,b,f,o,y,s,h,p,nt;if(!e(this.betType())||!t||!this.isValidComposition(i.noop))return null;try{var c=4294967295,w=0,u,tt=!1,a;if(t.Legs===2)for(a=this.selections()[0][0],k=this.selections()[0][1],!k&&this.isBoxed(r.RaceNumber)&&(k=a),d=0;d<a.length;d++)for(g=0;g<k.length;g++)u=t.Amounts[a[d]-1][k[g]-1],u>0&&(c=Math.min(c,u),w=Math.max(w,u));else if(t.Legs===1){if(a=this.selections()[0][0],l=a.length,v=t.Amounts[0].length,v<0||v>3||v!=t.WpsMin[0].length)return null;if(b=r.Runners.filter(function(n){return!n.IsScratched}).length,v===3&&l===b)for(s=0;s<l;s++)for(f=a[s]-1,h=0;h<l;h++)for(o=a[h]-1,p=0;p<l;p++)y=a[p]-1,f!=o&&o!=y&&f!=y&&(u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[f][2]+t.WpsMin[o][1]+t.WpsMin[o][2]+t.WpsMin[y][2],u>0&&(c=Math.min(c,u)));else if(v===3&&l===b-1)for(s=0;s<l;s++)for(f=a[s]-1,h=0;h<l;h++)o=a[h]-1,f!=o&&(u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[f][2]+t.WpsMin[o][1]+t.WpsMin[o][2],u>0&&(c=Math.min(c,u)),u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[f][2]+t.WpsMin[o][2],u>0&&(c=Math.min(c,u)),u=t.WpsMin[f][1]+t.WpsMin[f][2]+t.WpsMin[o][2],u>0&&(c=Math.min(c,u)));else if(v===2&&l===b||v===1&&l===b&&(this.betType().Pool===n.enum.pool.PLC||this.betType().Pool===n.enum.pool.SHW))for(s=0;s<l;s++)for(f=a[s]-1,h=0;h<l;h++)for(o=a[h]-1,p=0;p<l;p++)y=a[p]-1,f!=o&&o!=y&&f!=y&&(this.betType().Pool===n.enum.pool.WP?u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[o][1]:this.betType().Pool===n.enum.pool.WS?u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[o][1]+t.WpsMin[y][1]:this.betType().Pool===n.enum.pool.PS?u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[o][0]+t.WpsMin[o][1]+t.WpsMin[y][1]:this.betType().Pool===n.enum.pool.PLC?u=t.WpsMin[f][0]+t.WpsMin[o][0]:this.betType().Pool===n.enum.pool.SHW&&(u=t.WpsMin[f][0]+t.WpsMin[o][0]+t.WpsMin[y][0]),u>0&&(c=Math.min(c,u)));else if(v===2&&l===b-1||v===1&&l===b-1&&this.betType().Pool===n.enum.pool.SHW)for(s=0;s<l;s++)for(f=a[s]-1,h=0;h<l;h++)o=a[h]-1,f!=o&&(this.betType().Pool===n.enum.pool.WP?u=t.WpsMin[f][1]:this.betType().Pool===n.enum.pool.WS?u=t.WpsMin[f][1]+t.WpsMin[o][1]:this.betType().Pool===n.enum.pool.PS?u=t.WpsMin[f][0]+t.WpsMin[f][1]+t.WpsMin[o][1]:this.betType().Pool===n.enum.pool.SHW&&(u=t.WpsMin[f][0]+t.WpsMin[o][0]),u>0&&(c=Math.min(c,u)));else for(s=0;s<l;s++)for(f=a[s]-1,h=0;h<v;h++)u=t.WpsMin[f][h],u>0&&(c=Math.min(u,c));for(s=0;s<l;s++)for(f=a[s]-1,h=0;h<l;h++)for(o=a[h]-1,p=0;p<l;p++)y=a[p]-1,u=t.Amounts[f][0],v>=2&&(u=u+t.Amounts[f][1]),v===3&&(u=u+t.Amounts[f][2]),f!=o&&(v===1&&(this.betType().Pool===n.enum.pool.PLC||this.betType().Pool===n.enum.pool.SHW)&&(u=u+t.Amounts[o][0]),v===2&&this.betType().Pool===n.enum.pool.PS&&(u=u+t.Amounts[o][0]),v>=2&&(u=u+t.Amounts[o][1]),v===3&&(u=u+t.Amounts[o][2])),f!=y&&o!=y&&(v===3?u=u+t.Amounts[y][2]:v===2&&(this.betType().Pool===n.enum.pool.WS||this.betType().Pool===n.enum.pool.PS)?u=u+t.Amounts[y][1]:v===1&&this.betType().Pool===n.enum.pool.SHW&&(u=u+t.Amounts[y][0])),u>0&&(w=Math.max(w,u))}else return null;return(c=Math.floor(c*this.betAmount()),w=Math.floor(w*this.betAmount()),c>w)?null:(c<w&&c>0&&(tt=!0),nt=[],nt.push(c),tt&&nt.push(w),nt)}catch(it){return null}},t.prototype.toServerModel=function(){var t=this.getBetTotals();return{RaceNumber:this.raceNumber(),TrackEventCode:this.trackEventCode(),SessionDate:this.sessionDate().format("YYYY-MM-DD"),BetType:this.betType().Pool,BetAmount:n.utilities.formatNumber(this.betAmount(),null,!1,null),TotalNumberOfBets:t[0],TotalBetCost:n.utilities.formatNumber(t[1],null,!1,null),RunnerList:this.selectionString()}},t}(),function(n){n.ticket=new t.Ticket}(t.betPanel=t.betPanel||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){(function(t,i,r){t.compose=function(){function u(t,r){var u=this;this.showQueue=ko.observable(!1);this.ticket=r;this.race=t.race;this.cardSummary=t.cardSummary;this.context=t;this.tracks=t.openTracks;this.isLoading=ko.computed(function(){return this.race.isLoading()||t.raceBetTypes.isLoading()},this);this.hasRace=t.hasRace;this.hasBetTypes=t.hasBetTypes;this.hasCardSummary=t.hasCardSummary;this.validationMessage=ko.observable("");this.isValidComposition=ko.observable(!1);this.changingView=ko.observable(!1);this.queueCount=ko.observable(0);this.bettingAvailable=ko.computed(function(){return this.hasRace()&&this.hasBetTypes()?this.race().RaceStatus===n.enum.racingStatusType.Open?!0:!1:!1},this);this.trackShortName=ko.computed(function(){var n="";return this.race()&&(n=this.race().AltTrackName||(this.race().Track||{}).TrackShortName),n},this);this.sessionDate=ko.computed(function(){return this.race()?this.race().SessionDate.format("MMM DD, YYYY"):""},this);this.sessionDateShort=ko.computed(function(){return this.race()?this.race().SessionDate.format("MMM DD"):""},this);this.betTypeAndAmount=ko.computed(function(){var t=this.ticket.betAmount()||0,i=this.ticket.betType()?this.ticket.betType().MediumName.trim():"";return t=t>0?n.utilities.formatMoney(t):"","{0} {1}".format(t,i)},this);this.ticketTotals=ko.computed(function(){var u=n.ui.resources.getText("Global.Racing.TicketTotalsFormatString"),t=r.getBetTotals(),i;return t&&t.length===2&&t[0]&&t[1]?(i=n.ui.resources.getText("Global.Racing.BetsLabel"),t[0]===1&&(i=n.ui.resources.getText("Global.Racing.BetLabel")),u.format(t[0],i,n.utilities.formatMoney(t[1]))):""},this);this.probables=ko.computed(function(){r.selections();var u="",i=r.getProbables(t.probablePayouts(),this.race());return i&&i.length&&(u=n.ui.resources.getText("Global.Racing.ProbableWinAmountFormatString").format(n.utilities.formatMoney(i[0])),i.length>1&&(u+="<b> - {0}<\/b>".format(n.utilities.formatMoney(i[1])))),u},this);this.pricingMessage=ko.computed(function(){var u="",i;return r.betType()&&r.betType().NumberOfRaces>1&&(i=t.runnersForRaces(),u=n.ui.resources.getText("Global.Racing.MultiRacePricingFormatString").format(r.betType().MediumName.trim(),i[i.length-1].RaceNumber)),u},this);this.hasFeatureClass=function(n){return ko.computed({read:function(){var t="label-default";return u.ticket.features()&&u.ticket.features()[n]&&(t="label-success"),t},owner:this,deferredEvaluation:!0})};this.result=ko.onDemandObservable(function(n){var i=t.raceNumber(),r=t.cardResults()||[],u=r.first(function(n){return n.RaceNumber===i})||{Result:null};n(u.Result)},this);this.changeRace=function(i){if(i.RaceNumber){if(n.pageScope&&n.pageScope.racingViewModel){var r=n.pageScope.racingViewModel.raceChangeHash(null,i.RaceNumber,null)();document.location=r}else t.setParameters(t.trackEventCode(),i.RaceNumber,t.sessionDate());n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.change,"Race");n.ui.widget.betPanel.compose.viewModel.showQueue(!1)}};this.changeTrack=function(i){if(i){if(n.pageScope&&n.pageScope.racingViewModel){var r=n.pageScope.racingViewModel.raceChangeHash(i.TrackEventCode,i.RaceNumber,i.SessionDate)();document.location=r}else t.setParameters(i.TrackEventCode,i.RaceNumber,i.SessionDate);n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.change,"Track");n.ui.widget.betPanel.compose.viewModel.showQueue(!1)}};this.getResultUrl=function(t){return n.pageScope&&n.pageScope.racingViewModel?"{0}/{1}".format(n.pageScope.racingViewModel.relativeHash("results")(),t.RaceNumber):n.utilities.combineUrlParts(n.settings.urls.baseUrl,"Racing#!",t.Track.TrackEventCode,t.SessionDate.format("YYYYMMDD"),t.RaceNumber,"results",t.RaceNumber)};this.buttonBound=function(t){n.settings.hpiPinProvided||n.ui.createRequirePin(i(t),function(){n.ui.slideBars.slidebars.open("right","betPanel")})};this.toggleQueue=function(){u.showQueue()?u.showQueue(!1):u.showQueue(!0)};this.closeBetPanel=function(){return i("#betPanel #closeButton").trigger("click"),!0};i(document).on("hpi.track.favourite",function(n,t){if(u.tracks.peek()){var i=u.tracks.peek().first(function(n){return n.TrackEventCode===t.trackEventCode});i&&(i.isFav=t.isFav,u.tracks.notifySubscribers(u.tracks.peek()))}})}function r(){this.controller=null;this.step=1;this._$elem=null;this.viewModel=null;this.navbar=null;this.sections=[];this.submitting=!1}function f(n){i("#notification-options input[type=checkbox]",this._$elem.parent()).each(function(t,r){var u=i(r).data("notificationType");i(r).prop("checked",n[u]||!1)})}return r.prototype.setView=function(n){var u=this,t,r;this.sections.forEach(function(n){i(n.panel).addClass("hidden")});this.navbar.find("button.btn[data-target]").each(function(t,r){i(r).toggleClass("selected",r===n)});t=i(n).attr("data-target");r=i(t).data("reference");r.activate&&r.activate();i(t).removeClass("hidden")},r.prototype.init=function(r){var f=this;this._$elem=r;this.navbar=i("nav.btn-group",r);this.navbar.find("button.btn[data-target]").each(function(t,u){var s,e,o;i(u).on("click",function(t){f.setView.call(f,t.currentTarget);n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.clickTab,i(u).attr("id"))});if(s=i(u).attr("data-target"),e=i(s,r),!e)throw new Error("Could not load bet sub-panel '{0}'".format(s));e.data("reference")||n.ui.initBehaviour(e);o=e.data("reference");o&&(o.controller=f);f.sections.push({panel:e,trigger:i(u),behaviour:o})});r.off("click",".btn-placeBet").on("click",".btn-placeBet",function(n){f.viewModel.ticket.guid("");f.placeBet(n)});r.off("click","#queue-bet").on("click","#queue-bet",function(n){f.queue.addToQueue(f.viewModel.ticket,n)});r.off("click",".queue-tab").on("click",".queue-tab",function(t){t.stopImmediatePropagation();var i=f._$elem.find(".queue-tab").index(this)===0?"Top":"Bottom";return n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,i),f.viewModel.toggleQueue(),!1});r.off("show.bs.dropdown","#bp-races").on("show.bs.dropdown","#bp-races",function(){n.ui.animateRacePromo(i(this).find(".dropdown-menu .promo"),250)});r.off("show.bs.dropdown",".track-lists").on("show.bs.dropdown",".track-lists",function(){n.ui.animateRacePromo(i(this).find("dropdown-menu .promo"),250)});if(n.dictionaryManager.require(["tracks"],function(){n.data.racingContext.getInstance().done(function(e){e.isValidContext&&(e.subscribe(n.data.racingContext.subscriptionTypes.Race),e.subscribe(n.data.racingContext.subscriptionTypes.BetTypes),e.subscribe(n.data.racingContext.subscriptionTypes.TodaysTracks));var o=new u(e,t.ticket);f.viewModel=o;f.updateComposerUIState(!0);ko.applyBindings(o,r[0]);ko.applyBindings(o,i("#notification-options",r.parent())[0]);n.ui.initBehaviour(i("#bet-queues"),o.queueCount);o.bettingAvailable.subscribe(function(n){i("#notification-options",r.parent()).toggle(n&&t.controller.activeSectionName!=="#betResponse")});i("#notification-options",r.parent()).toggle(o.bettingAvailable()&&t.controller.activeSectionName!=="#betResponse")})}),n.settings.isWarmup){i("#betPanel-wrapper").data("ps",new PerfectScrollbar("#betPanel-wrapper"));i("#composeBet .btn-group button").on("click",function(){i("#betPanel-wrapper").data("ps").update()})}},r.prototype.placeBet=function(t,i){var r;if(!this.submitting){i=i||{repeatBet:!1};this.submitting=!0;var u=n.getUser(),f=u.settings.skipBetConfirmation||!1,e=this._$elem.find(".btn-placeBet").index(this)===0?"Top":"Bottom";n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.placeBet,e);i.repeatBet||!f?this.controller.setView(this.controller.sectionNames.Confirm,{repeatBet:i.repeatBet}):(r=this.controller.sections[this.controller.sectionNames.Confirm],r.behaviour&&r.behaviour.submitBet(t));this.submitting=!1}},r.prototype.activate=function(t){var u=this,r;this._$elem||(this._$elem=t);r=n.getUser();f.bind(this)(r.settings.notifications);i("#notify-win-wrapper",this._$elem.parent()).toggle(r.tote!==n.enum.toteType.SgrTote);i("#notification-options input[type=checkbox]",this._$elem.parent()).off("click").on("click",function(){u.updateAlertPreferences.apply(u,arguments)})},r.prototype.updateAlertPreferences=function(t){var r=i(t.target).data("notificationType"),f,u;r&&(f=n.getUser(),f.settings.notifications[r]=i(t.target).is(":checked"),f.persist(),u=null,r==="race-results"?u="Results":r==="race-win"&&(u="I Won"),n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.alerts,u))},r.prototype.updateComposerUIState=function(r){var o;r=r||!1;var u=this,f=this.sections.length,e=!1;if(t.ticket.betType()?t.ticket.betAmount()?t.ticket.isValidComposition(u.viewModel?u.viewModel.validationMessage:i.noop)?e=!0:f=3:f=2:f=1,this.viewModel&&this.viewModel.isValidComposition(e),o=this.navbar.find("button.btn[data-target]").index(this.navbar.find("button.btn.selected[data-target]"))+1,this.step=Math.min(this.step+1,f),this.navbar.find("button.btn").each(function(n,t){i(t).toggleClass("disabled",n>u.step-1)}),o!==this.step||e)this.step<o&&(r=!0);else return;this.navbar.find("button.btn").eq(this.step-1).each(function(n,t){r&&u.setView.call(u,t)});n.settings.hpiPinProvided||this._$elem.find(".btn-placeBet").each(function(t,r){n.ui.createRequirePin(i(r),function(){n.ui.slideBars.slidebars.open("right","betPanel")})})},r.prototype.setFeatures=function(n){t.ticket.setFeatures(n)},r.prototype.setBetType=function(n){t.ticket.setBetType(n);t.compose.runners.setRaceNumber(this.controller.racingContext.raceNumber());this.updateComposerUIState(!0)},r.prototype.setBetAmount=function(n){t.ticket.setBetAmount(n);this.updateComposerUIState(!0)},r.prototype.toggleRunners=function(n,i,r,u){u?t.ticket.addRunners(n,r+1,i):t.ticket.removeRunners(n,r+1,i);t.controller.persistState(function(n){n.selections=t.ticket.selections()});this.updateComposerUIState(!0)},r.prototype.resetSelectAllRunnersCheckboxes=function(){i(".select-all",this._$elem).prop("checked",!1)},r.prototype.convertToPCOBet=function(){var t=this,n=i.Deferred();return n.resolve(!0),n.promise()},new r}();t.compose.betTypes=function(){function f(i,u){var f=this;this.betTypes=ko.computed(function(){return t.compose.betTypes.types=i.raceBetTypes(),(i.raceBetTypes()||[]).filter(function(n){return!n.IsBox})},this);this.betGroups=ko.computed(function(){if(!f.betTypes())return[];return(f.betTypes()||[]).reduce(function(n,t){return n.indexOf(t.Kind)<0&&n.push(t.Kind),n},[]).map(function(n){return{kind:n,betTypes:f.betTypes().filter(function(t){return t.Kind===n})}})},this);this.getPoolKindName=function(t){var i="";switch(t){case 1:i=n.ui.resources.getText("Global.Racing.BasicLabel");break;case 2:i=n.ui.resources.getText("Global.Racing.ExoticLabel");break;case 3:i=n.ui.resources.getText("Global.Racing.MultiRaceLabel")}return i};this.getRows=n.utilities.chunk;this.isSelected=function(n){var t=u.betType()?u.betType().Pool:r;return t===n.Pool}}function o(t){var u=i.Deferred(),f=n.enum.getBitArray(t.Features,n.enum.poolFeature),r=f.map(function(n){return{feature:n,func:e[n]}}).filter(function(i){return!!i.func&&i.feature==n.enum.poolFeature.PCO&&n.utilities.isPCOEligible(t)});return r.length?(r.length>1&&console.log("Handling for multiple pool type feature opt-ins has not been implemented"),r[0].func().done(function(n){var t=[];t[r[0].feature]=n;u.resolve(t)})):u.resolve(),u.promise()}function u(){this.controller=null}var e={1:t.compose.convertToPCOBet.bind(t.compose)};return u.prototype.init=function(r){var u=this;n.data.racingContext.getInstance().done(function(e){var h,s;e.isValidContext&&e.subscribe(n.data.racingContext.subscriptionTypes.BetTypes);h=new f(e,t.ticket);h.betTypeSelected=function(i){o(i).done(function(r){u.controller.setFeatures(r);u.controller.viewModel.changingView(!0);u.controller.setBetType(i);e.isValidContext&&(e.subscribe(n.data.racingContext.subscriptionTypes.Runners,null,[t.ticket.betType]),e.subscribe(n.data.racingContext.subscriptionTypes.ProbablePayouts,null,[t.ticket.betType]));n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.betType,t.ticket.betType().ShortName)})};s=n.utilities.storage.getSession(n.const.betPanel.customBetAmount,!0);s&&typeof s=="number"&&i("#other-amount").val(n.utilities.formatNumber(s));ko.applyBindings(h,r[0]);i(".notification-options-header a.configure").on("click",function(){n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.alerts,"Configure")})})},new u}();t.compose.betAmounts=function(){function u(t,i){var r=this;this.betAmounts=ko.computed(function(){var n=i.betType(),r=(t.betAmounts()||[]).map(function(t){var i=!0;return n&&(i=t>=(n.MinBaseAmount||0)&&t<=(n.MaxTotalAmount||Number.MAX_VALUE)),{Amount:t,Enabled:i}});return i.betAmount.peek()&&r.length&&i.validateBetAmount(r),r},this);this.getRows=ko.computed(function(){return n.utilities.chunk(r.betAmounts(),4)},this);this.isSelected=function(n){return i.betAmount()===n}}function r(){this.controller=null}return r.prototype.init=function(r){var f=this;n.data.racingContext.getInstance().done(function(e){e.isValidContext&&e.subscribe(n.data.racingContext.subscriptionTypes.BetAmounts);var o=new u(e,t.ticket);o.betAmountSelected=function(){f.betAmountSelected.apply(f,arguments);n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.amount,"Button")};o.done=function(){f.controller.viewModel&&setTimeout(function(){f.controller.viewModel.changingView(!1)},100)};i("#submit-other-amount",r).on("click",function(r){var c=function(n){var i=n.toString(),r,t,u;if(i.length===1)return!0;for(r=[],t=0;t<i.length;t++)r.push(i[t]);return u=r.filter(arrayDistinct),u.length!==1},u=n.utilities.parseNumber(i("#other-amount").val()),e,o,s,h;if(u){if(!c(u))return t.compose.viewModel.validationMessage(n.ui.resources.getText("Global.Racing.DuplicateDigits")),!1;if(e=t.ticket.betType.peek(),o=Math.round(u*100,10)%Math.round(e.AmountStep*100,10)/100,o!==0)return s=n.ui.resources.getText("Global.Racing.InvalidOtherAmount").format(n.utilities.formatMoney(e.AmountStep)),t.compose.viewModel.validationMessage(s),!1;n.utilities.storage.setSession(n.const.betPanel.customBetAmount,u);h={Amount:u};f.betAmountSelected.apply(f,[h,r]);n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.amount,"Custom")}});ko.applyBindings(o,r[0])})},r.prototype.betAmountSelected=function(n){this.controller.setBetAmount(n.Amount)},new r}();t.compose.runners=function(){function e(n){return n=n||{Pool:-1},r[n.Pool]||r.default}function o(r,u){var f=this;this.races=r.runnersForRaces;this.selectedRaceNumber=ko.observable(r.raceNumber.peek());this.behaviourProvider=ko.observable(e(t.ticket.betType.peek()));this.sortState=ko.observable({sortBy:"",sortDir:""});this.getMultiRaceNavRows=ko.computed(function(){var r=n.ui.currentBreakpoint(),u=r!=="xs",t=f.races().length,i=u?t:t>5?Math.round(t/2):5;return i%2&&(i+=1),n.utilities.chunk(f.races(),i)},this);this.selectText=function(){if(u.betType())switch(u.betType().Pool){case n.enum.pool.OMN:case n.enum.pool.OBX:return n.ui.resources.getText("Global.Racing.OmniSelectLabel");case n.enum.pool.QNL:case n.enum.pool.QBX:return n.ui.resources.getText("Global.Racing.QuniellaSelectLabel")}return n.ui.resources.getText("Global.Racing.SelectLabel")};this.selectTooltip=function(){if(u.betType())switch(u.betType().Pool){case n.enum.pool.OMN:case n.enum.pool.OBX:return n.ui.resources.getText("Global.Racing.OmniHeaderTooltip")}return""};this.numberOfCheckboxColumns=function(){var n=1,t=u.betType();return t&&(n=f.behaviourProvider.peek().getNumPositions(t)),n};this.hasOdds=function(){var n=this.races().first(function(n){return n.RaceNumber===u.raceNumber()});return n&&n.Runners?n.Runners.filter(function(n){return!!n.WinOdds}).length>0:!1};this.showMLO=function(){var n=u.betType(),i;return n?(n.IsBox&&(n=t.compose.betTypes.types.first(function(t){return t.Pool===n.BoxRelatedPool})),i=n.NumberOfLegs/n.NumberOfRaces,i<=3&&u.raceNumber()===this.selectedRaceNumber()&&f.hasOdds()):!1};this.oddsLabel=function(n,t){return u.raceNumber()<this.selectedRaceNumber()||u.raceNumber()===this.selectedRaceNumber()&&!f.hasOdds()?t:n};this.toSelectionList=function(n,t){return ko.computed(function(){var r=f.sortState(),e=r.sortBy&&r.sortDir,o=t.map(function(rn){var _r=i.extend({},rn);if(_r.Positions=arrayRange(1,f.numberOfCheckboxColumns()).map(function(t){var i=u.getRunnerIndex(n,t,_r.ToteEntryNumber);return i&&i.runnerIndex>=0}),e){_r.SortValue=_r.IsScratched?"":r.sortBy==="m"?_r.MorningLineOdds:_r.WinOdds?_r.WinOdds:_r.MorningLineOdds;_r.SortValue||(_r.SortValue=r.sortDir==="asc"?999:0);try{_r.SortValue=eval(_r.SortValue)}catch(err){_r.SortValue=0}}return _r});return e&&o.sort(function(n,t){return n.SortValue===t.SortValue?0:r.sortDir==="asc"?n.SortValue>t.SortValue?1:-1:t.SortValue>n.SortValue?1:-1}),o},this)};this.getSortClass=function(n){var t=f.sortState();return t.sortBy===n&&t.sortDir?"sort-item "+t.sortDir:"sort-item"};this.isRowClickEnabled=function(n){return!n.IsScratched};this.addToQueue=function(n,i){t.compose.queue.addToQueue(u,i)};this.isValidComposition=function(){return t.compose.viewModel.isValidComposition()};this.rowClick=function(n,t){var f=i(t.currentTarget),e=u.betType(),s=e.NumberOfLegs/e.NumberOfRaces,r,o;s>1?(r=f.find("input[type='checkbox']"),o=r.length!==r.filter(":checked").length,r.each(function(n,t){var r=i(t),u=r.is(":checked");u!=o&&r.trigger("click")})):f.find("input[type='checkbox']:eq(0)").trigger("click")};this.changeTab=function(n,t){f.selectedRaceNumber(n.RaceNumber);var u=i(t.currentTarget),e=u.data("target"),r=i(e);r.parent().find(".tab-pane").removeClass("active");r.addClass("active")};t.ticket.betType.subscribe(function(n){f.behaviourProvider(e(n))})}function u(){this.$elem=null;this.controller=null;this.vm=null}function f(){var n=i("#toggle-box"),r=t.ticket.betType()||{AllowBox:!1},u=t.compose.runners.vm&&t.compose.runners.vm.selectedRaceNumber.peek()||t.ticket.raceNumber.peek();n.html(t.ticket.isBoxed(u)?n.data("unboxText"):n.data("boxText")).parent().toggle(!!r.AllowBox)}var r={"default":{runnerTemplate:"default",getNumPositions:function(n){if(n.IsBox){var i=t.compose.betTypes.types.first(function(t){return t.Pool===n.BoxRelatedPool});return i.NumberOfLegs/i.NumberOfRaces}return n.NumberOfLegs/n.NumberOfRaces},toggleRunner:function(n,r,u,f,e,o){return o.stopPropagation(),e=i(o.target).is(":checked"),t.ticket.isBoxed(r)&&(f=0),e||i("#chkAll{0}_{1}.select-all".format(r,f),n).prop("checked",!1),this.toggleRunners.apply(this,[r,[u.ToteEntryNumber],f,e,o]),!0},selectAll:function(n,t,r,u){var f=i(u.target).is(":checked"),e=n.first(function(n){return n.RaceNumber===t}).Runners.filter(function(n){return!n.IsScratched}).map(function(n){return n.ToteEntryNumber});return e.forEach(function(n){var u="#chk{0}_{1}_{2}".format(t,r-1,n);i(u).prop("checked",f)}),this.toggleRunners.apply(this,[t,e,r-1,f,u]),!0}}};return r[n.enum.pool.TR2]={runnerTemplate:"multi-race-trio",getNumPositions:function(){return 2},toggleRunner:function(n,t,r,u,f,e){return e.stopPropagation(),f=i(e.target).is(":checked"),f?(i("#chk{0}_{1}_{2}".format(t,1-u,r.ToteEntryNumber),n).prop("checked",!1),this.toggleRunners.apply(this,[t,[r.ToteEntryNumber],1-u,!1,e])):i("#chkAll{0}_{1}.select-all".format(t,u),n).prop("checked",!1),this.toggleRunners.apply(this,[t,[r.ToteEntryNumber],u,f,e]),!0},selectAll:function(n,t,r,u){var e=i(u.target).is(":checked"),f=n.first(function(n){return n.RaceNumber===t}).Runners.filter(function(n){return!n.IsScratched}).map(function(n){return n.ToteEntryNumber}),o;return e&&(o=f.length,f=f.filter(function(n){var r="#chk{0}_{1}_{2}".format(t,0,n);return!i(r).is(":checked")}),o!==f.length&&i(u.target).prop("checked",!1)),f.forEach(function(n){var u="#chk{0}_{1}_{2}".format(t,r-1,n);i(u).prop("checked",e)}),this.toggleRunners.apply(this,[t,f,r-1,e,u]),!0}},r[n.enum.pool.QU3]=r[n.enum.pool.TR2],r[n.enum.pool.TR3]=r[n.enum.pool.TR2],u.prototype.init=function(r){var u=this;this.$elem=r;n.data.racingContext.getInstance().done(function(e){e.isValidContext&&(e.subscribe(n.data.racingContext.subscriptionTypes.Race),e.subscribe(n.data.racingContext.subscriptionTypes.Runners,null,[t.ticket.betType]));e.raceBetTypes.promise().then(e.runnersForRaces.promise()).done(function(){var s=new o(e,t.ticket);u.vm=s;i(document).on("hpi.dataContextChanged",function(n,t,i,r,u,f){s.selectedRaceNumber(f)});i(document).on("hpi.race.scratch",function(n,t,i){arrayRange(0,s.numberOfCheckboxColumns()-1).forEach(function(n){u.toggleRunners(t.RaceNumber,[i.ToteEntryNumber],n,!1)})});s.toggleRunner=function(n,t,i,f,e){return s.behaviourProvider.peek().toggleRunner.call(u,r,n,t,i,f,e)};s.updateCheckboxes=function(n,u,f,e,o){var s;e=i(o.target).is(":checked");t.ticket.isBoxed(n)&&(s=i(o.target).closest("tr").find("input[type=checkbox],input[type=radio]"),s.prop("checked",e));var h=i("input[type=checkbox][id^='chk{0}_{1}'],input[type=radio][id^='chk{0}_{1}']".format(n,f),r),c=h.filter(":checked").length,l=c===h.length;i("#chkAll{0}_{1}.select-all".format(n,f),r).prop("checked",l)};s.selectAll=function(n,t,i){return s.behaviourProvider.peek().selectAll.call(u,s.races(),n,t,i)};s.updateSelectAlls=function(n){return function(r,u){var f=t.ticket.selections.peek(),o=s.races.peek(),e=o.indexOf(function(t){return t.RaceNumber==n}),h;if(!f||f.length<e||o.length<e)return!1;h=t.ticket.betType.peek();h&&h.IsBox&&(u=1);var a=o[e].Runners.filter(function(n){return!n.IsScratched}),c=f&&f.length>e&&f[e],l=c&&c.length>u-1&&c[u-1],v=l&&l.length>=a.length;i(r).find("input").prop("checked",v)}};s.quickPick=function(){t.compose.resetSelectAllRunnersCheckboxes();t.ticket.makeQuickPick(s.races());u.controller.updateComposerUIState();n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.ticket,"Quick Pick")};s.toggleBox=function(r,e){var c=i(e.target),o=null,h;t.ticket.betType().BoxRelatedPool?(h=t.compose.betTypes.types,o=h.first(function(n){return n.Pool===t.ticket.betType().BoxRelatedPool})):o=t.ticket.betType.peek();t.ticket.setBetType(o,!0,s.selectedRaceNumber.peek());f();u.controller.updateComposerUIState();n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.ticket,o.IsBox?"Box":"Unbox")};s.clearAll=function(){t.compose.resetSelectAllRunnersCheckboxes();t.ticket.initializeRunners();u.controller.updateComposerUIState();n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.ticket,"Clear")};s.selectedRaceNumber.subscribe(function(){f()});s.sortRunners=function(t,r){r.stopImmediatePropagation();var f=i(r.currentTarget),o=f.data("sortProxy"),s=f.data("sortMode")||n.enum.SortMode.Both,e=n.utilities.getSortState(f,s),h=e[1].length?o:"";u.vm.sortState({sortBy:h,sortDir:e[1]})};ko.applyBindings(s,r[0])})})},u.prototype.activate=function(){f()},u.prototype.toggleRunners=function(n,t,i,r){this.controller.toggleRunners(n,t,i,r)},u.prototype.setRaceNumber=function(n){this.vm.selectedRaceNumber(n)},new u}();t.compose.queue=function(){function f(){this.guid=null;this.mtp=null;this.sessionDate=null;this.trackEventCode=null;this.trackName=null;this.raceNumber=null;this.betAmount=null;this.betType=null;this.selections=null;this.selectionString=null;this.total=null;this.isAdv=null;this.isSelected=ko.observable(!1)}function e(r,u,f){var e=this,o=f;this.tickets=ko.observableArray(r||[]);this.queueCount=ko.computed(function(){var n=e.tickets().length;return o(n),n},this);this.selections=ko.computed(function(){return e.tickets().filter(function(n){return n.isSelected()}).map(function(n){return n.guid})},this);this.isAllSelected=ko.computed(function(){var n=e.tickets().filter(function(n){return n.isSelected()}).length,t=e.tickets().length;return n==t},this);this.removeSelected=function(t,i){var r,f;i.stopImmediatePropagation();r=e.tickets.remove(function(n){return n.isSelected.peek()});r&&r.length&&(n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,"Remove"),f=r.map(function(n){return n.guid}),n.data.RemoveFromQueue(f),u.saveToSessionStorage(e.tickets.peek()))};this.placeSelected=function(t,r){r.stopPropagation();n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,"Place Selected Bets");n.ui.widget.betPanel.compose.queue.index=0;n.ui.widget.betPanel.compose.queue.selectedGuids=e.selections();t.placeBet(i.grep(t.tickets(),function(t){return t.guid===n.ui.widget.betPanel.compose.queue.selectedGuids[n.ui.widget.betPanel.compose.queue.index]})[0],r)};this.placeBet=function(r,u){u.stopImmediatePropagation();i(u.delegateTarget).is(".place-bet-selected")||n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,"Place Bet");t.ticket.loadQueuedTicket(r);n.ui.widget.betPanel.compose.placeBet(u,{repeatBet:!0})};this.select=function(n){n.isSelected(!n.isSelected.peek())}}function r(){}var o=this,u=null;return f.prototype.fromTicket=function(t,i){return this.guid=t,this.mtp=null,this.sessionDate=i.sessionDate.peek(),this.trackEventCode=i.trackEventCode.peek(),this.trackName=null,this.raceNumber=i.raceNumber.peek(),this.betAmount=i.betAmount.peek(),this.betType=i.betType.peek(),this.selections=n.utilities.deepClone(i.selections.peek()),this.selectionString=i.selectionString(),this.total=i.getBetTotals()[1],this.isAdv=i.isAdv(),this.isSelected=ko.observable(!1),this},f.prototype.toTicket=function(){var t=new n.ui.widget.Ticket;return t.sessionDate(this.sessionDate),t.trackEventCode(this.trackEventCode),t.raceNumber(this.raceNumber),t.betAmount(this.betAmount),t.betType(this.betType),t.selections(this.selections),t.guid(this.guid),t.isAdv(this.isAdv),t},f.prototype.enrich=function(t,i,r){var u,f;return i&&(u=i.first(function(n){return n.TrackEventCode===this.trackEventCode&&n.RaceNumber===this.raceNumber&&n.SessionDate.isSameDate(this.sessionDate)}.bind(this)),this.mtp=u&&u.MTP||n.ui.resources.getText("Global.Generic.NA"),this.isAdv=u&&!u.SessionDate.isSameDate(n.settings.sessionDate)||!1,this.trackName=u&&u.TrackName),!this.trackName&&t&&(f=n.dictionaryManager.track(t,this.trackEventCode),this.trackName=f&&f.TrackShortName),r&&(this.selectionString=r.selectionString(),this.total=r.getBetTotals()[1]),this},r.prototype.activate=function(){},r.prototype.init=function(t,r){n.dictionaryManager.require(["tracks"],function(f){n.data.racingContext.getInstance().done(function(o){var s=this.loadFromSessionStorage(f,o.todaysTracks.peek());u=new e(s,this,r);ko.applyBindings(u,t[0]);i("[data-role='queue-selectall']").off().on("click",function(){n.ui.widget.betPanel.compose.queue.selectAll(this)});o.todaysTracks.subscribe(function(n){u.tickets(this.enrichAndCleanQueuedTickets(u.tickets.peek(),f,n))}.bind(this))}.bind(this))}.bind(this))},r.prototype.addToQueue=function(t,r){n.dictionaryManager.require(["tracks"],function(e){n.data.racingContext.getInstance().done(function(o){var s,h;n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,"Add");s=(new f).fromTicket(n.utilities.guid(),t).enrich(e,o.todaysTracks.peek());n.data.AddToQueue(s.guid,s.trackEventCode,s.raceNumber,s.sessionDate.format("YYYY/MM/DD"),moment(new Date).utc().format(),s);u.tickets.push(s);n.ui.widget.betPanel.compose.queue.saveToSessionStorage(u.tickets.peek());h=i(r.currentTarget);h.addClass("disabled");i("[data-role='queue-selectall']").off().on("click",function(){n.ui.widget.betPanel.compose.queue.selectAll(this)});i(".queued-success").slideDown();setTimeout(function(){i(".queued-success").slideUp();h.removeClass("disabled")},1500)}.bind(this))}.bind(this))},r.prototype.removeFromQueue=function(t){t&&n.data.RemoveFromQueue(t).done(function(){var i=u.tickets().map(function(n){return n.guid}).indexOf(t);i>-1&&(u.tickets.splice(i,1),n.ui.widget.betPanel.compose.queue.saveToSessionStorage(u.tickets.peek()))})},r.prototype.enrichAndCleanQueuedTickets=function(t,i,r){var u=t.filter(function(t){if(t.sessionDate.isBeforeDate(n.settings.sessionDate))return!1;if((r||[]).length===0||(i||[]).length===0)return!0;var u=r.first(function(n){return n.TrackEventCode===t.trackEventCode&&n.SessionDate.isSameDate(t.sessionDate)});return u&&(u.RaceNumber<t.raceNumber||u.RaceNumber===t.raceNumber&&(u.RaceStatus===n.enum.racingStatusType.Open||u.RaceStatus===n.enum.racingStatusType.AvailableLater))});return this.saveToSessionStorage(u),u.map(function(n){return n.enrich(i,r)})},r.prototype.loadFromSessionStorage=function(t,r){var u=(n.utilities.storage.getSession(n.const.betPanel.queueState,!0)||[]).map(function(n){var t=i.extend(new f,n),r;return t.sessionDate=moment.utc(t.sessionDate),t.isSelected=ko.observable(!1),r=t.toTicket(),t.enrich(null,null,r)});return this.enrichAndCleanQueuedTickets(u,t,r)},r.prototype.saveToSessionStorage=function(t){n.utilities.storage.setSession(n.const.betPanel.queueState,t)},r.prototype.selectAll=function(t){var r=i(t);r.toggleClass("selected");r.hasClass("selected")?(n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,"Select All"),i("[data-role='queue']").find(".queue-row").each(function(n,t){i(t).hasClass("selected")||i(t).trigger("click")})):(n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.queuedBet,"Deselect All"),i("[data-role='queue']").find(".queue-row").each(function(n,t){i(t).hasClass("selected")&&i(t).trigger("click")}))},r.prototype.loadFromServer=function(){n.data.getQueue().done(function(t){if(t.Result){var r=i.map(t.Queue,function(n){var t=JSON.parse(n.Ticket);return t.isSelected=ko.observable(!1),t});n.ui.widget.betPanel.compose.queue.saveToSessionStorage(ko.toJSON(r))}})},r.prototype.selectionCount=function(){return u.selections().length},r.prototype.index=0,r.prototype.selectedGuids=[],r.prototype.getViewModel=function(){return u},r.prototype.placeBet=function(r){n.ui.widget.betPanel.compose.queue.index++;var f=n.ui.widget.betPanel.compose.queue.selectedGuids[n.ui.widget.betPanel.compose.queue.index],u=i.grep(n.ui.widget.betPanel.compose.queue.getViewModel().tickets(),function(n){return n.guid===f});u.length>0&&(u=u[0],t.ticket.loadQueuedTicket(u),n.ui.widget.betPanel.compose.placeBet(r,{repeatBet:!0}))},new r}()})(t.betPanel=t.betPanel||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery,ResponsiveBootstrapToolkit),function(n,t){(function(t,i){(function(t,i){(function(t,i){t.confirmBet=function(){function u(t,i,r,u){var f=this;this.ticket=i;this.race=t.race;this.controller=u;this.context=t;this.hasRace=t.hasRace;this.bettingAvailable=ko.computed(function(){return this.hasRace()?this.race().RaceStatus===n.enum.racingStatusType.Open?!0:!1:!1},this);this.trackShortName=ko.computed(function(){var t="",u;return i.trackEventCode()?(this.race()?t=this.race().AltTrackName||(this.race().Track||{}).TrackShortName:(u=n.dictionaryManager.track(r,i.trackEventCode()),u&&(t=u.TrackShortName)),t):t},this);this.sessionDate=ko.computed(function(){return this.race()?this.race().SessionDate.format("MMM DD, YYYY"):""},this);this.sessionDateShort=ko.computed(function(){return this.race()?this.race().SessionDate.format("MMM DD"):""},this);this.betTypeAndAmount=ko.computed(function(){var t=this.ticket.betAmount()||0,i=this.ticket.betType()?this.ticket.betType().MediumName.trim():"";return t=t>0?n.utilities.formatMoney(t):"","{0} {1}".format(t,i)},this);this.hasFeatureClass=function(n){return ko.computed({read:function(){var t="label-default";return f.ticket.features()&&f.ticket.features()[n]&&(t="label-success"),t},owner:this,deferredEvaluation:!0})};this.ticketTotals=ko.computed(function(){var u=n.ui.resources.getText("Global.Racing.TicketTotalsFormatString"),t=i.getBetTotals(),r;return t&&t.length===2&&t[0]&&t[1]?(r=n.ui.resources.getText("Global.Racing.BetsLabel"),t[0]===1&&(r=n.ui.resources.getText("Global.Racing.BetLabel")),u.format(t[0],r,n.utilities.formatMoney(t[1]))):""},this);this.probables=ko.computed(function(){i.selections();var u="",r=i.getProbables(t.probablePayouts(),this.race());return r&&r.length&&(u=n.ui.resources.getText("Global.Racing.MultiRacePricingFormatString").format(n.utilities.formatMoney(r[0])),r.length>1&&(u+=" - {0}".format(n.utilities.formatMoney(r[1])))),u},this)}function r(){this.controller=null;this._$elem=null;this.submitting=!1}function f(){var r,u,t,f;try{if(r=i("#skip-confirmation"),u=r.closest(".toggle").is(":visible"),!u||!r.prop("checked"))return;if(t=n.getUser(),t.settings.skipBetConfirmation)return;t.settings.skipBetConfirmation=!0;t.persist();f=n.utilities.combineUrlParts(n.settings.urls.baseUrl,"Account","SetHideConfirmBet");i.post(f)}catch(e){n.utilities.trace(e)}}function e(){var n=this;i("#SubmitBet",this._$elem).off("click").on("click",function(){n.submitBet.apply(n,arguments)}).button();i("#EditBet",this._$elem).off("click").on("click",function(){n.editBet.apply(n,arguments)})}function o(t,i){var u=t.settings.notifications["race-win"]||!1,f=t.settings.notifications["race-results"]||!1,e=n.utilities.isPCOEligible(i.betType.peek())&&i.features.peek()[n.enum.poolFeature.PCO],r=n.enum.placeBetSetting.None;return r|=u?n.enum.placeBetSetting.RequestIWonAlert:0,r|=f?n.enum.placeBetSetting.RequestResultsAlert:0,r|=0,r|(e?n.enum.placeBetSetting.PlacePCOBet:0)}return r.prototype.init=function(i){var r=this;this._$elem=i;n.dictionaryManager.require(["tracks"],function(f){n.data.racingContext.getInstance().done(function(n){var e=new u(n,t.ticket,f,r);ko.applyBindings(e,i[0])})})},r.prototype.activate=function(t,r){this._$elem||(this._$elem=t);e.apply(this);var u=r||{repeatBet:!1},f=n.getUser();i("#skip-confirmation").prop("checked",f.settings.skipBetConfirmation||!1).parent().toggle(!u.repeatBet)},r.prototype.submitBet=function(r){var s,u;if(!n.ui.widget.betPanel.confirmBet.submitting){n.ui.widget.betPanel.confirmBet.submitting=!0;s=n.getUser();f();var c=t.ticket.toServerModel(),l=o(s,t.ticket),h=t.ticket.guid(),a={ticket:c,settings:l},e=i(r.currentTarget);e.hasClass("btn-placeBet")&&(e=i(".btn-placeBet"));e.button("loading");n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.ticket,"Submit");u=this;i.post(n.settings.urls.placeBetUrl,a).done(function(t){t.Result.Guid=h;u.controller.setView(u.controller.sectionNames.Response,t);t.HasError||n.ui.widget.betPanel.compose.queue.removeFromQueue(h)}).fail(function(n,t,i){u.controller.setView(u.controller.sectionNames.Response,i)}).always(function(){e.button("reset");n.ui.widget.betPanel.confirmBet.submitting=!1})}},r.prototype.editBet=function(){this.controller.setView(this.controller.sectionNames.Compose)},new r}()})(t.betPanel=t.betPanel||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){(function(t,i){t.betResponse=function(){function u(t,i,r){var u=this;this.race=t.race;this.errorMessage=ko.observable();this.ticket=ko.observable();this.context=t;this.trackShortName=ko.computed(function(){var t="",i;return this.race()?t=this.race().AltTrackName||(this.race().Track||{}).TrackShortName:(i=n.dictionaryManager.track(r,this.ticket().TrackEventCode),i&&(t=i.TrackShortName)),t},this,{deferEvaluation:!0});this.sessionDate=ko.computed(function(){return this.race()?this.race().SessionDate.format("MMM DD, YYYY"):""},this);this.sessionDateShort=ko.computed(function(){return this.race()?this.race().SessionDate.format("MMM DD"):""},this);this.dummy=ko.observable();this.nextBetAvailableInQueue=ko.computed(function(){return u.dummy(),n.ui.widget.betPanel.compose.queue.index+1<n.ui.widget.betPanel.compose.queue.selectedGuids.length},this);this.sequence=ko.computed(function(){return u.dummy(),n.ui.resources.getText("Global.Racing.TicketXofYinQueue").format(n.ui.widget.betPanel.compose.queue.index+1,n.ui.widget.betPanel.compose.queue.selectedGuids.length)},this);this.sequenceVisible=ko.computed(function(){return u.dummy(),n.ui.widget.betPanel.compose.queue.index+1<=n.ui.widget.betPanel.compose.queue.selectedGuids.length},this);this.betTypeAndAmount=function(){var f=this,t=this.ticket().BetAmount||0,r,u;return t=t>0?n.utilities.formatMoney(t):"",r=this.ticket().BetType?i.first(function(n){return n.Pool===f.ticket().BetType}):null,u=r?r.MediumName.trim():"","{0} {1}".format(t,u)};this.ticketTotals=function(){u.dummy.notifySubscribers();var i=n.ui.resources.getText("Global.Racing.TicketTotalsFormatString"),t=n.ui.resources.getText("Global.Racing.BetsLabel");return this.ticket().TotalNumberOfBets===1&&(t=n.ui.resources.getText("Global.Racing.BetLabel")),i.format(this.ticket().ToteTotalNumberOfBets||this.ticket().TotalNumberOfBets,t,n.utilities.formatMoney(this.ticket().ToteTotalBetCost||this.ticket().TotalBetCost))};this.startLiveVideo=function(){var t=n.videoManager.getMobileVideoPopup(u.race.peek().Track.TrackShortName),i={width:"100%",height:"100%",maintainAspectRatio:!0,container:t.find(".video"),displayMode:n.enum.videoDisplayMode.Default};return n.videoManager.launchVideo(u.race.peek().Track.TrackEventCode,i).done(function(){t.modal("show")})}}function r(){this.controller=null;this.viewModel=null;this._$elem=null}return r.prototype.init=function(t){var i=this;this._$elem=t;n.data.racingContext.getInstance().done(function(r){n.dictionaryManager.require(["betTypes","tracks"],function(n,f){i.viewModel=new u(r,n.Types,f);ko.applyBindings(i.viewModel,t[0])})})},r.prototype.activate=function(t,r){this._$elem||(this._$elem=t);this.handleResponse(r);var u=this;i("#NewBet",this._$elem).off("click").on("click",function(){u.newBet.apply(u,arguments)});i("#RepeatBet",this._$elem).off("click").on("click",function(){u.repeatBet.apply(u,arguments)});i("#NoMoreBets",this._$elem).off("click").on("click",function(){i("body").hasClass("bp-lock")?(u.controller.wrapper.find("#pools").trigger("click"),u.resetPanel()):(u.resetAndClosePanel.apply(u,arguments),n.ui.widget.betPanel.compose.viewModel.showQueue(!1))});i("#EditBet",this._$elem).off("click").on("click",function(){u.editBet.apply(u,arguments)})},r.prototype.handleResponse=function(t){if(t){if(!t.HasError){n.ui.updateBalance({Balance:t.Result.Balance});var i=n.utilities.storage.getSession(n.const.betPanel.state,!0);i.selections=null;n.utilities.storage.setSession(n.const.betPanel.state,i);try{n.ui.widget.transactions&&n.ui.widget.transactions.refresh()}catch(r){}}this.viewModel.ticket(t.Result);this.viewModel.errorMessage(t.ErrorMessage)}},r.prototype.newBet=function(){n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.ticket,"Next");this.resetPanel(!0)},r.prototype.repeatBet=function(i){return n.utilities.analytics.sendEvent(n.const.analyticsCategories.betPanel,n.const.analyticsActions.ticket,"Repeat"),t.compose.placeBet(i,{repeatBet:!0}),!1},r.prototype.resetAndClosePanel=function(){this.controller.close().done(function(){this.resetPanel()}.bind(this))},r.prototype.resetPanel=function(t){this.controller.newBet(t);n.ui.widget.betPanel.compose.queue.index=0;n.ui.widget.betPanel.compose.queue.selectedGuids=[]},r.prototype.closePanel=function(){this.controller.close()},r.prototype.editBet=function(){this.controller.setView(this.controller.sectionNames.Compose)},new r}()})(t.betPanel=t.betPanel||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){t.videoPanel=function(){function e(n){this.tracks=n.liveFeedTracks}function t(){this.$element=null;this.videos=arrayRange(0,3).map(function(){return null});this.isPaused=!1;this.isPopout=!1;this.popoutCheckerInterval=null;this.context=null}function o(){this.$element.find(".popout-button").on("click",this.popout.bind(this));this.$element.find(".header .close-button").on("click",function(){i(this).tooltip("hide")})}function r(r,u){var e=this,f=i("#videoPanel .track-selector");n.ui.animateRacePromo(f.find(".promo"),300);f.find(".close-button").off("click").on("click",function(){f.removeClass("active")}).end().find(".track-lists").off("click","tr").on("click","tr",function(){var r=i(this).data("tec");f.removeClass("active");e.setFeed.call(e,r,u);n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.watchVideo,t.analyticsSlotLabels[u])}).find("[data-type='viewed']").addClass("hidden").end().end().addClass("active");this.videos.filter(function(n){return!!n}).forEach(function(n){f.find("[data-type='viewed'][data-tec='{0}']".format(n.trackEventCode)).removeClass("hidden")})}function s(u,f,e,o){var s=this;u.tooltip();u.data("tmr_id")&&(clearInterval(u.data("tmr_id")),console.log(u.data("tec"),"REMOVED timer:",u.data("tmr_id")));u.data("tec",e).find("label").text(o).end().find("button[data-dismiss='video']").removeClass("disabled").off("click").on("click",function(){i(this).tooltip("hide");var r=s.videos.indexOf(f);s.killFeed.call(s,r,!1,!1);n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.closeVideo,t.analyticsSlotLabels[r])}).end().find("label[data-action='tracks']").off("click").on("click",function(){r.call(this,u.find("button[data-toggle='dropdown']"),this.videos.indexOf(f))}.bind(this)).end().find("button[data-action='activate']").removeClass("disabled").off("click").on("click",function(){i(this).tooltip("hide");var r=s.videos.indexOf(f);s.setFeed.call(s,e,0);n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.swapVideo,t.analyticsSlotLabels[r])}).end().find("div.header").removeClass("hidden").end().find("div.video").rcnPlayer("destroy").bcPlayer("destroy").youtubePlayer("destroy").empty().end()}function u(t){if(o.bind(this)(),this.context.isValidContext){this.context.subscribe(n.data.racingContext.subscriptionTypes.TodaysTracks);var i=new e(this.context);ko.applyBindings(i,t[0]);this.viewModel=i}this.loadPersistedState.call(this)}function f(n){n.isPopout||(n.isPopout=!1)}return t.MAX_VIDEOS=4,t.analyticsSlotLabels={0:"Main",1:"Thumb1",2:"Thumb2",3:"Thumb3"},t.prototype.init=function(t,i){n.data.racingContext.getInstance().done(function(r){var e,f;this.context=r;e=n.getUser();e.hasPermission(n.enum.hpiPermissions.Videos)&&(this.$element=t,this.$element.find('[data-toggle="tooltip"]').tooltip(),f=this.getPersistedState(),f.isPopout&&!this.isPopout?this.$element.addClass("hidden"):f.isPopout||u.call(this,t,i))}.bind(this));this.activate()},t.prototype.initAsPopup=function(t,r){n.data.racingContext.getInstance().done(function(f){this.context=f;var e=n.getUser();if(this.persistState(function(n){n.isPopout=!0}),e.hasPermission(n.enum.hpiPermissions.Videos)&&(this.$element=t,this.$element.find(""),window.opener)){i(window).on("beforeunload",function(){this.persistState(function(n){n.isPopout=!1});window.opener&&!window.opener.closed&&window.opener.Hpi.ui.widget.videoPanel.popupUnloading(window)}.bind(this));u.call(this,t,r)}}.bind(this))},t.prototype.activate=function(){this.resumeFeeds();n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.open)},t.prototype.deactivate=function(){this.pauseFeeds();n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.close)},t.prototype.close=function(){this.$element.find(".close-button").trigger("click")},t.prototype.loadPersistedState=function(){var t=this.getPersistedState();this.videos=t.feeds||arrayRange(0,3).map(function(){return null});n.dictionaryManager.require(["tracks"],function(n){this.renderVideos(n)}.bind(this))},t.prototype.getFirstAvailableSlot=function(){for(var t,i=null,n=0;n<this.videos.length;n++)if(t=this.videos[n],!t||!t.sticky){i=n;break}return i},t.prototype.setFeed=function(i,r){n.dictionaryManager.require(["tracks"],function(u){var s=n.dictionaryManager.track(u,i),e;if(s){var h=this.videos.length?this.videos[r]:null,f=this.videos.first(function(n){return!!n&&n.trackEventCode===i}),o=this.videos.indexOf(f);f&&o===r||(f?(o=this.videos.indexOf(f),this.videos.move(f,r,!!h)):(e=new n.Video,e.trackEventCode=i,this.videos.splice(r,1,e)),this.videos.splice(t.MAX_VIDEOS,this.videos.length-t.MAX_VIDEOS),this.renderVideos(u),this.persistFeeds())}}.bind(this))},t.prototype.killFeed=function(n,t,u){var f,e;t=t||!1;u=u==null||u||!1;f=this.getPlayerWrapper(n);f.data("tmr_id")&&(clearInterval(f.data("tmr_id")),console.log(f.data("tec"),"REMOVED timer:",f.data("tmr_id")));e=i(i("#no-video").html()).on("click",function(){r.call(this,e,n)}.bind(this));f.removeData("tec").removeData("tmr_id").find("label[data-action='tracks']").text("").off("click").end().find("button[data-dismiss='video']").addClass("disabled").off("click").end().find("button[data-action='activate']").addClass("disabled").off("click").end().find("div.video").rcnPlayer("destroy").bcPlayer("destroy").youtubePlayer("destroy").empty().append(e).end().find("div.header").addClass("hidden").end();t||(this.videos[n]=null);u||this.persistFeeds()},t.prototype.killFeeds=function(n,t){this.videos.forEach(function(i,r){this.killFeed(r,n,!0);t&&this.persistFeeds()}.bind(this))},t.prototype.pauseFeeds=function(){this.isPopout||(this.videos.forEach(function(n,t){var i=this.getPlayerWrapper(t);i.find("div.video").rcnPlayer("pause").bcPlayer("pause").youtubePlayer("pause")}.bind(this)),this.isPaused=!0)},t.prototype.resumeFeeds=function(){!this.isPopout&&this.isPaused&&(this.isPaused=!1,this.videos.forEach(function(n,t){var i=this.getPlayerWrapper(t);this.checkVideoAccess(i.data("tec"));i.find("div.video").rcnPlayer("start").bcPlayer("start").youtubePlayer("start")}.bind(this)))},t.prototype.renderVideos=function(t){this.videos.forEach(function(i,r){var u,f,e;if(i){if(u=this.getPlayerWrapper(r),u.data("tec")===i.trackEventCode)return;!i.trackName&&this.viewModel&&(f=(this.viewModel.tracks()||[]).first(function(n){return n.TrackEventCode===i.trackEventCode}),f&&(i.trackName=f.TrackName));i.trackName||(e=n.dictionaryManager.track(t,i.trackEventCode),i.trackName=e&&e.TrackShortName);s.call(this,u,i,i.trackEventCode,i.trackName);this.loadFeed(i,r!==0,u.find("div.video"))}else this.killFeed(r,!1,!0)}.bind(this))},t.prototype.getPlayerWrapper=function(n){return n===0?this.$element.find("#main-video-placeholder .video-player"):this.$element.find("#video-thumbnails .video-player").eq(n-1)},t.prototype.loadFeed=function(t,i,r){function f(){this.videos[this.videos.indexOf(t)]=null;this.persistFeeds();n.dictionaryManager.require(["tracks"],function(n){this.renderVideos(n)}.bind(this))}function o(){var i=this,r=this.videos.indexOf(t),u=this.getPlayerWrapper(r),n=setInterval(function(){i.checkVideoAccess(t.trackEventCode)},hpiSettings.lvacInterval||6e4);console.log(t.trackEventCode,"STARTED timer:",n);u.data("tmr_id",n)}var u=this.getPersistedState(),e={width:"100%",height:"100%",maintainAspectRatio:u.isPopout,isPopout:u.isPopout,container:r,displayMode:i?n.enum.videoDisplayMode.Thumbnail:n.enum.videoDisplayMode.Default};return n.videoManager.launchVideo(t.trackEventCode,e).done(function(n){t.thisRaceOnly=n.thisRaceOnly;n.IsExternalPage?f.call(this):n.thisRaceOnly&&o.call(this,t.trackEventCode)}.bind(this)).fail(function(){f.call(this)}.bind(this))},t.prototype.checkVideoAccess=function(t){var i,u,r,f;this.isPaused||(i=this,u=this.videos.first(function(n){return!!n&&n.trackEventCode===t}),u&&(r=this.videos.indexOf(u),f=this.getPlayerWrapper(r),f.data("tmr_id")&&n.videoManager.checkVideoAccess(t).done(function(n){n!==!0&&i.killFeed.call(i,r,!1,!1)}).fail(function(){i.killFeed.call(i,r,!1,!1)})))},t.prototype.showMessage=function(n,t){var r=this.$element.find(".sub-header");r.find("div.alert").remove();i("<div class='alert alert-dismissible' role='alert'><button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'><i class='bi bi-x'><\/i><\/span><span class='sr-only'>Close<\/span><\/button><div class='content'><\/div><\/div>").addClass("alert-{0} track-change".format(t)).find("div.content")[typeof n=="string"?"html":"append"](n).end().appendTo(r)},t.prototype.popout=function(t){n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.popout);i(t.target).tooltip("hide");this.persistState(function(n){n.isPopout=!0});var r=n.utilities.combineUrlParts(n.settings.urls.baseUrl,"Racing","LiveFeed"),u=window.open(r,"video_popout","width=598,height=564,menubar=no,status=no,toolbar=no,resizable=no,scrollbars=no");this.killFeeds(!0,!1);this.close();i(".btn-videopanel").addClass("hidden")},t.prototype.popoutClosed=function(){n.utilities.analytics.sendEvent(n.const.analyticsCategories.videoPanel,n.const.analyticsActions.close,"Popout");n.utilities.clearInterval(this.popoutCheckerInterval);this.persistState(function(n){n.isPopout=!1});this.$element=i("#videoPanel");this.$element.removeClass("hidden");i(".btn-videopanel").removeClass("hidden").trigger("click");this.isPaused=!1;this.loadPersistedState()},t.prototype.popupUnloading=function(t){var i=this;n.utilities.setTimeout(function(){(!t||t.closed)&&i.popoutClosed()},750)},t.prototype.persistFeeds=function(){this.persistState(function(n){n.feeds=this.videos.map(function(n){return n?{trackEventCode:n.trackEventCode,sticky:n.sticky,trackName:n.trackName}:n})}.bind(this))},t.prototype.getPersistedState=function(){var t=n.utilities.storage.getSession(n.const.videoPanel.state,!0)||{};return f(t),t},t.prototype.persistState=function(t){var i=n.utilities.storage.getSession(n.const.videoPanel.state,!0)||{};f(i);t(i);n.utilities.storage.setSession(n.const.videoPanel.state,i)},new t}()})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){(function(t,i){function f(){var t=this;t.trackEventCode=ko.observable("");t.trackName=ko.observable("");t.date=ko.observable("");t.race=ko.observable(0);t.horse=ko.observable("");t.angle=n.enum.cameraAngle.FullView;t.error=ko.observable("");t.canPlay=ko.observable(!1)}var r=null,u=null;t.show=function(i,f,e,o,s,h,c,l){return r.trackName(f),r.trackEventCode(e),r.date(o),r.race(s),r.horse(h),r.angle=c?c:n.enum.cameraAngle.FullView,u.find("#camera_angles").addClass("hidden"),u.removeClass("horse angles"),h&&u.addClass("horse"),t.getReplayVideo(i,l)};t.changeAngle=function(n){var f=i(n.currentTarget),e=parseInt(f.val(),10);r.angle=e;u.find("#rcnplayer").rcnReplay("destroy");t.getReplayVideo(f)};t.getReplayVideo=function(f,e){var o={cameraAngle:r.angle,trigger:f,container:u.find("#rcnplayer"),onError:t.handleFeedFailure,maintainAspectRatio:e,width:"100%",height:"100%"};return r.canPlay(!0),n.videoManager.launchVideo(r.trackEventCode.peek(),r.race.peek(),r.date.peek(),o).done(function(f){f.availableAngles.length>1&&(u.find("#camera_angles").empty().removeClass("hidden").append(f.availableAngles.map(function(u){var e="",f;u===n.enum.cameraAngle.FullView?e=n.ui.resources.getText("Global.Video.FullViewLabel"):u===n.enum.cameraAngle.HeadOn&&(e=n.ui.resources.getText("Global.Video.HeadOnLabel"));f=i("<input type='radio' name='camera-angle' value='{0}' id='VR_ANGLE_{0}' /><label for='VR_ANGLE_{0}'>{1}<\/label>".format(u,e));u===r.angle&&f.prop("checked","checked");f.on("change",t.changeAngle);return f})),u.addClass("angles"))})};t.handleFeedFailure=function(n){r.canPlay(!1);r.error(n)};t.init=function(n){u=n;r=new f;ko.applyBindings(r,n[0]);i("#replay-popout").on("click",t.popout)};t.popout=function(){var t={height:u.height(),width:u.width(),cameraAngle:r.angle};n.videoManager.launchVideoReplayPopup(r.trackEventCode.peek(),r.race.peek(),r.date.peek(),r.horse.peek(),t);u.closest(".modal").modal("hide")}})(t.videoReplay=t.videoReplay||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){(function(t,i){function e(){var i=this;i.records=ko.observableArray([]);i.isLoading=ko.observable(!1);i.showCancelBet=function(t){n.ui.widget.cancelBet.showDialog(t.originalRecord,t.isMoney(),t.isContest(),i.refresh)};i.refresh=function(){t.getData()}}var r=null,u="",f=function(t){var i=this;i.originalRecord=t;i.txnNumber=ko.observable(t.TxnNumber);i.date=ko.observable(t.DateInFullDateFormat);i.details=ko.observable(t.Details.replace(",",","));i.originalDetails=ko.observable(t.Details);i.creditAmount=ko.observable(t.CreditAmountString);i.debitAmount=ko.observable(t.DebitAmountString);i.betCancel=ko.observable(t.TxnType===n.enum.transactionType.BetCancel);i.raceInfo=t.RaceInfo;i.txnType=ko.observable("");t.TxnType===n.enum.transactionType.Bet?i.txnType='<div class="txn-type mx-2">'+t.TypeName+"<\/div>":t.TxnType===n.enum.transactionType.BetCancel?i.txnType='<div class="txn-type mx-2">'+t.TypeName+"<\/div>":t.TxnType===n.enum.transactionType.Withdrawal?i.txnType=t.TypeName:t.TxnType===n.enum.transactionType.Deposit&&(i.txnType=t.TypeName);i.canCancel=ko.observable(!1);i.isContest=ko.observable(!1);i.isMoney=ko.observable(!1);i.isWinningBet=ko.observable(t.IsWinningBet);t.Actions===n.enum.transactionAction.CancelMoneyBet?(i.canCancel(!0),i.isContest(!1),i.isMoney(!0)):t.Actions===n.enum.transactionAction.CancelContestBet?(i.canCancel(!0),i.isContest(!0),i.isMoney(!1)):t.Actions===n.enum.transactionAction.CancelContestAndMoneyBet&&(i.canCancel(!0),i.isContest(!0),i.isMoney(!0))};t.getData=function(){r.isLoading(!0);i.getJSON(u).done(function(n){var t=i.map(n,function(n){return new f(n)});r.records(t)}).fail(function(){}).always(function(){r.isLoading(!1)})};t.init=function(n){r=new e;u=n.data("fetchurl");this.getData();ko.applyBindings(r,n[0])};t.refresh=function(){r&&r.refresh()}})(t.transactions=t.transactions||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){(function(t,i){function u(){var t=this;t.txn=null;t.transactionNumber=ko.observable("");t.date=ko.observable("");t.details=ko.observable("");t.amount=ko.observable("");t.isContestOnly=ko.observable(!1);t.isContestAndMoney=ko.observable(!1);t.cancelledNumber=ko.observable("");t.status=ko.observable("hidden");t.error=ko.observable("");t.successCallback=null;t.proceed=function(t,r){var u=this,f=i(r.target);f.button("loading");n.data.requestRefund(u.txn.TxnType,u.transactionNumber()).done(function(t){t.HasError?(u.status("failure"),u.error(t.ErrorMessage)):t.Ticket===null?u.status("failure"):(u.status("success"),u.cancelledNumber(t.Ticket.TicketNumber),n.ui.updateBalance({Balance:t.Ticket.Balance}),u.successCallback!==null&&u.successCallback(),n.ui.widget.videoPanel.checkVideoAccess(u.txn.RaceInfo.TrackEventCode))}).fail(function(n,t,i){u.status("failure");u.error(i)}).always(function(){f.button("reset")})}}var r=null;t.showDialog=function(n,t,u,f){r.txn=n;r.transactionNumber(n.TxnNumber);r.date(n.DateInFullDateFormat);r.details(n.Details);r.amount(n.DebitAmountString);r.isContestOnly(u&&!t);r.isContestAndMoney(u&&t);r.successCallback=f;r.status("confirm");i("#cancelBetModal").modal("show")};t.init=function(n){r=new u;ko.applyBindings(r,n[0])}})(t.cancelBet=t.cancelBet||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){t.purchasePanel=function(){function r(t){function h(t){var i=t.amount;switch(t.currency){case n.enum.purchaseCurrency.points:i="{0} {1}".format(t.amount,n.ui.resources.getText("Global.Racing.PointsLabel"));break;case n.enum.purchaseCurrency.money:i=n.utilities.formatMoney(t.amount,2)+(t.taxIncluded?n.ui.resources.getText("Global.Racing.TaxIncludedLabel"):"")}return i}var e=this,o,s,u,r,f;i.extend(this,t);this.error=ko.observable();this.purchaseComplete=ko.observable(!1);this.selectedOption=ko.observable();o=n.getUser();s=o.hasPermission(n.enum.hpiPermissions.RedeemRewards);this.purchaseOptions=t.purchaseOptions.map(function(r){var u={cost:[{currency:n.enum.purchaseCurrency.money,amount:r.DollarAmount,taxIncluded:!0},{currency:n.enum.purchaseCurrency.points,amount:r.PointsAmount}].filter(function(t){return t.amount&&(s||t.currency!==n.enum.purchaseCurrency.points)}).map(function(n){var t=i.extend({},n);return t.text=h(n),t})};return t.purchaseOptionBuilder&&t.purchaseOptionBuilder(r,u),u});u=e.purchaseOptions.flatMap(function(n){return n.cost});this.hasPurchaseOptions=u.length>0;this.hasMultiplePurchaseOptions=u.length>1;this.hasPurchaseOptions&&this.purchaseOptions.length===1&&(r=this.purchaseOptions[0],r.cost.length===1&&(f=r.cost[0],this.selectedOption("{0}_{1}_{2}".format(r.type,f.currency,f.amount))));this.set_selectedOption=function(n,t){e.selectedOption(i(t.currentTarget).val())}}function t(t,r,u,f){this.element=null;this.container="body";this.viewModel=null;this.deferred=null;this.purchaseType=t;this.purchaseItemIdentifier=r;this.purchaseOptions=u;this.purchaseOptionBuilder=null;this.purchaseResult=null;this.onPurchaseComplete=f||i.noop;this.appearance={header:{showCloseButton:!0,title:"Purchase"},footer:{showCloseButton:!0,closeButtonText:n.ui.resources.getText("Global.Generic.CloseButton")||"Close",submitButtonText:"Purchase",submitButtonLoadingText:"Processing ...",completeButtonText:"OK"},body:{imageUrl:null,text:"",completeText:""}}}function u(n){var t=typeof n.purchaseItemIdentifier!="object"?n.purchaseItemIdentifier:Object.toArray(n.purchaseItemIdentifier).map(function(n){return n instanceof moment.fn.constructor?n.format("YYYYMMDD"):n}).join("_");return"purchase_{0}_{1}".format(n.purchaseType,t)}function f(t){var e=i(t.container),f;if(!e.length)throw new Error("Could not locate an element '{0}'".format(t.container));return f=new i.Deferred,t.element?f.resolve(t.element):n.ui.templateManager.loadTemplate("~/purchase_template").done(function(n){var i=n.appendTo(e);i.attr("id",u(t));t.viewModel=new r(t);ko.applyBindings(t.viewModel,i[0]);i.on("hidden.bs.modal",function(){t.destroy.call(t)});i.on("click","#submit-purchase",t.submit.bind(t));i.on("click","#verify-complete",t.complete.bind(t));i.find("button.close, button.close-button").on("click",function(){t.deferred.reject(t.purchaseResult)}.bind(t));f.resolve(i)}).fail(function(){}),f.promise()}function e(n){n.element.find(".close, .close-button").addClass("disabled").attr("disabled",!0);var t=n.element.data("bs.modal");t._getConfig().backdrop="static";t._getConfig().keyboard=!1;i(t._element).off("keydown.dismiss.bs.modal")}function o(n){n.element.find(".close, .close-button").removeClass("disabled").attr("disabled",!1);var t=n.element.data("bs.modal");t._getConfig().backdrop=!0;t._getConfig().keyboard=!1;t._setEscapeEvent()}return t.prototype.startPurchase=function(){var n=this;return f(this).done(function(t){n.element||(n.element=t);n.element.modal("show")}),this.deferred=new i.Deferred,this.deferred.promise()},t.prototype.submit=function(t){var r=this,u;if(this.isValid()){this.viewModel.error(null);u=i(t.currentTarget);u.button("loading");e(r);var f=this.viewModel.selectedOption().split("_"),s=parseInt(f[0],10),h=parseInt(f[1],10);n.data.makePurchase(this.purchaseType,this.purchaseItemIdentifier,s,h).done(function(n){n.HasError?r.viewModel.error(n.ErrorMessage):(r.purchaseResult=n.Result,r.appearance.body.completeText=r.appearance.body.completeText.format(n.Result.TxnNumber),n.Result.Balance,r.onPurchaseComplete(),r.viewModel.purchaseComplete(!0))}).fail(function(){r.viewModel.error(n.ui.resources.getText("Global.Programs.PurchaseErrorMessage"))}).always(function(){o(r);u.button("reset")})}},t.prototype.isValid=function(){var t=!0,i=this;return this.viewModel.selectedOption()||(t=!1,this.viewModel.error(n.ui.resources.getText("Global.Programs.OptionRequiredMessage"))),t},t.prototype.complete=function(){this.close();this.deferred.resolve(this.purchaseResult)},t.prototype.close=function(){this.element.modal("hide")},t.prototype.destroy=function(){ko.cleanNode(this.element);delete this.viewModel;this.element.remove();delete this.element;delete this},t}()})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t){t.wageringHighlights=function(){function r(){this.highlights=ko.observable()}function t(){this.viewModel=null;this.element=null}function i(){var t=this;n.data.getWageringHighlights().done(function(n){t.viewModel.highlights(u(n));n&&n.length&&t.element.show()}).fail(function(){t.element.hide()})}function u(n){for(var t=n.length,r,i;0!==t;)i=Math.floor(Math.random()*t),t-=1,r=n[t],n[t]=n[i],n[i]=r;return n}return t.prototype.init=function(n){this.element=n.hide();this.viewModel=new r;ko.applyBindings(this.viewModel,n[0]);i.call(this)},t.prototype.refresh=function(){i.call(this)},new t}()})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){(function(t,i){(function(t,i){(function(t,i){function f(t){var r=this;r.ctx=ko.observable(t);r.period=ko.observable("");r.jockeys=ko.observableArray([]);r.trainers=ko.observableArray([]);r.owners=ko.observableArray([]);r.isLoading=ko.observable(!1);r.refresh=function(){r.getData()};r.mapData=function(n){var e=i.map(n.Jockeys,function(n){return new u(n)}),t,f;r.jockeys(e);t=i.map(n.Trainers,function(n){return new u(n)});r.trainers(t);f=i.map(n.Owners,function(n){return new u(n)});r.owners(f);r.period(n.Period)};r.description=ko.computed(function(){return r.jockeys().length===0&&r.trainers().length===0&&r.owners().length===0?n.ui.resources.getText("Global.Racing.TrackLeadersDescription"):n.ui.resources.getText("Global.Racing.TrackLeadersPeriodDescription").format(r.period())},this,{deferEvaluation:!0});r.getData=ko.computed(function(){r.isLoading(!0);var t=r.ctx().trackEventCode();n.data.getTbTrackLeaders(t).done(function(n){r.mapData(n)}).fail(function(){}).always(function(){r.isLoading(!1)})},this,{deferEvaluation:!0});r.getData()}var r=null,u=function(t){var i=this;i.type=ko.observable(t.PersonType);i.name=ko.observable(t.FullName);i.starts=ko.observable(t.Starts);i.wins=ko.observable(t.Firsts);i.earnings=ko.observable(n.utilities.formatMoney(t.EarningAmount,0,!0))};t.init=function(t){var i=this;n.data.racingContext.getInstance().done(function(n){r=new f(n);ko.applyBindings(r,t[0])})};t.refresh=function(){r&&r.refresh()}})(t.trackLeaders=t.trackLeaders||{},i)})(t.widget=t.widget||{},i)})(n.ui=n.ui||{},t)}(window.Hpi=window.Hpi||{},jQuery),function(n,t){"use strict";(function(i){function u(i){var u=this;this.isFavHorse=ko.onDemandObservable(function(t){var u=n.utilities.horseIsFavourite(r.horseItemCode,r.breedType,i);t(u)},this);this.Trainer={};this.Trainer.isFav=ko.onDemandObservable(function(t){var u=n.utilities.trainerIsFavourite(r.trainerCode,r.breedType,i);t(u)},this);this.toggleFav=function(i,f){var o=!u.isFavHorse(),e=t(f.currentTarget);e.prop("disabled",!0).css("opacity","0.5");n.utilities.toggleFavouriteHorse(r.horseItemCode,r.breedType,o,r.horseName).always(function(){e.prop("disabled",!1).css("opacity","1")})};t(document).on("hpi.horse.favourite",function(){u.isFavHorse.refresh()});t(document).on("hpi.trainer.favourite",function(){u.Trainer.isFav.refresh()})}var r=null;i.horse=function(){function f(){}function o(u){var o=t(u.currentTarget),f=i(o.closest("tr"));n.ui.widget.videoReplay.show(o,f.trackName,f.trackEventCode,f.sessionDate,f.raceNumber,e(r.horseName,f.programNumber)).done(function(){t("#replayModal").modal("show")})}function s(u){var o=t(u.currentTarget),f=i(o.closest("tr"));n.videoManager.launchVideoReplayPopup(f.trackEventCode,f.raceNumber,f.sessionDate,e(r.horseName,f.programNumber),{height:512,width:598})}function h(u){var e=t(u.currentTarget),f=i(e.closest("tr")),o={trackEventCode:f.trackEventCode,raceNumber:f.raceNumber,sessionDate:moment.utc(f.sessionDate,"YYYY-MM-DD"),showHistory:!0};n.ui.noteManager.showNote(n.enum.noteSubjectType.Horse,r.horseName,o,u)}function i(n){function t(t){return n.data(t)}return n.hasClass("footable-row-detail")&&(n=n.prev()),{trackName:t("trackName"),trackEventCode:t("trackEventCode"),sessionDate:t("sessionDate"),raceNumber:t("raceNumber"),programNumber:t("programNumber")}}function e(n,t){return typeof t=="string"&&(t=t.trim(),t)?"#{0} - {1}".format(t,n):n}return f.prototype.init=function(i){r=i;t(function(){t("#replayModal").on("hidden.bs.modal",function(){t("#replayModal").find("#rcnplayer").rcnReplay("destroy")});t("table#horse-history").footable().find(":button[data-action='showReplay']").on("click",o).end().find(":button[data-action='popOutReplay']").on("click",s).end().find(":button[data-action='showNote']").on("click",h).end().end();var i=t("#horse-info .track-name");i.length&&(i.find("[data-toggle='tooltip']").tooltip(),n.dictionaryManager.require(["favourites"],function(n){var r=new u(n);ko.applyBindings(r,i[0]);ko.applyBindings(r,t("#horse-info .horse-profile")[0])}))})},new f}()})(n.ui=n.ui||{})}(window.Hpi=window.Hpi||{},jQuery)