var ContractFX=window.ContractFX=window.ContractFX||{};ContractFX.Controls=ContractFX.Controls||{};ContractFX.Controls.ERFx=ContractFX.Controls.ERFx||{};ContractFX.Controls.ERFx.ShoppingCart=function(n,t,i){this._containerID=n;this._lblShoppingCartItemCountID=t;this._lblShoppingCartTotalValueID=i;this.container=jQuery("#"+this._containerID);this._OnRemoveItem=null;this.Init=function(){var n;this.container=jQuery("#"+this._containerID);this.container.find(".shopping-cart-item").length<=0&&this.container.find(".shopping-cart-empty-text").show();n=this;$(document).mouseup(function(t){var i=jQuery(n.container.find(".shopping-cart-ddl-popup")[0]),r=jQuery(n.container.find(".div-cart-container")[0]);i==null||i.is(t.target)||i.has(t.target).length!==0||r==null||r.is(t.target)||r.has(t.target).length!==0||i.hide()});jQuery(this.container.find(".div-cart-container")[0]).click(function(){n.OpenHideShoppingCartPopup()});this.AjaxRemoveItemFromCart=function(t){var i=function(t){$.ajax({type:"POST",url:"/Services/EventsService.asmx/RemoveShoppingCartItem",contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify({ShoppingCartItemID:t}),async:!0,success:function(i){n.RemoveShoppingCartItem(t);i!=null&&i.d!=null&&n.UpdateGeneralShoppingCartData(i.d);n._OnRemoveItem!=null&&n._OnRemoveItem()},error:function(){k12PopupEFX.Alert("Service not respond")}})};$.ajax({type:"POST",url:"/Services/EventsService.asmx/ValidateShoppingCartItemRemove",contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify({ShoppingCartItemID:t}),async:!0,success:function(n){n!=null&&n.d!=null?n.d.isOk?n.d.Message!=""?k12PopupEFX.Confirm(n.d.Message,function(){i(t)}):i(t):n.d.Message!=""?k12PopupEFX.Alert(n.d.Message):k12PopupEFX.Alert("Service not respond"):k12PopupEFX.Alert("Service not respond")},error:function(){k12PopupEFX.Alert("Service not respond")}})};n=this;this.container.find(".shopping-cart-remove-btn").click(function(){var t=jQuery(this),i=t.data("cartitem-id");n.AjaxRemoveItemFromCart(i)})};this.OpenHideShoppingCartPopup=function(n){var t=jQuery(this.container.find(".shopping-cart-ddl-popup")[0]);n==null?t.is(":visible")?t.hide():t.show():n?t.show():t.hide()};this.UpdateGeneralShoppingCartData=function(n){var t=jQuery("#"+this._lblShoppingCartItemCountID),i=jQuery("#"+this._lblShoppingCartTotalValueID);t!=null&&t!=undefined&&t.text(n.ItemsInCart);i!=null&&i!=undefined&&i.text(n.TotalAmountStr)};this.RemoveShoppingCartItem=function(n){var t=jQuery("#"+this._containerID),i=jQuery(t.find('.shopping-cart-item[data-cartitem-id="'+n+'"]')[0]);i.remove();t.find(".shopping-cart-item").length<=0&&t.find(".shopping-cart-empty-text").show()};this.AddShoppingCartItem=function(n,t,i){var r=this;i==null&&(i=1);$.ajax({type:"POST",url:"/Services/EventsService.asmx/AddShoppingCartItem",contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify({itemId:n,quantity:t,itemType:i}),async:!0,success:function(){},error:function(){k12PopupEFX.Alert("Service not respond")}})}}