woocommerce/assets/js/woocommerce.min.js

1 line
12 KiB
JavaScript

jQuery(document).ready(function(a){function d(a,b){var c=!0;for(name in a){var d=a[name],e=b[name];d.length!=0&&e.length!=0&&d!=e&&(c=!1)}return c}function e(a){var b=[];for(var c=0;c<product_variations.length;c++){var e=product_variations[c],f=e.variation_id;d(e.attributes,a)&&b.push(e)}return b}function f(b){a(".variations select").each(function(c,d){current_attr_select=a(d);current_attr_select.find("option:gt(0)").attr("disabled","disabled");var e=current_attr_select.attr("name");for(num in b){var f=b[num].attributes;for(attr_name in f){var g=f[attr_name];if(attr_name==e)if(g){g=a("<div/>").html(g).text();g=g.replace(/'/g,"\\'");g=g.replace(/"/g,'\\"');current_attr_select.find('option[value="'+g+'"]').removeAttr("disabled")}else current_attr_select.find("option").removeAttr("disabled")}}})}function g(b){var c=a("div.images img:eq(0)"),d=a("div.images a.zoom:eq(0)"),e=a(c).attr("original-src"),f=a(d).attr("original-href"),g=b.image_src,h=b.image_link;a(".variations_button").show();a(".single_variation").html(b.price_html+b.availability_html);e||a(c).attr("original-src",a(c).attr("src"));f||a(d).attr("original-href",a(d).attr("href"));if(g&&g.length>1){a(c).attr("src",g);a(d).attr("href",h)}else{a(c).attr("src",e);a(d).attr("href",f)}b.sku?a(".product_meta").find(".sku").text(b.sku):a(".product_meta").find(".sku").text("");a(".single_variation_wrap").slideDown("200").trigger("variationWrapShown")}function h(b){var c=!0,d={};a(".variations select").each(function(){if(b&&a(this).attr("name")==b){c=!1;d[a(this).attr("name")]=""}else{a(this).val().length==0&&(c=!1);value=a(this).val().replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;");d[a(this).attr("name")]=value}});var h=e(d);if(c){var i=h.pop();if(i){a("form input[name=variation_id]").val(i.variation_id);g(i)}else a(".variations select").val("")}else f(h)}woocommerce_params.option_ajax_add_to_cart=="yes"&&a(".add_to_cart_button").live("click",function(){var b=a(this);if(b.is(".product_type_simple, .product_type_downloadable, .product_type_virtual")){if(!a(b).attr("data-product_id"))return!0;a(b).addClass("loading");var c={action:"woocommerce_add_to_cart",product_id:a(b).attr("data-product_id"),security:woocommerce_params.add_to_cart_nonce};a("body").trigger("adding_to_cart");a.post(woocommerce_params.ajax_url,c,function(d){a(b).removeClass("loading");c=a.parseJSON(d);if(c.error){alert(c.error);return}fragments=c;fragments&&a.each(fragments,function(b,c){a(b).addClass("updating")});a(".widget_shopping_cart, .shop_table.cart, .updating, .cart_totals").fadeTo("400","0.6").block({message:null,overlayCSS:{background:"transparent url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});a(b).addClass("added");if(a(".widget_shopping_cart").size()>0)a(".widget_shopping_cart:eq(0)").load(window.location+" .widget_shopping_cart:eq(0) > *",function(){fragments&&a.each(fragments,function(b,c){a(b).replaceWith(c)});a(".widget_shopping_cart, .updating").css("opacity","1").unblock()});else{fragments&&a.each(fragments,function(b,c){a(b).replaceWith(c)});a(".widget_shopping_cart, .updating").css("opacity","1").unblock()}a(".shop_table.cart").load(window.location+" .shop_table.cart:eq(0) > *",function(){a("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('<input type="button" value="+" id="add1" class="plus" />').prepend('<input type="button" value="-" id="minus1" class="minus" />');a(".shop_table.cart").css("opacity","1").unblock()});a(".cart_totals").load(window.location+" .cart_totals:eq(0) > *",function(){a(".cart_totals").css("opacity","1").unblock()});a("body").trigger("added_to_cart")});return!1}return!0});a("select.orderby").change(function(){a(this).closest("form").submit()});a("#rating").hide().before('<p class="stars"><span><a class="star-1" href="#">1</a><a class="star-2" href="#">2</a><a class="star-3" href="#">3</a><a class="star-4" href="#">4</a><a class="star-5" href="#">5</a></span></p>');a("p.stars a").click(function(){var b=a(this);a("#rating").val(b.text());a("p.stars a").removeClass("active");b.addClass("active");return!1});a("div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)").addClass("buttons_added").append('<input type="button" value="+" id="add1" class="plus" />').prepend('<input type="button" value="-" id="minus1" class="minus" />');a(".plus").live("click",function(){var b=parseInt(a(this).prev(".qty").val());if(!b||b==""||b=="NaN")b=0;a(this).prev(".qty").val(b+1)});a(".minus").live("click",function(){var b=parseInt(a(this).next(".qty").val());if(!b||b==""||b=="NaN")b=1;b>0&&a(this).next(".qty").val(b-1)});var b=woocommerce_params.countries.replace(/&quot;/g,'"'),c=a.parseJSON(b);a("select.country_to_state").change(function(){var b=a(this).val(),d=a(this).closest("div").find("#billing_state, #shipping_state, #calc_shipping_state"),e=d.parent(),f=d.attr("name"),g=d.attr("id"),h=d.val();if(c[b])c[b].length==0?e.fadeOut(200,function(){d.parent().find(".chzn-container").remove();d.replaceWith('<input type="hidden" class="hidden" name="'+f+'" id="'+g+'" value="" />');a("body").trigger("country_to_state_changed",[b,a(this).closest("div")])}):e.fadeOut(200,function(){var i="",j=c[b];for(var k in j)i=i+'<option value="'+k+'">'+j[k]+"</option>";if(d.is("input")){d.replaceWith('<select name="'+f+'" id="'+g+'" class="state_select"></select>');d=a(this).closest("div").find("#billing_state, #shipping_state, #calc_shipping_state")}d.html('<option value="">'+woocommerce_params.select_state_text+"</option>"+i);d.val(h);a("body").trigger("country_to_state_changed",[b,a(this).closest("div")]);e.fadeIn(500)});else if(d.is("select"))e.fadeOut(200,function(){e.find(".chzn-container").remove();d.replaceWith('<input type="text" class="input-text" name="'+f+'" id="'+g+'" />');a("body").trigger("country_to_state_changed",[b,a(this).closest("div")]);e.fadeIn(500)});else if(d.is(".hidden")){e.find(".chzn-container").remove();d.replaceWith('<input type="text" class="input-text" name="'+f+'" id="'+g+'" />');a("body").trigger("country_to_state_changed",[b,a(this).closest("div")]);e.delay(200).fadeIn(500)}a("body").delay(200).trigger("country_to_state_changing",[b,a(this).closest("div")])}).change();a("div.woocommerce_tabs .panel").hide();a("div.woocommerce_tabs ul.tabs li a").click(function(){var b=a(this),c=b.closest("div.woocommerce_tabs");a("ul.tabs li",c).removeClass("active");a("div.panel",c).hide();a("div"+b.attr("href")).show();b.parent().addClass("active");return!1});a("div.woocommerce_tabs").each(function(){var b=window.location.hash;b.toLowerCase().indexOf("comment-")>=0?a("ul.tabs li.reviews_tab a",a(this)).click():a("ul.tabs li:first a",a(this)).click()});a(".shipping-calculator-form").hide();a(".shipping-calculator-button").click(function(){a(".shipping-calculator-form").slideToggle("slow");return!1});a(".variations select").change(function(){a("form input[name=variation_id]").val("");a(".single_variation_wrap").hide();a(".single_variation").text("");h();a(this).blur();a().uniform&&a.isFunction(a.uniform.update)&&a.uniform.update()}).focus(function(){h(a(this).attr("name"))}).change();woocommerce_params.is_cart==1&&a("select#shipping_method").live("change",function(){var b=a("#shipping_method").val();a("div.cart_totals").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var c={action:"woocommerce_update_shipping_method",security:woocommerce_params.update_shipping_method_nonce,shipping_method:b};a.post(woocommerce_params.ajax_url,c,function(b){a("div.cart_totals").replaceWith(b)})});if(woocommerce_params.is_checkout==1||woocommerce_params.is_pay_page==1){var i,j;function k(){j&&j.abort();var b=a("#shipping_method").val(),c=a("#order_review input[name=payment_method]:checked").val(),d=a("#billing_country").val(),e=a("#billing_state").val(),f=a("input#billing_postcode").val();if(a("#shiptobilling input").is(":checked")||a("#shiptobilling input").size()==0)var g=a("#billing_country").val(),h=a("#billing_state").val(),i=a("input#billing_postcode").val();else var g=a("#shipping_country").val(),h=a("#shipping_state").val(),i=a("input#shipping_postcode").val();a("#order_methods, #order_review").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});var k={action:"woocommerce_update_order_review",security:woocommerce_params.update_order_review_nonce,shipping_method:b,payment_method:c,country:d,state:e,postcode:f,s_country:g,s_state:h,s_postcode:i,post_data:a("form.checkout").serialize()};j=a.ajax({type:"POST",url:woocommerce_params.ajax_url,data:k,success:function(b){a("#order_review").after(b).remove();a("#order_review input[name=payment_method]:checked").click()}})}a("p.password, form.login, form.checkout_coupon, div.shipping_address").hide();a("input.show_password").change(function(){a("p.password").slideToggle()});a("a.showlogin").click(function(){a("form.login").slideToggle();return!1});a("a.showcoupon").click(function(){a("form.checkout_coupon").slideToggle();return!1});a("#shiptobilling input").change(function(){a("div.shipping_address").hide();a(this).is(":checked")||a("div.shipping_address").slideDown()}).change();if(woocommerce_params.option_guest_checkout=="yes"){a("div.create-account").hide();a("input#createaccount").change(function(){a("div.create-account").hide();a(this).is(":checked")&&a("div.create-account").slideDown()}).change()}a(".payment_methods input.input-radio").live("click",function(){a("div.payment_box").hide();a(this).is(":checked")&&a("div.payment_box."+a(this).attr("ID")).slideDown()});a("#order_review input[name=payment_method]:checked").click();a("#shipping_method").live("change",function(){clearTimeout(i);k()});a("input#billing_country, input#billing_state, #billing_postcode, input#shipping_country, input#shipping_state, #shipping_postcode").live("keydown",function(){clearTimeout(i);i=setTimeout("update_checkout()","1000")});a("select#billing_country, select#billing_state, select#shipping_country, select#shipping_state, #shiptobilling input, .update_totals_on_change").live("change",function(){clearTimeout(i);k()});woocommerce_params.is_checkout==1&&k();a("form.checkout").submit(function(){var b=a(this);if(b.is(".processing"))return!1;b.addClass("processing").block({message:null,overlayCSS:{background:"#fff url("+woocommerce_params.plugin_url+"/assets/images/ajax-loader.gif) no-repeat center",opacity:.6}});a.ajax({type:"POST",url:woocommerce_params.checkout_url,data:b.serialize(),success:function(c){a(".woocommerce_error, .woocommerce_message").remove();try{success=a.parseJSON(c);window.location=decodeURI(success.redirect)}catch(d){b.prepend(c);b.removeClass("processing").unblock();a("html, body").animate({scrollTop:a("form.checkout").offset().top-100},1e3)}},dataType:"html"});return!1});var l=woocommerce_params.locale.replace(/&quot;/g,'"'),m=a.parseJSON(l);a("body").bind("country_to_state_changing",function(a,b,c){var d=c;if(m[b])var e=m[b];else var e=m["default"];if(e.state){var f=d.find("#billing_state_field, #shipping_state_field");e.state.label&&f.find("label").text(e.state.label)}var g=d.find("#billing_postcode_field, #shipping_postcode_field"),h=d.find("#billing_city_field, #shipping_city_field");e.city&&e.city.label&&h.find("label").text(e.city.label);e.postcode&&e.postcode.label&&g.find("label").text(e.postcode.label);if(e.postcode_before_city){if(h.is(".form-row-first")){h.fadeOut(200,function(){h.removeClass("form-row-first").addClass("form-row-last").insertAfter(g).fadeIn(500)});g.fadeOut(200,function(){g.removeClass("form-row-last").addClass("form-row-first").fadeIn(500)})}}else if(h.is(".form-row-last")){h.fadeOut(200,function(){h.removeClass("form-row-last").addClass("form-row-first").insertBefore(g).fadeIn(500)});g.fadeOut(200,function(){g.removeClass("form-row-first").addClass("form-row-last").fadeIn(500)})}})}});