ajax.widgets.minicart=function(a){if(!a){a=$(".menu-minicart")}else{a=$(a)}a.each(function(){if(!this.minicartWidget){new ajax.widgets.minicart.obj(this)}});return true};ajax.widgets.minicart.obj=function(b){this.elm=$(b);b.minicartWidget=this;this.msie6=$.browser.msie&&parseInt($.browser.version)<7;var a=this;$(ajax.messages).bind("cartChanged",function(c,d){return a._add2cartListener(d)});this._minicartReposition=function(c){return a.minicartReposition(c)};this._callbackMB=function(c){a.click2Minicart=true;return a.minicartVisible?a.hideMinicart():a.showMinicart()};this._callbackUM=function(e,c,d){return a._callbackUpdateMinicart(e,c,d)};this._deleteItem=function(c){return !a.deleteItem(this,c)};this._updateCart=function(c){return !a.updateCart(this,c)};this._clearCart=function(){return !a.clearCart()};this._showCheckoutPopup=function(c){return a.checkoutPopupVisible?!a.hideCheckoutPopup(this,c):!a.showCheckoutPopup(this,c)};if(this.elm.hasClass("ajax-minicart")){this._constructMinicartButton()}$("body").click(function(){if(!a.click2Minicart){a.hideMinicart()}a.click2Minicart=false})};ajax.widgets.minicart.obj.prototype.errorTTL=3000;ajax.widgets.minicart.obj.prototype.minicartBorder=0;ajax.widgets.minicart.obj.prototype.elm=false;ajax.widgets.minicart.obj.prototype.minicart=false;ajax.widgets.minicart.obj.prototype.minicartButton=false;ajax.widgets.minicart.obj.prototype.minicartState=false;ajax.widgets.minicart.obj.prototype.minicartVisible=false;ajax.widgets.minicart.obj.prototype.minicartChanged=false;ajax.widgets.minicart.obj.prototype.checkoutPopupVisible=false;ajax.widgets.minicart.obj.prototype.isReady=function(){return this.minicart.length>0&&this.checkElement()};ajax.widgets.minicart.obj.prototype.checkElement=function(a){if(!a){a=this.elm}return a&&a.hasClass("menu-minicart")};ajax.widgets.minicart.obj.prototype.updateTotal=function(){return this.checkElement()&&ajax.core.loadBlock($("div.minicart, span.minicart",this.elm),"minicart_total")};ajax.widgets.minicart.obj.prototype.updateMinicart=function(){if(!this.isReady()){return false}this._markMinicartBoxAsLoaded();return ajax.core.loadBlock(this.minicart,"minicart",{},this._callbackUM)};ajax.widgets.minicart.obj.prototype.showMinicart=function(){this._constructMinicartBox();if(this.minicartVisible){return false}this.minicartButton.addClass("minicart-button-show");if(this.minicartState==1||this.minicartChanged){this._markMinicartBoxAsLoaded();this.updateMinicart()}if(this._iframe){this._iframe.show()}this.minicart.show();this.minicartVisible=true;this.minicartReposition();return true};ajax.widgets.minicart.obj.prototype.hideMinicart=function(){if(!this.minicart||!this.minicartVisible){return false}this.minicartButton.removeClass("minicart-button-show");if(this.checkoutPopupVisible){this.hideCheckoutPopup()}this.minicart.hide();if(this._iframe){this._iframe.hide()}this.minicartVisible=false;return true};ajax.widgets.minicart.obj.prototype.minicartReposition=function(){if(!this.isReady()||!this.minicartVisible){return false}if(this.elm.parents().filter("#left-bar").length>0||this.elm.hasClass("left-dir-minicart")){var d=$(".ajax-minicart-icon",this.elm).position().left;var c=$(".ajax-minicart-icon",this.elm).css("margin-left");if(c){c=parseInt(c);if(isNaN(c)){c=0}}d+=c;this.minicart.css("left",d-this.minicartBorder)}else{if(this.elm.parents().filter("#right-bar").length>0||this.elm.hasClass("right-dir-minicart")){var b=$(".ajax-minicart-icon",this.elm).width()+$(".ajax-minicart-icon",this.elm).position().left;var c=$(".ajax-minicart-icon",this.elm).css("margin-left");if(c){c=parseInt(c);if(isNaN(c)){c=0}}b+=c;var a=$(".ajax-minicart-icon",this.elm).parents().eq(0).width();this.minicart.css("right",a-b-this.minicartBorder)}}this._iframeReposition();return true};ajax.widgets.minicart.obj.prototype.deleteItem=function(b,a){if(!this.isReady()||!b||!b.href){return false}this._markMinicartBoxAsLoaded();return ajax.query.add({url:b.href})!==false};ajax.widgets.minicart.obj.prototype.updateCart=function(b,a){if(!this.isReady()||!b||!b.form){return false}this._markMinicartBoxAsLoaded();return ajax.query.add({type:"POST",url:xcart_web_dir+"/cart.php",data:$(b.form).serialize()})!==false};ajax.widgets.minicart.obj.prototype.clearCart=function(){if(!this.isReady()){return false}this._markMinicartBoxAsLoaded();return ajax.query.add({url:xcart_web_dir+"/cart.php?mode=clear_cart"})!==false};ajax.widgets.minicart.obj.prototype.showCheckoutPopup=function(b,a){var c=$(".checkout-popup-link .buttons-box",this.minicart);if(this.checkoutPopupVisible||c.length==0){return false}$(".checkout-popup-link",this.minicart).children("a").addClass("show");if(this._iframe_checkout){this._iframe_checkout.show()}c.show();this.checkoutPopupVisible=true;return true};ajax.widgets.minicart.obj.prototype.hideCheckoutPopup=function(b,a){var c=$(".checkout-popup-link .buttons-box",this.minicart);if(!this.checkoutPopupVisible||c.length==0){return false}$(".checkout-popup-link",this.minicart).children("a").removeClass("show");c.hide();if(this._iframe_checkout){this._iframe_checkout.hide()}this.checkoutPopupVisible=false;return true};ajax.widgets.minicart.obj.prototype._add2cartListener=function(a){if(a.status==1){this._constructMinicartButton();this.updateTotal();if(a.isEmpty){this._cartIsEmpty()}else{if(this.minicart&&this.minicartVisible){this._constructMinicartBox();this.updateMinicart()}else{this.minicartChanged=true}}}return true};ajax.widgets.minicart.obj.prototype._cartIsEmpty=function(){this.hideMinicart();this._destructMinicartButton();$(".ajax-minicart-icon",this.elm).eq(0).removeClass("full").addClass("empty").parents(".full").removeClass("full").addClass("empty");ajax.core.trigger("cartCleaned");return true};ajax.widgets.minicart.obj.prototype._constructMinicartBox=function(){if(this.minicart){return false}var b=$(".ajax-minicart-icon",this.elm).get(0).parentNode;if(this.msie6){this._iframe=document.createElement("IFRAME");this._iframe.className="minicart-bg";this._iframe=$(b.appendChild(this._iframe));this._iframe_checkout=document.createElement("IFRAME");this._iframe_checkout.className="minicart-checkout-bg";this._iframe_checkout=$(b.appendChild(this._iframe_checkout))}this.minicart=$(b.appendChild(document.createElement("DIV")));this.minicart.addClass("minicart-box");$(window).resize(this._minicartReposition);var a=this;this.minicart.click(function(c){if(!a.click2CheckoutPopup){a.hideCheckoutPopup()}a.click2CheckoutPopup=false;a.click2Minicart=true;a.showMinicart();return true});this.minicartState=1;this.minicartVisible=false;return true};ajax.widgets.minicart.obj.prototype._markMinicartBoxAsLoaded=function(){if(this.minicart.hasClass("wait")){return false}var a=document.createElement("DIV");a.className="progress";this.minicart.empty().addClass("wait").append(a);this._iframeReposition();return true};ajax.widgets.minicart.obj.prototype._unmarkMinicartBoxAsLoaded=function(){this.minicart.removeClass("wait").children(".progress").remove();this._iframeReposition();return true};ajax.widgets.minicart.obj.prototype._prepareMinicart=function(){var a=this;$(".delete",this.minicart).click(this._deleteItem);$(".update-cart",this.minicart).click(this._updateCart);if($(".clear-cart a",this.minicart).length>0){$(".clear-cart",this.minicart).click(function(){return false});$(".clear-cart a",this.minicart).click(this._clearCart)}else{$(".clear-cart",this.minicart).click(this._clearCart)}if($(".checkout-popup-link .buttons-box",this.minicart).length>0){$(".checkout-popup-link a.link",this.minicart).click(this._showCheckoutPopup);$(".checkout-popup-link .buttons-box",this.minicart).click(function(){a.click2CheckoutPopup=true})}return true};ajax.widgets.minicart.obj.prototype._displayMinicartError=function(){this.minicart.empty().html(lbl_error).addClass("error");return true};ajax.widgets.minicart.obj.prototype._constructMinicartButton=function(){if(this.minicartButton){return false}this.minicartButton=$(".ajax-minicart-icon",this.elm);if(this.minicartButton.length==0){return false}this.elm.addClass("ajax-minicart");this.minicartButton.addClass("minicart-button").click(this._callbackMB);return true};ajax.widgets.minicart.obj.prototype._destructMinicartButton=function(){if(!this.minicartButton){return false}this.elm.removeClass("ajax-minicart full-mini-cart");this.minicartButton.removeClass("minicart-button").unbind("click",this._callbackMB);this.minicartButton=false;return true};ajax.widgets.minicart.obj.prototype._callbackUpdateMinicart=function(d,a,c){this._unmarkMinicartBoxAsLoaded();if(this.minicartState==1){if(c.status==200){this.minicartState=2}else{this._displayMinicartError();var b=this;setTimeout(function(){b.hideMinicart();b._destructMinicartButton()},this.errorTTL)}}if(c.status==200){this.minicartChanged=false;this._prepareMinicart()}else{if(c.getResponseHeader("X-Request-Error-Code")==1){this._cartIsEmpty()}else{this._displayMinicartError();var b=this;setTimeout(function(){b.hideMinicart();b._destructMinicartButton()},this.errorTTL)}}return true};ajax.widgets.minicart.obj.prototype._iframeReposition=function(){if(!this._iframe){return false}var a=this.minicart.position();this._iframe.css({top:a.top+"px",left:a.left+"px"}).width(this.minicart.width()).height(this.minicart.height());var b=$(".checkout-popup-link .buttons-box",this.minicart);if(b.length>0){a=b.position();this._iframe_checkout.css({top:a.top+"px",left:a.left+"px"}).width(b.width()).height(b.height())}return true};$(ajax).bind("load",function(){return ajax.widgets.minicart()});
