Web.define("Web.Extension.AvailabilityCheck.Controller.AvailabilityCheck",{extend:"Web.Core.Controller",featureEvents:{"Web.Extension.AvailabilityCheck.Feature.CallToAction":"Web.Extension.AvailabilityCheck.Event.CallToAction.Initialize","Web.Extension.AvailabilityCheck.Feature.Modal":"Web.Extension.AvailabilityCheck.Event.Modal.Initialize"},modals:{},listeners:{"Web.Extension.AvailabilityCheck.Event.CallToAction.Initialize":function(n,t){var i=$(t).data("article-id");Web.create("Web.Extension.AvailabilityCheck.View.CallToAction",{controller:this,feature:n,el:t,articleId:i})},"Web.Extension.AvailabilityCheck.Event.Modal.Initialize":function(n,t){var i=$(t).data("article-id"),r;this.modals[i]||(r=Web.create("Web.Extension.AvailabilityCheck.View.Modal",{controller:this,feature:n,el:t,articleId:i}),this.modals[i]=r)}},getModal:function(n){return this.modals[n]}});Web.define("Web.Extension.AvailabilityCheck.View.CallToAction",{extend:"Web.Core.View",events:{'click [data-id="Button"]':"onClickCallToActionButton"},initialize:function(n){this.articleId=n.articleId;this.controller=n.controller},onClickCallToActionButton:function(){var n=this.modal();n&&n.show()},modal:function(){return this.controller.getModal(this.articleId)}});Web.define("Web.Extension.AvailabilityCheck.View.Modal",{extend:"Web.Core.View",modal:null,initialize:function(n){this.controller=n.controller;this.modal=this.$el},show:function(){this.modal.modal("show")}})