var Accordion={checkAllow:!1,disallowAccessToNextSections:!1,sections:[],currentSection:!1,headers:[],init:function(n,t,i){this.checkAllow=i||!1;this.disallowAccessToNextSections=!1;this.sections=$("#"+n+" .tab-section");this.currentSectionId=!1;var r=$("#"+n+" .tab-section "+t);r.click(function(){Accordion.headerClicked($(this))})},headerClicked:function(n){Accordion.openSection(n.parent(".tab-section"))},openSection:function(n){var n=$(n),r,i,t;if((!this.checkAllow||n.hasClass("allow"))&&n.attr("id")!=this.currentSectionId&&(this.closeExistingSection(),this.currentSectionId=n.attr("id"),$("#"+this.currentSectionId).addClass("active"),r=n.children(".a-item"),$(r[0]).show(),this.disallowAccessToNextSections))for(i=!1,t=0;t<this.sections.length;t++)i&&$(this.sections[t]).removeClass("allow"),$(this.sections[t]).attr("id")==n.attr("id")&&(i=!0)},closeSection:function(n){var n=$(n),t;n.removeClass("active");t=n.children(".a-item");$(t[0]).hide()},hideSection:function(n){var n=$(n);n.hide()},showSection:function(n){var n=$(n);n.show()},openNextSection:function(n){for(section in this.sections){var t=parseInt(section)+1;if(this.sections[section].id==this.currentSectionId&&this.sections[t]){n&&$(this.sections[t]).addClass("allow");this.openSection(this.sections[t]);return}}},openPrevSection:function(n,t){var i=0,r;for(section in this.sections)if(t?(r=parseInt(section)-1,!isNaN(r)&&$(this.sections[r]).hasClass("allow")&&(i=r)):i=parseInt(section)-1,this.sections[section].id==this.currentSectionId&&this.sections[i]){n&&$(this.sections[i]).addClass("allow");this.openSection(this.sections[i]);return}},closeExistingSection:function(){this.currentSectionId&&this.closeSection($("#"+this.currentSectionId))}},Checkout={loadWaiting:!1,failureUrl:!1,init:function(n){this.loadWaiting=!1;this.failureUrl=n;Accordion.disallowAccessToNextSections=!0},ajaxFailure:function(){location.href=Checkout.failureUrl},_disableEnableAll:function(n,t){var i=n.find("*");$(i).each(function(){t?$(this).attr("disabled","disabled"):$(this).removeAttr("disabled")});t?n.attr("disabled","disabled"):n.removeAttr("disabled")},setLoadWaiting:function(n,t){var i,r;n?(this.loadWaiting&&this.setLoadWaiting(!1),i=$("#"+n+"-buttons-container"),i.addClass("disabled"),i.css("opacity",".5"),this._disableEnableAll(i,!0),$("#"+n+"-please-wait").show()):this.loadWaiting&&(i=$("#"+this.loadWaiting+"-buttons-container"),r=t?!0:!1,r||(i.removeClass("disabled"),i.css("opacity","1")),this._disableEnableAll(i,r),$("#"+this.loadWaiting+"-please-wait").hide());this.loadWaiting=n},gotoSection:function(n){n=$("#opc-"+n);n.addClass("allow");Accordion.openSection(n)},back:function(){this.loadWaiting||Accordion.openPrevSection(!0,!0)},setStepResponse:function(n){return(n.update_section&&$("#checkout-"+n.update_section.name+"-load").html(n.update_section.html),n.allow_sections&&n.allow_sections.each(function(n){$("#opc-"+n).addClass("allow")}),$("#billing-address-select").length>0&&Billing.newAddress(!$("#billing-address-select").val()),$("#shipping-address-select").length>0&&Shipping.newAddress(!$("#shipping-address-select").val()),n.goto_section)?(Checkout.gotoSection(n.goto_section),!0):n.redirect?(location.href=n.redirect,!0):!1}},Billing={form:!1,saveUrl:!1,disableBillingAddressCheckoutStep:!1,init:function(n,t,i){this.form=n;this.saveUrl=t;this.disableBillingAddressCheckoutStep=i},newAddress:function(n){n?(this.resetSelectedAddress(),$("#billing-new-address-form").show()):$("#billing-new-address-form").hide()},resetSelectedAddress:function(){var n=$("#billing-address-select");n&&n.val("")},save:function(){Checkout.loadWaiting==!1&&(Checkout.setLoadWaiting("billing"),$.ajax({cache:!1,url:this.saveUrl,data:$(this.form).serialize(),type:"post",success:this.nextStep,complete:this.resetLoadWaiting,error:Checkout.ajaxFailure}))},resetLoadWaiting:function(){Checkout.setLoadWaiting(!1)},nextStep:function(n){if(typeof n.wrong_billing_address=="undefined"&&(n.wrong_billing_address=!1),Billing.disableBillingAddressCheckoutStep&&(n.wrong_billing_address?Accordion.showSection("#opc-billing"):Accordion.hideSection("#opc-billing")),n.error)return typeof n.message=="string"?alert(n.message):alert(n.message.join("\n")),!1;Checkout.setStepResponse(n)}},Shipping={form:!1,saveUrl:!1,init:function(n,t){this.form=n;this.saveUrl=t},newAddress:function(n){n?(this.resetSelectedAddress(),$("#shipping-new-address-form").show()):$("#shipping-new-address-form").hide()},togglePickUpInStore:function(n){n.checked?($("#pickup-points-form").show(),$("#shipping-addresses-form").hide()):($("#pickup-points-form").hide(),$("#shipping-addresses-form").show())},resetSelectedAddress:function(){var n=$("#shipping-address-select");n&&n.val("")},save:function(){Checkout.loadWaiting==!1&&(Checkout.setLoadWaiting("shipping"),$.ajax({cache:!1,url:this.saveUrl,data:$(this.form).serialize(),type:"post",success:this.nextStep,complete:this.resetLoadWaiting,error:Checkout.ajaxFailure}))},resetLoadWaiting:function(){Checkout.setLoadWaiting(!1)},nextStep:function(n){if(n.error)return typeof n.message=="string"?alert(n.message):alert(n.message.join("\n")),!1;Checkout.setStepResponse(n)}},ShippingMethod={form:!1,saveUrl:!1,init:function(n,t){this.form=n;this.saveUrl=t},validate:function(){var t=document.getElementsByName("shippingoption"),n;if(t.length==0)return alert("Your order cannot be completed at this time as there is no shipping methods available for it. Please make necessary changes in your shipping address."),!1;for(n=0;n<t.length;n++)if(t[n].checked)return!0;return alert("Please specify shipping method."),!1},save:function(){Checkout.loadWaiting==!1&&this.validate()&&(Checkout.setLoadWaiting("shipping-method"),$.ajax({cache:!1,url:this.saveUrl,data:$(this.form).serialize(),type:"post",success:this.nextStep,complete:this.resetLoadWaiting,error:Checkout.ajaxFailure}))},resetLoadWaiting:function(){Checkout.setLoadWaiting(!1)},nextStep:function(n){if(n.error)return typeof n.message=="string"?alert(n.message):alert(n.message.join("\n")),!1;Checkout.setStepResponse(n)}},PaymentMethod={form:!1,saveUrl:!1,init:function(n,t){this.form=n;this.saveUrl=t},validate:function(){var t=document.getElementsByName("paymentmethod"),n;if(t.length==0)return alert("Your order cannot be completed at this time as there is no payment methods available for it."),!1;for(n=0;n<t.length;n++)if(t[n].checked)return!0;return alert("Please specify payment method."),!1},save:function(){Checkout.loadWaiting==!1&&this.validate()&&(Checkout.setLoadWaiting("payment-method"),$.ajax({cache:!1,url:this.saveUrl,data:$(this.form).serialize(),type:"post",success:this.nextStep,complete:this.resetLoadWaiting,error:Checkout.ajaxFailure}))},resetLoadWaiting:function(){Checkout.setLoadWaiting(!1)},nextStep:function(n){if(n.error)return typeof n.message=="string"?alert(n.message):alert(n.message.join("\n")),!1;Checkout.setStepResponse(n)}},PaymentInfo={form:!1,saveUrl:!1,init:function(n,t){this.form=n;this.saveUrl=t},save:function(){Checkout.loadWaiting==!1&&(Checkout.setLoadWaiting("payment-info"),$.ajax({cache:!1,url:this.saveUrl,data:$(this.form).serialize(),type:"post",success:this.nextStep,complete:this.resetLoadWaiting,error:Checkout.ajaxFailure}))},resetLoadWaiting:function(){Checkout.setLoadWaiting(!1)},nextStep:function(n){if(n.error)return typeof n.message=="string"?alert(n.message):alert(n.message.join("\n")),!1;Checkout.setStepResponse(n)}},ConfirmOrder={form:!1,saveUrl:!1,isSuccess:!1,init:function(n,t){this.saveUrl=n;this.successUrl=t},save:function(){if(Checkout.loadWaiting==!1){var n=!0;if($("#termsofservice").length>0&&($("#termsofservice").is(":checked")?n=!0:($("#terms-of-service-warning-box").dialog(),n=!1)),n)Checkout.setLoadWaiting("confirm-order"),$.ajax({cache:!1,url:this.saveUrl,type:"post",success:this.nextStep,complete:this.resetLoadWaiting,error:Checkout.ajaxFailure});else return!1}},resetLoadWaiting:function(){Checkout.setLoadWaiting(!1,ConfirmOrder.isSuccess)},nextStep:function(n){if(n.error)return typeof n.message=="string"?alert(n.message):alert(n.message.join("\n")),!1;if(n.redirect){ConfirmOrder.isSuccess=!0;location.href=n.redirect;return}n.success&&(ConfirmOrder.isSuccess=!0,window.location=ConfirmOrder.successUrl);Checkout.setStepResponse(n)}}